diff --git a/.github/actions/build-base-image/action.yaml b/.github/actions/build-base-image/action.yaml index 9e3354a36cf3..d5e78f72f2a0 100644 --- a/.github/actions/build-base-image/action.yaml +++ b/.github/actions/build-base-image/action.yaml @@ -27,7 +27,7 @@ runs: run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT - name: Cache BASE image - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # ratchet:actions/cache@v4.0.2 + uses: actions/cache@3624ceb22c1c5a301c8db4169662070a689d9ea8 # ratchet:actions/cache@v4.1.1 if: inputs.TYPE == '64-bit' || inputs.TYPE == 'clang' with: path: otp_docker_base.tar @@ -46,13 +46,13 @@ runs: - name: Cache pre-built src if: inputs.BUILD_IMAGE == 'true' - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # ratchet:actions/cache@v4.0.2 + uses: actions/cache@3624ceb22c1c5a301c8db4169662070a689d9ea8 # ratchet:actions/cache@v4.1.1 with: path: otp_src.tar.gz key: prebuilt-src-${{ github.ref_name }}-${{ github.sha }} - name: Cache pre-built binaries if: inputs.BUILD_IMAGE == 'true' - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # ratchet:actions/cache@v4.0.2 + uses: actions/cache@3624ceb22c1c5a301c8db4169662070a689d9ea8 # ratchet:actions/cache@v4.1.1 with: path: otp_cache.tar.gz key: prebuilt-cache-${{ inputs.TYPE }}-${{ github.ref_name }}-${{ github.sha }} diff --git a/.github/dockerfiles/Dockerfile.clang b/.github/dockerfiles/Dockerfile.clang index 6f2a4703803d..c35c5b358c21 100644 --- a/.github/dockerfiles/Dockerfile.clang +++ b/.github/dockerfiles/Dockerfile.clang @@ -1,3 +1,21 @@ +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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% + ARG BASE=ghcr.io/erlang/otp/ubuntu-base FROM $BASE ## We do a SSA lint check here diff --git a/.github/dockerfiles/Dockerfile.cross-compile b/.github/dockerfiles/Dockerfile.cross-compile index b654eb1c8611..d76d333e95fa 100644 --- a/.github/dockerfiles/Dockerfile.cross-compile +++ b/.github/dockerfiles/Dockerfile.cross-compile @@ -1,3 +1,21 @@ +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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 docker file will build Erlang on 32-bit to 64-bit x86 ## diff --git a/.github/dockerfiles/Dockerfile.debian-base b/.github/dockerfiles/Dockerfile.debian-base index 523ad6f24009..578980a16f1d 100644 --- a/.github/dockerfiles/Dockerfile.debian-base +++ b/.github/dockerfiles/Dockerfile.debian-base @@ -1,3 +1,21 @@ +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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 docker file will build a base image for building Erlang/OTP ## diff --git a/.github/dockerfiles/Dockerfile.ubuntu-base b/.github/dockerfiles/Dockerfile.ubuntu-base index e335ad7eadf5..3190faea4812 100644 --- a/.github/dockerfiles/Dockerfile.ubuntu-base +++ b/.github/dockerfiles/Dockerfile.ubuntu-base @@ -1,3 +1,21 @@ +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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 docker file will build a base image for building Erlang/OTP ## diff --git a/.github/dockerfiles/init.sh b/.github/dockerfiles/init.sh index 65e4294e6f7e..ae247ac4f7bd 100755 --- a/.github/dockerfiles/init.sh +++ b/.github/dockerfiles/init.sh @@ -1,5 +1,23 @@ #!/bin/sh +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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% + if [ -f "/buildroot/env.sh" ]; then . "/buildroot/env.sh" fi diff --git a/.github/dockerfiles/log4j.properties b/.github/dockerfiles/log4j.properties index 79b28f05e913..6a02300fae87 100644 --- a/.github/dockerfiles/log4j.properties +++ b/.github/dockerfiles/log4j.properties @@ -1,3 +1,21 @@ +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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% + log4j.rootLogger = INFO, console log4j.appender.console = org.apache.log4j.ConsoleAppender diff --git a/.github/dockerfiles/odbc.ini b/.github/dockerfiles/odbc.ini index 9a36ba48e131..0a34f04c5bbb 100644 --- a/.github/dockerfiles/odbc.ini +++ b/.github/dockerfiles/odbc.ini @@ -1,3 +1,21 @@ +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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% + [PostgresLinux64Ubuntu] Driver = PostgreSQL64 Description = PostgreSQL Data Source diff --git a/.github/dockerfiles/odbcinst.ini b/.github/dockerfiles/odbcinst.ini index d26e6de7f4b1..37beed56693c 100644 --- a/.github/dockerfiles/odbcinst.ini +++ b/.github/dockerfiles/odbcinst.ini @@ -1,3 +1,21 @@ +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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% + [PostgreSQL64] Description = PostgreSQL Data Source Driver = /usr/lib/x86_64-linux-gnu/odbc/psqlodbca.so diff --git a/.github/scripts/build-base-image.sh b/.github/scripts/build-base-image.sh index f432705b47fb..9c63ec0853a8 100755 --- a/.github/scripts/build-base-image.sh +++ b/.github/scripts/build-base-image.sh @@ -1,5 +1,23 @@ #!/bin/bash +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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% + set -eo pipefail BASE_BRANCH="$1" diff --git a/.github/scripts/c-code-path-filters.sh b/.github/scripts/c-code-path-filters.sh index d1b9f828ab4e..ca248811263c 100755 --- a/.github/scripts/c-code-path-filters.sh +++ b/.github/scripts/c-code-path-filters.sh @@ -1,5 +1,23 @@ #!/bin/bash +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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% + cat < diff --git a/.github/scripts/init-pre-release.sh b/.github/scripts/init-pre-release.sh index 1525dc9409c2..688627680608 100755 --- a/.github/scripts/init-pre-release.sh +++ b/.github/scripts/init-pre-release.sh @@ -1,5 +1,23 @@ #!/bin/bash +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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% + ## We create a tar ball that is used later by build-otp-tar ## to create the pre-built tar ball diff --git a/.github/scripts/path-filters.sh b/.github/scripts/path-filters.sh index f55bd168cf38..4b8ab62eb8d7 100755 --- a/.github/scripts/path-filters.sh +++ b/.github/scripts/path-filters.sh @@ -1,5 +1,23 @@ #!/bin/bash +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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% + cat < { console.log(`Workflow: ${JSON.stringify(context.payload.workflow_run,null,2)}`); diff --git a/.github/scripts/release-docs.sh b/.github/scripts/release-docs.sh index 1b8cdbcec6a9..c28bc89ab02b 100755 --- a/.github/scripts/release-docs.sh +++ b/.github/scripts/release-docs.sh @@ -1,5 +1,23 @@ #!/bin/sh +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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% + docker run -v $PWD/:/github otp "make release docs release_docs && make release_docs DOC_TARGETS='man html' RELEASE_ROOT=/github/docs" sudo chown -R `whoami` docs cd docs diff --git a/.github/scripts/restore-from-prebuilt.sh b/.github/scripts/restore-from-prebuilt.sh index df72c1a72af4..aafe5d0f1b8e 100755 --- a/.github/scripts/restore-from-prebuilt.sh +++ b/.github/scripts/restore-from-prebuilt.sh @@ -1,4 +1,23 @@ #!/bin/bash + +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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% + ## restore-from-prebuilt.sh CACHE_SRC_DIR TARGET [ARCHIVE] ## ## This script attempts to restore as much as possible from a previous diff --git a/.github/scripts/sync-github-prs.es b/.github/scripts/sync-github-prs.es index 8b79f93d6508..ccfbd6cc7968 100755 --- a/.github/scripts/sync-github-prs.es +++ b/.github/scripts/sync-github-prs.es @@ -1,6 +1,27 @@ #!/usr/bin/env escript %%! -pa jsx/_build/default/lib/jsx/ebin/ + +%% -*- erlang -*- + +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2024. 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 scripts downloads the docs + test results from an otp repo %% 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 @@ -178,7 +199,7 @@ purge_prs(Target) -> 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) -> + lists:sort(fun([A|_],[B|_]) -> binary_to_integer(A) >= binary_to_integer(B) end, [string:split(F,"\t") || F <- Files, F =/= <<>>]), purge_prs(SortedFiles, Target, get_directory_size(Target)). diff --git a/.github/scripts/update-gh-actions-versions.es b/.github/scripts/update-gh-actions-versions.es new file mode 100755 index 000000000000..a5727d23e376 --- /dev/null +++ b/.github/scripts/update-gh-actions-versions.es @@ -0,0 +1,219 @@ +#!/usr/bin/env escript + +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2024. 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% + +main(Args) -> + + %% Check that we have gh and ratchet + os:find_executable("gh") =:= false andalso + fail("Need to install gh cli tool: https://cli.github.com/"), + os:cmd("gh auth status 2>&1 | grep 'Logged in to github.com'") =:= "" andalso + fail("You need to be logged into github.com using gh. Please run gh auth login."), + os:getenv("GITHUB_TOKEN") =:= false andalso + os:putenv("GITHUB_TOKEN", string:trim(os:cmd(~s`gh auth status -t 2>&1 | grep "Token:" | awk '{print $3}'`))), + os:find_executable("git") =:= false andalso fail("Need to install git"), + + element(1, file:read_file_info(".github/scripts/update-gh-actions-versions.es")) =/= ok andalso + fail("Should run from root of Erlang/OTP repository"), + + argparse:run(Args, opts(), #{}). + +opts() -> + OriginalOwner = string:trim(os:cmd("gh api user -q '.login'")), + Arguments = + [#{ name => verbose, long => "-verbose", short => $v, + default => false, type => boolean, + help => "Enable debug logging" }, + #{ name => force, long => "-force", short => $f, + default => false, type => boolean, + help => "Do not ask for permission to do anything" }, + #{ name => dry, long => "-dry", + default => false, type => boolean, + help => "Do a dry run" }, + #{ name => origin, long => "-origin", short => $o, + default => "git@github.com:" ++ OriginalOwner ++ "/otp", + help => "Set the origin github repository, e.g git@github.com:garazdawi/otp"}, + #{ name => upstream, long => "-upstream", short => $u, + default => ~"git@github.com:erlang/otp", + help => "Set the upstream github repository"}], + #{ handler => + fun(Opts) -> + run(lists:foldl(fun parse_default/2, Opts, Arguments)) + end, + arguments => Arguments + }. + +parse_default(#{ name := Name, type := {custom, Fun}}, Opts) -> + case maps:get(Name, Opts) of + Value when is_binary(Value) -> + Opts#{ Name := Fun(Value) }; + _ -> + Opts + end; +parse_default(_, Opts) -> + Opts. + +run(Opts) -> + {ok, Cwd} = file:get_cwd(), + + Upstream = maps:get(upstream, Opts), + Origin = maps:get(origin, Opts), + + continue(Opts, "This command will clean the contents of ~ts, " + "approve and merge all open dependabot PRs, " + "forward merge them to the local maint+master branches and push those to ~ts." + "Do you want to want to proceed?", [Cwd, Upstream]), + + %% Get this for dependabot update before we start switching branches and other chenanigans + SupportedMajorVersions = string:split(cmd(Opts, ".github/scripts/get-major-versions.sh | head -3"),"\n", all), + OriginalBranch = cmd(Opts, "git branch --show-current"), + + %% Fetch all PRs done by dependabot + PRs = cmd(Opts, ["gh pr -R ", Upstream, " list | grep dependabot/github_actions | awk '{print $1}'"]), + + %% If string is non-empty we have some PRs that we need to deal with + case not string:equal(PRs,"") of + true -> + + DependabotPRs = + lists:foldl( + fun(PR, Acc) -> + #{ ~"baseRefName" := BaseRefName, ~"headRefName" := HeadRefName } = + json:decode(unicode:characters_to_binary(cmd(Opts, ["gh pr -R ", Upstream, " view --json \"baseRefName,headRefName\" ", PR]))), + Acc#{ PR => #{ base => BaseRefName, head => HeadRefName }} + end, #{}, string:split(PRs,"\n", all)), + + synchronize_branch(Opts, "maint"), + synchronize_branch(Opts, "master"), + + io:format("Approving and forward merge these PRs: ~ts~n",[lists:join(", ", [PR || PR := _ <- DependabotPRs])]), + + %% Approve all dependabot PRs + [dry(Opts, ["gh pr -R ", Upstream, " review --approve ", PR]) || PR := _ <- DependabotPRs], + + %% Create all merges to maint + master + UpdatedBranches = + lists:usort( + lists:flatmap( + fun({PR, #{ head := HeadName, base := BaseName }}) -> + cmd(Opts, ["gh pr -R ", Upstream, " checkout ", PR]), + case BaseName of + ~"master" -> + cmd(Opts, ["git checkout ",BaseName, " && git merge --log --no-ff ", HeadName]), + [BaseName]; + ~"maint" -> + cmd(Opts, ["git checkout ",BaseName, " && git merge --log --no-ff ", HeadName]), + cmd(Opts, ["git checkout master && git merge --strategy outs maint"]), + ["master", BaseName]; + _ -> + synchronize_branch(Opts, BaseName), + cmd(Opts, ["git checkout ",BaseName, " && git merge --log --no-ff ", HeadName]), + cmd(Opts, ["git checkout maint && git merge --strategy ours ", BaseName]), + cmd(Opts, ["git checkout master && git merge maint"]), + ["master","maint", BaseName] + end + end, maps:to_list(DependabotPRs))), + + continue(Opts, "Push ~ts to ~ts?", [lists:join(" ", UpdatedBranches), Upstream]), + + %% Push maint+master if changed + dry(Opts, ["git push ", Upstream, " --atomic ", lists:join(" ", UpdatedBranches)]), + + %% Delete dependabot branches targeting master+maint and merge any PRs targeting maint-* branches + maps:foreach( + fun(PR, #{ head := HeadName }) -> + continue(Opts, "Delete #~ts (~ts) on ~ts?", [HeadName, PR, Upstream]), + dry(Opts, ["git push ", Upstream, " :", HeadName]) + end, DependabotPRs); + false -> + ok + end, + + synchronize_branch(Opts, "master"), + + NewConfig = unicode:characters_to_binary(generate_dependabot_config(SupportedMajorVersions)), + {ok, CurrentConfig} = file:read_file(".github/dependabot.yml"), + case string:equal(NewConfig, CurrentConfig) of + true -> + io:format(".github/dependabot.yml is uptodate\n"); + false -> + continue(Opts, ".github/dependabot.yml is invalid, do you want to create a PR that updates it?"), + cmd(Opts, ["git fetch ", Upstream, " master && git checkout -B update-dependabot-config FETCH_HEAD"]), + file:write_file(".github/dependabot.yml", NewConfig), + cmd(Opts, "git add -u && git commit -m 'Update dependabot config'"), + dry(Opts, ["git push ", Origin, " +update-dependabot-config"]), + {match, [OriginOwner]} = re:run(Origin,":([^/]+)/",[unicode, {capture, all_but_first, list}]), + dry(Opts, ["gh pr -R ", Upstream, " create -a '@me' -H '", OriginOwner, ":update-dependabot-config' -t 'Update dependabot config' -b ''"]) + end, + + cmd(Opts, ["git checkout ", OriginalBranch]), + + ok. + +synchronize_branch(Opts, Branch) -> + cmd(Opts, ["git fetch ", maps:get(upstream, Opts), " ", Branch, " && " + "git checkout -B ", Branch, " FETCH_HEAD"]). + +generate_dependabot_config(Versions) -> + ["version: 2\n\nupdates:\n", + [io_lib:format( +~` + - package-ecosystem: "github-actions" + directory: "/" + target-branch: "~ts" + schedule: + interval: "weekly" + labels: + - "team:VM" + assignees: + - "garazdawi" + - "kikofernandez" + open-pull-requests-limit: 10 + groups: + github-actions: + patterns: ['*']`, [Branch]) || Branch <- ["master","maint"] ++ ["maint-" ++ Vsn || Vsn <- Versions]]]. + +continue(Opts, Format, Args) -> + continue(Opts, io_lib:format(Format, Args)). +continue(Opts, Prompt) -> + maps:get(force, Opts) orelse + lists:member( + io:get_line(Prompt ++ " (Y/n) "), + ["Y\n","y\n","\n"]) orelse halt(0). + +dry(#{ dry := true } = Opts, Cmd) -> + log(Opts, "DryRun: ~ts~n",[Cmd]), + ok; +dry(Opts, Cmd) -> + cmd(Opts, Cmd). +cmd(Opts = #{}, Cmd) -> + log(Opts, "~ts...",[Cmd]), + Res = string:trim(os:cmd(lists:flatten(unicode:characters_to_list(Cmd)))), + log(Opts, "~ts~n", [string:replace(Res, "\n", "\\n", all)]), + Res. + +log(#{ verbose := true }, Fmt, Args) -> + io:format(standard_error, Fmt, Args); +log(_, _, _) -> + ok. + +fail(String) -> + io:format(standard_error, "~ts~n", [String]), + halt(1). \ No newline at end of file diff --git a/.github/workflows/actions-updater.yaml b/.github/workflows/actions-updater.yaml index bfe85ba783fe..5d1d7786b989 100644 --- a/.github/workflows/actions-updater.yaml +++ b/.github/workflows/actions-updater.yaml @@ -14,12 +14,12 @@ jobs: steps: - name: Generate token id: generate_token - uses: actions/create-github-app-token@3378cda945da322a8db4b193e19d46352ebe2de5 # ratchet:actions/create-github-app-token@v1.10.4 + uses: actions/create-github-app-token@5d869da34e18e7287c1daad50e0b8ea0f506ce69 # ratchet:actions/create-github-app-token@v1.11.0 with: app-id: ${{ secrets.APP_ID }} private-key: ${{ secrets.APP_PEM }} - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 with: token: ${{ steps.generate_token.outputs.token }} diff --git a/.github/workflows/github-actions-checker.yaml b/.github/workflows/github-actions-checker.yaml new file mode 100644 index 000000000000..11016a5a0075 --- /dev/null +++ b/.github/workflows/github-actions-checker.yaml @@ -0,0 +1,44 @@ +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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% + +## To fix issues with this run: +## +## bash -c "shopt -s nullglob; docker run --rm -e GITHUB_TOKEN=$(cat ~/.githubtoken) -v \"${PWD}:${PWD}\" -w \"${PWD}\" ghcr.io/sethvargo/ratchet:latest pin .github/actions/*/*.{yaml,yml} .github/*/*.{yaml,yml}" +## git diff --ignore-all-space > .github/actions_patch && git checkout . && git apply --ignore-space-change .github/actions_patch && rm -f .github/actions_patch && git add -u +## git commit -m "Pin all dependencies" +name: Check github actions + +on: + push: + pull_request: + +jobs: + check-version-pinning: + runs-on: 'ubuntu-latest' + name: 'ratchet' + steps: + - uses: 'actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683' # ratchet:actions/checkout@v4.2.2 + - id: files + run: | + FILES=$(find .github/ -name "*.yml" -o -name "*.yaml" -printf "%p ") + echo "${FILES}" + echo "files=${FILES}" >> $GITHUB_OUTPUT + + - uses: 'docker://ghcr.io/sethvargo/ratchet:latest@sha256:2946723648d429c1939025f7e4b140d874b9d9a07a01c379b1eccd61b5fd28a5' # ratchet:docker://ghcr.io/sethvargo/ratchet:latest + with: + args: 'check ${{ steps.files.outputs.files }}' \ No newline at end of file diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 7e70f5135980..904d6bbca186 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -1,3 +1,21 @@ +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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 workflow handles testing of pull requests and pushes. ## It also publishes some packages to any new Erlang/OTP release @@ -43,8 +61,9 @@ jobs: changes: ${{ steps.changes.outputs.changes }} c-code-changes: ${{ steps.c-code-changes.outputs.changes }} all: ${{ steps.apps.outputs.all }} + added_files: ${{ steps.cache.outputs.added_files }} steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 - uses: ./.github/actions/build-base-image with: BASE_BRANCH: ${{ env.BASE_BRANCH }} @@ -82,14 +101,14 @@ jobs: with: filters: .github/scripts/c-code-path-filters.yaml - name: Cache pre-built src - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # ratchet:actions/cache@v4.0.2 + uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # ratchet:actions/cache@v4.1.2 with: path: otp_src.tar.gz key: prebuilt-src-${{ github.ref_name }}-${{ github.sha }} restore-keys: | prebuilt-src-${{ github.base_ref }}-${{ github.event.pull_request.base.sha }} - name: Cache pre-built binaries - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # ratchet:actions/cache@v4.0.2 + uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # ratchet:actions/cache@v4.1.2 with: path: otp_cache.tar.gz key: prebuilt-cache-64-bit-${{ github.ref_name }}-${{ github.sha }} @@ -98,7 +117,7 @@ jobs: - name: Create initial pre-release tar run: .github/scripts/init-pre-release.sh otp_archive.tar.gz otp_src.tar.gz - name: Upload source tar archive - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # ratchet:actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # ratchet:actions/upload-artifact@v4.4.3 with: name: otp_git_archive path: otp_archive.tar.gz @@ -112,6 +131,8 @@ jobs: - deleted: '**/*.h' deleted: - deleted: '**' + added: + - added: '**' bootstrap: - 'bootstrap/**' configure: @@ -142,7 +163,7 @@ jobs: "`pwd`/.github/otp.tar.gz" \ "`pwd`/otp_archive.tar.gz" - name: Upload restored cache - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # ratchet:actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # ratchet:actions/upload-artifact@v4.4.3 if: runner.debug == 1 with: name: restored-cache @@ -169,7 +190,7 @@ jobs: bash -c 'set -x; C_APPS=$(ls -d ./lib/*/c_src); find Makefile ./make ./erts ./bin/`erts/autoconf/config.guess` ./lib/erl_interface ./lib/jinterface ${C_APPS} `echo "${C_APPS}" | sed -e 's:c_src$:priv:'` -type f -newer README.md \! -name "*.beam" \! -path "*/doc/*" | xargs tar --transform "s:^./:otp/:" -uvf /github/otp_cache.tar' gzip otp_cache.tar - name: Upload pre-built tar archives - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # ratchet:actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # ratchet:actions/upload-artifact@v4.4.3 with: name: otp_prebuilt path: | @@ -178,13 +199,14 @@ jobs: build-macos: name: Build Erlang/OTP (macOS) - runs-on: macos-12 + runs-on: macos-15 needs: pack if: needs.pack.outputs.c-code-changes env: - WXWIDGETS_VERSION: 3.1.5 + WXWIDGETS_VERSION: 3.2.6 + MACOS_VERSION: 15 steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 - name: Download source archive uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # ratchet:actions/download-artifact@v4.1.8 @@ -193,10 +215,10 @@ jobs: - name: Cache wxWidgets id: wxwidgets-cache - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # ratchet:actions/cache@v4.0.2 + uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # ratchet:actions/cache@v4.1.2 with: path: wxWidgets - key: wxWidgets-${{ env.WXWIDGETS_VERSION }}-${{ runner.os }}-${{ hashFiles('.github/scripts/build-macos-wxwidgets.sh')}}-12 + key: wxWidgets-${{ env.WXWIDGETS_VERSION }}-${{ runner.os }}-${{ hashFiles('.github/scripts/build-macos-wxwidgets.sh') }}-${{ env.MACOS_VERSION }} - name: Compile wxWidgets if: steps.wxwidgets-cache.outputs.cache-hit != 'true' @@ -219,7 +241,7 @@ jobs: ./bin/erl -noshell -eval '{wx_ref,_,_,_} = wx:new(), io:format("wx ok~n"), halt().' - name: Upload tarball - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # ratchet:actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # ratchet:actions/upload-artifact@v4.4.3 with: name: otp_prebuilt_macos_x86-64 path: otp/otp_macos_*_x86-64.tar.gz @@ -229,10 +251,10 @@ jobs: RELEASE_LIBBEAM: yes TARGET_ARCH: aarch64-apple-ios name: Build Erlang/OTP (iOS) - runs-on: macos-12 + runs-on: macos-15 needs: pack steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 - name: Download source archive uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # ratchet:actions/download-artifact@v4.1.8 with: @@ -253,7 +275,7 @@ jobs: xcodebuild -create-xcframework -output ./liberlang.xcframework -library liberlang.a - name: Upload framework - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # ratchet:actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # ratchet:actions/upload-artifact@v4.4.3 with: name: ios_framework_${{ env.TARGET_ARCH }} path: otp/liberlang.xcframework @@ -263,13 +285,13 @@ jobs: run: shell: wsl-bash {0} env: - WXWIDGETS_VERSION: 3.1.4 + WXWIDGETS_VERSION: 3.2.6 name: Build Erlang/OTP (Windows) runs-on: windows-2022 needs: pack if: needs.pack.outputs.c-code-changes steps: - - uses: Vampire/setup-wsl@6f87de3102a29ac6b92800f33bf1e8d9164ac0a1 # ratchet:Vampire/setup-wsl@v3.1.1 + - uses: Vampire/setup-wsl@23f94bc31caaddc08bd1230a00b89f872633d8d7 # ratchet:Vampire/setup-wsl@v3.1.3 with: distribution: Ubuntu-18.04 @@ -283,7 +305,7 @@ jobs: IF EXIST "c:\\Program Files\\OpenSSL-Win64" (move "c:\\Program Files\\OpenSSL-Win64" "c:\\OpenSSL-Win64") ELSE (move "c:\\Program Files\\OpenSSL" "c:\\OpenSSL-Win64") - name: Cache wxWidgets - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # ratchet:actions/cache@v4.0.2 + uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # ratchet:actions/cache@v4.1.2 with: path: wxWidgets key: wxWidgets-${{ env.WXWIDGETS_VERSION }}-${{ runner.os }} @@ -353,7 +375,7 @@ jobs: ./otp_build installer_win32 - name: Upload installer - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # ratchet:actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # ratchet:actions/upload-artifact@v4.4.3 with: name: otp_win32_installer path: otp/release/win32/otp*.exe @@ -365,7 +387,7 @@ jobs: if: needs.pack.outputs.c-code-changes steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 - uses: ./.github/actions/build-base-image with: BASE_BRANCH: ${{ env.BASE_BRANCH }} @@ -393,7 +415,7 @@ jobs: fail-fast: false steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 - uses: ./.github/actions/build-base-image with: BASE_BRANCH: ${{ env.BASE_BRANCH }} @@ -404,7 +426,7 @@ jobs: runs-on: ubuntu-latest needs: pack steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 - uses: ./.github/actions/build-base-image with: BASE_BRANCH: ${{ env.BASE_BRANCH }} @@ -426,12 +448,12 @@ jobs: - name: Release docs to publish run: .github/scripts/release-docs.sh - name: Upload html documentation archive - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # ratchet:actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # ratchet:actions/upload-artifact@v4.4.3 with: name: otp_doc_html path: otp_doc_html.tar.gz - name: Upload man documentation archive - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # ratchet:actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # ratchet:actions/upload-artifact@v4.4.3 with: name: otp_doc_man path: otp_doc_man.tar.gz @@ -449,7 +471,7 @@ jobs: runs-on: ubuntu-latest needs: pack steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 - uses: ./.github/actions/build-base-image with: BASE_BRANCH: ${{ env.BASE_BRANCH }} @@ -466,6 +488,9 @@ jobs: - name: Run dialyzer run: docker run -v $PWD/:/github otp '/github/scripts/run-dialyzer' + - name: License Compliance Check + run: docker run -v $PWD/:/github otp 'sudo apt install -y pip && pip install scancode-toolkit==32.3.0 && export PATH="$HOME/.local/bin:$PATH" && /github/scripts/scan-code.escript --file-or-dir "${{ needs.pack.outputs.added_files }}" --template-path /github/scripts/scan-code/template.txt --prefix /github/' + test: name: Test Erlang/OTP runs-on: ubuntu-latest @@ -478,7 +503,7 @@ jobs: # type: ["os_mon","sasl"] fail-fast: false steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 - uses: ./.github/actions/build-base-image with: BASE_BRANCH: ${{ env.BASE_BRANCH }} @@ -515,7 +540,7 @@ jobs: sudo bash -c "chown -R `whoami` make_test_dir && chmod -R +r make_test_dir" tar czf ${{ matrix.type }}_test_results.tar.gz make_test_dir - name: Upload test results - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # ratchet:actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # ratchet:actions/upload-artifact@v4.4.3 if: ${{ !cancelled() }} with: name: ${{ matrix.type }}_test_results @@ -527,7 +552,7 @@ jobs: if: ${{ !cancelled() }} # Run even if the need has failed needs: test steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 - uses: ./.github/actions/build-base-image with: BASE_BRANCH: ${{ env.BASE_BRANCH }} @@ -562,14 +587,14 @@ jobs: -e 's:\(file="erts/\)make_test_dir/[^/]*:\1test:g' \ make_test_dir/*_junit.xml - name: Upload test results - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # ratchet:actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # ratchet:actions/upload-artifact@v4.4.3 if: ${{ !cancelled() }} with: name: test_results path: test_results.tar.gz - name: Upload Test Results if: ${{ !cancelled() }} - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # ratchet:actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # ratchet:actions/upload-artifact@v4.4.3 with: name: Unit Test Results path: | @@ -596,7 +621,7 @@ jobs: echo "tag=${TAG}" >> $GITHUB_OUTPUT echo "vsn=${VSN}" >> $GITHUB_OUTPUT - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 ## Publish the pre-built archive and docs - name: Download source archive @@ -627,7 +652,7 @@ jobs: sha256sum $FILES > SHA256.txt - name: Upload pre-built and doc tar archives - uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191 # ratchet:softprops/action-gh-release@v2.0.8 + uses: softprops/action-gh-release@01570a1f39cb168c169c802c3bceb9e93fb10974 # ratchet:softprops/action-gh-release@v2.1.0 with: name: OTP ${{ steps.tag.outputs.vsn }} files: | @@ -646,7 +671,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Upload - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # ratchet:actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # ratchet:actions/upload-artifact@v4.4.3 with: name: Event File path: ${{ github.event_path }} diff --git a/.github/workflows/osv-scanner-scheduled.yml b/.github/workflows/osv-scanner-scheduled.yml index abe6aabec60e..a95201bb2375 100644 --- a/.github/workflows/osv-scanner-scheduled.yml +++ b/.github/workflows/osv-scanner-scheduled.yml @@ -1,3 +1,21 @@ +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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% + ## Runs the Google OSV-scanner utility to detect known vulnerabilities. ## The scan is run on each PR/push and also periodically on each maintained branch name: Open Source Vulnerabilities Scanner @@ -20,7 +38,7 @@ jobs: outputs: versions: ${{ steps.get-versions.outputs.versions }} steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 - id: get-versions name: Fetch latest 3 OTP versions run: | @@ -46,7 +64,7 @@ jobs: permissions: actions: write steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 with: ref: ${{ matrix.type }} @@ -67,11 +85,10 @@ jobs: # PRs and pushes trigger this job if: github.event_name != 'schedule' permissions: - # Required to upload SARIF file to CodeQL. - # See: https://github.com/github/codeql-action/issues/2117 - actions: read - # Require writing security events to upload SARIF file to security tab - security-events: write - # Only need to read contents - contents: read - uses: "google/osv-scanner-action/.github/workflows/osv-scanner-reusable.yml@f0e6719deb666cd19a0b56bc56d01161bd848b4f" # ratchet:google/osv-scanner-action/.github/workflows/osv-scanner-reusable.yml@v1.8.5 + # Require writing security events to upload SARIF file to security tab + security-events: write + # Required to upload SARIF file to CodeQL. + # See: https://github.com/github/codeql-action/issues/2117 + actions: read + contents: read + uses: "google/osv-scanner-action/.github/workflows/osv-scanner-reusable.yml@19ec1116569a47416e11a45848722b1af31a857b" # ratchet:google/osv-scanner-action/.github/workflows/osv-scanner-reusable.yml@v1.9.0 diff --git a/.github/workflows/pr-comment.yaml b/.github/workflows/pr-comment.yaml index 9454746115f0..b1e8dd354aab 100644 --- a/.github/workflows/pr-comment.yaml +++ b/.github/workflows/pr-comment.yaml @@ -1,3 +1,21 @@ +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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% + name: Update PR details # read-write repo token @@ -24,7 +42,7 @@ jobs: outputs: result: ${{ steps.pr-number.outputs.result }} steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 - name: Fetch PR number id: pr-number env: @@ -43,7 +61,7 @@ jobs: pull-requests: write if: github.event.action == 'requested' && needs.pr-number.outputs.result != '' steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 ## We create an initial comment with some useful help to the user - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # ratchet:actions/github-script@v7.0.1 with: @@ -66,7 +84,7 @@ jobs: needs.pr-number.outputs.result != '' && github.event.workflow_run.conclusion != 'skipped' steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 - name: Download and Extract Artifacts id: extract env: @@ -91,14 +109,14 @@ jobs: echo "HAS_TEST_ARTIFACTS=false" >> $GITHUB_OUTPUT fi - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 with: token: ${{ secrets.ERLANG_TOKEN }} repository: 'erlang/erlang.github.io' path: erlang.github.io - name: Publish CT Test Results - uses: EnricoMi/publish-unit-test-result-action@82082dac68ad6a19d980f8ce817e108b9f496c2a # ratchet:EnricoMi/publish-unit-test-result-action@v2.17.1 + uses: EnricoMi/publish-unit-test-result-action@170bf24d20d201b842d7a52403b73ed297e6645b # ratchet:EnricoMi/publish-unit-test-result-action@v2.18.0 if: steps.extract.outputs.HAS_TEST_ARTIFACTS == 'true' with: commit: ${{ github.event.workflow_run.head_sha }} diff --git a/.github/workflows/sync-github-prs.yaml b/.github/workflows/sync-github-prs.yaml index 6a81f79f2b5d..7cfbd8da37f9 100644 --- a/.github/workflows/sync-github-prs.yaml +++ b/.github/workflows/sync-github-prs.yaml @@ -1,3 +1,21 @@ +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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% + name: Sync all github prs with erlang.github.io/prs/ ## Sync all github prs twice a day @@ -17,8 +35,8 @@ jobs: concurrency: erlang.github.io-deploy runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 with: token: ${{ secrets.ERLANG_TOKEN }} repository: 'erlang/erlang.github.io' diff --git a/.github/workflows/sync-github-releases.yaml b/.github/workflows/sync-github-releases.yaml index e30bfdc547aa..0398c4d5e69e 100644 --- a/.github/workflows/sync-github-releases.yaml +++ b/.github/workflows/sync-github-releases.yaml @@ -1,3 +1,21 @@ +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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% + name: Sync all github releases with erlang.org ## Sync all github releases every hour @@ -23,7 +41,7 @@ jobs: contents: write actions: write steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 ## We need to login to the package registry in order to pull ## the base debian image. - name: Docker login diff --git a/.github/workflows/update-base.yaml b/.github/workflows/update-base.yaml index 8d677d8549d4..33b7f4f37935 100644 --- a/.github/workflows/update-base.yaml +++ b/.github/workflows/update-base.yaml @@ -1,3 +1,21 @@ +## %CopyrightBegin% +## +## Copyright Ericsson AB 2024. 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% + name: Update docker base image ## Update the base image every day @@ -29,7 +47,7 @@ jobs: fail-fast: false steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4.2.2 with: ref: ${{ matrix.branch }} - name: Cleanup GH Runner diff --git a/README.md b/README.md index 13367ae75c48..787fda443bd9 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,10 @@ Please visit our [GitHub Issues](https://github.com/erlang/otp/issues) page for ### Security Disclosure -We take security bugs in Erlang/OTP seriously. Please disclose the issues regarding security by sending an email to **erlang-security [at] erlang [dot] org** and not by creating a public issue. +Please do not report security vulnerabilities through public channels, like +GitHub issues, discussions, or pull requests. + +Please disclose the security issues following our [SECURITY](SECURITY.md) guidelines. ## Contributing diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 000000000000..ffb1d6ec216d --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,25 @@ +# Security Policy + +## Reporting a Vulnerability and/or Security Issues + +Please do not report security vulnerabilities through public channels, like +GitHub issues, discussions, or pull requests. + +If you believe you have found a security vulnerability in this repository, +please report it to erlang-security@erlang.org or https://github.com/erlang/otp/security. + +## Supported Versions + +Erlang/OTP supports the last 3 OTP releases with security updates and patches. +For example, if the latest release is OTP-27, we will support with maintainance and security releases: + +| Version | Supported | +| ------- | ------------------ | +| 27 | :white_check_mark: | +| 26 | :white_check_mark: | +| 25 | :white_check_mark: | +| =< 24 | :x: | + + + + diff --git a/erts/configure b/erts/configure index d99cc5192050..9cea09ff81c2 100755 --- a/erts/configure +++ b/erts/configure @@ -643,6 +643,7 @@ ac_func_c_list= enable_year2038=yes ac_subst_vars='LTLIBOBJS LIBOBJS +DEBUG_CXXFLAGS DEBUG_CFLAGS ERL_DETERMINISTIC CFLAGS32 @@ -26834,11 +26835,6 @@ fi -printf "%s\n" "#define ERTS_EMU_CMDLINE_FLAGS \"$STATIC_CFLAGS $CFLAGS $DEBUG_CFLAGS $EMU_THR_DEFS $DEFS $WERRORFLAGS $WFLAGS\"" >>confdefs.h - - - - @@ -26912,6 +26908,15 @@ printf "%s\n" "yes" >&6; } DEBUG_CFLAGS="-g -O0 $no_opt_CFLAGS" +no_opt_CXXFLAGS=$(echo " $CXXFLAGS" | sed 's/ -O[^ ]*/ /g') +DEBUG_CXXFLAGS="-g -O0 $no_opt_CXXFLAGS" + + + + +printf "%s\n" "#define ERTS_EMU_CMDLINE_FLAGS \"$STATIC_CFLAGS $CFLAGS $CXXFLAGS $DEBUG_CFLAGS $DEBUG_CXXFLAGS $EMU_THR_DEFS $DEFS $WERRORFLAGS $WFLAGS\"" >>confdefs.h + + ac_config_files="$ac_config_files emulator/$host/Makefile:emulator/Makefile.in epmd/src/$host/Makefile:epmd/src/Makefile.in etc/common/$host/Makefile:etc/common/Makefile.in include/internal/$host/ethread.mk:include/internal/ethread.mk.in include/internal/$host/erts_internal.mk:include/internal/erts_internal.mk.in lib_src/$host/Makefile:lib_src/Makefile.in ../make/$host/otp.mk:../make/otp.mk.in" diff --git a/erts/configure.ac b/erts/configure.ac index ce8a7da678d2..e79def7c42bf 100644 --- a/erts/configure.ac +++ b/erts/configure.ac @@ -3556,17 +3556,6 @@ fi AC_SUBST(CC32) AC_SUBST(CFLAGS32) -dnl -dnl ERTS_EMU_CMDLINE_FLAGS will force modification of config.h when -dnl the emulator command line flags are modified by configure, which -dnl in turn will make 'make' detect that files depending on config.h -dnl needs to be rebuilt. -dnl - -AC_DEFINE_UNQUOTED(ERTS_EMU_CMDLINE_FLAGS, -"$STATIC_CFLAGS $CFLAGS $DEBUG_CFLAGS $EMU_THR_DEFS $DEFS $WERRORFLAGS $WFLAGS", -[The only reason ERTS_EMU_CMDLINE_FLAGS exists is to force modification of config.h when the emulator command line flags are modified by configure]) - AC_SUBST(STATIC_CFLAGS) dnl --------------------------------------------------------------------- @@ -3667,6 +3656,21 @@ AC_MSG_RESULT([yes]) DEBUG_CFLAGS="-g -O0 $no_opt_CFLAGS" AC_SUBST(DEBUG_CFLAGS) +no_opt_CXXFLAGS=$(echo " $CXXFLAGS" | sed 's/ -O[[^ ]]*/ /g') +DEBUG_CXXFLAGS="-g -O0 $no_opt_CXXFLAGS" +AC_SUBST(DEBUG_CXXFLAGS) + +dnl +dnl ERTS_EMU_CMDLINE_FLAGS will force modification of config.h when +dnl the emulator command line flags are modified by configure, which +dnl in turn will make 'make' detect that files depending on config.h +dnl needs to be rebuilt. +dnl + +AC_DEFINE_UNQUOTED(ERTS_EMU_CMDLINE_FLAGS, +"$STATIC_CFLAGS $CFLAGS $CXXFLAGS $DEBUG_CFLAGS $DEBUG_CXXFLAGS $EMU_THR_DEFS $DEFS $WERRORFLAGS $WFLAGS", +[The only reason ERTS_EMU_CMDLINE_FLAGS exists is to force modification of config.h when the emulator command line flags are modified by configure]) + dnl ---------------------------------------------------------------------- dnl Output the result. dnl ---------------------------------------------------------------------- diff --git a/erts/doc/guides/time_correction.md b/erts/doc/guides/time_correction.md index 9b5a99cf4c70..72e3752c191e 100644 --- a/erts/doc/guides/time_correction.md +++ b/erts/doc/guides/time_correction.md @@ -178,6 +178,23 @@ offset, you get current Erlang system time. To retrieve the current time offset, call `erlang:time_offset/0`. +### Timers + +All timers are triggered relative Erlang monotonic time. All timers currently +have millisecond resolution both in the API and internally in the runtime +system. That is, resolution (as well as precision and accuracy) will not be +higher than millisecond. If [Erlang monotonic time](#erlang-monotonic-time) has +a lower resolution than millisecond, the timer resolution will be lower than +millisecond as well. + +Timers can only be triggered on whole milliseconds since [the runtime +system start](`m:erlang#system_info_start_time`). A timer is not allowed to +trigger before the timeout time given by the user. That is, assuming that the +system is *not* heavily loaded, a timer will typically be triggered in the range +[`T`, `T+1`) milliseconds when the user has given the timeout time `T`. If the +system is heavily loaded, it may take an even longer time until a timer is +triggered. + ## Introduction Time is vital to an Erlang program and, more importantly, _correct_ time is diff --git a/erts/doc/notes.md b/erts/doc/notes.md index a3cbad775ad3..b6f3db9bd88f 100644 --- a/erts/doc/notes.md +++ b/erts/doc/notes.md @@ -86,7 +86,7 @@ This document describes the changes made to the ERTS application. - The `erl -man example` has been corrected to not consider values set in `ERL_ZFLAGS` and stop parsing arguments when a `--` is encountered. - Own Id: OTP-19098 Aux Id: [PR-8478] [GH-8477] + Own Id: OTP-19098 Aux Id: [PR-8478], [GH-8477] - Compiler warnings for Windows I/O back-end have been silenced. @@ -159,7 +159,7 @@ This document describes the changes made to the ERTS application. 'The I/O operation has been aborted because of either a thread exit or an application request.'}. ``` - Own Id: OTP-19220 Aux Id: [PR-8774] [GH-7621] + Own Id: OTP-19220 Aux Id: [PR-8774], [GH-7621] [PR-8478]: https://github.com/erlang/otp/pull/8478 [GH-8477]: https://github.com/erlang/otp/issues/8477 @@ -494,6 +494,39 @@ This document describes the changes made to the ERTS application. [PR-7809]: https://github.com/erlang/otp/pull/7809 [PR-7977]: https://github.com/erlang/otp/pull/7977 +## Erts 14.2.5.4 + +### Fixed Bugs and Malfunctions + +* A bug has been fixed where receiving an SCTP message with \`gen_sctp\` could waste the first fragments of a message and only deliver the last fragment. + + This happened with low probability when the OS signaled that the socket was ready for reading in combination with an internal time-out retry. + + A bug has been fixed with a lingering time-out from after an SCTP connect that could stop the flow of incoming messages on an active \`gen_tcp\` socket. + + Own Id: OTP-19235 Aux Id: ERIERL-1133, PR-8837 +* On Windows, successive failed socket calls caused socket to become "uninitialized". + + Own Id: OTP-19251 Aux Id: GH-8853 +* The socket framework fails to start on a IPv6-only Windows machine. + + Own Id: OTP-19254 Aux Id: GH-8848 +* An boolean option \`non_block_send\` for SCTP, has ben added to be able to achieve the old behaviour to avoid blocking send operations by passing the OS network stack error message (\`\{error,eagain\}\` through. + + Own Id: OTP-19258 Aux Id: OTP-19061, ERIERL-1134 +* The call \`gen_tcp:send/2\` could hang indefinitely despite having set the \`send_timeout\` option for the following unfortunate combination of circumstances: + + \* The socket has to be in passive mode. * All output buffers had to be filled util the \`high_watermark\` was hit, causing the \`gen_tcp:send/2\` operation to block. * While the send operation was blocked, a \`gen_tcp:recv/2,3\` call had to be done from a different process. It had to block, waiting for data for a while before completing the operation, and the received packet had to fill at least 75% of the receive buffer. + + Under these circumstances he information that a send operation was waiting got lost, so the send operation that blocked in the first placed would never return. The data it had would be sent, though, and send operations from other processes, still work. + + This bug has been fixed. + + Own Id: OTP-19267 Aux Id: GH-6455, OTP-18520, ERIERL-1138, PR-8892 +* Fixed beam crash that could happen if resetting `call_time` or `call_memory` trace counters of a function while it is called. Bug exists since OTP R16. + + Own Id: OTP-19269 Aux Id: GH-8835, PR-8897 + ## Erts 14.2.5.3 ### Fixed Bugs and Malfunctions @@ -1459,6 +1492,14 @@ This document describes the changes made to the ERTS application. Own Id: OTP-18574 +## Erts 13.2.2.11 + +### Fixed Bugs and Malfunctions + +* Fixed beam crash that could happen if resetting `call_time` or `call_memory` trace counters of a function while it is called. Bug exists since OTP R16. + + Own Id: OTP-19269 Aux Id: GH-8835, PR-8897 + ## Erts 13.2.2.10 ### Fixed Bugs and Malfunctions diff --git a/erts/doc/references/erl_cmd.md b/erts/doc/references/erl_cmd.md index 648e1b0c93b2..38939981e1c0 100644 --- a/erts/doc/references/erl_cmd.md +++ b/erts/doc/references/erl_cmd.md @@ -257,14 +257,13 @@ described in the corresponding application documentation. In this example, an Erlang runtime system is started with environment variable `DISPLAY` set to `gin:0`. -- **`-epmd_module Module` (init flag)** - Configures the module responsible to - communicate to [epmd](epmd_cmd.md). Defaults to `erl_epmd`. - -- **`-erl_epmd_port Port` (init flag)** - Configures the port used by `erl_epmd` - to listen for connection and connect to other nodes. If this flag is set, - the Erlang VM will boot in distributed mode even if EPMD is not available. - If not set, a port is chosen automatically (equivalent to port `0`). - See `m:erl_epmd` for more details. +- **`-epmd_module Module`{: #epmd_module }** - This flag is deprecated and has + been replaced by the `kernel` application parameter + [`epmd_module`](`e:kernel:kernel_app.md#epmd_module`). + +- **`-erl_epmd_port Port`{: #erl_epmd_port }** - This flag is deprecated and + has been replaced by the `kernel` application parameter + [`erl_epmd_node_listen_port`](`e:kernel:kernel_app.md#erl_epmd_node_listen_port`). - **`-eval Expr` (init flag)** - Makes `init` evaluate the expression `Expr`; see `m:init`. diff --git a/erts/doc/references/erl_nif.md b/erts/doc/references/erl_nif.md index 081fce3fa218..e35cb882ec46 100644 --- a/erts/doc/references/erl_nif.md +++ b/erts/doc/references/erl_nif.md @@ -864,7 +864,8 @@ calling NIF API functions. Functions exist for the following functionality: ## enif_alloc() ```c -void * enif_alloc(size_t size); +void * enif_alloc( + size_t size); ``` Allocates memory of `size` bytes. @@ -877,7 +878,9 @@ allocated memory. ## enif_alloc_binary() ```c -int enif_alloc_binary(size_t size, ErlNifBinary* bin); +int enif_alloc_binary( + size_t size, + ErlNifBinary* bin); ``` Allocates a new binary of size `size` bytes. Initializes the structure pointed @@ -912,8 +915,9 @@ Available since OTP R14B ## enif_alloc_resource() ```c -void * enif_alloc_resource(ErlNifResourceType* type, - unsigned size); +void * enif_alloc_resource( + ErlNifResourceType* type, + unsigned size); ``` Allocates a memory-managed resource object of type `type` and size `size` bytes. @@ -923,11 +927,12 @@ Available since OTP R13B04 ## enif_binary_to_term() ```c -size_t enif_binary_to_term(ErlNifEnv *env, - const unsigned char* data, - size_t size, - ERL_NIF_TERM *term, - unsigned int opts); +size_t enif_binary_to_term( + ErlNifEnv *env, + const unsigned char* data, + size_t size, + ERL_NIF_TERM *term, + unsigned int opts); ``` Creates a term that is the result of decoding the binary data at `data`, which @@ -959,7 +964,9 @@ Available since OTP R14B ## enif_compare() ```c -int enif_compare(ERL_NIF_TERM lhs, ERL_NIF_TERM rhs); +int enif_compare( + ERL_NIF_TERM lhs, + ERL_NIF_TERM rhs); ``` Returns an integer < `0` if `lhs` < `rhs`, `0` if `lhs` = `rhs`, and > `0` if @@ -971,8 +978,9 @@ Available since OTP R13B04 ## enif_compare_monitors() ```c -int enif_compare_monitors(const ErlNifMonitor - *monitor1, const ErlNifMonitor *monitor2); +int enif_compare_monitors( + const ErlNifMonitor *monitor1, + const ErlNifMonitor *monitor2); ``` Compares two [`ErlNifMonitor`](erl_nif.md#ErlNifMonitor)s. Can also be used to @@ -986,7 +994,9 @@ Available since OTP 20.0 ## enif_compare_pids() ```c -int enif_compare_pids(const ErlNifPid *pid1, const ErlNifPid *pid2); +int enif_compare_pids( + const ErlNifPid *pid1, + const ErlNifPid *pid2); ``` Compares two [`ErlNifPid` ](erl_nif.md#ErlNifPid)s according to term order. @@ -999,7 +1009,8 @@ Available since OTP 22.0 ## enif_cond_broadcast() ```c -void enif_cond_broadcast(ErlNifCond *cnd); +void enif_cond_broadcast( + ErlNifCond *cnd); ``` Same as [`erl_drv_cond_broadcast`](erl_driver.md#erl_drv_cond_broadcast). @@ -1009,7 +1020,8 @@ Available since OTP R13B04 ## enif_cond_create() ```c -ErlNifCond * enif_cond_create(char *name); +ErlNifCond * enif_cond_create( + char *name); ``` Same as [`erl_drv_cond_create`](erl_driver.md#erl_drv_cond_create). @@ -1019,7 +1031,8 @@ Available since OTP R13B04 ## enif_cond_destroy() ```c -void enif_cond_destroy(ErlNifCond *cnd); +void enif_cond_destroy( + ErlNifCond *cnd); ``` Same as [`erl_drv_cond_destroy`](erl_driver.md#erl_drv_cond_destroy). @@ -1029,7 +1042,8 @@ Available since OTP R13B04 ## enif_cond_name() ```c -char* enif_cond_name(ErlNifCond* cnd); +char* enif_cond_name( + ErlNifCond* cnd); ``` Same as [`erl_drv_cond_name`](erl_driver.md#erl_drv_cond_name). @@ -1039,7 +1053,8 @@ Available since OTP 21.0 ## enif_cond_signal() ```c -void enif_cond_signal(ErlNifCond *cnd); +void enif_cond_signal( + ErlNifCond *cnd); ``` Same as [`erl_drv_cond_signal`](erl_driver.md#erl_drv_cond_signal). @@ -1049,7 +1064,9 @@ Available since OTP R13B04 ## enif_cond_wait() ```c -void enif_cond_wait(ErlNifCond *cnd, ErlNifMutex *mtx); +void enif_cond_wait( + ErlNifCond *cnd, + ErlNifMutex *mtx); ``` Same as [`erl_drv_cond_wait`](erl_driver.md#erl_drv_cond_wait). @@ -1059,7 +1076,9 @@ Available since OTP R13B04 ## enif_consume_timeslice() ```c -int enif_consume_timeslice(ErlNifEnv *env, int percent); +int enif_consume_timeslice( + ErlNifEnv *env, + int percent); ``` Gives the runtime system a hint about how much CPU time the current NIF call has @@ -1095,8 +1114,10 @@ Available since OTP R16B ## enif_convert_time_unit() ```c -ErlNifTime enif_convert_time_unit(ErlNifTime - val, ErlNifTimeUnit from, ErlNifTimeUnit to); +ErlNifTime enif_convert_time_unit( + ErlNifTime val, + ErlNifTimeUnit from, + ErlNifTimeUnit to); ``` Converts the `val` value of time unit `from` to the corresponding value of time @@ -1118,7 +1139,8 @@ Available since OTP 18.3 ## enif_cpu_time() ```c -ERL_NIF_TERM enif_cpu_time(ErlNifEnv *); +ERL_NIF_TERM enif_cpu_time( + ErlNifEnv *env); ``` Returns the CPU time in the same format as @@ -1132,8 +1154,10 @@ Available since OTP 19.0 ## enif_demonitor_process() ```c -int enif_demonitor_process(ErlNifEnv* caller_env, - void* obj, const ErlNifMonitor* mon); +int enif_demonitor_process( + ErlNifEnv* caller_env, + void* obj, + const ErlNifMonitor* mon); ``` Cancels a monitor created earlier with @@ -1160,9 +1184,12 @@ Available since OTP 20.0 ## enif_dynamic_resource_call() ```c -int enif_dynamic_resource_call(ErlNifEnv* caller_env, - ERL_NIF_TERM rt_module, ERL_NIF_TERM rt_name, ERL_NIF_TERM resource, - void* call_data); +int enif_dynamic_resource_call( + ErlNifEnv* caller_env, + ERL_NIF_TERM rt_module, + ERL_NIF_TERM rt_name, + ERL_NIF_TERM resource, + void* call_data); ``` Call code of a resource type implemented by another NIF module. The atoms @@ -1185,7 +1212,9 @@ Available since OTP 24.0 ## enif_equal_tids() ```c -int enif_equal_tids(ErlNifTid tid1, ErlNifTid tid2); +int enif_equal_tids( + ErlNifTid tid1, + ErlNifTid tid2); ``` Same as [`erl_drv_equal_tids`](erl_driver.md#erl_drv_equal_tids). @@ -1195,7 +1224,10 @@ Available since OTP R13B04 ## enif_fprintf() ```c -int enif_fprintf(FILE *stream, const char *format, ...); +int enif_fprintf( + FILE *stream, + const char *format, + ...); ``` Similar to `fprintf` but this format string also accepts `"%T"`, which formats @@ -1210,7 +1242,8 @@ Available since OTP 21.0 ## enif_free() ```c -void enif_free(void* ptr); +void enif_free( + void* ptr); ``` Frees memory allocated by [`enif_alloc`](erl_nif.md#enif_alloc). @@ -1218,7 +1251,8 @@ Frees memory allocated by [`enif_alloc`](erl_nif.md#enif_alloc). ## enif_free_env() ```c -void enif_free_env(ErlNifEnv* env); +void enif_free_env( + ErlNifEnv* env); ``` Frees an environment allocated with @@ -1230,7 +1264,8 @@ Available since OTP R14B ## enif_free_iovec() ```c -void enif_free_iovec(ErlNifIOVec* iov); +void enif_free_iovec( + ErlNifIOVec* iov); ``` Frees an io vector returned from @@ -1256,8 +1291,12 @@ Available since OTP 20.1 ## enif_get_atom() ```c -int enif_get_atom(ErlNifEnv *env, ERL_NIF_TERM - term, char *buf, unsigned size, ErlNifCharEncoding encoding); +int enif_get_atom( + ErlNifEnv *env, + ERL_NIF_TERM term, + char *buf, + unsigned size, + ErlNifCharEncoding encoding); ``` Writes a `NULL`\-terminated string in the buffer pointed to by `buf` of size @@ -1273,8 +1312,11 @@ Available since OTP R13B04 ## enif_get_atom_length() ```c -int enif_get_atom_length(ErlNifEnv *env, - ERL_NIF_TERM term, unsigned *len, ErlNifCharEncoding encoding); +int enif_get_atom_length( + ErlNifEnv *env, + ERL_NIF_TERM term, + unsigned *len, + ErlNifCharEncoding encoding); ``` Sets `*len` to the length (number of bytes excluding terminating `NULL` @@ -1288,8 +1330,10 @@ Available since OTP R14B ## enif_get_double() ```c -int enif_get_double(ErlNifEnv* env, - ERL_NIF_TERM term, double* dp); +int enif_get_double( + ErlNifEnv* env, + ERL_NIF_TERM term, + double* dp); ``` Sets `*dp` to the floating-point value of `term`. @@ -1301,8 +1345,10 @@ Available since OTP R13B04 ## enif_get_int() ```c -int enif_get_int(ErlNifEnv* env, ERL_NIF_TERM - term, int* ip); +int enif_get_int( + ErlNifEnv* env, + ERL_NIF_TERM term, + int* ip); ``` Sets `*ip` to the integer value of `term`. @@ -1313,8 +1359,10 @@ the bounds of type `int`. ## enif_get_int64() ```c -int enif_get_int64(ErlNifEnv* env, ERL_NIF_TERM - term, ErlNifSInt64* ip); +int enif_get_int64( + ErlNifEnv* env, + ERL_NIF_TERM term, + ErlNifSInt64* ip); ``` Sets `*ip` to the integer value of `term`. @@ -1327,8 +1375,10 @@ Available since OTP R14B ## enif_get_local_pid() ```c -int enif_get_local_pid(ErlNifEnv* env, - ERL_NIF_TERM term, ErlNifPid* pid); +int enif_get_local_pid( + ErlNifEnv* env, + ERL_NIF_TERM term, + ErlNifPid* pid); ``` If `term` is the pid of a node local process, this function initializes the pid @@ -1345,8 +1395,10 @@ Available since OTP R14B ## enif_get_local_port() ```c -int enif_get_local_port(ErlNifEnv* env, - ERL_NIF_TERM term, ErlNifPort* port_id); +int enif_get_local_port( + ErlNifEnv* env, + ERL_NIF_TERM term, + ErlNifPort* port_id); ``` If `term` identifies a node local port, this function initializes the port @@ -1358,8 +1410,11 @@ Available since OTP 19.0 ## enif_get_list_cell() ```c -int enif_get_list_cell(ErlNifEnv* env, - ERL_NIF_TERM list, ERL_NIF_TERM* head, ERL_NIF_TERM* tail); +int enif_get_list_cell( + ErlNifEnv* env, + ERL_NIF_TERM list, + ERL_NIF_TERM* head, + ERL_NIF_TERM* tail); ``` Sets `*head` and `*tail` from list `list`. @@ -1369,8 +1424,10 @@ Returns `true` on success, or `false` if it is not a list or the list is empty. ## enif_get_list_length() ```c -int enif_get_list_length(ErlNifEnv* env, - ERL_NIF_TERM term, unsigned* len); +int enif_get_list_length( + ErlNifEnv* env, + ERL_NIF_TERM term, + unsigned* len); ``` Sets `*len` to the length of list `term`. @@ -1382,8 +1439,10 @@ Available since OTP R14B ## enif_get_long() ```c -int enif_get_long(ErlNifEnv* env, ERL_NIF_TERM - term, long int* ip); +int enif_get_long( + ErlNifEnv* env, + ERL_NIF_TERM term, + long int* ip); ``` Sets `*ip` to the long integer value of `term`. @@ -1396,8 +1455,10 @@ Available since OTP R13B04 ## enif_get_map_size() ```c -int enif_get_map_size(ErlNifEnv* env, - ERL_NIF_TERM term, size_t *size); +int enif_get_map_size( + ErlNifEnv* env, + ERL_NIF_TERM term, + size_t *size); ``` Sets `*size` to the number of key-value pairs in the map `term`. @@ -1409,8 +1470,11 @@ Available since OTP 18.0 ## enif_get_map_value() ```c -int enif_get_map_value(ErlNifEnv* env, - ERL_NIF_TERM map, ERL_NIF_TERM key, ERL_NIF_TERM* value); +int enif_get_map_value( + ErlNifEnv* env, + ERL_NIF_TERM map, + ERL_NIF_TERM key, + ERL_NIF_TERM* value); ``` Sets `*value` to the value associated with `key` in the map `map`. @@ -1423,8 +1487,11 @@ Available since OTP 18.0 ## enif_get_resource() ```c -int enif_get_resource(ErlNifEnv* env, - ERL_NIF_TERM term, ErlNifResourceType* type, void** objp); +int enif_get_resource( + ErlNifEnv* env, + ERL_NIF_TERM term, + ErlNifResourceType* type, + void** objp); ``` Sets `*objp` to point to the resource object referred to by `term`. @@ -1441,8 +1508,11 @@ Available since OTP R13B04 ## enif_get_string() ```c -int enif_get_string(ErlNifEnv* env, - ERL_NIF_TERM list, char* buf, unsigned size, +int enif_get_string( + ErlNifEnv* env, + ERL_NIF_TERM list, + char* buf, + unsigned size, ErlNifCharEncoding encoding); ``` @@ -1464,8 +1534,11 @@ Available since OTP R13B04 ## enif_get_string_length() ```c -int enif_get_string_length(ErlNifEnv *env, - ERL_NIF_TERM list, unsigned *len, ErlNifCharEncoding encoding); +int enif_get_string_length( + ErlNifEnv *env, + ERL_NIF_TERM list, + unsigned *len, + ErlNifCharEncoding encoding); ``` Sets `*len` to the length (number of bytes excluding terminating `NULL` @@ -1479,8 +1552,11 @@ Available since OTP 26.0 ## enif_get_tuple() ```c -int enif_get_tuple(ErlNifEnv* env, ERL_NIF_TERM - term, int* arity, const ERL_NIF_TERM** array); +int enif_get_tuple( + ErlNifEnv* env, + ERL_NIF_TERM term, + int* arity, + const ERL_NIF_TERM** array); ``` If `term` is a tuple, this function sets `*array` to point to an array @@ -1495,8 +1571,10 @@ Available since OTP R13B04 ## enif_get_uint() ```c -int enif_get_uint(ErlNifEnv* env, ERL_NIF_TERM - term, unsigned int* ip); +int enif_get_uint( + ErlNifEnv* env, + ERL_NIF_TERM term, + unsigned int* ip); ``` Sets `*ip` to the unsigned integer value of `term`. @@ -1509,8 +1587,10 @@ Available since OTP R13B04 ## enif_get_uint64() ```c -int enif_get_uint64(ErlNifEnv* env, - ERL_NIF_TERM term, ErlNifUInt64* ip); +int enif_get_uint64( + ErlNifEnv* env, + ERL_NIF_TERM term, + ErlNifUInt64* ip); ``` Sets `*ip` to the unsigned integer value of `term`. @@ -1523,8 +1603,10 @@ Available since OTP R14B ## enif_get_ulong() ```c -int enif_get_ulong(ErlNifEnv* env, ERL_NIF_TERM - term, unsigned long* ip); +int enif_get_ulong( + ErlNifEnv* env, + ERL_NIF_TERM term, + unsigned long* ip); ``` Sets `*ip` to the unsigned long integer value of `term`. @@ -1535,7 +1617,9 @@ outside the bounds of type `unsigned long`. ## enif_getenv() ```c -int enif_getenv(const char* key, char* value, +int enif_getenv( + const char* key, + char* value, size_t *value_size); ``` @@ -1546,7 +1630,8 @@ Available since OTP 18.2 ## enif_has_pending_exception() ```c -int enif_has_pending_exception(ErlNifEnv* env, +int enif_has_pending_exception( + ErlNifEnv* env, ERL_NIF_TERM* reason); ``` @@ -1566,7 +1651,10 @@ Available since OTP 18.0 ## enif_hash() ```c -ErlNifUInt64 enif_hash(ErlNifHash type, ERL_NIF_TERM term, ErlNifUInt64 salt); +ErlNifUInt64 enif_hash( + ErlNifHash type, + ERL_NIF_TERM term, + ErlNifUInt64 salt); ``` Hashes `term` according to the specified [`ErlNifHash`](erl_nif.md#ErlNifHash) @@ -1579,8 +1667,10 @@ Available since OTP 20.0 ## enif_inspect_binary() ```c -int enif_inspect_binary(ErlNifEnv* env, - ERL_NIF_TERM bin_term, ErlNifBinary* bin); +int enif_inspect_binary( + ErlNifEnv* env, + ERL_NIF_TERM bin_term, + ErlNifBinary* bin); ``` Initializes the structure pointed to by `bin` with information about binary term @@ -1591,8 +1681,10 @@ Returns `true` on success, or `false` if `bin_term` is not a binary. ## enif_inspect_iolist_as_binary() ```c -int enif_inspect_iolist_as_binary(ErlNifEnv* - env, ERL_NIF_TERM term, ErlNifBinary* bin); +int enif_inspect_iolist_as_binary( + ErlNifEnv* env, + ERL_NIF_TERM term, + ErlNifBinary* bin); ``` Initializes the structure pointed to by `bin` with a continuous buffer with the @@ -1606,8 +1698,11 @@ Available since OTP R13B04 ## enif_inspect_iovec() ```c -int enif_inspect_iovec(ErlNifEnv* - env, size_t max_elements, ERL_NIF_TERM iovec_term, ERL_NIF_TERM* tail, +int enif_inspect_iovec( + ErlNifEnv* env, + size_t max_elements, + ERL_NIF_TERM iovec_term, + ERL_NIF_TERM* tail, ErlNifIOVec** iovec); ``` @@ -1645,7 +1740,8 @@ Available since OTP 20.1 ## enif_ioq_create() ```c -ErlNifIOQueue * enif_ioq_create(ErlNifIOQueueOpts opts); +ErlNifIOQueue * enif_ioq_create( + ErlNifIOQueueOpts opts); ``` Create a new I/O Queue that can be used to store data. `opts` has to be set to @@ -1656,7 +1752,8 @@ Available since OTP 20.1 ## enif_ioq_destroy() ```c -void enif_ioq_destroy(ErlNifIOQueue *q); +void enif_ioq_destroy( + ErlNifIOQueue *q); ``` Destroy the I/O queue and free all of it's contents @@ -1666,7 +1763,10 @@ Available since OTP 20.1 ## enif_ioq_deq() ```c -int enif_ioq_deq(ErlNifIOQueue *q, size_t count, size_t *size); +int enif_ioq_deq( + ErlNifIOQueue *q, + size_t count, + size_t *size); ``` Dequeue `count` bytes from the I/O queue. If `size` is not `NULL`, the new size @@ -1680,7 +1780,10 @@ Available since OTP 20.1 ## enif_ioq_enq_binary() ```c -int enif_ioq_enq_binary(ErlNifIOQueue *q, ErlNifBinary *bin, size_t skip); +int enif_ioq_enq_binary( + ErlNifIOQueue *q, + ErlNifBinary *bin, + size_t skip); ``` Enqueue the `bin` into `q` skipping the first `skip` bytes. @@ -1694,7 +1797,10 @@ Available since OTP 20.1 ## enif_ioq_enqv() ```c -int enif_ioq_enqv(ErlNifIOQueue *q, ErlNifIOVec *iovec, size_t skip); +int enif_ioq_enqv( + ErlNifIOQueue *q, + ErlNifIOVec *iovec, + size_t skip); ``` Enqueue the `iovec` into `q` skipping the first `skip` bytes. @@ -1707,7 +1813,9 @@ Available since OTP 20.1 ## enif_ioq_peek() ```c -SysIOVec * enif_ioq_peek(ErlNifIOQueue *q, int *iovlen); +SysIOVec * enif_ioq_peek( + ErlNifIOQueue *q, + int *iovlen); ``` Get the I/O queue as a pointer to an array of `SysIOVec`s. It also returns the @@ -1723,7 +1831,11 @@ Available since OTP 20.1 ## enif_ioq_peek_head() ```c -int enif_ioq_peek_head(ErlNifEnv *env, ErlNifIOQueue *q, size_t *size, ERL_NIF_TERM *bin_term); +int enif_ioq_peek_head( + ErlNifEnv *env, + ErlNifIOQueue *q, + size_t *size, + ERL_NIF_TERM *bin_term); ``` Get the head of the IO Queue as a binary term. @@ -1740,7 +1852,8 @@ Available since OTP 21.0 ## enif_ioq_size() ```c -size_t enif_ioq_size(ErlNifIOQueue *q); +size_t enif_ioq_size( + ErlNifIOQueue *q); ``` Get the size of `q`. @@ -1750,7 +1863,9 @@ Available since OTP 20.1 ## enif_is_atom() ```c -int enif_is_atom(ErlNifEnv* env, ERL_NIF_TERM term); +int enif_is_atom( + ErlNifEnv* env, + ERL_NIF_TERM term); ``` Returns `true` if `term` is an atom. @@ -1760,7 +1875,9 @@ Available since OTP R13B04 ## enif_is_binary() ```c -int enif_is_binary(ErlNifEnv* env, ERL_NIF_TERM term); +int enif_is_binary( + ErlNifEnv* env, + ERL_NIF_TERM term); ``` Returns `true` if `term` is a binary. @@ -1768,7 +1885,8 @@ Returns `true` if `term` is a binary. ## enif_is_current_process_alive() ```c -int enif_is_current_process_alive(ErlNifEnv* env); +int enif_is_current_process_alive( + ErlNifEnv* env); ``` Returns `true` if the currently executing process is currently alive, otherwise @@ -1782,7 +1900,8 @@ Available since OTP 19.0 ## enif_is_empty_list() ```c -int enif_is_empty_list(ErlNifEnv* env, +int enif_is_empty_list( + ErlNifEnv* env, ERL_NIF_TERM term); ``` @@ -1793,7 +1912,8 @@ Available since OTP R13B04 ## enif_is_exception() ```c -int enif_is_exception(ErlNifEnv* env, +int enif_is_exception( + ErlNifEnv* env, ERL_NIF_TERM term); ``` @@ -1804,8 +1924,9 @@ Available since OTP R14B03 ## enif_is_fun() ```c -int enif_is_fun(ErlNifEnv* env, ERL_NIF_TERM - term); +int enif_is_fun( + ErlNifEnv* env, + ERL_NIF_TERM term); ``` Returns `true` if `term` is a fun. @@ -1815,7 +1936,8 @@ Available since OTP R13B04 ## enif_is_identical() ```c -int enif_is_identical(ERL_NIF_TERM lhs, +int enif_is_identical( + ERL_NIF_TERM lhs, ERL_NIF_TERM rhs); ``` @@ -1827,7 +1949,9 @@ Available since OTP R13B04 ## enif_is_list() ```c -int enif_is_list(ErlNifEnv* env, ERL_NIF_TERM term); +int enif_is_list( + ErlNifEnv* env, + ERL_NIF_TERM term); ``` Returns `true` if `term` is a list. @@ -1837,8 +1961,9 @@ Available since OTP R14B ## enif_is_map() ```c -int enif_is_map(ErlNifEnv* env, ERL_NIF_TERM - term); +int enif_is_map( + ErlNifEnv* env, + ERL_NIF_TERM term); ``` Returns `true` if `term` is a map, otherwise `false`. @@ -1848,8 +1973,9 @@ Available since OTP 18.0 ## enif_is_number() ```c -int enif_is_number(ErlNifEnv* env, ERL_NIF_TERM - term); +int enif_is_number( + ErlNifEnv* env, + ERL_NIF_TERM term); ``` Returns `true` if `term` is a number. @@ -1859,7 +1985,9 @@ Available since OTP R15B ## enif_is_pid() ```c -int enif_is_pid(ErlNifEnv* env, ERL_NIF_TERM term); +int enif_is_pid( + ErlNifEnv* env, + ERL_NIF_TERM term); ``` Returns `true` if `term` is a pid. @@ -1869,7 +1997,8 @@ Available since OTP R13B04 ## enif_is_pid_undefined() ```c -int enif_is_pid_undefined(const ErlNifPid* pid); +int enif_is_pid_undefined( + const ErlNifPid* pid); ``` Returns `true` if `pid` has been set as undefined by @@ -1880,7 +2009,9 @@ Available since OTP 22.0 ## enif_is_port() ```c -int enif_is_port(ErlNifEnv* env, ERL_NIF_TERM term); +int enif_is_port( + ErlNifEnv* env, + ERL_NIF_TERM term); ``` Returns `true` if `term` is a port. @@ -1890,7 +2021,8 @@ Available since OTP R13B04 ## enif_is_port_alive() ```c -int enif_is_port_alive(ErlNifEnv* env, +int enif_is_port_alive( + ErlNifEnv* env, ErlNifPort *port_id); ``` @@ -1903,7 +2035,8 @@ Available since OTP 19.0 ## enif_is_process_alive() ```c -int enif_is_process_alive(ErlNifEnv* env, +int enif_is_process_alive( + ErlNifEnv* env, ErlNifPid *pid); ``` @@ -1916,7 +2049,9 @@ Available since OTP 19.0 ## enif_is_ref() ```c -int enif_is_ref(ErlNifEnv* env, ERL_NIF_TERM term); +int enif_is_ref( + ErlNifEnv* env, + ERL_NIF_TERM term); ``` Returns `true` if `term` is a reference. @@ -1926,7 +2061,9 @@ Available since OTP R13B04 ## enif_is_tuple() ```c -int enif_is_tuple(ErlNifEnv* env, ERL_NIF_TERM term); +int enif_is_tuple( + ErlNifEnv* env, + ERL_NIF_TERM term); ``` Returns `true` if `term` is a tuple. @@ -1936,7 +2073,8 @@ Available since OTP R14B ## enif_keep_resource() ```c -int enif_keep_resource(void* obj); +int enif_keep_resource( + void* obj); ``` Adds a reference to resource object `obj` obtained from @@ -1950,7 +2088,9 @@ Available since OTP R14B ## enif_make_atom() ```c -ERL_NIF_TERM enif_make_atom(ErlNifEnv *env, const char *name); +ERL_NIF_TERM enif_make_atom( + ErlNifEnv *env, + const char *name); ``` Creates an atom term from the `NULL`\-terminated C-string `name` with ISO @@ -1961,8 +2101,10 @@ an atom (255 characters), `enif_make_atom` invokes ## enif_make_atom_len() ```c -ERL_NIF_TERM enif_make_atom_len(ErlNifEnv *env, - const char *name, size_t len); +ERL_NIF_TERM enif_make_atom_len( + ErlNifEnv *env, + const char *name, + size_t len); ``` Create an atom term from the string `name` with length `len` and ISO Latin-1 @@ -1975,7 +2117,8 @@ Available since OTP R14B ## enif_make_badarg() ```c -ERL_NIF_TERM enif_make_badarg(ErlNifEnv* env); +ERL_NIF_TERM enif_make_badarg( + ErlNifEnv* env); ``` Makes a `badarg` exception to be returned from a NIF, and associates it with @@ -2001,7 +2144,9 @@ and [`enif_raise_exception`](erl_nif.md#enif_raise_exception). ## enif_make_binary() ```c -ERL_NIF_TERM enif_make_binary(ErlNifEnv* env, ErlNifBinary* bin); +ERL_NIF_TERM enif_make_binary( + ErlNifEnv* env, + ErlNifBinary* bin); ``` Makes a binary term from `bin`. Any ownership of the binary data is transferred @@ -2011,7 +2156,8 @@ NIF call and then as released. ## enif_make_copy() ```c -ERL_NIF_TERM enif_make_copy(ErlNifEnv* dst_env, +ERL_NIF_TERM enif_make_copy( + ErlNifEnv* dst_env, ERL_NIF_TERM src_term); ``` @@ -2023,7 +2169,9 @@ Available since OTP R14B ## enif_make_double() ```c -ERL_NIF_TERM enif_make_double(ErlNifEnv* env, double d); +ERL_NIF_TERM enif_make_double( + ErlNifEnv* env, + double d); ``` Creates a floating-point term from a `double`. If argument `double` is not @@ -2035,9 +2183,11 @@ Available since OTP R13B04 ## enif_make_existing_atom() ```c -int enif_make_existing_atom(ErlNifEnv *env, - const char *name, ERL_NIF_TERM *atom, ErlNifCharEncoding - encoding); +int enif_make_existing_atom( + ErlNifEnv *env, + const char *name, + ERL_NIF_TERM *atom, + ErlNifCharEncoding encoding); ``` Tries to create the term of an already existing atom from the `NULL`\-terminated @@ -2053,9 +2203,12 @@ Available since OTP R13B04 ## enif_make_existing_atom_len() ```c -int enif_make_existing_atom_len(ErlNifEnv *env, - const char *name, size_t len, ERL_NIF_TERM *atom, ErlNifCharEncoding - encoding); +int enif_make_existing_atom_len( + ErlNifEnv *env, + const char *name, + size_t len, + ERL_NIF_TERM *atom, + ErlNifCharEncoding encoding); ``` Tries to create the term of an already existing atom from the string `name` with @@ -2072,7 +2225,9 @@ Available since OTP R14B ## enif_make_int() ```c -ERL_NIF_TERM enif_make_int(ErlNifEnv* env, int i); +ERL_NIF_TERM enif_make_int( + ErlNifEnv* env, + int i); ``` Creates an integer term. @@ -2080,7 +2235,9 @@ Creates an integer term. ## enif_make_int64() ```c -ERL_NIF_TERM enif_make_int64(ErlNifEnv* env, ErlNifSInt64 i); +ERL_NIF_TERM enif_make_int64( + ErlNifEnv* env, + ErlNifSInt64 i); ``` Creates an integer term from a signed 64-bit integer. @@ -2090,7 +2247,10 @@ Available since OTP R14B ## enif_make_list() ```c -ERL_NIF_TERM enif_make_list(ErlNifEnv* env, unsigned cnt, ...); +ERL_NIF_TERM enif_make_list( + ErlNifEnv* env, + unsigned cnt, + ...); ``` Creates an ordinary list term of length `cnt`. Expects `cnt` number of arguments @@ -2100,79 +2260,73 @@ Returns an empty list if `cnt` is 0. ## enif_make_list1() -Available since OTP R13B04 - ## enif_make_list2() -Available since OTP R13B04 - ## enif_make_list3() -Available since OTP R13B04 - ## enif_make_list4() -Available since OTP R13B04 - ## enif_make_list5() -Available since OTP R13B04 - ## enif_make_list6() -Available since OTP R13B04 - ## enif_make_list7() -Available since OTP R13B04 - ## enif_make_list8() -Available since OTP R13B04 - ## enif_make_list9() ```c -ERL_NIF_TERM enif_make_list1(ErlNifEnv* env, ERL_NIF_TERM e1); +ERL_NIF_TERM enif_make_list1( + ErlNifEnv* env, + ERL_NIF_TERM e1); ``` ```c -ERL_NIF_TERM enif_make_list2(ErlNifEnv* env, +ERL_NIF_TERM enif_make_list2( + ErlNifEnv* env, ERL_NIF_TERM e1, ERL_NIF_TERM e2); ``` ```c -ERL_NIF_TERM enif_make_list3(ErlNifEnv* env, +ERL_NIF_TERM enif_make_list3( + ErlNifEnv* env, ERL_NIF_TERM e1, ERL_NIF_TERM e2, ERL_NIF_TERM e3); ``` ```c -ERL_NIF_TERM enif_make_list4(ErlNifEnv* env, +ERL_NIF_TERM enif_make_list4( + ErlNifEnv* env, ERL_NIF_TERM e1, ..., ERL_NIF_TERM e4); ``` ```c -ERL_NIF_TERM enif_make_list5(ErlNifEnv* env, +ERL_NIF_TERM enif_make_list5( + ErlNifEnv* env, ERL_NIF_TERM e1, ..., ERL_NIF_TERM e5); ``` ```c -ERL_NIF_TERM enif_make_list6(ErlNifEnv* env, +ERL_NIF_TERM enif_make_list6( + ErlNifEnv* env, ERL_NIF_TERM e1, ..., ERL_NIF_TERM e6); ``` ```c -ERL_NIF_TERM enif_make_list7(ErlNifEnv* env, +ERL_NIF_TERM enif_make_list7( + ErlNifEnv* env, ERL_NIF_TERM e1, ..., ERL_NIF_TERM e7); ``` ```c -ERL_NIF_TERM enif_make_list8(ErlNifEnv* env, +ERL_NIF_TERM enif_make_list8( + ErlNifEnv* env, ERL_NIF_TERM e1, ..., ERL_NIF_TERM e8); ``` ```c -ERL_NIF_TERM enif_make_list9(ErlNifEnv* env, +ERL_NIF_TERM enif_make_list9( + ErlNifEnv* env, ERL_NIF_TERM e1, ..., ERL_NIF_TERM e9); ``` @@ -2185,8 +2339,10 @@ Available since OTP R13B04 ## enif_make_list_cell() ```c -ERL_NIF_TERM enif_make_list_cell(ErlNifEnv* - env, ERL_NIF_TERM head, ERL_NIF_TERM tail); +ERL_NIF_TERM enif_make_list_cell( + ErlNifEnv* env, + ERL_NIF_TERM head, + ERL_NIF_TERM tail); ``` Creates a list cell `[head | tail]`. @@ -2194,8 +2350,10 @@ Creates a list cell `[head | tail]`. ## enif_make_list_from_array() ```c -ERL_NIF_TERM enif_make_list_from_array(ErlNifEnv* env, const ERL_NIF_TERM - arr[], unsigned cnt); +ERL_NIF_TERM enif_make_list_from_array( + ErlNifEnv* env, + const ERL_NIF_TERM arr[], + unsigned cnt); ``` Creates an ordinary list containing the elements of array `arr` of length `cnt`. @@ -2207,7 +2365,9 @@ Available since OTP R13B04 ## enif_make_long() ```c -ERL_NIF_TERM enif_make_long(ErlNifEnv* env, long int i); +ERL_NIF_TERM enif_make_long( + ErlNifEnv* env, + long int i); ``` Creates an integer term from a `long int`. @@ -2217,8 +2377,11 @@ Available since OTP R13B04 ## enif_make_map_put() ```c -int enif_make_map_put(ErlNifEnv* env, - ERL_NIF_TERM map_in, ERL_NIF_TERM key, ERL_NIF_TERM value, +int enif_make_map_put( + ErlNifEnv* env, + ERL_NIF_TERM map_in, + ERL_NIF_TERM key, + ERL_NIF_TERM value, ERL_NIF_TERM* map_out); ``` @@ -2235,8 +2398,11 @@ Available since OTP 18.0 ## enif_make_map_remove() ```c -int enif_make_map_remove(ErlNifEnv* env, - ERL_NIF_TERM map_in, ERL_NIF_TERM key, ERL_NIF_TERM* map_out); +int enif_make_map_remove( + ErlNifEnv* env, + ERL_NIF_TERM map_in, + ERL_NIF_TERM key, + ERL_NIF_TERM* map_out); ``` If map `map_in` contains `key`, this function makes a copy of `map_in` in @@ -2252,8 +2418,11 @@ Available since OTP 18.0 ## enif_make_map_update() ```c -int enif_make_map_update(ErlNifEnv* env, - ERL_NIF_TERM map_in, ERL_NIF_TERM key, ERL_NIF_TERM new_value, +int enif_make_map_update( + ErlNifEnv* env, + ERL_NIF_TERM map_in, + ERL_NIF_TERM key, + ERL_NIF_TERM new_value, ERL_NIF_TERM* map_out); ``` @@ -2270,8 +2439,12 @@ Available since OTP 18.0 ## enif_make_map_from_arrays() ```c -int enif_make_map_from_arrays(ErlNifEnv* env, ERL_NIF_TERM keys[], - ERL_NIF_TERM values[], size_t cnt, ERL_NIF_TERM *map_out); +int enif_make_map_from_arrays( + ErlNifEnv* env, + ERL_NIF_TERM keys[], + ERL_NIF_TERM values[], + size_t cnt, + ERL_NIF_TERM *map_out); ``` Makes a map term from the given keys and values. @@ -2286,7 +2459,9 @@ Available since OTP 21.0 ## enif_make_monitor_term() ```c -ERL_NIF_TERM enif_make_monitor_term(ErlNifEnv* env, const ErlNifMonitor* mon); +ERL_NIF_TERM enif_make_monitor_term( + ErlNifEnv* env, + const ErlNifMonitor* mon); ``` Creates a term identifying the given monitor received from @@ -2299,9 +2474,11 @@ Available since OTP 22.0 ## enif_make_new_atom() ```c -int enif_make_new_atom(ErlNifEnv *env, - const char *name, ERL_NIF_TERM *atom, ErlNifCharEncoding - encoding); +int enif_make_new_atom( + ErlNifEnv *env, + const char *name, + ERL_NIF_TERM *atom, + ErlNifCharEncoding encoding); ``` Creates an atom term from the `NULL`\-terminated C-string `name` with @@ -2318,9 +2495,12 @@ Available since OTP 26.0 ## enif_make_new_atom_len() ```c -int enif_make_new_atom_len(ErlNifEnv *env, - const char *name, size_t len, ERL_NIF_TERM *atom, ErlNifCharEncoding - encoding); +int enif_make_new_atom_len( + ErlNifEnv *env, + const char *name, + size_t len, + ERL_NIF_TERM *atom, + ErlNifCharEncoding encoding); ``` Create an atom term from string `name` with length `len` bytes and @@ -2336,8 +2516,10 @@ Available since OTP 26.0 ## enif_make_new_binary() ```c -unsigned char * enif_make_new_binary(ErlNifEnv* - env, size_t size, ERL_NIF_TERM* termp); +unsigned char * enif_make_new_binary( + ErlNifEnv* env, + size_t size, + ERL_NIF_TERM* termp); ``` Allocates a binary of size `size` bytes and creates an owning term. The binary @@ -2353,7 +2535,8 @@ Available since OTP R14B ## enif_make_new_map() ```c -ERL_NIF_TERM enif_make_new_map(ErlNifEnv* env); +ERL_NIF_TERM enif_make_new_map( + ErlNifEnv* env); ``` Makes an empty map term. @@ -2363,7 +2546,9 @@ Available since OTP 18.0 ## enif_make_pid() ```c -ERL_NIF_TERM enif_make_pid(ErlNifEnv* env, const ErlNifPid* pid); +ERL_NIF_TERM enif_make_pid( + ErlNifEnv* env, + const ErlNifPid* pid); ``` Makes a pid term or the atom [`undefined`](erl_nif.md#enif_set_pid_undefined) @@ -2374,7 +2559,8 @@ Available since OTP R14B ## enif_make_ref() ```c -ERL_NIF_TERM enif_make_ref(ErlNifEnv* env); +ERL_NIF_TERM enif_make_ref( + ErlNifEnv* env); ``` Creates a reference like `erlang:make_ref/0`. @@ -2384,7 +2570,9 @@ Available since OTP R13B04 ## enif_make_resource() ```c -ERL_NIF_TERM enif_make_resource(ErlNifEnv* env, void* obj); +ERL_NIF_TERM enif_make_resource( + ErlNifEnv* env, + void* obj); ``` Creates an opaque handle to a memory-managed resource object obtained by @@ -2426,8 +2614,11 @@ Available since OTP R13B04 ## enif_make_resource_binary() ```c -ERL_NIF_TERM enif_make_resource_binary(ErlNifEnv* env, void* obj, const - void* data, size_t size); +ERL_NIF_TERM enif_make_resource_binary( + ErlNifEnv* env, + void* obj, + const void* data, + size_t size); ``` Creates a binary term that is memory-managed by a resource object `obj` obtained @@ -2450,7 +2641,9 @@ Available since OTP R14B ## enif_make_reverse_list() ```c -int enif_make_reverse_list(ErlNifEnv* env, ERL_NIF_TERM list_in, +int enif_make_reverse_list( + ErlNifEnv* env, + ERL_NIF_TERM list_in, ERL_NIF_TERM *list_out); ``` @@ -2467,8 +2660,10 @@ Available since OTP R15B ## enif_make_string() ```c -ERL_NIF_TERM enif_make_string(ErlNifEnv *env, - const char *string, ErlNifCharEncoding encoding); +ERL_NIF_TERM enif_make_string( + ErlNifEnv *env, + const char *string, + ErlNifCharEncoding encoding); ``` Creates a list containing the characters of the `NULL`\-terminated string @@ -2477,9 +2672,11 @@ Creates a list containing the characters of the `NULL`\-terminated string ## enif_make_string_len() ```c -ERL_NIF_TERM enif_make_string_len(ErlNifEnv - *env, const char *string, size_t len, ErlNifCharEncoding - encoding); +ERL_NIF_TERM enif_make_string_len( + ErlNifEnv *env, + const char *string, + size_t len, + ErlNifCharEncoding encoding); ``` Creates a list containing the characters of the string `string` with length @@ -2491,8 +2688,11 @@ Available since OTP R14B ## enif_make_sub_binary() ```c -ERL_NIF_TERM enif_make_sub_binary(ErlNifEnv* - env, ERL_NIF_TERM bin_term, size_t pos, size_t size); +ERL_NIF_TERM enif_make_sub_binary( + ErlNifEnv* env, + ERL_NIF_TERM bin_term, + size_t pos, + size_t size); ``` Makes a subbinary of binary `bin_term`, starting at zero-based position `pos` @@ -2504,8 +2704,10 @@ Available since OTP R13B04 ## enif_make_tuple() ```c -ERL_NIF_TERM enif_make_tuple(ErlNifEnv* env, - unsigned cnt, ...); +ERL_NIF_TERM enif_make_tuple( + ErlNifEnv* env, + unsigned cnt, + ...); ``` Creates a tuple term of arity `cnt`. Expects `cnt` number of arguments (after @@ -2513,80 +2715,73 @@ Creates a tuple term of arity `cnt`. Expects `cnt` number of arguments (after ## enif_make_tuple1() -Available since OTP R13B04 - ## enif_make_tuple2() -Available since OTP R13B04 - ## enif_make_tuple3() -Available since OTP R13B04 - ## enif_make_tuple4() -Available since OTP R13B04 - ## enif_make_tuple5() -Available since OTP R13B04 - ## enif_make_tuple6() -Available since OTP R13B04 - ## enif_make_tuple7() -Available since OTP R13B04 - ## enif_make_tuple8() -Available since OTP R13B04 - ## enif_make_tuple9() ```c -ERL_NIF_TERM enif_make_tuple1(ErlNifEnv* env, +ERL_NIF_TERM enif_make_tuple1( + ErlNifEnv* env, ERL_NIF_TERM e1); ``` ```c -ERL_NIF_TERM enif_make_tuple2(ErlNifEnv* env, +ERL_NIF_TERM enif_make_tuple2( + ErlNifEnv* env, ERL_NIF_TERM e1, ERL_NIF_TERM e2); ``` ```c -ERL_NIF_TERM enif_make_tuple3(ErlNifEnv* env, +ERL_NIF_TERM enif_make_tuple3( + ErlNifEnv* env, ERL_NIF_TERM e1, ERL_NIF_TERM e2, ERL_NIF_TERM e3); ``` ```c -ERL_NIF_TERM enif_make_tuple4(ErlNifEnv* env, +ERL_NIF_TERM enif_make_tuple4( + ErlNifEnv* env, ERL_NIF_TERM e1, ..., ERL_NIF_TERM e4); ``` ```c -ERL_NIF_TERM enif_make_tuple5(ErlNifEnv* env, +ERL_NIF_TERM enif_make_tuple5( + ErlNifEnv* env, ERL_NIF_TERM e1, ..., ERL_NIF_TERM e5); ``` ```c -ERL_NIF_TERM enif_make_tuple6(ErlNifEnv* env, +ERL_NIF_TERM enif_make_tuple6( + ErlNifEnv* env, ERL_NIF_TERM e1, ..., ERL_NIF_TERM e6); ``` ```c -ERL_NIF_TERM enif_make_tuple7(ErlNifEnv* env, +ERL_NIF_TERM enif_make_tuple7( + ErlNifEnv* env, ERL_NIF_TERM e1, ..., ERL_NIF_TERM e7); ``` ```c -ERL_NIF_TERM enif_make_tuple8(ErlNifEnv* env, +ERL_NIF_TERM enif_make_tuple8( + ErlNifEnv* env, ERL_NIF_TERM e1, ..., ERL_NIF_TERM e8); ``` ```c -ERL_NIF_TERM enif_make_tuple9(ErlNifEnv* env, +ERL_NIF_TERM enif_make_tuple9( + ErlNifEnv* env, ERL_NIF_TERM e1, ..., ERL_NIF_TERM e9); ``` @@ -2599,8 +2794,10 @@ Available since OTP R13B04 ## enif_make_tuple_from_array() ```c -ERL_NIF_TERM enif_make_tuple_from_array(ErlNifEnv* env, const ERL_NIF_TERM - arr[], unsigned cnt); +ERL_NIF_TERM enif_make_tuple_from_array( + ErlNifEnv* env, + const ERL_NIF_TERM arr[], + unsigned cnt); ``` Creates a tuple containing the elements of array `arr` of length `cnt`. @@ -2610,7 +2807,9 @@ Available since OTP R13B04 ## enif_make_uint() ```c -ERL_NIF_TERM enif_make_uint(ErlNifEnv* env, unsigned int i); +ERL_NIF_TERM enif_make_uint( + ErlNifEnv* env, + unsigned int i); ``` Creates an integer term from an `unsigned int`. @@ -2620,7 +2819,9 @@ Available since OTP R13B04 ## enif_make_uint64() ```c -ERL_NIF_TERM enif_make_uint64(ErlNifEnv* env, ErlNifUInt64 i); +ERL_NIF_TERM enif_make_uint64( + ErlNifEnv* env, + ErlNifUInt64 i); ``` Creates an integer term from an unsigned 64-bit integer. @@ -2630,7 +2831,9 @@ Available since OTP R14B ## enif_make_ulong() ```c -ERL_NIF_TERM enif_make_ulong(ErlNifEnv* env, unsigned long i); +ERL_NIF_TERM enif_make_ulong( + ErlNifEnv* env, + unsigned long i); ``` Creates an integer term from an `unsigned long int`. @@ -2638,8 +2841,9 @@ Creates an integer term from an `unsigned long int`. ## enif_make_unique_integer() ```c -ERL_NIF_TERM enif_make_unique_integer(ErlNifEnv - *env, ErlNifUniqueInteger properties); +ERL_NIF_TERM enif_make_unique_integer( + ErlNifEnv *env, + ErlNifUniqueInteger properties); ``` Returns a unique integer with the same properties as specified by @@ -2658,9 +2862,11 @@ Available since OTP 19.0 ## enif_map_iterator_create() ```c -int enif_map_iterator_create(ErlNifEnv *env, - ERL_NIF_TERM map, ErlNifMapIterator *iter, ErlNifMapIteratorEntry - entry); +int enif_map_iterator_create( + ErlNifEnv *env, + ERL_NIF_TERM map, + ErlNifMapIterator *iter, + ErlNifMapIteratorEntry entry); ``` Creates an iterator for the map `map` by initializing the structure pointed to @@ -2696,7 +2902,8 @@ Available since OTP 18.0 ## enif_map_iterator_destroy() ```c -void enif_map_iterator_destroy(ErlNifEnv *env, +void enif_map_iterator_destroy( + ErlNifEnv *env, ErlNifMapIterator *iter); ``` @@ -2708,9 +2915,11 @@ Available since OTP 18.0 ## enif_map_iterator_get_pair() ```c -int enif_map_iterator_get_pair(ErlNifEnv *env, - ErlNifMapIterator *iter, ERL_NIF_TERM *key, ERL_NIF_TERM - *value); +int enif_map_iterator_get_pair( + ErlNifEnv *env, + ErlNifMapIterator *iter, + ERL_NIF_TERM *key, + ERL_NIF_TERM *value); ``` Gets key and value terms at the current map iterator position. @@ -2723,7 +2932,8 @@ Available since OTP 18.0 ## enif_map_iterator_is_head() ```c -int enif_map_iterator_is_head(ErlNifEnv *env, +int enif_map_iterator_is_head( + ErlNifEnv *env, ErlNifMapIterator *iter); ``` @@ -2734,7 +2944,8 @@ Available since OTP 18.0 ## enif_map_iterator_is_tail() ```c -int enif_map_iterator_is_tail(ErlNifEnv *env, +int enif_map_iterator_is_tail( + ErlNifEnv *env, ErlNifMapIterator *iter); ``` @@ -2745,7 +2956,8 @@ Available since OTP 18.0 ## enif_map_iterator_next() ```c -int enif_map_iterator_next(ErlNifEnv *env, +int enif_map_iterator_next( + ErlNifEnv *env, ErlNifMapIterator *iter); ``` @@ -2759,7 +2971,8 @@ Available since OTP 18.0 ## enif_map_iterator_prev() ```c -int enif_map_iterator_prev(ErlNifEnv *env, +int enif_map_iterator_prev( + ErlNifEnv *env, ErlNifMapIterator *iter); ``` @@ -2773,8 +2986,11 @@ Available since OTP 18.0 ## enif_monitor_process() ```c -int enif_monitor_process(ErlNifEnv* caller_env, - void* obj, const ErlNifPid* target_pid, ErlNifMonitor* mon); +int enif_monitor_process( + ErlNifEnv* caller_env, + void* obj, + const ErlNifPid* target_pid, + ErlNifMonitor* mon); ``` Starts monitoring a process from a resource. When a process is monitored, a @@ -2808,7 +3024,8 @@ Available since OTP 20.0 ## enif_monotonic_time() ```c -ErlNifTime enif_monotonic_time(ErlNifTimeUnit time_unit); +ErlNifTime enif_monotonic_time( + ErlNifTimeUnit time_unit); ``` Returns the current @@ -2828,7 +3045,8 @@ Available since OTP 18.3 ## enif_mutex_create() ```c -ErlNifMutex * enif_mutex_create(char *name); +ErlNifMutex * enif_mutex_create( + char *name); ``` Same as [`erl_drv_mutex_create`](erl_driver.md#erl_drv_mutex_create). @@ -2838,7 +3056,8 @@ Available since OTP R13B04 ## enif_mutex_destroy() ```c -void enif_mutex_destroy(ErlNifMutex *mtx); +void enif_mutex_destroy( + ErlNifMutex *mtx); ``` Same as [`erl_drv_mutex_destroy`](erl_driver.md#erl_drv_mutex_destroy). @@ -2848,7 +3067,8 @@ Available since OTP R13B04 ## enif_mutex_lock() ```c -void enif_mutex_lock(ErlNifMutex *mtx); +void enif_mutex_lock( + ErlNifMutex *mtx); ``` Same as [`erl_drv_mutex_lock`](erl_driver.md#erl_drv_mutex_lock). @@ -2858,7 +3078,8 @@ Available since OTP R13B04 ## enif_mutex_name() ```c -char* enif_mutex_name(ErlNifMutex* mtx); +char* enif_mutex_name( + ErlNifMutex* mtx); ``` Same as [`erl_drv_mutex_name`](erl_driver.md#erl_drv_mutex_name). @@ -2868,7 +3089,8 @@ Available since OTP 21.0 ## enif_mutex_trylock() ```c -int enif_mutex_trylock(ErlNifMutex *mtx); +int enif_mutex_trylock( + ErlNifMutex *mtx); ``` Same as [`erl_drv_mutex_trylock`](erl_driver.md#erl_drv_mutex_trylock). @@ -2878,7 +3100,8 @@ Available since OTP R13B04 ## enif_mutex_unlock() ```c -void enif_mutex_unlock(ErlNifMutex *mtx); +void enif_mutex_unlock( + ErlNifMutex *mtx); ``` Same as [`erl_drv_mutex_unlock`](erl_driver.md#erl_drv_mutex_unlock). @@ -2888,7 +3111,8 @@ Available since OTP R13B04 ## enif_now_time() ```c -ERL_NIF_TERM enif_now_time(ErlNifEnv *env); +ERL_NIF_TERM enif_now_time( + ErlNifEnv *env); ``` Returns an [`erlang:now()`](`erlang:now/0`) time stamp. @@ -2900,9 +3124,13 @@ Available since OTP 19.0 ## enif_open_resource_type() ```c -ErlNifResourceType * enif_open_resource_type(ErlNifEnv* env, const char* - module_str, const char* name, ErlNifResourceDtor* dtor, - ErlNifResourceFlags flags, ErlNifResourceFlags* tried); +ErlNifResourceType * enif_open_resource_type( + ErlNifEnv* env, + const char* module_str, + const char* name, + ErlNifResourceDtor* dtor, + ErlNifResourceFlags flags, + ErlNifResourceFlags* tried); ``` Creates or takes over a resource type identified by the string `name` and gives @@ -2939,9 +3167,12 @@ Available since OTP R13B04 ## enif_open_resource_type_x() ```c -ErlNifResourceType * enif_open_resource_type_x(ErlNifEnv* env, const char* name, - const ErlNifResourceTypeInit* init, - ErlNifResourceFlags flags, ErlNifResourceFlags* tried); +ErlNifResourceType * enif_open_resource_type_x( + ErlNifEnv* env, + const char* name, + const ErlNifResourceTypeInit* init, + ErlNifResourceFlags flags, + ErlNifResourceFlags* tried); ``` Same as [`enif_open_resource_type`](erl_nif.md#enif_open_resource_type) except @@ -2966,9 +3197,12 @@ Available since OTP 20.0 ## enif_init_resource_type() ```c -ErlNifResourceType * enif_init_resource_type(ErlNifEnv* env, const char* name, - const ErlNifResourceTypeInit* init, - ErlNifResourceFlags flags, ErlNifResourceFlags* tried); +ErlNifResourceType * enif_init_resource_type( + ErlNifEnv* env, + const char* name, + const ErlNifResourceTypeInit* init, + ErlNifResourceFlags flags, + ErlNifResourceFlags* tried); ``` Same as [`enif_open_resource_type_x`](erl_nif.md#enif_open_resource_type_x) @@ -2989,8 +3223,11 @@ Available since OTP 24.0 ## enif_port_command() ```c -int enif_port_command(ErlNifEnv* env, const - ErlNifPort* to_port, ErlNifEnv *msg_env, ERL_NIF_TERM msg); +int enif_port_command( + ErlNifEnv* env, const + ErlNifPort* to_port, + ErlNifEnv *msg_env, + ERL_NIF_TERM msg); ``` Works as `erlang:port_command/2`, except that it is always completely @@ -3027,7 +3264,8 @@ Available since OTP 19.0 ## enif_priv_data() ```c -void * enif_priv_data(ErlNifEnv* env); +void * enif_priv_data( + ErlNifEnv* env); ``` Returns the pointer to the private data that was set by @@ -3038,8 +3276,9 @@ Available since OTP R13B04 ## enif_raise_exception() ```c -ERL_NIF_TERM enif_raise_exception(ErlNifEnv* - env, ERL_NIF_TERM reason); +ERL_NIF_TERM enif_raise_exception( + ErlNifEnv* env, + ERL_NIF_TERM reason); ``` Creates an error exception with the term `reason` to be returned from a NIF, and @@ -3061,7 +3300,9 @@ Available since OTP 18.0 ## enif_realloc() ```c -void * enif_realloc(void* ptr, size_t size); +void * enif_realloc( + void* ptr, + size_t size); ``` Reallocates memory allocated by [`enif_alloc`](erl_nif.md#enif_alloc) to `size` @@ -3077,7 +3318,9 @@ Available since OTP 20.2 ## enif_realloc_binary() ```c -int enif_realloc_binary(ErlNifBinary* bin, size_t size); +int enif_realloc_binary( + ErlNifBinary* bin, + size_t size); ``` Changes the size of a binary `bin`. The source binary can be read-only, in which @@ -3091,7 +3334,8 @@ Available since OTP R13B04 ## enif_release_binary() ```c -void enif_release_binary(ErlNifBinary* bin); +void enif_release_binary( + ErlNifBinary* bin); ``` Releases a binary obtained from @@ -3100,7 +3344,8 @@ Releases a binary obtained from ## enif_release_resource() ```c -void enif_release_resource(void* obj); +void enif_release_resource( + void* obj); ``` Removes a reference to resource object `obj` obtained from @@ -3120,7 +3365,8 @@ Available since OTP R13B04 ## enif_rwlock_create() ```c -ErlNifRWLock * enif_rwlock_create(char *name); +ErlNifRWLock * enif_rwlock_create( + char *name); ``` Same as [`erl_drv_rwlock_create`](erl_driver.md#erl_drv_rwlock_create). @@ -3130,7 +3376,8 @@ Available since OTP R13B04 ## enif_rwlock_destroy() ```c -void enif_rwlock_destroy(ErlNifRWLock *rwlck); +void enif_rwlock_destroy( + ErlNifRWLock *rwlck); ``` Same as [`erl_drv_rwlock_destroy`](erl_driver.md#erl_drv_rwlock_destroy). @@ -3140,7 +3387,8 @@ Available since OTP R13B04 ## enif_rwlock_name() ```c -char* enif_rwlock_name(ErlNifRWLock* rwlck); +char* enif_rwlock_name( + ErlNifRWLock* rwlck); ``` Same as [`erl_drv_rwlock_name`](erl_driver.md#erl_drv_rwlock_name). @@ -3150,7 +3398,8 @@ Available since OTP 21.0 ## enif_rwlock_rlock() ```c -void enif_rwlock_rlock(ErlNifRWLock *rwlck); +void enif_rwlock_rlock( + ErlNifRWLock *rwlck); ``` Same as [`erl_drv_rwlock_rlock`](erl_driver.md#erl_drv_rwlock_rlock). @@ -3160,7 +3409,8 @@ Available since OTP R13B04 ## enif_rwlock_runlock() ```c -void enif_rwlock_runlock(ErlNifRWLock *rwlck); +void enif_rwlock_runlock( + ErlNifRWLock *rwlck); ``` Same as [`erl_drv_rwlock_runlock`](erl_driver.md#erl_drv_rwlock_runlock). @@ -3170,7 +3420,8 @@ Available since OTP R13B04 ## enif_rwlock_rwlock() ```c -void enif_rwlock_rwlock(ErlNifRWLock *rwlck); +void enif_rwlock_rwlock( + ErlNifRWLock *rwlck); ``` Same as [`erl_drv_rwlock_rwlock`](erl_driver.md#erl_drv_rwlock_rwlock). @@ -3180,7 +3431,8 @@ Available since OTP R13B04 ## enif_rwlock_rwunlock() ```c -void enif_rwlock_rwunlock(ErlNifRWLock *rwlck); +void enif_rwlock_rwunlock( + ErlNifRWLock *rwlck); ``` Same as [`erl_drv_rwlock_rwunlock`](erl_driver.md#erl_drv_rwlock_rwunlock). @@ -3190,7 +3442,8 @@ Available since OTP R13B04 ## enif_rwlock_tryrlock() ```c -int enif_rwlock_tryrlock(ErlNifRWLock *rwlck); +int enif_rwlock_tryrlock( + ErlNifRWLock *rwlck); ``` Same as [`erl_drv_rwlock_tryrlock`](erl_driver.md#erl_drv_rwlock_tryrlock). @@ -3200,7 +3453,8 @@ Available since OTP R13B04 ## enif_rwlock_tryrwlock() ```c -int enif_rwlock_tryrwlock(ErlNifRWLock *rwlck); +int enif_rwlock_tryrwlock( + ErlNifRWLock *rwlck); ``` Same as [`erl_drv_rwlock_tryrwlock`](erl_driver.md#erl_drv_rwlock_tryrwlock). @@ -3211,9 +3465,12 @@ Available since OTP R13B04 ```c ERL_NIF_TERM enif_schedule_nif( - ErlNifEnv* caller_env, const char* fun_name, int flags, - ERL_NIF_TERM (*fp)(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]), - int argc, const ERL_NIF_TERM argv[]); + ErlNifEnv* caller_env, + const char* fun_name, + int flags, + ERL_NIF_TERM (*fp)(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]), + int argc, + const ERL_NIF_TERM argv[]); ``` Schedules NIF `fp` to execute. This function allows an application to break up @@ -3250,8 +3507,13 @@ Available since OTP 17.3 ## enif_select() ```c -int enif_select(ErlNifEnv* env, ErlNifEvent event, enum ErlNifSelectFlags mode, - void* obj, const ErlNifPid* pid, ERL_NIF_TERM ref); +int enif_select( + ErlNifEnv* env, + ErlNifEvent event, + enum ErlNifSelectFlags mode, + void* obj, + const ErlNifPid* pid, + ERL_NIF_TERM ref); ``` This function can be used to receive asynchronous notifications when OS-specific @@ -3391,13 +3653,23 @@ Available since OTP 22.0 ## enif_select_write() ```c -int enif_select_read(ErlNifEnv* env, ErlNifEvent event, void* obj, - const ErlNifPid* pid, ERL_NIF_TERM msg, ErlNifEnv* msg_env); +int enif_select_read( + ErlNifEnv* env, + ErlNifEvent event, + void* obj, + const ErlNifPid* pid, + ERL_NIF_TERM msg, + ErlNifEnv* msg_env); ``` ```c -int enif_select_write(ErlNifEnv* env, ErlNifEvent event, void* obj, - const ErlNifPid* pid, ERL_NIF_TERM msg, ErlNifEnv* msg_env); +int enif_select_write( + ErlNifEnv* env, + ErlNifEvent event, + void* obj, + const ErlNifPid* pid, + ERL_NIF_TERM msg, + ErlNifEnv* msg_env); ``` These are variants of [enif_select](erl_nif.md#enif_select) where you can supply @@ -3423,7 +3695,9 @@ Available since OTP 22.0 ## enif_self() ```c -ErlNifPid * enif_self(ErlNifEnv* caller_env, ErlNifPid* pid); +ErlNifPid * enif_self( + ErlNifEnv* caller_env, + ErlNifPid* pid); ``` Initializes the [`ErlNifPid`](erl_nif.md#ErlNifPid) variable at `*pid` to @@ -3437,8 +3711,11 @@ Available since OTP R14B ## enif_send() ```c -int enif_send(ErlNifEnv* caller_env, - ErlNifPid* to_pid, ErlNifEnv* msg_env, ERL_NIF_TERM msg); +int enif_send( + ErlNifEnv* caller_env, + ErlNifPid* to_pid, + ErlNifEnv* msg_env, + ERL_NIF_TERM msg); ``` Sends a message to a process. @@ -3484,7 +3761,10 @@ Available since OTP R14B ## enif_set_option() ```c -int enif_set_option(ErlNifEnv *env, ErlNifOption opt, ...); +int enif_set_option( + ErlNifEnv *env, + ErlNifOption opt, + ...); ``` Set an option. On success, zero will be returned. On failure, a non zero value @@ -3616,7 +3896,8 @@ Available since OTP 26.0 ## enif_set_pid_undefined() ```c -void enif_set_pid_undefined(ErlNifPid* pid); +void enif_set_pid_undefined( + ErlNifPid* pid); ``` Sets an [`ErlNifPid`](erl_nif.md#ErlNifPid) variable as undefined. See @@ -3627,7 +3908,8 @@ Available since OTP 22.0 ## enif_sizeof_resource() ```c -unsigned enif_sizeof_resource(void* obj); +unsigned enif_sizeof_resource( + void* obj); ``` Gets the byte size of resource object `obj` obtained by @@ -3638,8 +3920,11 @@ Available since OTP R13B04 ## enif_snprintf() ```c -int enif_snprintf(char *str, size_t size, const - char *format, ...); +int enif_snprintf( + char *str, + size_t size, + const char *format, + ...); ``` Similar to `snprintf` but this format string also accepts `"%T"`, which formats @@ -3654,8 +3939,9 @@ Available since OTP 19.0 ## enif_system_info() ```c -void enif_system_info(ErlNifSysInfo - *sys_info_ptr, size_t size); +void enif_system_info( + ErlNifSysInfo *sys_info_ptr, + size_t size); ``` Same as [`driver_system_info`](erl_driver.md#driver_system_info). @@ -3665,8 +3951,10 @@ Available since OTP R13B04 ## enif_term_to_binary() ```c -int enif_term_to_binary(ErlNifEnv *env, - ERL_NIF_TERM term, ErlNifBinary *bin); +int enif_term_to_binary( + ErlNifEnv *env, + ERL_NIF_TERM term, + ErlNifBinary *bin); ``` Allocates a new binary with [`enif_alloc_binary`](erl_nif.md#enif_alloc_binary) @@ -3683,7 +3971,9 @@ Available since OTP 19.0 ## enif_term_type() ```c -ErlNifTermType enif_term_type(ErlNifEnv *env, ERL_NIF_TERM term); +ErlNifTermType enif_term_type( + ErlNifEnv *env, + ERL_NIF_TERM term); ``` Determines the type of the given term. The term must be an ordinary Erlang term @@ -3723,9 +4013,12 @@ Available since OTP 22.0 ## enif_thread_create() ```c -int enif_thread_create(char *name,ErlNifTid - *tid,void * (*func)(void *),void *args,ErlNifThreadOpts - *opts); +int enif_thread_create( + char *name, + ErlNifTid *tid, + void * (*func)(void *), + void *args, + ErlNifThreadOpts *opts); ``` Same as [`erl_drv_thread_create`](erl_driver.md#erl_drv_thread_create). @@ -3735,7 +4028,8 @@ Available since OTP R13B04 ## enif_thread_exit() ```c -void enif_thread_exit(void *resp); +void enif_thread_exit( + void *resp); ``` Same as [`erl_drv_thread_exit`](erl_driver.md#erl_drv_thread_exit). @@ -3745,7 +4039,9 @@ Available since OTP R13B04 ## enif_thread_join() ```c -int enif_thread_join(ErlNifTid, void **respp); +int enif_thread_join( + ErlNifTid tid, + void **respp); ``` Same as [`erl_drv_thread_join`](erl_driver.md#erl_drv_thread_join). @@ -3755,7 +4051,8 @@ Available since OTP R13B04 ## enif_thread_name() ```c -char* enif_thread_name(ErlNifTid tid); +char* enif_thread_name( + ErlNifTid tid); ``` Same as [`erl_drv_thread_name`](erl_driver.md#erl_drv_thread_name). @@ -3765,7 +4062,8 @@ Available since OTP 21.0 ## enif_thread_opts_create() ```c -ErlNifThreadOpts * enif_thread_opts_create(char *name); +ErlNifThreadOpts * enif_thread_opts_create( + char *name); ``` Same as @@ -3776,7 +4074,8 @@ Available since OTP R13B04 ## enif_thread_opts_destroy() ```c -void enif_thread_opts_destroy(ErlNifThreadOpts *opts); +void enif_thread_opts_destroy( + ErlNifThreadOpts *opts); ``` Same as @@ -3818,7 +4117,8 @@ Available since OTP 19.0 ## enif_time_offset() ```c -ErlNifTime enif_time_offset(ErlNifTimeUnit time_unit); +ErlNifTime enif_time_offset( + ErlNifTimeUnit time_unit); ``` Returns the current time offset between @@ -3839,7 +4139,8 @@ Available since OTP 18.3 ## enif_tsd_get() ```c -void * enif_tsd_get(ErlNifTSDKey key); +void * enif_tsd_get( + ErlNifTSDKey key); ``` Same as [`erl_drv_tsd_get`](erl_driver.md#erl_drv_tsd_get). @@ -3849,7 +4150,9 @@ Available since OTP R13B04 ## enif_tsd_key_create() ```c -int enif_tsd_key_create(char *name, ErlNifTSDKey *key); +int enif_tsd_key_create( + char *name, + ErlNifTSDKey *key); ``` Same as [`erl_drv_tsd_key_create`](erl_driver.md#erl_drv_tsd_key_create). @@ -3859,7 +4162,8 @@ Available since OTP R13B04 ## enif_tsd_key_destroy() ```c -void enif_tsd_key_destroy(ErlNifTSDKey key); +void enif_tsd_key_destroy( + ErlNifTSDKey key); ``` Same as [`erl_drv_tsd_key_destroy`](erl_driver.md#erl_drv_tsd_key_destroy). @@ -3869,7 +4173,9 @@ Available since OTP R13B04 ## enif_tsd_set() ```c -void enif_tsd_set(ErlNifTSDKey key, void *data); +void enif_tsd_set( + ErlNifTSDKey key, + void *data); ``` Same as [`erl_drv_tsd_set`](erl_driver.md#erl_drv_tsd_set). @@ -3879,7 +4185,10 @@ Available since OTP R13B04 ## enif_vfprintf() ```c -int enif_vfprintf(FILE *stream, const char *format, va_list ap); +int enif_vfprintf( + FILE *stream, + const char *format, + va_list ap); ``` Equivalent to [`enif_fprintf`](erl_nif.md#enif_fprintf) except that its called @@ -3890,7 +4199,11 @@ Available since OTP 21.0 ## enif_vsnprintf() ```c -int enif_vsnprintf(char *str, size_t size, const char *format, va_list ap); +int enif_vsnprintf( + char *str, + size_t size, + const char *format, + va_list ap); ``` Equivalent to [`enif_snprintf`](erl_nif.md#enif_snprintf) except that its called @@ -3901,8 +4214,10 @@ Available since OTP 21.0 ## enif_whereis_pid() ```c -int enif_whereis_pid(ErlNifEnv *caller_env, - ERL_NIF_TERM name, ErlNifPid *pid); +int enif_whereis_pid( + ErlNifEnv *caller_env, + ERL_NIF_TERM name, + ErlNifPid *pid); ``` Looks up a process by its registered name. @@ -3929,8 +4244,10 @@ Available since OTP 20.0 ## enif_whereis_port() ```c -int enif_whereis_port(ErlNifEnv *caller_env, - ERL_NIF_TERM name, ErlNifPort *port); +int enif_whereis_port( + ErlNifEnv *caller_env, + ERL_NIF_TERM name, + ErlNifPort *port); ``` Looks up a port by its registered name. @@ -3957,6 +4274,6 @@ Available since OTP 20.0 ## See Also -`erlang:load_nif/2` -[NIFs (tutorial)](`e:system:nif.md`) +`erlang:load_nif/2` +[NIFs (tutorial)](`e:system:nif.md`) [Debugging NIFs and Port Drivers](`e:system:debugging.md`) diff --git a/erts/emulator/Makefile.in b/erts/emulator/Makefile.in index 788784d04b93..86e3f0f6509d 100644 --- a/erts/emulator/Makefile.in +++ b/erts/emulator/Makefile.in @@ -80,9 +80,11 @@ OPCODE_TABLES += \ beam/emu/trace_instrs.tab endif - -DEBUG_CFLAGS = @DEBUG_CFLAGS@ +## These are here for ease of debugging purposes, they are not used anywher CONFIGURE_CFLAGS = @CFLAGS@ +CONFIGURE_CXXFLAGS = @CXXFLAGS@ +DEBUG_CFLAGS = @DEBUG_CFLAGS@ +DEBUG_CXXFLAGS = @DEBUG_CXXFLAGS@ # # Run this make file with TYPE set to the type of emulator you want. @@ -124,7 +126,8 @@ DIRTY_SCHEDULER_TEST=@DIRTY_SCHEDULER_TEST@ ifeq ($(TYPE),debug) TYPEMARKER = .debug -TYPE_FLAGS = $(DEBUG_CFLAGS) -DDEBUG +TYPE_FLAGS = @DEBUG_CFLAGS@ -DDEBUG +TYPE_CXXFLAGS = @DEBUG_CXXFLAGS@ ENABLE_ALLOC_TYPE_VARS += debug ifeq ($(TARGET),win32) TYPE_FLAGS += -DNO_JUMP_TABLE @@ -134,7 +137,8 @@ else ifeq ($(TYPE),gcov) TYPEMARKER = .gcov -TYPE_FLAGS = $(DEBUG_CFLAGS) -DERTS_GCOV -DNO_JUMP_TABLE -fprofile-arcs -ftest-coverage -O0 -DERTS_CAN_INLINE=0 -DERTS_INLINE= +TYPE_FLAGS = @DEBUG_CFLAGS@ -DERTS_GCOV -DNO_JUMP_TABLE -fprofile-arcs -ftest-coverage -O0 -DERTS_CAN_INLINE=0 -DERTS_INLINE= +TYPE_CXXFLAGS = @DEBUG_CXXFLAGS@ ifneq ($(findstring solaris,$(TARGET)),solaris) TYPE_LIBS = -lgcov endif @@ -143,14 +147,16 @@ else ifeq ($(TYPE),valgrind) TYPEMARKER = .valgrind -TYPE_FLAGS = $(DEBUG_CFLAGS) -DVALGRIND -DNO_JUMP_TABLE +TYPE_FLAGS = @DEBUG_CFLAGS@ -DVALGRIND -DNO_JUMP_TABLE +TYPE_CXXFLAGS = @DEBUG_CXXFLAGS@ ENABLE_ALLOC_TYPE_VARS += valgrind else ifeq ($(TYPE),asan) PURIFY = TYPEMARKER = .asan -TYPE_FLAGS = $(DEBUG_CFLAGS) -fsanitize=address -fsanitize-recover=address -fno-omit-frame-pointer -DADDRESS_SANITIZER +TYPE_FLAGS = @DEBUG_CFLAGS@ -fsanitize=address -fsanitize-recover=address -fno-omit-frame-pointer -DADDRESS_SANITIZER +TYPE_CXXFLAGS = @DEBUG_CXXFLAGS@ LDFLAGS += -fsanitize=address ENABLE_ALLOC_TYPE_VARS += asan else @@ -158,6 +164,7 @@ else ifeq ($(TYPE),gprof) TYPEMARKER = .gprof TYPE_FLAGS = @CFLAGS@ -DGPROF -pg -DERTS_CAN_INLINE=0 -DERTS_INLINE= +TYPE_CXXFLAGS = @CXXFLAGS@ LDFLAGS += -pg ENABLE_ALLOC_TYPE_VARS += gprof NO_INLINE_FUNCTIONS=true @@ -167,23 +174,27 @@ ifeq ($(TYPE),lcnt) TYPEMARKER = .lcnt TYPE_FLAGS = @CFLAGS@ -DERTS_ENABLE_LOCK_COUNT ENABLE_ALLOC_TYPE_VARS += lcnt +TYPE_CXXFLAGS = @CXXFLAGS@ else ifeq ($(TYPE),frmptr) OMIT_OMIT_FP=yes TYPEMARKER = .frmptr TYPE_FLAGS = @CFLAGS@ -DERTS_FRMPTR +TYPE_CXXFLAGS = @CXXFLAGS@ else ifeq ($(TYPE),icount) TYPEMARKER = .icount TYPE_FLAGS = @CFLAGS@ -DERTS_OPCODE_COUNTER_SUPPORT +TYPE_CXXFLAGS = @CXXFLAGS@ else # If type isn't one of the above, it *is* opt type... override TYPE=opt TYPEMARKER = TYPE_FLAGS = @CFLAGS@ +TYPE_CXXFLAGS = @CXXFLAGS@ endif endif endif @@ -276,7 +287,7 @@ ifeq ($(FLAVOR),jit) CFLAGS += -DBEAMASM=1 ENABLE_ALLOC_TYPE_VARS += beamasm endif -CXXFLAGS = $(filter-out -Werror=implicit -Wstrict-prototypes -Wmissing-prototypes -Wdeclaration-after-statement,$(CFLAGS)) @CXXFLAGS@ +CXXFLAGS = $(filter-out -Werror=implicit -Wstrict-prototypes -Wmissing-prototypes -Wdeclaration-after-statement,$(CFLAGS)) $(TYPE_CXXFLAGS) HCC = @HCC@ LD = @LD@ DEXPORT = @DEXPORT@ @@ -634,7 +645,7 @@ $(TTF_DIR)/erl_alloc_types.h: beam/erl_alloc.types utils/make_alloc_types GENERATE += $(TTF_DIR)/erl_alloc_types.h # version include file -$(TARGET)/erl_version.h: ../vsn.mk $(ERL_TOP)/make/$(TARGET)/otp.mk +$(TARGET)/erl_version.h: ../vsn.mk $(ERL_TOP)/make/$(TARGET)/otp.mk utils/make_version $(gen_verbose)LANG=C $(PERL) utils/make_version -o $@ $(SYSTEM_VSN) $(OTP_VERSION) $(VSN)$(SERIALNO) $(TARGET) GENERATE += $(TARGET)/erl_version.h @@ -765,13 +776,13 @@ ifeq ($(TARGET),win32) # On windows the preloaded objects are in a resource object. PRELOAD_OBJ = $(OBJDIR)/beams.$(RES_EXT) PRELOAD_SRC = $(TTF_DIR)/beams.rc -$(PRELOAD_SRC): $(PRELOAD_BEAM) - $(gen_verbose)LANG=C $(PERL) utils/make_preload $(MAKE_PRELOAD_EXTRA) -rc $^ > $@ +$(PRELOAD_SRC): $(PRELOAD_BEAM) utils/make_preload + $(gen_verbose)LANG=C $(PERL) utils/make_preload $(MAKE_PRELOAD_EXTRA) -rc $(PRELOAD_BEAM) > $@ else PRELOAD_OBJ = $(OBJDIR)/preload.o PRELOAD_SRC = $(TTF_DIR)/preload.c -$(PRELOAD_SRC): $(PRELOAD_BEAM) - $(gen_verbose)LANG=C $(PERL) utils/make_preload -old $^ > $@ +$(PRELOAD_SRC): $(PRELOAD_BEAM) utils/make_preload + $(gen_verbose)LANG=C $(PERL) utils/make_preload -old $(PRELOAD_BEAM) > $@ endif .PHONY : generate diff --git a/erts/emulator/beam/beam_common.c b/erts/emulator/beam/beam_common.c index a4e4e42eb1d1..4d3af9e944fc 100644 --- a/erts/emulator/beam/beam_common.c +++ b/erts/emulator/beam/beam_common.c @@ -35,6 +35,9 @@ #include "beam_catches.h" #include "beam_common.h" #include "erl_global_literals.h" +#ifdef VALGRIND +# include +#endif #ifdef USE_VM_PROBES #include "dtrace-wrapper.h" @@ -770,12 +773,13 @@ expand_error_value(Process* c_p, Uint freason, Eterm Value) { static void -gather_stacktrace(Process* p, struct StackTrace* s, int depth) +gather_stacktrace(Process* p, struct StackTrace* s) { ErtsCodePtr prev; Eterm *ptr; - if (depth == 0) { + if (s->depth >= s->max_depth) { + ASSERT(s->depth == s->max_depth); return; } @@ -791,7 +795,7 @@ gather_stacktrace(Process* p, struct StackTrace* s, int depth) ASSERT(ptr >= STACK_TOP(p) && ptr <= STACK_START(p)); - while (ptr < STACK_START(p) && depth > 0) { + while (ptr < STACK_START(p) && s->depth < s->max_depth) { if (is_CP(*ptr)) { ErtsCodePtr return_address; @@ -822,7 +826,6 @@ gather_stacktrace(Process* p, struct StackTrace* s, int depth) #endif s->trace[s->depth++] = adjusted_address; - depth--; } ptr += CP_SIZE; @@ -872,22 +875,19 @@ save_stacktrace(Process* c_p, ErtsCodePtr pc, Eterm* reg, const ErtsCodeMFA *bif_mfa, Eterm args) { struct StackTrace* s; int sz; - int depth = erts_backtrace_depth; /* max depth (never negative) */ + /* Max depth (never negative), -1 as there is always a current function. */ + const int max_depth = MAX(erts_backtrace_depth - 1, 0); Eterm error_info = THE_NON_VALUE; - if (depth > 0) { - /* There will always be a current function */ - depth --; - } - - /* Create a container for the exception data */ - sz = (offsetof(struct StackTrace, trace) + sizeof(ErtsCodePtr) * depth + /* Create a bignum container for the stack trace */ + sz = (offsetof(struct StackTrace, trace) + sizeof(ErtsCodePtr) * max_depth + sizeof(Eterm) - 1) / sizeof(Eterm); - s = (struct StackTrace *) HAlloc(c_p, 1 + sz); + s = (struct StackTrace *) HAlloc(c_p, sz); /* The following fields are inside the bignum */ - s->header = make_pos_bignum_header(sz); + s->header = make_pos_bignum_header(sz - 1); s->freason = c_p->freason; s->depth = 0; + s->max_depth = max_depth; /* * If the failure was in a BIF other than 'error/1', 'error/2', @@ -919,9 +919,8 @@ save_stacktrace(Process* c_p, ErtsCodePtr pc, Eterm* reg, s->current = bif_mfa; /* Save first stack entry */ ASSERT(pc); - if (depth > 0) { + if (s->depth < max_depth) { s->trace[s->depth++] = pc; - depth--; } s->pc = NULL; @@ -1047,13 +1046,24 @@ save_stacktrace(Process* c_p, ErtsCodePtr pc, Eterm* reg, } /* Save the actual stack trace */ - gather_stacktrace(c_p, s, depth); + gather_stacktrace(c_p, s); + +#ifdef VALGRIND + /* Make sure entire bignum is defined in case it shows up in a crash dump */ + { + const int words_left = s->max_depth - s->depth; + if (words_left) { + VALGRIND_MAKE_MEM_DEFINED(&s->trace[s->depth], + words_left * sizeof(ErtsCodePtr)); + } + } +#endif } void -erts_save_stacktrace(Process* p, struct StackTrace* s, int depth) +erts_save_stacktrace(Process* p, struct StackTrace* s) { - gather_stacktrace(p, s, depth); + gather_stacktrace(p, s); } /* diff --git a/erts/emulator/beam/bif.c b/erts/emulator/beam/bif.c index 9d6fd75807d3..0086c33eb3b1 100644 --- a/erts/emulator/beam/bif.c +++ b/erts/emulator/beam/bif.c @@ -1440,6 +1440,7 @@ BIF_RETTYPE raise_3(BIF_ALIST_3) s->pc = NULL; s->current = NULL; s->depth = 0; + s->max_depth = 0; hp += sz; if (must_copy) { int cnt; @@ -3953,8 +3954,10 @@ BIF_RETTYPE display_string_2(BIF_ALIST_2) if (ERTS_IS_ATOM_STR("stdin", BIF_ARG_1)) { for (int i = 0; i < len; i++) { if (ioctl(fd, TIOCSTI, str+i) < 0) { - fprintf(stderr,"failed to write to %s (%s)\r\n", "/proc/self/fd/0", - strerror(errno)); + fprintf(stderr,"failed to write to %s (%s)\r\n" + "to solve this you may need to enable legacy tiocsti\r\n" + " sudo sysctl -w dev.tty.legacy_tiocsti=1\r\n", + "/proc/self/fd/0", strerror(errno)); close(fd); goto error; } @@ -5656,15 +5659,14 @@ BIF_RETTYPE dt_prepend_vm_tag_data_1(BIF_ALIST_1) #ifdef USE_VM_PROBES Eterm b; Eterm *hp; - if (is_bitstring((DT_UTAG(BIF_P)))) { - byte *temp_alloc = NULL; - const byte *p; + const byte *temp_alloc = NULL; + const byte *p; + Uint size; + if (p = erts_get_aligned_binary_bytes(DT_UTAG(BIF_P), + &size, + &temp_alloc)) { byte *q; - Uint size; Uint i; - p = erts_get_aligned_binary_bytes(DT_UTAG(BIF_P), - &size, - &temp_alloc); b = erts_new_binary(BIF_P, (size + 1), &q); for(i = 0; i < size; i++) { q[i] = p[i]; @@ -5685,11 +5687,13 @@ BIF_RETTYPE dt_append_vm_tag_data_1(BIF_ALIST_1) #ifdef USE_VM_PROBES Eterm b; Eterm *hp; - if (is_bitstring((DT_UTAG(BIF_P)))) { - byte *temp_alloc = NULL; - const byte *p; + const byte *temp_alloc = NULL; + const byte *p; + Uint size; + if (p = erts_get_aligned_binary_bytes(DT_UTAG(BIF_P), + &size, + &temp_alloc)) { byte *q; - Uint size; Uint i; p = erts_get_aligned_binary_bytes(DT_UTAG(BIF_P), &size, diff --git a/erts/emulator/beam/dist.c b/erts/emulator/beam/dist.c index 59281208a60e..6f2bd972b09f 100644 --- a/erts/emulator/beam/dist.c +++ b/erts/emulator/beam/dist.c @@ -2172,10 +2172,10 @@ int erts_net_message(Port *prt, goto decode_error; } - /* Fill the unused part of the hfrag with a bignum header */ + /* Fill the unused part of the hfrag */ if (ede_hfrag && ede_hfrag->mem + ede_hfrag->used_size > factory.hp) { Uint slot = factory.hp - ede_hfrag->mem; - ede_hfrag->mem[slot] = make_pos_bignum_header(ede_hfrag->used_size - slot - 1); + erts_write_heap_filler(&ede_hfrag->mem[slot], ede_hfrag->used_size - slot); } if (is_not_tuple(arg) || diff --git a/erts/emulator/beam/erl_bif_info.c b/erts/emulator/beam/erl_bif_info.c index 6395bbefbdd2..c2bd395ad3a7 100644 --- a/erts/emulator/beam/erl_bif_info.c +++ b/erts/emulator/beam/erl_bif_info.c @@ -2368,7 +2368,6 @@ erts_build_stacktrace(ErtsHeapFactory* hfact, Process* rp, { Uint sz; struct StackTrace* s; - int depth; FunctionInfo* stk; FunctionInfo* stkp; Uint heap_size; @@ -2377,23 +2376,21 @@ erts_build_stacktrace(ErtsHeapFactory* hfact, Process* rp, Eterm mfa; Eterm res = NIL; - depth = max_depth; - sz = offsetof(struct StackTrace, trace) + sizeof(ErtsCodePtr) * depth; + sz = offsetof(struct StackTrace, trace) + sizeof(ErtsCodePtr) * max_depth; s = (struct StackTrace *) erts_alloc(ERTS_ALC_T_TMP, sz); s->depth = 0; + s->max_depth = max_depth; s->pc = NULL; - if (include_i && depth > 0 && rp->i) { + if (include_i && max_depth > 0 && rp->i) { s->trace[s->depth++] = rp->i; - depth--; } - erts_save_stacktrace(rp, s, depth); + erts_save_stacktrace(rp, s); - depth = s->depth; stk = stkp = (FunctionInfo *) erts_alloc(ERTS_ALC_T_TMP, - depth*sizeof(FunctionInfo)); + s->depth * sizeof(FunctionInfo)); heap_size = 3; - for (i = 0; i < depth; i++) { + for (i = 0; i < s->depth; i++) { erts_lookup_function_info(stkp, s->trace[i], 1); if (stkp->mfa) { heap_size += stkp->needed + 2; @@ -5135,7 +5132,7 @@ BIF_RETTYPE erts_debug_set_internal_state_2(BIF_ALIST_2) UWord left = HeapWordsLeft(BIF_P); if (left > 1) { Eterm* hp = HAlloc(BIF_P, left); - *hp = make_pos_bignum_header(left - 1); + erts_write_heap_filler(hp, left); } if (BIF_ARG_2 == am_true) { FLAGS(BIF_P) |= F_NEED_FULLSWEEP; diff --git a/erts/emulator/beam/erl_db_util.c b/erts/emulator/beam/erl_db_util.c index 1c0fc44e22f6..cf5e96f22105 100644 --- a/erts/emulator/beam/erl_db_util.c +++ b/erts/emulator/beam/erl_db_util.c @@ -2901,28 +2901,29 @@ Eterm db_prog_match(Process *c_p, Eterm mfa; Eterm res; struct StackTrace *s; - int depth; + int max_depth; FunctionInfo* stk; FunctionInfo* stkp; ASSERT(c_p == self); - depth = unsigned_val(esp[-1]); + max_depth = unsigned_val(esp[-1]); + ASSERT(max_depth >= 0 && max_depth <= MAX_BACKTRACE_SIZE); esp--; - sz = offsetof(struct StackTrace, trace) + sizeof(ErtsCodePtr) * depth; + sz = offsetof(struct StackTrace, trace) + sizeof(ErtsCodePtr) * max_depth; s = (struct StackTrace *) erts_alloc(ERTS_ALC_T_TMP, sz); s->depth = 0; + s->max_depth = max_depth; s->pc = NULL; - erts_save_stacktrace(c_p, s, depth); + erts_save_stacktrace(c_p, s); - depth = s->depth; stk = stkp = (FunctionInfo *) erts_alloc(ERTS_ALC_T_TMP, - depth*sizeof(FunctionInfo)); + s->depth * sizeof(FunctionInfo)); heap_size = 0; - for (i = 0; i < depth; i++) { + for (i = 0; i < s->depth; i++) { erts_lookup_function_info(stkp, s->trace[i], 1); if (stkp->mfa) { heap_size += stkp->needed + 2; diff --git a/erts/emulator/beam/erl_drv_nif.h b/erts/emulator/beam/erl_drv_nif.h index 735ffa380caf..34fc656706bf 100644 --- a/erts/emulator/beam/erl_drv_nif.h +++ b/erts/emulator/beam/erl_drv_nif.h @@ -182,7 +182,7 @@ typedef struct { * D: Has 1-to-1 Deallocator function with ptr argument. ((malloc(DTOR,PTRPOS))) */ -#ifdef __has_attribute +#if defined(__has_attribute) && !defined(__WIN32__) # if __has_attribute(warn_unused_result) # undef ERL_NAPI_ATTR_WUR # define ERL_NAPI_ATTR_WUR __attribute__((warn_unused_result)) diff --git a/erts/emulator/beam/erl_gc.c b/erts/emulator/beam/erl_gc.c index 49d75171b23f..910b4dd8a524 100644 --- a/erts/emulator/beam/erl_gc.c +++ b/erts/emulator/beam/erl_gc.c @@ -567,7 +567,7 @@ delay_garbage_collection(Process *p, int need, int fcalls) else { /* Do not leave a hole in the abandoned heap... */ if (orig_htop < orig_hend) { - *orig_htop = make_pos_bignum_header(orig_hend-orig_htop-1); + erts_write_heap_filler(orig_htop, orig_hend-orig_htop); if (orig_htop + 1 < orig_hend) { orig_hend[-1] = (Uint) (orig_htop - orig_heap); p->flags |= F_ABANDONED_HEAP_USE; diff --git a/erts/emulator/beam/erl_map.c b/erts/emulator/beam/erl_map.c index 13a3af61dace..bdbd10d22234 100644 --- a/erts/emulator/beam/erl_map.c +++ b/erts/emulator/beam/erl_map.c @@ -457,11 +457,11 @@ static Eterm flatmap_from_validated_list(Process *p, Eterm list, Eterm fill_valu if (unused_size) { /* the key tuple is embedded in the heap - * write a bignum to clear it. + * write a heap filler to clear it. */ /* release values as normal since they are on the top of the heap */ - ks[size] = make_pos_bignum_header(unused_size - 1); + erts_write_heap_filler(ks + size, unused_size); HRelease(p, vs + size + unused_size, vs + size); } @@ -1384,8 +1384,8 @@ static Eterm flatmap_merge(Process *p, Eterm map1, Eterm map2) { hp_release = thp - unused_size; } else { - /* Unused values are embedded in the heap, write bignum to clear them */ - *vs = make_pos_bignum_header(unused_size - 1); + /* Unused values are embedded in the heap, write filler to clear them */ + erts_write_heap_filler(vs, unused_size); /* Release unused keys */ hp_release = ks; } @@ -2220,7 +2220,7 @@ Eterm erts_maps_put(Process *p, Eterm key, Eterm value, Eterm map) { * this will work out fine once we get the size word * in the header. */ - *shp = make_pos_bignum_header(0); + erts_write_heap_filler(shp, 1); return res; found_key: diff --git a/erts/emulator/beam/erl_nif.c b/erts/emulator/beam/erl_nif.c index d9c61182a36e..c6d00f312d81 100644 --- a/erts/emulator/beam/erl_nif.c +++ b/erts/emulator/beam/erl_nif.c @@ -5046,8 +5046,10 @@ static void patch_call_nif_early(ErlNifEntry* entry, * Function traced, patch the original instruction word * Code write permission protects against racing breakpoint writes. */ - GenericBp* g = ci_rw->gen_bp; - g->orig_instr = BeamSetCodeAddr(g->orig_instr, call_nif_early); + for (GenericBp* g = ci_rw->gen_bp; g; g = g->next) { + ASSERT(!g->to_insert); + g->orig_instr = BeamSetCodeAddr(g->orig_instr, call_nif_early); + } if (BeamIsOpCode(code_ptr[0], op_i_generic_breakpoint)) continue; } else { @@ -5190,10 +5192,11 @@ static void load_nif_2nd_finisher(void* vlib) /* * Function traced, patch the original instruction word */ - GenericBp* g = ci_rw->gen_bp; - ASSERT(BeamIsOpCode(g->orig_instr, op_call_nif_early)); - g->orig_instr = BeamOpCodeAddr(op_call_nif_WWW); - + for (GenericBp* g = ci_rw->gen_bp; g; g = g->next) { + ASSERT(BeamIsOpCode(g->orig_instr, op_call_nif_early)); + ASSERT(!g->to_insert); + g->orig_instr = BeamOpCodeAddr(op_call_nif_WWW); + } if (BeamIsOpCode(code_ptr[0], op_i_generic_breakpoint)) { continue; } diff --git a/erts/emulator/beam/erl_nif.h b/erts/emulator/beam/erl_nif.h index 4dc5958cc9d6..6f626e513f81 100644 --- a/erts/emulator/beam/erl_nif.h +++ b/erts/emulator/beam/erl_nif.h @@ -89,6 +89,7 @@ #include #include #include +#include #ifdef __cplusplus extern "C" { diff --git a/erts/emulator/beam/erl_proc_sig_queue.c b/erts/emulator/beam/erl_proc_sig_queue.c index 605a2bc72b23..ea0fa38848bd 100644 --- a/erts/emulator/beam/erl_proc_sig_queue.c +++ b/erts/emulator/beam/erl_proc_sig_queue.c @@ -1575,7 +1575,7 @@ send_gen_exit_signal(ErtsPTabElementCommon *sender, Eterm from_tag, ErtsMessage *mp; ErlHeapFragment *hfrag; ErlOffHeap *ohp; - Uint hsz, from_sz, reason_sz, ref_sz, token_sz, dist_ext_sz = 0; + Uint hsz = 0, from_sz, reason_sz, ref_sz, token_sz, dist_ext_sz = 0; int seq_trace, has_token; Process *c_p; #ifdef USE_VM_PROBES @@ -1610,12 +1610,12 @@ send_gen_exit_signal(ErtsPTabElementCommon *sender, Eterm from_tag, has_token = !is_nil(token); if (has_token) { - hsz = sizeof(ErtsSeqTokenExitSignalData)/sizeof(Eterm); + hsz += sizeof(ErtsSeqTokenExitSignalData)/sizeof(Eterm); token_sz = size_object(token); hsz += token_sz; } else { - hsz = sizeof(ErtsExitSignalData)/sizeof(Eterm); + hsz += sizeof(ErtsExitSignalData)/sizeof(Eterm); token_sz = 0; } diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c index a618dead7d1e..230e4437cfd6 100644 --- a/erts/emulator/beam/erl_process.c +++ b/erts/emulator/beam/erl_process.c @@ -13692,7 +13692,9 @@ erts_proc_exit_handle_monitor(ErtsMonitor *mon, void *vctxt, Sint reds) break; } case ERTS_MON_TYPE_RESOURCE: + erts_proc_unlock(c_p, ERTS_PROC_LOCK_MAIN); erts_fire_nif_monitor(mon); + erts_proc_lock(c_p, ERTS_PROC_LOCK_MAIN); mon = NULL; break; case ERTS_MON_TYPE_DIST_PORT: diff --git a/erts/emulator/beam/erl_term.h b/erts/emulator/beam/erl_term.h index 1d9ef1607b76..036dd84979d6 100644 --- a/erts/emulator/beam/erl_term.h +++ b/erts/emulator/beam/erl_term.h @@ -1463,8 +1463,16 @@ do { \ #define ET_ASSERT(expr,file,line) do { } while(0) #endif +ERTS_GLB_INLINE void erts_write_heap_filler(Eterm *hp, size_t sz); + #if ERTS_GLB_INLINE_INCL_FUNC_DEF +ERTS_GLB_INLINE void erts_write_heap_filler(Eterm *hp, size_t sz) +{ + ASSERT(sz > 0); + *hp = make_pos_bignum_header(sz - 1); +} + #if ET_DEBUG ERTS_GLB_INLINE unsigned tag_val_def(Eterm x, const char *file, unsigned line) #else diff --git a/erts/emulator/beam/error.h b/erts/emulator/beam/error.h index e307f3ed6dbe..14c650811dbe 100644 --- a/erts/emulator/beam/error.h +++ b/erts/emulator/beam/error.h @@ -218,7 +218,8 @@ struct StackTrace { Eterm freason; /* original exception reason is saved in the struct */ ErtsCodePtr pc; const ErtsCodeMFA* current; - int depth; /* number of saved pointers in trace[] */ + int depth; /* number of saved pointers in trace[] */ + int max_depth; /* capacity of trace[] */ ErtsCodePtr trace[1]; /* varying size - must be last in struct */ }; diff --git a/erts/emulator/beam/global.h b/erts/emulator/beam/global.h index 218aea136a57..c172ac0df50a 100644 --- a/erts/emulator/beam/global.h +++ b/erts/emulator/beam/global.h @@ -1215,7 +1215,7 @@ void erts_prepare_bs_construct_fail_info(Process* c_p, const BeamInstr* p, Eterm void erts_dirty_process_main(ErtsSchedulerData *); Eterm build_stacktrace(Process* c_p, Eterm exc); Eterm expand_error_value(Process* c_p, Uint freason, Eterm Value); -void erts_save_stacktrace(Process* p, struct StackTrace* s, int depth); +void erts_save_stacktrace(Process* p, struct StackTrace* s); ErtsCodePtr erts_printable_return_address(Process* p, Eterm *E) ERTS_NOINLINE; /* erl_init.c */ diff --git a/erts/emulator/beam/jit/arm/beam_asm.hpp b/erts/emulator/beam/jit/arm/beam_asm.hpp index 27e3affdac9e..26415a2ae6da 100644 --- a/erts/emulator/beam/jit/arm/beam_asm.hpp +++ b/erts/emulator/beam/jit/arm/beam_asm.hpp @@ -1401,6 +1401,10 @@ class BeamModuleAssembler : public BeamAssembler, * the current code position is unreachable. */ void flush_pending_labels(); + /* Move past the `last_error_offset` if necessary for the next instruction + * to be properly aligned (e.g. for line mappings). */ + void flush_last_error(); + /* Calls the given shared fragment, ensuring that the redzone is unused and * that the return address forms a valid CP. */ template diff --git a/erts/emulator/beam/jit/arm/beam_asm_module.cpp b/erts/emulator/beam/jit/arm/beam_asm_module.cpp index caec6c0eb890..f940783460a1 100644 --- a/erts/emulator/beam/jit/arm/beam_asm_module.cpp +++ b/erts/emulator/beam/jit/arm/beam_asm_module.cpp @@ -376,6 +376,11 @@ void BeamModuleAssembler::emit_aligned_label(const ArgLabel &Label, emit_label(Label); } +void BeamModuleAssembler::emit_i_func_label(const ArgLabel &Label) { + flush_last_error(); + emit_aligned_label(Label, ArgVal(ArgVal::Word, sizeof(UWord))); +} + void BeamModuleAssembler::emit_on_load() { on_load = current_label; } @@ -430,22 +435,12 @@ void BeamModuleAssembler::emit_int_code_end() { void BeamModuleAssembler::emit_line(const ArgWord &Loc) { /* There is no need to align the line instruction. In the loaded code, the * type of the pointer will be void* and that pointer will only be used in - * comparisons. - * - * We only need to do something when there's a possibility of raising an - * exception at the very end of the preceding instruction (and thus - * pointing at the start of this one). If we were to do nothing, the error - * would erroneously refer to this instead of the preceding line. - * - * Since line addresses are taken _after_ line instructions we can avoid - * this by adding a nop when we detect this condition. */ - if (a.offset() == last_error_offset) { - a.nop(); - } + * comparisons. */ + + flush_last_error(); } void BeamModuleAssembler::emit_func_line(const ArgWord &Loc) { - emit_line(Loc); } void BeamModuleAssembler::emit_empty_func_line() { @@ -823,3 +818,16 @@ void BeamModuleAssembler::emit_constant(const Constant &constant) { } } } + +void BeamModuleAssembler::flush_last_error() { + /* When there's a possibility of raising an exception at the very end of the + * preceding instruction (and thus pointing at the start of this one) and + * this instruction has a new line registered, the error would erroneously + * refer to this instead of the preceding line. + * + * By adding a nop when we detect this condition, the error will correctly + * refer to the preceding line. */ + if (a.offset() == last_error_offset) { + a.nop(); + } +} diff --git a/erts/emulator/beam/jit/arm/instr_bs.cpp b/erts/emulator/beam/jit/arm/instr_bs.cpp index 0bdaad1744ce..a1814fc94c14 100644 --- a/erts/emulator/beam/jit/arm/instr_bs.cpp +++ b/erts/emulator/beam/jit/arm/instr_bs.cpp @@ -2598,6 +2598,8 @@ void BeamModuleAssembler::emit_i_bs_create_bin(const ArgLabel &Fail, break; } } + + check_pending_stubs(); } /* Allocate the binary. */ @@ -3243,6 +3245,8 @@ void BeamModuleAssembler::emit_i_bs_create_bin(const ArgLabel &Fail, } else if (std::gcd(seg.unit, 8) != 8) { is_byte_aligned = false; } + + check_pending_stubs(); } comment("done"); diff --git a/erts/emulator/beam/jit/arm/ops.tab b/erts/emulator/beam/jit/arm/ops.tab index 73266ec4a0a0..3b0333a83db1 100644 --- a/erts/emulator/beam/jit/arm/ops.tab +++ b/erts/emulator/beam/jit/arm/ops.tab @@ -42,12 +42,15 @@ label L # An label aligned to a certain boundary. This is used in two cases: # -# * When the label points to the start of a function, as the ErtsCodeInfo -# struct must be word-aligned. +# * When the label points to the start of a function. See `i_func_label`. # * When the address is stored on the stack or otherwise needs to be properly # tagged as a continuation pointer. aligned_label L t +# A label indicating the start of a function. The label is word-aligned as is +# required by the ErtsCodeInfo struct. +i_func_label L + i_func_info I a a I int_code_end nif_start @@ -903,8 +906,8 @@ int_func_start Func_Label Func_Line M F A | func_prologue Entry_Label Entry_Line | is_mfa_bif(M, F, A) => i_flush_stubs | + i_func_label Func_Label | func_line Func_Line | - aligned_label Func_Label u=8 | i_func_info Func_Label M F A | aligned_label Entry_Label u=4 | i_breakpoint_trampoline | @@ -914,8 +917,8 @@ int_func_start Func_Label Func_Line M F A | int_func_start Func_Label Func_Line M F A | func_prologue Entry_Label Entry_Line => i_flush_stubs | + i_func_label Func_Label | func_line Func_Line | - aligned_label Func_Label u=8 | i_func_info Func_Label M F A | aligned_label Entry_Label u=4 | i_breakpoint_trampoline | diff --git a/erts/emulator/beam/jit/asm_load.c b/erts/emulator/beam/jit/asm_load.c index dd337a5d34a3..91ce7285c24f 100644 --- a/erts/emulator/beam/jit/asm_load.c +++ b/erts/emulator/beam/jit/asm_load.c @@ -505,7 +505,8 @@ int beam_load_emit_op(LoaderState *stp, BeamOp *tmp_op) { break; case 'L': /* Define label */ ASSERT(stp->specific_op == op_label_L || - stp->specific_op == op_aligned_label_Lt); + stp->specific_op == op_aligned_label_Lt || + stp->specific_op == op_i_func_label_L); BeamLoadVerifyTag(stp, tag, TAG_u); stp->last_label = curr->val; if (stp->last_label < 0 || diff --git a/erts/emulator/beam/jit/beam_jit_metadata.cpp b/erts/emulator/beam/jit/beam_jit_metadata.cpp index d9fd53db7306..6af9726620bb 100644 --- a/erts/emulator/beam/jit/beam_jit_metadata.cpp +++ b/erts/emulator/beam/jit/beam_jit_metadata.cpp @@ -467,7 +467,12 @@ class JitPerfMap { public: bool init() { char name[MAXPATHLEN]; - snprintf(name, sizeof(name), "/tmp/perf-%i.map", getpid()); + size_t namesz = sizeof(name); + + if (erts_sys_explicit_host_getenv("ERL_SYM_MAP_FILE", name, &namesz) != + 1) { + snprintf(name, sizeof(name), "/tmp/perf-%i.map", getpid()); + } file = fopen(name, "w"); if (!file) { int saved_errno = errno; diff --git a/erts/emulator/beam/jit/x86/beam_asm.hpp b/erts/emulator/beam/jit/x86/beam_asm.hpp index 4a2c965b2196..105c9aa41a64 100644 --- a/erts/emulator/beam/jit/x86/beam_asm.hpp +++ b/erts/emulator/beam/jit/x86/beam_asm.hpp @@ -1424,6 +1424,10 @@ class BeamModuleAssembler : public BeamAssembler, * appropriate address before jumping there. */ const Label &resolve_fragment(void (*fragment)()); + /* Move past the `last_error_offset` if necessary for the next instruction + * to be properly aligned (e.g. for line mappings). */ + void flush_last_error(); + void safe_fragment_call(void (*fragment)()) { emit_assert_redzone_unused(); a.call(resolve_fragment(fragment)); diff --git a/erts/emulator/beam/jit/x86/beam_asm_module.cpp b/erts/emulator/beam/jit/x86/beam_asm_module.cpp index 5ad3672c185e..36b20842a0cb 100644 --- a/erts/emulator/beam/jit/x86/beam_asm_module.cpp +++ b/erts/emulator/beam/jit/x86/beam_asm_module.cpp @@ -342,6 +342,11 @@ void BeamModuleAssembler::emit_aligned_label(const ArgLabel &Label, emit_label(Label); } +void BeamModuleAssembler::emit_i_func_label(const ArgLabel &Label) { + flush_last_error(); + emit_aligned_label(Label, ArgVal(ArgVal::Word, sizeof(UWord))); +} + void BeamModuleAssembler::emit_on_load() { on_load = current_label; } @@ -362,22 +367,12 @@ void BeamModuleAssembler::emit_int_code_end() { void BeamModuleAssembler::emit_line(const ArgWord &Loc) { /* There is no need to align the line instruction. In the loaded code, the * type of the pointer will be void* and that pointer will only be used in - * comparisons. - * - * We only need to do something when there's a possibility of raising an - * exception at the very end of the preceding instruction (and thus - * pointing at the start of this one). If we were to do nothing, the error - * would erroneously refer to this instead of the preceding line. - * - * Since line addresses are taken _after_ line instructions we can avoid - * this by adding a nop when we detect this condition. */ - if (a.offset() == last_error_offset) { - a.nop(); - } + * comparisons. */ + + flush_last_error(); } void BeamModuleAssembler::emit_func_line(const ArgWord &Loc) { - emit_line(Loc); } void BeamModuleAssembler::emit_empty_func_line() { @@ -416,3 +411,16 @@ const Label &BeamModuleAssembler::resolve_fragment(void (*fragment)()) { return it->second; } + +void BeamModuleAssembler::flush_last_error() { + /* When there's a possibility of raising an exception at the very end of the + * preceding instruction (and thus pointing at the start of this one) and + * this instruction has a new line registered, the error would erroneously + * refer to this instead of the preceding line. + * + * By adding a nop when we detect this condition, the error will correctly + * refer to the preceding line. */ + if (a.offset() == last_error_offset) { + a.nop(); + } +} diff --git a/erts/emulator/beam/jit/x86/ops.tab b/erts/emulator/beam/jit/x86/ops.tab index f8a46e145334..5d1c3ff42c6b 100644 --- a/erts/emulator/beam/jit/x86/ops.tab +++ b/erts/emulator/beam/jit/x86/ops.tab @@ -42,12 +42,15 @@ label L # An label aligned to a certain boundary. This is used in two cases: # -# * When the label points to the start of a function, as the ErtsCodeInfo -# struct must be word-aligned. +# * When the label points to the start of a function. See `i_func_label`. # * When the address is stored on the stack or otherwise needs to be properly # tagged as a continuation pointer. aligned_label L t +# A label indicating the start of a function. The label is word-aligned as is +# required by the ErtsCodeInfo struct. +i_func_label L + i_func_info I a a I int_code_end nif_start @@ -827,8 +830,8 @@ int_func_start Func_Label Func_Line M F A | int_func_start Func_Label Func_Line M F A | func_prologue Entry_Label Entry_Line | is_mfa_bif(M, F, A) => + i_func_label Func_Label | func_line Func_Line | - aligned_label Func_Label u=8 | i_func_info Func_Label M F A | aligned_label Entry_Label u=4 | i_breakpoint_trampoline | @@ -837,8 +840,8 @@ int_func_start Func_Label Func_Line M F A | int_func_start Func_Label Func_Line M F A | func_prologue Entry_Label Entry_Line => + i_func_label Func_Label | func_line Func_Line | - aligned_label Func_Label u=8 | i_func_info Func_Label M F A | aligned_label Entry_Label u=4 | i_breakpoint_trampoline | diff --git a/erts/emulator/beam/sys.h b/erts/emulator/beam/sys.h index f90b9bfe6686..da81abfe1aab 100644 --- a/erts/emulator/beam/sys.h +++ b/erts/emulator/beam/sys.h @@ -863,7 +863,7 @@ int erts_sys_explicit_8bit_putenv(char *key, char *value); /* This is identical to erts_sys_explicit_8bit_getenv but falls down to the * host OS implementation instead of erts_osenv. */ -int erts_sys_explicit_host_getenv(char *key, char *value, size_t *size); +int erts_sys_explicit_host_getenv(const char *key, char *value, size_t *size); const erts_osenv_t *erts_sys_rlock_global_osenv(void); void erts_sys_runlock_global_osenv(void); diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c index ced93e1b0353..f6d5e7915cda 100644 --- a/erts/emulator/drivers/common/inet_drv.c +++ b/erts/emulator/drivers/common/inet_drv.c @@ -145,10 +145,25 @@ #define D2S(__D__) (((__D__) == INET_DELIVER_PORT) ? "port" : \ (((__D__) == INET_DELIVER_TERM) ? "term" : \ "undefined")) -#define DOM2S(__D__) (((__D__) == INET_AF_INET) ? "inet" : \ - (((__D__) == INET_AF_INET6) ? "inet6" : \ - (((__D__) == INET_AF_LOCAL) ? "local" : \ +#define DOM2S(__D__) (((__D__) == INET_AF_INET) ? "inet" : \ + (((__D__) == INET_AF_INET6) ? "inet6" : \ + (((__D__) == INET_AF_LOCAL) ? "local" : \ "undefined"))) +#if defined(AF_LINK) +#define FAM2S(__F__) (((__F__) == AF_INET) ? "inet" : \ + (((__F__) == AF_INET6) ? "inet6" : \ + (((__F__) == AF_LINK) ? "link" : \ + "undefined"))) +#elif defined(AF_PACKET) +#define FAM2S(__F__) (((__F__) == AF_INET) ? "inet" : \ + (((__F__) == AF_INET6) ? "inet6" : \ + (((__F__) == AF_PACKET) ? "packet" : \ + "undefined"))) +#else +#define FAM2S(__F__) (((__F__) == AF_INET) ? "inet" : \ + (((__F__) == AF_INET6) ? "inet6" : \ + "undefined")) +#endif #if defined(__WIN32__) && defined(ARCH_64) #define SOCKET_FSTR "%lld" @@ -6571,6 +6586,12 @@ static ErlDrvSSizeT inet_ctl_getifaddrs(inet_descriptor* desc_p, } \ } while (0) + DDBG(desc_p, + ("INET-DRV-DBG[%d][" SOCKET_FSTR ",%T] " + "%s -> get if addrs" + "\r\n", + __LINE__, desc_p->s, driver_caller(desc_p->port), __FUNCTION__) ); + if ((save_errno = call_getifaddrs(desc_p, &ifa_p)) != 0) return ctl_error(save_errno, rbuf_pp, rsize); @@ -6578,6 +6599,15 @@ static ErlDrvSSizeT inet_ctl_getifaddrs(inet_descriptor* desc_p, *buf_p++ = INET_REP_OK; for (; ifa_p; ifa_p = ifa_p->ifa_next) { int len = utf8_len(ifa_p->ifa_name, -1); + + DDBG(desc_p, + ("INET-DRV-DBG[%d][" SOCKET_FSTR ",%T] " + "%s -> process if-addr %s" + "\r\n flags: 0x%X" + "\r\n", + __LINE__, desc_p->s, driver_caller(desc_p->port), __FUNCTION__, + ifa_p->ifa_name, ifa_p->ifa_flags) ); + BUF_ENSURE(len+1 + 1+4 + 1); utf8_encode(ifa_p->ifa_name, -1, buf_p); buf_p += len; @@ -6585,6 +6615,15 @@ static ErlDrvSSizeT inet_ctl_getifaddrs(inet_descriptor* desc_p, *buf_p++ = INET_IFOPT_FLAGS; put_int32(IFGET_FLAGS(ifa_p->ifa_flags), buf_p); buf_p += 4; if (ifa_p->ifa_addr) { + + DDBG(desc_p, + ("INET-DRV-DBG[%d][" SOCKET_FSTR ",%T] " + "%s -> family: %d (%s)" + "\r\n", + __LINE__, desc_p->s, driver_caller(desc_p->port), __FUNCTION__, + ifa_p->ifa_addr->sa_family, + FAM2S(ifa_p->ifa_addr->sa_family)) ); + if (ifa_p->ifa_addr->sa_family == AF_INET #if defined(AF_INET6) || ifa_p->ifa_addr->sa_family == AF_INET6 @@ -6632,6 +6671,14 @@ static ErlDrvSSizeT inet_ctl_getifaddrs(inet_descriptor* desc_p, /* buf_p is now unreliable */ freeifaddrs(ifa_free_p); *rbuf_pp = buf_alloc_p; + + DDBG(desc_p, + ("INET-DRV-DBG[%d][" SOCKET_FSTR ",%T] " + "%s -> done when buffer size: %d" + "\r\n", + __LINE__, desc_p->s, driver_caller(desc_p->port), __FUNCTION__, + buf_size) ); + return buf_size; # undef BUF_ENSURE } @@ -8170,6 +8217,7 @@ static int sctp_set_opts(inet_descriptor* desc, char* ptr, int len) arg_sz = sizeof ( arg.ival); break; #else + curr += 4; continue; #endif @@ -8180,6 +8228,7 @@ static int sctp_set_opts(inet_descriptor* desc, char* ptr, int len) "sctp_set_opts -> REUSEPORT_LB\r\n", __LINE__, desc->s, driver_caller(desc->port)) ); #if defined(__WIN32__) + curr += 4; continue; #elif defined(SO_REUSEPORT_LB) || (defined(__linux__) && defined(SO_REUSEPORT)) arg.ival= get_int32 (curr); curr += 4; @@ -8194,6 +8243,7 @@ static int sctp_set_opts(inet_descriptor* desc, char* ptr, int len) arg_sz = sizeof ( arg.ival); break; #else + curr += 4; continue; #endif } @@ -8214,6 +8264,7 @@ static int sctp_set_opts(inet_descriptor* desc, char* ptr, int len) arg_sz = sizeof ( arg.ival); break; #else + curr += 4; continue; #endif } @@ -8245,8 +8296,10 @@ static int sctp_set_opts(inet_descriptor* desc, char* ptr, int len) } new_ra = (compat & ra_bits) == ra_bits; desc->bsd_compat = compat; - if (old_ra == new_ra) + if (old_ra == new_ra) { + curr += 4; continue; + } } #endif arg.ival= get_int32 (curr); curr += 4; @@ -8293,7 +8346,8 @@ static int sctp_set_opts(inet_descriptor* desc, char* ptr, int len) # else /* inet_fill_opts always returns a value for this option, * so we need to ignore it if not implemented, just in case */ - continue; + curr += 4; + continue; # endif case INET_OPT_TOS: @@ -8315,7 +8369,8 @@ static int sctp_set_opts(inet_descriptor* desc, char* ptr, int len) # else /* inet_fill_opts always returns a value for this option, * so we need to ignore it if not implemented, just in case */ - continue; + curr += 4; + continue; # endif # if defined(IPV6_TCLASS) && defined(IPPROTO_IPV6) @@ -8446,7 +8501,8 @@ static int sctp_set_opts(inet_descriptor* desc, char* ptr, int len) # elif defined(__WIN32__) && defined(HAVE_IN6) && defined(AF_INET6) # error Here is a fix for Win IPv6 SCTP missing # else - continue; /* Option not supported -- ignore it */ + curr += 4; + continue; /* Option not supported -- ignore it */ # endif #ifdef SO_BINDTODEVICE diff --git a/erts/emulator/drivers/win32/registry_drv.c b/erts/emulator/drivers/win32/registry_drv.c index 2759d6301e7b..3779c6cfacee 100644 --- a/erts/emulator/drivers/win32/registry_drv.c +++ b/erts/emulator/drivers/win32/registry_drv.c @@ -374,8 +374,11 @@ fix_value_result(RegPort* rp, LONG result, DWORD type, switch (type) { case REG_SZ: case REG_EXPAND_SZ: - valueSize--; /* No reason to send the '\0' to Erlang. */ - break; + /* No reason to send the trailing '\0', if present, to Erlang. */ + if (valueSize > 0 && value[valueSize - 1] == '\0') { + valueSize--; + } + break; case REG_DWORD_LITTLE_ENDIAN: case REG_DWORD_BIG_ENDIAN: /* diff --git a/erts/emulator/nifs/common/prim_net_nif.c b/erts/emulator/nifs/common/prim_net_nif.c index 3b27e90e3cc4..579e5c7b0e51 100644 --- a/erts/emulator/nifs/common/prim_net_nif.c +++ b/erts/emulator/nifs/common/prim_net_nif.c @@ -1610,6 +1610,8 @@ void encode_ifaddrs(ErlNifEnv* env, ERL_NIF_TERM eifAddrs; BOOLEAN_T extraAddr; // This is just for debugging... + NDBG( ("NET", "encode_ifaddrs -> entry\r\n") ); + ename = encode_ifaddrs_name(env, ifap->ifa_name); NDBG( ("NET", "encode_ifaddrs -> name: %T\r\n", ename) ); eflags = encode_ifaddrs_flags(env, ifap->ifa_flags); @@ -1618,6 +1620,7 @@ void encode_ifaddrs(ErlNifEnv* env, NDBG( ("NET", "encode_ifaddrs -> addr: " "\r\n %T" "\r\n", eaddr) ); + /* This is an ugly (OpenBSD?) hack... * "For some reason" the netmask family is set to 'AF_UNSPEC' * (when the addr family is AF_INET) on OpenBSD, @@ -1625,6 +1628,7 @@ void encode_ifaddrs(ErlNifEnv* env, * So force the family to AF_INET in this case to allow encoding * the netmask... */ + if ((ifap->ifa_addr != NULL) && (((ESockAddress*)ifap->ifa_addr)->sa.sa_family == AF_INET)) { if ((ifap->ifa_netmask != NULL) && @@ -1637,18 +1641,41 @@ void encode_ifaddrs(ErlNifEnv* env, "\r\n %T" "\r\n", enetmask) ); if (ifap->ifa_dstaddr && (ifap->ifa_flags & IFF_POINTOPOINT)) { + + NDBG( ("NET", "encode_ifaddrs -> try encode dest addr\r\n") ); + + /* What the eff is this fakery? */ + if (((ESockAddress*)ifap->ifa_dstaddr)->sa.sa_family == AF_UNSPEC) + ((ESockAddress*)ifap->ifa_dstaddr)->sa.sa_family = AF_INET; + extraAddr = TRUE; eifu_key = atom_dstaddr; eifu_value = encode_ifaddrs_addr(env, ifap->ifa_dstaddr); + + NDBG( ("NET", "encode_ifaddrs -> dest addr: " + "\r\n %T" + "\r\n", eifu_value) ); + } else if (ifap->ifa_broadaddr && (ifap->ifa_flags & IFF_BROADCAST)) { + + NDBG( ("NET", "encode_ifaddrs -> try encode broad addr\r\n") ); + extraAddr = TRUE; eifu_key = atom_broadaddr; eifu_value = encode_ifaddrs_addr(env, ifap->ifa_broadaddr); + + NDBG( ("NET", "encode_ifaddrs -> broad addr: " + "\r\n %T" + "\r\n", eifu_value) ); + } else { + extraAddr = FALSE; eifu_key = esock_atom_undefined; eifu_value = esock_atom_undefined; + } + if (extraAddr) { NDBG( ("NET", "encode_ifaddrs -> ifu: " "\r\n key: %T" diff --git a/erts/emulator/nifs/common/prim_socket_nif.c b/erts/emulator/nifs/common/prim_socket_nif.c index 6db99c5e6012..d6e0ca437979 100644 --- a/erts/emulator/nifs/common/prim_socket_nif.c +++ b/erts/emulator/nifs/common/prim_socket_nif.c @@ -1948,6 +1948,7 @@ static const struct in6_addr in6addr_loopback = * in the socket_int.h file! */ #define GLOBAL_ATOMS \ + GLOBAL_ATOM_DECL(6to4); \ GLOBAL_ATOM_DECL(abort); \ GLOBAL_ATOM_DECL(accept); \ GLOBAL_ATOM_DECL(acceptconn); \ @@ -1984,6 +1985,7 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(base_addr); \ GLOBAL_ATOM_DECL(bindtodevice); \ GLOBAL_ATOM_DECL(block_source); \ + GLOBAL_ATOM_DECL(bridge); \ GLOBAL_ATOM_DECL(broadcast); \ GLOBAL_ATOM_DECL(bsp_state); \ GLOBAL_ATOM_DECL(busy_poll); \ @@ -1995,6 +1997,7 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(cancel); \ GLOBAL_ATOM_DECL(cancelled); \ GLOBAL_ATOM_DECL(cantconfig); \ + GLOBAL_ATOM_DECL(cellular); \ GLOBAL_ATOM_DECL(chaos); \ GLOBAL_ATOM_DECL(checksum); \ GLOBAL_ATOM_DECL(close); \ @@ -2070,7 +2073,9 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(frelay); \ GLOBAL_ATOM_DECL(get_overlapped_result); \ GLOBAL_ATOM_DECL(get_peer_addr_info); \ + GLOBAL_ATOM_DECL(gif); \ GLOBAL_ATOM_DECL(hatype); \ + GLOBAL_ATOM_DECL(hdh1822); \ GLOBAL_ATOM_DECL(hdrincl); \ GLOBAL_ATOM_DECL(hmac_ident); \ GLOBAL_ATOM_DECL(hoplimit); \ @@ -2097,6 +2102,7 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(ipcomp_level); \ GLOBAL_ATOM_DECL(ipip); \ GLOBAL_ATOM_DECL(iplevel); \ + GLOBAL_ATOM_DECL(ipv4); \ GLOBAL_ATOM_DECL(ipv6); \ GLOBAL_ATOM_DECL(irq); \ GLOBAL_ATOM_DECL(i_want_mapped_v4_addr); \ @@ -2119,6 +2125,7 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(local); \ GLOBAL_ATOM_DECL(localtlk); \ GLOBAL_ATOM_DECL(local_auth_chunks); \ + GLOBAL_ATOM_DECL(loop); \ GLOBAL_ATOM_DECL(loopback); \ GLOBAL_ATOM_DECL(lowdelay); \ GLOBAL_ATOM_DECL(lower_up); \ @@ -2179,6 +2186,7 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(oobinline); \ GLOBAL_ATOM_DECL(options); \ GLOBAL_ATOM_DECL(origdstaddr); \ + GLOBAL_ATOM_DECL(other); \ GLOBAL_ATOM_DECL(otherhost); \ GLOBAL_ATOM_DECL(outgoing); \ GLOBAL_ATOM_DECL(packet); \ @@ -2197,7 +2205,8 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(port); \ GLOBAL_ATOM_DECL(portrange); \ GLOBAL_ATOM_DECL(portsel); \ - GLOBAL_ATOM_DECL(ppromisc); \ + GLOBAL_ATOM_DECL(ppromisc); \ + GLOBAL_ATOM_DECL(ppp); \ GLOBAL_ATOM_DECL(primary_addr); \ GLOBAL_ATOM_DECL(prim_file); \ GLOBAL_ATOM_DECL(priority); \ @@ -2285,6 +2294,7 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(staticarp); \ GLOBAL_ATOM_DECL(state); \ GLOBAL_ATOM_DECL(status); \ + GLOBAL_ATOM_DECL(stf); \ GLOBAL_ATOM_DECL(stream); \ GLOBAL_ATOM_DECL(syncnt); \ GLOBAL_ATOM_DECL(syn_rcvd); \ @@ -2330,6 +2340,8 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(write_pkg); \ GLOBAL_ATOM_DECL(write_tries); \ GLOBAL_ATOM_DECL(write_waits); \ + GLOBAL_ATOM_DECL(x25ddn); \ + GLOBAL_ATOM_DECL(x25); \ GLOBAL_ATOM_DECL(zero) diff --git a/erts/emulator/nifs/common/socket_int.h b/erts/emulator/nifs/common/socket_int.h index 18cc4b7a29ee..4a27c6d0f2de 100644 --- a/erts/emulator/nifs/common/socket_int.h +++ b/erts/emulator/nifs/common/socket_int.h @@ -205,6 +205,7 @@ typedef long ssize_t; */ #define GLOBAL_ATOM_DEFS \ + GLOBAL_ATOM_DEF(6to4); \ GLOBAL_ATOM_DEF(abort); \ GLOBAL_ATOM_DEF(accept); \ GLOBAL_ATOM_DEF(acceptconn); \ @@ -240,6 +241,7 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(base_addr); \ GLOBAL_ATOM_DEF(bindtodevice); \ GLOBAL_ATOM_DEF(block_source); \ + GLOBAL_ATOM_DEF(bridge); \ GLOBAL_ATOM_DEF(broadcast); \ GLOBAL_ATOM_DEF(bsp_state); \ GLOBAL_ATOM_DEF(busy_poll); \ @@ -251,6 +253,7 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(cancel); \ GLOBAL_ATOM_DEF(cancelled); \ GLOBAL_ATOM_DEF(cantconfig); \ + GLOBAL_ATOM_DEF(cellular); \ GLOBAL_ATOM_DEF(chaos); \ GLOBAL_ATOM_DEF(checksum); \ GLOBAL_ATOM_DEF(close); \ @@ -326,7 +329,9 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(frelay); \ GLOBAL_ATOM_DEF(get_overlapped_result); \ GLOBAL_ATOM_DEF(get_peer_addr_info); \ + GLOBAL_ATOM_DEF(gif); \ GLOBAL_ATOM_DEF(hatype); \ + GLOBAL_ATOM_DEF(hdh1822); \ GLOBAL_ATOM_DEF(hdrincl); \ GLOBAL_ATOM_DEF(hmac_ident); \ GLOBAL_ATOM_DEF(hoplimit); \ @@ -353,6 +358,7 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(ipcomp_level); \ GLOBAL_ATOM_DEF(ipip); \ GLOBAL_ATOM_DEF(iplevel); \ + GLOBAL_ATOM_DEF(ipv4); \ GLOBAL_ATOM_DEF(ipv6); \ GLOBAL_ATOM_DEF(irq); \ GLOBAL_ATOM_DEF(i_want_mapped_v4_addr); \ @@ -375,6 +381,7 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(local); \ GLOBAL_ATOM_DEF(localtlk); \ GLOBAL_ATOM_DEF(local_auth_chunks); \ + GLOBAL_ATOM_DEF(loop); \ GLOBAL_ATOM_DEF(loopback); \ GLOBAL_ATOM_DEF(lowdelay); \ GLOBAL_ATOM_DEF(lower_up); \ @@ -435,6 +442,7 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(oobinline); \ GLOBAL_ATOM_DEF(options); \ GLOBAL_ATOM_DEF(origdstaddr); \ + GLOBAL_ATOM_DEF(other); \ GLOBAL_ATOM_DEF(otherhost); \ GLOBAL_ATOM_DEF(outgoing); \ GLOBAL_ATOM_DEF(packet); \ @@ -449,11 +457,12 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(pktinfo); \ GLOBAL_ATOM_DEF(pktoptions); \ GLOBAL_ATOM_DEF(pkttype); \ - GLOBAL_ATOM_DEF(ppromisc); \ GLOBAL_ATOM_DEF(pointopoint); \ GLOBAL_ATOM_DEF(port); \ GLOBAL_ATOM_DEF(portrange); \ GLOBAL_ATOM_DEF(portsel); \ + GLOBAL_ATOM_DEF(ppromisc); \ + GLOBAL_ATOM_DEF(ppp); \ GLOBAL_ATOM_DEF(primary_addr); \ GLOBAL_ATOM_DEF(prim_file); \ GLOBAL_ATOM_DEF(priority); \ @@ -542,6 +551,7 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(state); \ GLOBAL_ATOM_DEF(status); \ GLOBAL_ATOM_DEF(staticarp); \ + GLOBAL_ATOM_DEF(stf); \ GLOBAL_ATOM_DEF(stream); \ GLOBAL_ATOM_DEF(syncnt); \ GLOBAL_ATOM_DEF(syn_rcvd); \ @@ -585,6 +595,8 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(write_pkg); \ GLOBAL_ATOM_DEF(write_tries); \ GLOBAL_ATOM_DEF(write_waits); \ + GLOBAL_ATOM_DEF(x25ddn); \ + GLOBAL_ATOM_DEF(x25); \ GLOBAL_ATOM_DEF(zero) diff --git a/erts/emulator/nifs/common/socket_util.c b/erts/emulator/nifs/common/socket_util.c index 81aa018ce3f2..acd0c5f51250 100644 --- a/erts/emulator/nifs/common/socket_util.c +++ b/erts/emulator/nifs/common/socket_util.c @@ -44,6 +44,10 @@ #include #endif +#if defined(HAVE_NET_IF_DL_H) && defined(AF_LINK) +#include +#endif + #include "socket_int.h" #include "sys.h" #include "socket_util.h" @@ -146,6 +150,11 @@ static void make_sockaddr_dl(ErlNifEnv* env, static SOCKLEN_T sa_local_length(int l, struct sockaddr_un* sa); #endif +#if defined(HAVE_NET_IF_DL_H) && defined(AF_LINK) +static ERL_NIF_TERM esock_encode_if_type(ErlNifEnv* env, + unsigned int ifType); +#endif + /* *** esock_get_uint_from_map *** * @@ -1321,7 +1330,7 @@ void esock_encode_sockaddr_dl(ErlNifEnv* env, /* type - interface type */ UDBG( ("SUTIL", "esock_encode_sockaddr_dl -> type: %d" "\r\n", sockAddrP->sdl_type) ); - etype = MKUI(env, sockAddrP->sdl_type); + etype = esock_encode_if_type(env, sockAddrP->sdl_type); /* nlen - interface name length, no trailing 0 reqd. */ UDBG( ("SUTIL", "esock_encode_sockaddr_dl -> nlen: %d" @@ -1354,6 +1363,114 @@ void esock_encode_sockaddr_dl(ErlNifEnv* env, addrLen, esock_atom_link, eSockAddr); } } + + +static +ERL_NIF_TERM esock_encode_if_type(ErlNifEnv* env, + unsigned int ifType) +{ + ERL_NIF_TERM eIfType; + + switch (ifType) { +#if defined(IFT_OTHER) + case IFT_OTHER: + eIfType = esock_atom_other; + break; +#endif + +#if defined(IFT_HDH1822) + case IFT_HDH1822: + eIfType = esock_atom_hdh1822; + break; +#endif + +#if defined(IFT_X25DDN) + case IFT_X25DDN: + eIfType = esock_atom_x25ddn; + break; +#endif + +#if defined(IFT_X25) + case IFT_X25: + eIfType = esock_atom_x25; + break; +#endif + +#if defined(IFT_ETHER) + case IFT_ETHER: + eIfType = esock_atom_ether; + break; +#endif + +#if defined(IFT_PPP) + case IFT_PPP: + eIfType = esock_atom_ppp; + break; +#endif + +#if defined(IFT_LOOP) + case IFT_LOOP: + eIfType = esock_atom_loop; + break; +#endif + +#if defined(IFT_IPV4) + case IFT_IPV4: + eIfType = esock_atom_ipv4; + break; +#endif + +#if defined(IFT_IPV6) + case IFT_IPV6: + eIfType = esock_atom_ipv6; + break; +#endif + +#if defined(IFT_6TO4) + case IFT_6TO4: + eIfType = esock_atom_6to4; + break; +#endif + +#if defined(IFT_GIF) + case IFT_GIF: + eIfType = esock_atom_gif; + break; +#endif + +#if defined(IFT_FAITH) + case IFT_FAITH: + eIfType = esock_atom_faith; + break; +#endif + +#if defined(IFT_STF) + case IFT_STF: + eIfType = esock_atom_stf; + break; +#endif + +#if defined(IFT_BRIDGE) + case IFT_BRIDGE: + eIfType = esock_atom_bridge; + break; +#endif + +#if defined(IFT_CELLULAR) + case IFT_CELLULAR: + eIfType = esock_atom_cellular; + break; +#endif + + default: + eIfType = MKUI(env, ifType); + break; + } + + return eIfType; +} + + #endif diff --git a/erts/emulator/sys/unix/erl_child_setup.c b/erts/emulator/sys/unix/erl_child_setup.c index 72a7f77b2e6c..317bf8cfe977 100644 --- a/erts/emulator/sys/unix/erl_child_setup.c +++ b/erts/emulator/sys/unix/erl_child_setup.c @@ -528,7 +528,7 @@ main(int argc, char *argv[]) SET_CLOEXEC(uds_fd); - if (isatty(0)) { + if (isatty(0) && isatty(1)) { ssize_t res = read_all(uds_fd, (char*)&initial_tty_mode, sizeof(struct termios)); if (res <= 0) { ABORT("Failed to read initial_tty_mode: %d (%d)", res, errno); @@ -560,7 +560,7 @@ main(int argc, char *argv[]) pipes, 3, MSG_DONTWAIT)) < 0) { if (errno == EINTR) continue; - if (isatty(0)) { + if (isatty(0) && isatty(1)) { tcsetattr(0,TCSANOW,&initial_tty_mode); } DEBUG_PRINT("erl_child_setup failed to read from uds: %d, %d", res, errno); @@ -569,7 +569,7 @@ main(int argc, char *argv[]) if (res == 0) { DEBUG_PRINT("uds was closed!"); - if (isatty(0)) { + if (isatty(0) && isatty(1)) { tcsetattr(0,TCSANOW,&initial_tty_mode); } _exit(0); diff --git a/erts/emulator/sys/unix/sys.c b/erts/emulator/sys/unix/sys.c index ba5ba255d495..a512f1d9977a 100644 --- a/erts/emulator/sys/unix/sys.c +++ b/erts/emulator/sys/unix/sys.c @@ -182,7 +182,7 @@ void sys_tty_reset(int exit_code) if (using_oldshell && !replace_intr) { SET_BLOCKING(0); } - else if (isatty(0)) { + else if (isatty(0) && isatty(1)) { tcsetattr(0,TCSANOW,&erl_sys_initial_tty_mode); } } diff --git a/erts/emulator/sys/unix/sys_drivers.c b/erts/emulator/sys/unix/sys_drivers.c index 75a545782fb8..952adc0dfdc8 100644 --- a/erts/emulator/sys/unix/sys_drivers.c +++ b/erts/emulator/sys/unix/sys_drivers.c @@ -1666,7 +1666,7 @@ static ErlDrvData forker_start(ErlDrvPort port_num, char* name, /* If stdin is a tty then we need to restore its settings when we exit. So we send the tty mode to erl_child_setup so that it can cleanup in case the emulator is terminated with SIGKILL. */ - if (isatty(0)) { + if (isatty(0) && isatty(1)) { ssize_t res, pos = 0; size_t size = sizeof(struct termios); byte *buff = (byte *)&erl_sys_initial_tty_mode; diff --git a/erts/emulator/sys/unix/sys_env.c b/erts/emulator/sys/unix/sys_env.c index eb98e7b63529..47acd8f2059a 100644 --- a/erts/emulator/sys/unix/sys_env.c +++ b/erts/emulator/sys/unix/sys_env.c @@ -87,7 +87,7 @@ int erts_sys_explicit_8bit_getenv(char *key, char *value, size_t *size) { return result; } -int erts_sys_explicit_host_getenv(char *key, char *value, size_t *size) { +int erts_sys_explicit_host_getenv(const char *key, char *value, size_t *size) { char *orig_value; size_t length; diff --git a/erts/emulator/sys/win32/sys_env.c b/erts/emulator/sys/win32/sys_env.c index 4c4b89adab7d..ea8ad1449ddb 100644 --- a/erts/emulator/sys/win32/sys_env.c +++ b/erts/emulator/sys/win32/sys_env.c @@ -58,7 +58,7 @@ void erts_sys_rwunlock_global_osenv() { erts_rwmtx_rwunlock(&sysenv_rwmtx); } -int erts_sys_explicit_host_getenv(char *key, char *value, size_t *size) { +int erts_sys_explicit_host_getenv(const char *key, char *value, size_t *size) { size_t new_size = GetEnvironmentVariableA(key, value, (DWORD)*size); if(new_size == 0 && GetLastError() == ERROR_ENVVAR_NOT_FOUND) { diff --git a/erts/emulator/test/bs_construct_SUITE.erl b/erts/emulator/test/bs_construct_SUITE.erl index 9a8da0bafc43..9c110b9dd007 100644 --- a/erts/emulator/test/bs_construct_SUITE.erl +++ b/erts/emulator/test/bs_construct_SUITE.erl @@ -31,8 +31,8 @@ bs_append_offheap/1, reductions/1, fp16/1, zero_init/1, error_info/1, little/1, heap_binary_unit/1, - otp_24_code_gh_8238/1 - ]). + otp_24_code_gh_8238/1, + many_segments/1]). -include_lib("common_test/include/ct.hrl"). @@ -48,7 +48,8 @@ all() -> bad_append, bs_append_overflow, bs_append_offheap, reductions, fp16, zero_init, error_info, little, heap_binary_unit, - otp_24_code_gh_8238]. + otp_24_code_gh_8238, + many_segments]. init_per_suite(Config) -> Config. @@ -1730,6 +1731,270 @@ otp_24_code_gh_8238(Config) -> {skip,"Enough to run once"} end. +%% GH-8815: Binary construction with "too many" segments failed to JIT on ARM. +many_segments(_Config) -> + Val = id(<<"fhqwhgads">>), + id(<<"COL_A,COL_B\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n", Val/binary, ",B0\n", + Val/binary, ",B0\n">>), + ok. + %%% %%% Common utilities. %%% diff --git a/erts/emulator/test/call_trace_SUITE.erl b/erts/emulator/test/call_trace_SUITE.erl index 0f1cc2481219..3f0bd9fcd300 100644 --- a/erts/emulator/test/call_trace_SUITE.erl +++ b/erts/emulator/test/call_trace_SUITE.erl @@ -65,7 +65,7 @@ testcases() -> exception_nocatch, bit_syntax, errors, on_load]. init_per_suite(Config) -> - trace_sessions:init_per_suite(Config). + trace_sessions:init_per_suite(Config, ?MODULE). end_per_suite(Config) -> trace_sessions:end_per_suite(Config). diff --git a/erts/emulator/test/match_spec_SUITE.erl b/erts/emulator/test/match_spec_SUITE.erl index 6e516c4c9d44..79fc6403d74f 100644 --- a/erts/emulator/test/match_spec_SUITE.erl +++ b/erts/emulator/test/match_spec_SUITE.erl @@ -76,7 +76,7 @@ testcases_match_spec_test() -> maps, guard_bifs]. init_per_suite(Config) -> - trace_sessions:init_per_suite(Config). + trace_sessions:init_per_suite(Config, ?MODULE). end_per_suite(Config) -> trace_sessions:end_per_suite(Config). diff --git a/erts/emulator/test/nif_SUITE.erl b/erts/emulator/test/nif_SUITE.erl index 06e1c1a6568d..ea5ffbff25d0 100644 --- a/erts/emulator/test/nif_SUITE.erl +++ b/erts/emulator/test/nif_SUITE.erl @@ -786,38 +786,81 @@ load_traced_nif(Config) when is_list(Config) -> {ok,nif_mod,Bin} = compile:file(File, [binary,return_errors]), {module,nif_mod} = erlang:load_module(nif_mod,Bin), - Tracee = spawn_link(fun Loop() -> receive {lib_version,ExpRet} -> - ExpRet = nif_mod:lib_version() - end, - Loop() + Tester = self(), + Tracee = spawn_link(fun Loop() -> + {call_trace_me, Arg} = receive_any(), + Ret = nif_mod:trace_me(Arg), + Tester ! {returned, Ret}, + Loop() end), - 1 = erlang:trace_pattern({nif_mod,lib_version,0}, true, [local]), - 1 = erlang:trace(Tracee, true, [call]), + CallTraceMe = fun(Arg) -> + Tracee ! {call_trace_me, Arg}, + receive {returned, Ret} -> Ret end + end, + ?line S1 = trace:session_create(load_traced_nif, self(), []), + ?line S2 = trace:session_create(load_traced_nif, self(), []), + ?line 1 = trace:process(S1, Tracee, true, [call]), + ?line 1 = trace:process(S2, Tracee, true, [call]), - Tracee ! {lib_version, undefined}, - {trace, Tracee, call, {nif_mod,lib_version,[]}} = receive_any(1000), + %% Add first breakpoint + ?line 1 = trace:function(S1, {nif_mod,trace_me,1}, true, [local]), - ok = nif_mod:load_nif_lib(Config, 1), + ?line undefined = CallTraceMe(11), + ?line {trace, Tracee, call, {nif_mod,trace_me,[11]}} = receive_any(1000), + + ?line ok = nif_mod:load_nif_lib(Config, 1), + + %% Add second breakpoint while NIF is still loading + %% (and 'orig_instr' in breakpoint is 'call_nif_early') + ?line 1 = trace:function(S2, {nif_mod,trace_me,1}, true, [local]), - Tracee ! {lib_version, 1}, - {trace, Tracee, call, {nif_mod,lib_version,[]}} = receive_any(1000), + ?line 1 = CallTraceMe(22), + ?line {trace, Tracee, call, {nif_mod,trace_me,[22]}} = receive_any(1000), + ?line {trace, Tracee, call, {nif_mod,trace_me,[22]}} = receive_any(1000), %% Wait for NIF loading to finish and write final call_nif instruction timer:sleep(500), - Tracee ! {lib_version, 1}, - {trace, Tracee, call, {nif_mod,lib_version,[]}} = receive_any(1000), + ?line 1 = CallTraceMe(33), + ?line {trace, Tracee, call, {nif_mod,trace_me,[33]}} = receive_any(1000), + ?line {trace, Tracee, call, {nif_mod,trace_me,[33]}} = receive_any(1000), - true = erlang:delete_module(nif_mod), - true = erlang:purge_module(nif_mod), + %% Remove second added breakpoint + ?line trace:function(S2, {nif_mod,trace_me,1}, false, [local]), + ?line 1 = CallTraceMe(44), + ?line {trace, Tracee, call, {nif_mod,trace_me,[44]}} = receive_any(1000), + + ?line timer:sleep(500), %% Wait for breakpoint to be unlinked + ?line 1 = CallTraceMe(55), + ?line {trace, Tracee, call, {nif_mod,trace_me,[55]}} = receive_any(1000), - unlink(Tracee), - exit(Tracee, kill), + %% Re-add second breakpoint + ?line trace:function(S2, {nif_mod,trace_me,1}, true, [local]), + ?line 1 = CallTraceMe(66), + ?line {trace, Tracee, call, {nif_mod,trace_me,[66]}} = receive_any(1000), + ?line {trace, Tracee, call, {nif_mod,trace_me,[66]}} = receive_any(1000), + + %% Remove first added breakpoint + ?line trace:function(S1, {nif_mod,trace_me,1}, false, [local]), + ?line 1 = CallTraceMe(77), + ?line {trace, Tracee, call, {nif_mod,trace_me,[77]}} = receive_any(1000), + + ?line timer:sleep(500), %% Wait for breakpoint to be unlinked + ?line 1 = CallTraceMe(88), + ?line {trace, Tracee, call, {nif_mod,trace_me,[88]}} = receive_any(1000), + + ?line true = erlang:delete_module(nif_mod), + ?line true = erlang:purge_module(nif_mod), + + ?line trace:session_destroy(S1), + ?line trace:session_destroy(S2), + + ?line unlink(Tracee), + ?line exit(Tracee, kill), verify_tmpmem(TmpMem), ok. - -define(ERL_NIF_SELECT_READ, (1 bsl 0)). -define(ERL_NIF_SELECT_WRITE, (1 bsl 1)). -define(ERL_NIF_SELECT_STOP, (1 bsl 2)). diff --git a/erts/emulator/test/nif_SUITE_data/nif_SUITE.c b/erts/emulator/test/nif_SUITE_data/nif_SUITE.c index fb7fe70dfe45..772c0eb3e13d 100644 --- a/erts/emulator/test/nif_SUITE_data/nif_SUITE.c +++ b/erts/emulator/test/nif_SUITE_data/nif_SUITE.c @@ -2949,6 +2949,16 @@ static void monitor_resource_down(ErlNifEnv* env, void* obj, ErlNifPid* pid, enif_send(env, &rsrc->receiver, msg_env, msg); if (msg_env) enif_free_env(msg_env); + + /* OTP-19330 GH-8983: + * Verify calling enif_whereis_pid/port in down callback + * without lock order violation. */ + { + ErlNifPid pid; + ErlNifPid port; + enif_whereis_pid(env, atom_null, &pid); + enif_whereis_port(env, atom_null, &port); + } } static ERL_NIF_TERM alloc_monitor_resource_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) diff --git a/erts/emulator/test/nif_SUITE_data/nif_mod.c b/erts/emulator/test/nif_SUITE_data/nif_mod.c index 880aa09723db..d9fd2b8ebdb6 100644 --- a/erts/emulator/test/nif_SUITE_data/nif_mod.c +++ b/erts/emulator/test/nif_SUITE_data/nif_mod.c @@ -391,6 +391,12 @@ static ERL_NIF_TERM monitor_process(ErlNifEnv* env, int argc, const ERL_NIF_TERM } #endif +static ERL_NIF_TERM trace_me(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) +{ + ADD_CALL("lib_version"); + return enif_make_int(env, NIF_LIB_VER); +} + static ErlNifFunc nif_funcs[] = { {"lib_version", 0, lib_version}, @@ -407,6 +413,7 @@ static ErlNifFunc nif_funcs[] = #if NIF_LIB_VER == 5 {"make_new_resource", 2, get_resource}, /* error: duplicate */ #endif + {"trace_me", 1, trace_me}, /* Keep lib_version_check last to maximize the loading "patch distance" between it and lib_version */ diff --git a/erts/emulator/test/nif_SUITE_data/nif_mod.erl b/erts/emulator/test/nif_SUITE_data/nif_mod.erl index e40c6cffb7fa..cb0b60068004 100644 --- a/erts/emulator/test/nif_SUITE_data/nif_mod.erl +++ b/erts/emulator/test/nif_SUITE_data/nif_mod.erl @@ -23,7 +23,7 @@ -include_lib("common_test/include/ct.hrl"). -export([load_nif_lib/2, load_nif_lib/3, start/0, - lib_version/0, lib_version_check/0, + lib_version/0, lib_version_check/0, trace_me/1, get_priv_data_ptr/0, make_new_resource/2, get_resource/2, monitor_process/3]). @@ -32,7 +32,7 @@ -define(nif_stub,nif_stub_error(?LINE)). -ifdef(USE_NIFS_ATTRIB). --nifs([lib_version/0, nif_api_version/0, get_priv_data_ptr/0]). +-nifs([lib_version/0, nif_api_version/0, get_priv_data_ptr/0, trace_me/1]). -if(?USE_NIFS_ATTRIB > 1). -nifs([make_new_resource/2, get_resource/2, monitor_process/3]). -if(?USE_NIFS_ATTRIB > 2). @@ -104,6 +104,9 @@ make_new_resource(_,_) -> ?nif_stub. get_resource(_,_) -> ?nif_stub. monitor_process(_,_,_) -> ?nif_stub. +trace_me(_) -> % NIF + undefined. + lib_version_check() -> %% Do a recursive call to test that we are able to return %% while this function has been NIF patched. diff --git a/erts/emulator/test/port_trace_SUITE.erl b/erts/emulator/test/port_trace_SUITE.erl index 5f2154ccc469..1040c3d196e4 100644 --- a/erts/emulator/test/port_trace_SUITE.erl +++ b/erts/emulator/test/port_trace_SUITE.erl @@ -73,7 +73,7 @@ testcases() -> driver_remote_send_term]. init_per_suite(Config) -> - trace_sessions:init_per_suite(Config). + trace_sessions:init_per_suite(Config, ?MODULE). end_per_suite(Config) -> trace_sessions:end_per_suite(Config). diff --git a/erts/emulator/test/trace_SUITE.erl b/erts/emulator/test/trace_SUITE.erl index 868d1b243007..247ac947876d 100644 --- a/erts/emulator/test/trace_SUITE.erl +++ b/erts/emulator/test/trace_SUITE.erl @@ -84,7 +84,7 @@ testcases() -> ms_excessive_nesting]. init_per_suite(Config) -> - trace_sessions:init_per_suite(Config). + trace_sessions:init_per_suite(Config, ?MODULE). end_per_suite(Config) -> trace_sessions:end_per_suite(Config). diff --git a/erts/emulator/test/trace_bif_SUITE.erl b/erts/emulator/test/trace_bif_SUITE.erl index 58d1ce9ccafd..c19005ee8341 100644 --- a/erts/emulator/test/trace_bif_SUITE.erl +++ b/erts/emulator/test/trace_bif_SUITE.erl @@ -1,3 +1,4 @@ + %% %% %CopyrightBegin% %% @@ -48,7 +49,7 @@ testcases() -> trace_bif_return, trace_info_old_code]. init_per_suite(Config) -> - trace_sessions:init_per_suite(Config). + trace_sessions:init_per_suite(Config, ?MODULE). end_per_suite(Config) -> trace_sessions:end_per_suite(Config). diff --git a/erts/emulator/test/trace_call_count_SUITE.erl b/erts/emulator/test/trace_call_count_SUITE.erl index 556059a752eb..13c129e3fa90 100644 --- a/erts/emulator/test/trace_call_count_SUITE.erl +++ b/erts/emulator/test/trace_call_count_SUITE.erl @@ -84,7 +84,7 @@ testcases() -> [basic, on_and_off, info, pause_and_restart, combo]. init_per_suite(Config) -> - trace_sessions:init_per_suite(Config). + trace_sessions:init_per_suite(Config, ?MODULE). end_per_suite(Config) -> trace_sessions:end_per_suite(Config). diff --git a/erts/emulator/test/trace_call_memory_SUITE.erl b/erts/emulator/test/trace_call_memory_SUITE.erl index bcbf3bdbaccf..ef60cb527924 100644 --- a/erts/emulator/test/trace_call_memory_SUITE.erl +++ b/erts/emulator/test/trace_call_memory_SUITE.erl @@ -58,7 +58,7 @@ testcases() -> spawn_memory_lambda, conflict_traces, big_words]. init_per_suite(Config) -> - trace_sessions:init_per_suite(Config). + trace_sessions:init_per_suite(Config, ?MODULE). end_per_suite(Config) -> trace_sessions:end_per_suite(Config). @@ -316,12 +316,13 @@ parallel_map(Config) when is_list(Config) -> end. do_parallel() -> - Allocs = [spawn_link(fun() -> alloc_2tup(), receive_message() end) || _ <- lists:seq(1, 3)], - Grand = [spawn_link(fun() -> receive_message() end) || _ <- lists:seq(1, 3)], + Allocs = [spawn_monitor(fun() -> alloc_2tup(), receive_message() end) || _ <- lists:seq(1, 3)], + Grand = [spawn_monitor(fun() -> receive_message() end) || _ <- lists:seq(1, 3)], pre_stop = receive_message(), - [P ! {atom, <<"1234">>} || P <- Grand], %% 6 words on the heap: 3 for binary, 3 for tuple + [P ! {atom, <<"1234">>} || {P,_} <- Grand], %% 3 words on the heap for tuple (binary is literal) {stop, 1} = receive_message(), - [exit(P, normal) || P <- Allocs]. + [P ! atom || {P,_} <- Allocs], %% no words on the heap for atom + [receive {'DOWN', MRef, process, P, normal} -> ok end || {P,MRef} <- Allocs++Grand]. trace_all() -> [{doc, "Enables memory tracing for all processes, mainly ensuring there are no core dumps"}]. diff --git a/erts/emulator/test/trace_call_time_SUITE.erl b/erts/emulator/test/trace_call_time_SUITE.erl index 68a0f8af28f7..0cc51e05a206 100644 --- a/erts/emulator/test/trace_call_time_SUITE.erl +++ b/erts/emulator/test/trace_call_time_SUITE.erl @@ -92,7 +92,7 @@ testcases() -> catch_crash]. init_per_suite(Config) -> - trace_sessions:init_per_suite(Config). + trace_sessions:init_per_suite(Config, ?MODULE). end_per_suite(Config) -> trace_sessions:end_per_suite(Config). diff --git a/erts/emulator/test/trace_local_SUITE.erl b/erts/emulator/test/trace_local_SUITE.erl index 6d6b52ed9b67..3375b5349f2c 100644 --- a/erts/emulator/test/trace_local_SUITE.erl +++ b/erts/emulator/test/trace_local_SUITE.erl @@ -63,7 +63,7 @@ init_per_testcase/2, end_per_testcase/2]). init_per_suite(Config) -> - trace_sessions:init_per_suite(Config). + trace_sessions:init_per_suite(Config, ?MODULE). end_per_suite(Config) -> trace_sessions:end_per_suite(Config). diff --git a/erts/emulator/test/trace_meta_SUITE.erl b/erts/emulator/test/trace_meta_SUITE.erl index ce6a3fde10cf..f697577217ce 100644 --- a/erts/emulator/test/trace_meta_SUITE.erl +++ b/erts/emulator/test/trace_meta_SUITE.erl @@ -93,7 +93,7 @@ testcases() -> combo, nosilent]. init_per_suite(Config) -> - trace_sessions:init_per_suite(Config). + trace_sessions:init_per_suite(Config, ?MODULE). end_per_suite(Config) -> trace_sessions:end_per_suite(Config). @@ -395,9 +395,9 @@ tracer_test() -> ?erlang_trace_info({erlang,phash2,2}, meta_match_spec), %% Initiate trace messages that will fail Ref2 = make_ref(), - apply_slave_async(?MODULE, receiver, [Ref2]), Slave ! Ref2, - receive_no_next(100), + apply_slave(?MODULE, receiver, [Ref2]), + receive_no_next(0), {meta,[]} = ?erlang_trace_info({?MODULE,receiver,1}, meta), {meta_match_spec, MatchSpec} = diff --git a/erts/emulator/test/trace_nif_SUITE.erl b/erts/emulator/test/trace_nif_SUITE.erl index 9e8178ce700a..50fe84a3c929 100644 --- a/erts/emulator/test/trace_nif_SUITE.erl +++ b/erts/emulator/test/trace_nif_SUITE.erl @@ -51,7 +51,7 @@ testcases() -> init_per_suite(Config) -> - trace_sessions:init_per_suite(Config). + trace_sessions:init_per_suite(Config, ?MODULE). end_per_suite(Config) -> trace_sessions:end_per_suite(Config). diff --git a/erts/emulator/test/trace_port_SUITE.erl b/erts/emulator/test/trace_port_SUITE.erl index 6c505b9c121f..4f0d86daf708 100644 --- a/erts/emulator/test/trace_port_SUITE.erl +++ b/erts/emulator/test/trace_port_SUITE.erl @@ -60,7 +60,7 @@ testcases() -> default_tracer, tracer_port_crash]. init_per_suite(Config) -> - trace_sessions:init_per_suite(Config). + trace_sessions:init_per_suite(Config, ?MODULE). end_per_suite(Config) -> trace_sessions:end_per_suite(Config). @@ -227,13 +227,14 @@ receive_trace_non_scheduler(Config) when is_list(Config) -> fun() -> receive go -> - Ref = S ! erlang:trace_delivered(all), + Ref = erlang:trace_delivered(all), + S ! {sync,Ref}, receive {trace_delivered, Ref, all} -> ok end end end), trac(Receiver, true, ['receive']), Receiver ! go, - Ref = receive R -> R end, + Ref = receive {sync,R} -> R end, expect({trace,Receiver,'receive',go}), expect({trace,Receiver,'receive',{trace_delivered, all, Ref}}), diff --git a/erts/emulator/test/trace_session_SUITE.erl b/erts/emulator/test/trace_session_SUITE.erl index 586ec177f8e1..f80bc4fa559a 100644 --- a/erts/emulator/test/trace_session_SUITE.erl +++ b/erts/emulator/test/trace_session_SUITE.erl @@ -384,7 +384,7 @@ set_on_spawn2(S1, Tracer1, Opts1, S2, Tracer2, Opts2) -> {Tracer1, {trace, GrandChild, exit, die}}], [{Tracer2, {trace, GrandChild, spawned, Child, '_'}}, - {Tracer2,{trace, '_', exit, die}}] + {Tracer2, {trace, GrandChild, exit, die}}] }), 1 = erlang_trace(S1, self(), false, [procs, set_on_spawn | Opts1]), diff --git a/erts/emulator/test/trace_sessions.erl b/erts/emulator/test/trace_sessions.erl index ea3e6e00a98c..5a7b3cb37f5f 100644 --- a/erts/emulator/test/trace_sessions.erl +++ b/erts/emulator/test/trace_sessions.erl @@ -28,7 +28,7 @@ %% -export([all/0, groups/1, - init_per_suite/1, end_per_suite/1, suite_controller/2, + init_per_suite/2, end_per_suite/1, suite_controller/2, init_per_group/2, end_per_group/2, init_per_testcase/1, end_per_testcase/1, erlang_trace/3, @@ -55,10 +55,13 @@ all() -> groups(Testcases) -> [{Group, [], Testcases} || Group <- group_list()]. -init_per_suite(Config) -> +init_per_suite(Config, SuiteModule) -> SessionsBefore = trace:session_info(all), Pid = spawn(?MODULE, suite_controller, [start, []]), - [{suite_controller, Pid}, {sessions_before, SessionsBefore} | Config]. + [{suite_controller, Pid}, + {sessions_before, SessionsBefore}, + {suite_module, SuiteModule} + | Config]. end_per_suite(Config) -> SessionsBefore = proplists:get_value(sessions_before, Config), @@ -228,17 +231,14 @@ init_group([pre_session|Tail], Config) -> %% Set a dummy call_count on all (local) functions. trace:function(S, {'_','_','_'}, true, [local]), - %% Re-set a dummy global call trace on all exported functions. - [[trace:function(S, {Module, Func, Arity}, true, [global]) - || {Func,Arity} <- Module:module_info(exports)] - || Module <- erlang:loaded(), - erlang:function_exported(Module, module_info, 1)], + %% Re-set a dummy global call trace on exported functions. + set_dummy_global_trace(S, Config), %% Set a dummy send trace on all processes and ports %% but disable send trace to not get any messages. + 1 = trace:send(S, false, []), trace:process(S, all, true, [send]), trace:port(S, all, true, [send]), - 1 = trace:send(S, false, []), ets:insert(?MODULE, {pre_session, S, Tracer}), init_group(Tail, Config); @@ -287,3 +287,28 @@ init_per_testcase(Config) -> end_per_testcase(Config) -> suite_controller_check(Config). + + + +set_dummy_global_trace(S, Config) -> + %% Modules = [M || M <- erlang:loaded(), + %% erlang:function_exported(M, module_info, 1)], + %% Calling trace_pattern on all loaded modules takes too long time + %% on some machines. Do it on a subset of modules instead. + + %% Set a dummy global call trace on some exported functions. + SuiteModule = proplists:get_value(suite_module, Config), + Modules = [erlang, ets, lists, maps, SuiteModule], + io:format("~w modules to trace...\n", [length(Modules)]), + + [begin + {Micros, 1} = timer:tc(fun() -> + trace:function(S, {Mod, Func, Arity}, + true, [global]) + end), + io:format("~10w: ~w:~w/~w", [Micros, Mod, Func, Arity]) + end + || Mod <- Modules, + {Func, Arity} <- Mod:module_info(exports)], + + ok. diff --git a/erts/emulator/test/tracer_SUITE.erl b/erts/emulator/test/tracer_SUITE.erl index d8f784220e42..480af955dcc9 100644 --- a/erts/emulator/test/tracer_SUITE.erl +++ b/erts/emulator/test/tracer_SUITE.erl @@ -56,7 +56,7 @@ init_per_suite(Config) -> erlang:trace_pattern({'_','_','_'}, false, []), purge(), - trace_sessions:init_per_suite(Config). + trace_sessions:init_per_suite(Config, ?MODULE). end_per_suite(Config) -> trace_sessions:end_per_suite(Config). diff --git a/erts/etc/unix/cerl.src b/erts/etc/unix/cerl.src index 05deeea3e363..af63ee1599df 100644 --- a/erts/etc/unix/cerl.src +++ b/erts/etc/unix/cerl.src @@ -387,14 +387,11 @@ if [ "x$GDB" = "x" ]; then if [ $EMU_NAME = "beam.valgrind.smp" ] && [ "x${VALGRIND_LOG_DIR}" != "x" ]; then # Always enable `perf` support as we use the same symbol map emu_xargs="$emu_xargs -JPperf true " - set -m - $taskset1 valgrind $valgrind_xml $valgrind_log $vgflags $BINDIR/$EMU_NAME $sched_arg $emu_xargs "$@" & - VG_PID=$! - fg + export ERL_SYM_MAP_FILE="/tmp/cerl.valgrind.$$.map" + $taskset1 valgrind $valgrind_xml $valgrind_log $vgflags $BINDIR/$EMU_NAME $sched_arg $emu_xargs "$@" VG_EXIT=$? - set +m - if [ -f /tmp/perf-$VG_PID.map ]; then - $ERL_TOP/scripts/valgrind_beamasm_update.escript $valgrind_log_file /tmp/perf-$VG_PID.map + if [ -f $ERL_SYM_MAP_FILE ]; then + $ERL_TOP/scripts/valgrind_beamasm_update.escript $valgrind_log_file $ERL_SYM_MAP_FILE fi exit $VG_EXIT else @@ -441,23 +438,24 @@ elif [ "x$GDB" = "xgdb" ]; then case "x$core" in x) # Get emu args to use from erlexec... - beam_args=`$EXEC -emu_args_exit $xargs ${1+"$@"}` - gdbcmd="--args $EMU_NAME $beam_args" + beam_args=`$EXEC -emu_args_exit $xargs ${1+"$@"} | sed 's/"/\\\\"/g' | tr '\n' ' '` + gdbcmd="set args $beam_args" ;; x/*) - gdbcmd="$EMU_NAME ${core}" + gdbcmd="core ${core}" GDBBP= ;; *) - dir=`pwd` - gdbcmd="$EMU_NAME ${dir}/${core}" + gdbcmd="core `pwd`/${core}" GDBBP= ;; esac + # Fire up gdb cmdfile="/tmp/.cerlgdb.$$" - echo "source $ROOTDIR/erts/etc/unix/etp-commands" > $cmdfile - # Fire up gdb in emacs... - exec gdb $GDBBP -x $cmdfile $gdbcmd + echo "file $BINDIR/$EMU_NAME" > $cmdfile + echo "$gdbcmd" >> $cmdfile + echo "source $ROOTDIR/erts/etc/unix/etp-commands" >> $cmdfile + exec gdb $GDBBP -x $cmdfile elif [ "x$GDB" = "xlldb" ]; then case "x$core" in x) @@ -484,11 +482,11 @@ elif [ "x$GDB" = "xegdb" ]; then gdbcmd="set args $beam_args" ;; x/*) - gdbcmd="core $core" + gdbcmd="core ${core}" GDBBP= ;; *) - gdbcmd="core `pwd`/$core" + gdbcmd="core `pwd`/${core}" GDBBP= ;; esac diff --git a/erts/etc/win32/wsl_tools/vc/cc.sh b/erts/etc/win32/wsl_tools/vc/cc.sh index 5203ff5f17c5..50abaf077798 100755 --- a/erts/etc/win32/wsl_tools/vc/cc.sh +++ b/erts/etc/win32/wsl_tools/vc/cc.sh @@ -307,7 +307,7 @@ while () { } flushDeps(); ' $MSG_FILE "$MPATH" - + RES=$? rm -f $ERR_FILE $MSG_FILE else # Compile diff --git a/erts/preloaded/ebin/erlang.beam b/erts/preloaded/ebin/erlang.beam index d4dff03cfbfd..6e90e635bea4 100644 Binary files a/erts/preloaded/ebin/erlang.beam and b/erts/preloaded/ebin/erlang.beam differ diff --git a/erts/preloaded/ebin/prim_inet.beam b/erts/preloaded/ebin/prim_inet.beam index beb6444af417..1d4e2e5ae0f7 100644 Binary files a/erts/preloaded/ebin/prim_inet.beam and b/erts/preloaded/ebin/prim_inet.beam differ diff --git a/erts/preloaded/src/erlang.erl b/erts/preloaded/src/erlang.erl index c4c6a4103c73..061f55cd4337 100644 --- a/erts/preloaded/src/erlang.erl +++ b/erts/preloaded/src/erlang.erl @@ -119,7 +119,7 @@ a bitstring with a size divisible by 8. -type byte() :: 0..255. -doc "An ASCII character or a `m:unicode` codepoint presented by an integer.". -type char() :: 0..16#10FFFF. --doc "The [dynamic](`e:system:typespec.md#dynamic`) type.". +-doc "The [dynamic](`e:system:typespec.md#dynamic`) type, which represents a statically unknown type". -type dynamic() :: dynamic(). -doc "An Erlang [float](`e:system:data_types.md#number`).". -type float() :: float(). @@ -5787,6 +5787,11 @@ See also [`erlang:send_after/4`](`send_after/4`), [`erlang:cancel_timer/2`](`cancel_timer/2`), and [`erlang:read_timer/2`](`read_timer/2`). +For more information on timers in Erlang in general, see the +[*Timers*](`e:erts:time_correction.md#timers`) section of the +[*Time and Time Correction in Erlang*](`e:erts:time_correction.md`) +ERTS User's guide. + Failure: `badarg` if the arguments do not satisfy the requirements specified here. """. diff --git a/erts/preloaded/src/init.erl b/erts/preloaded/src/init.erl index 7e5e8bb15214..3f03c689262a 100644 --- a/erts/preloaded/src/init.erl +++ b/erts/preloaded/src/init.erl @@ -90,8 +90,8 @@ The `init` module interprets the following command-line flags: It defaults to `strict` from OTP 27 and this option is scheduled for removal in OTP 28. -- **`-epmd_module Module`** - Specifies the module to use for registration and - lookup of node names. Defaults to `erl_epmd`. +- **`-epmd_module Module`** - This flag is deprecated and has been replaced by + the `kernel` application parameter [`epmd_module`](`e:kernel:kernel_app.md#epmd_module`). - **`-eval Expr`** - Scans, parses, and evaluates an arbitrary expression `Expr` during system initialization. If any of these steps fail (syntax error, parse diff --git a/lib/asn1/test/asn1_test_lib.erl b/lib/asn1/test/asn1_test_lib.erl index cf96c6983a96..9b08db10211f 100644 --- a/lib/asn1/test/asn1_test_lib.erl +++ b/lib/asn1/test/asn1_test_lib.erl @@ -307,16 +307,18 @@ ber_get_len(<<1:1,Octets:7,T0/binary>>) -> p_run(Test, List) -> %% Limit the number of parallel processes to avoid running out of - %% memory. + %% virtual address space or memory. This is especially important + %% on 32-bit Windows, where only 2 GB of virtual address space is + %% available. S = case {erlang:system_info(schedulers),erlang:system_info(wordsize)} of - {S0,4} -> - min(S0, 2); + {_,4} -> + 1; {S0,_} -> min(S0, 8) end, N = case test_server:is_cover() of false -> - S + 1; + S; true -> %% Cover is running. Using too many processes %% could slow us down. diff --git a/lib/common_test/doc/notes.md b/lib/common_test/doc/notes.md index 6608c20a4505..f9dae6badac8 100644 --- a/lib/common_test/doc/notes.md +++ b/lib/common_test/doc/notes.md @@ -122,6 +122,28 @@ limitations under the License. [GH-7972]: https://github.com/erlang/otp/issues/7972 [PR-8112]: https://github.com/erlang/otp/pull/8112 +## Common_Test 1.26.2.2 + +### Improvements and New Features + +* With this change, prefix option can be specified in cth_conn_log option list. Option allows to specify how much of additional information is added in raw log output. + + Own Id: OTP-19293 Aux Id: ERIERL-1139, PR-8924, PR-8931 + +## Common_Test 1.26.2.1 + +### Fixed Bugs and Malfunctions + +* With this change, HTML reports include jQuery version 3.7.1. + + Own Id: OTP-19252 Aux Id: PR-8858 +* With this change, jquery and tablesorter licenses are added to COPYRIGHT file. Also tablesorter is updated to version 2.32. + + Own Id: OTP-19265 Aux Id: PR-8876 +* Fixed a bug where the sum of testcases' execution time in HTML logs was sometimes miscalculated, and the table was not fully printed. + + Own Id: OTP-19284 Aux Id: ERIERL-1093, PR-8909 + ## Common_Test 1.26.2 ### Fixed Bugs and Malfunctions @@ -223,6 +245,20 @@ limitations under the License. Own Id: OTP-18478 Aux Id: GH-6903 +## Common_Test 1.24.0.4 + +### Fixed Bugs and Malfunctions + +* With this change, HTML reports include jQuery version 3.7.1. + + Own Id: OTP-19252 Aux Id: PR-8858 +* With this change, jquery and tablesorter licenses are added to COPYRIGHT file. Also tablesorter is updated to version 2.32. + + Own Id: OTP-19265 Aux Id: PR-8876 +* Fixed a bug where the sum of testcases' execution time in HTML logs was sometimes miscalculated, and the table was not fully printed. + + Own Id: OTP-19284 Aux Id: ERIERL-1093, PR-8909 + ## Common_Test 1.24.0.3 ### Fixed Bugs and Malfunctions diff --git a/lib/common_test/src/ct_conn_log_h.erl b/lib/common_test/src/ct_conn_log_h.erl index 216a8b7615ae..3959baedc545 100644 --- a/lib/common_test/src/ct_conn_log_h.erl +++ b/lib/common_test/src/ct_conn_log_h.erl @@ -31,8 +31,7 @@ -export([init/1, handle_event/2, handle_call/2, handle_info/2, terminate/2]). - --record(state, {logs=[], default_gl}). +-record(state, {logs=[], default_gl, prefix=disabled}). -define(WIDTH,80). @@ -40,8 +39,10 @@ %%%----------------------------------------------------------------- %%% Callbacks -init({GL,ConnLogs}) -> - open_files(GL,ConnLogs,#state{default_gl=GL}). +init({GL,ConnLogs,Opts}) -> + open_files(GL,ConnLogs, + #state{default_gl = GL, + prefix = proplists:get_value(prefix, Opts, disabled)}). open_files(GL,[{ConnMod,{LogType,LogFiles}}|T],State=#state{logs=Logs}) -> case do_open_files(LogFiles,[]) of @@ -104,6 +105,10 @@ terminate(_,#state{logs=Logs}) -> %%%----------------------------------------------------------------- %%% Writing reports +write_report(Time,#conn_log{header=false,module=ConnMod}=Info,Data,GL, + #state{prefix=PrefixType}=State) + when PrefixType==full;PrefixType==short -> + write_report_with_header(Info, GL, State, ConnMod, Data, Time); write_report(_Time,#conn_log{header=false,module=ConnMod}=Info,Data,GL,State) -> case get_log(Info,GL,State) of {silent,_,_} -> @@ -114,8 +119,14 @@ write_report(_Time,#conn_log{header=false,module=ConnMod}=Info,Data,GL,State) -> end, io:format(Fd,Str,[format_data(ConnMod,LogType,Data)]) end; - -write_report(Time,#conn_log{module=ConnMod}=Info,Data,GL,State) -> +write_report(Time,#conn_log{module=ConnMod}=Info,Data,GL,State0) -> + %% setting to full so output matches with legacy behavior when + %% header field is set to true + State = State0#state{prefix=full}, + write_report_with_header(Info, GL, State, ConnMod, Data, Time). + +write_report_with_header(Info, GL,#state{prefix=PrefixType}=State, + ConnMod, Data, Time) -> case get_log(Info,GL,State) of {silent,_,_} -> ok; @@ -129,13 +140,17 @@ write_report(Time,#conn_log{module=ConnMod}=Info,Data,GL,State) -> true -> "~n~ts~ts~ts" end, - io:format(Fd,Str,[format_head(ConnMod,LogType,Time), - format_title(LogType,Info), - FormattedData]) + io:format(Fd,Str, + [format_head(ConnMod,LogType,PrefixType,Time), + format_title(LogType,PrefixType,Info), + FormattedData]) end end. write_error(Time,#conn_log{module=ConnMod}=Info,Report,GL,State) -> + %% this function was including all prefix data no matter what + %% header field value is - leaving behavior as is it was + PrefixType = full, case get_log(Info,GL,State) of {LogType,_,_} when LogType==html; LogType==silent -> %% The error will anyway be written in the html log by the @@ -145,8 +160,8 @@ write_error(Time,#conn_log{module=ConnMod}=Info,Report,GL,State) -> Str = if LogType == html, Dest == gl -> ["$tc_html","~n~ts~ts~ts"]; true -> "~n~ts~ts~ts" end, - io:format(Fd,Str,[format_head(ConnMod,LogType,Time," ERROR"), - format_title(LogType,Info), + io:format(Fd,Str,[format_head(ConnMod,LogType,PrefixType,Time," ERROR"), + format_title(LogType,PrefixType,Info), format_error(LogType,Report)]) end. @@ -177,18 +192,22 @@ get_fd(#conn_log{name=ConnName},Fds) -> %%%----------------------------------------------------------------- %%% Formatting -format_head(ConnMod,LogType,Time) -> - format_head(ConnMod,LogType,Time,""). +format_head(ConnMod,LogType,PrefixType,Time) -> + format_head(ConnMod,LogType,PrefixType,Time,""). -format_head(ConnMod,raw,Time,Text) -> +format_head(_ConnMod,raw,short,Time,_Text) -> + io_lib:format("~n~s, ",[pretty_head(now_to_time(Time))]); +format_head(ConnMod,raw,_,Time,Text) -> io_lib:format("~n~w, ~w~ts, ",[now_to_time(Time),ConnMod,Text]); -format_head(ConnMod,_,Time,Text) -> +format_head(ConnMod,_,_,Time,Text) -> Head = pad_char_end(?WIDTH,pretty_head(now_to_time(Time),ConnMod,Text),$=), io_lib:format("~n~ts",[Head]). -format_title(raw,#conn_log{client=Client}=Info) -> +format_title(raw,short,_Info) -> + ""; +format_title(raw,full,#conn_log{client=Client}=Info) -> io_lib:format("Client ~tw ~s ~ts",[Client,actionstr(Info),serverstr(Info)]); -format_title(_,Info) -> +format_title(_,_,Info) -> Title = pad_char_end(?WIDTH,pretty_title(Info),$=), io_lib:format("~n~ts", [Title]). @@ -230,6 +249,11 @@ pretty_head({{{Y,Mo,D},{H,Mi,S}},MicroS},ConnMod,Text0) -> [Text,t(D),month(Mo),Y,t(H),t(Mi),t(S), micro2milli(MicroS)]). +pretty_head({{{Y,Mo,D},{H,Mi,S}},MicroS}) -> + io_lib:format("~s-~s-~w::~s:~s:~s,~s ", + [t(D),month(Mo),Y,t(H),t(Mi),t(S), + micro2milli(MicroS)]). + pretty_title(#conn_log{client=Client}=Info) -> io_lib:format("= Client ~tw ~s ~ts ", [Client,actionstr(Info),serverstr(Info)]). diff --git a/lib/common_test/src/ct_telnet.erl b/lib/common_test/src/ct_telnet.erl index 6523e1d4b9dc..c227799b692b 100644 --- a/lib/common_test/src/ct_telnet.erl +++ b/lib/common_test/src/ct_telnet.erl @@ -104,6 +104,12 @@ default value of this option is `raw`, which results in the behavior described above. If the value is set to `html`, all Telnet communication is printed to the test case HTML log instead. +For raw logs, `prefix` option can be used for adjusting prefix data +added to connection log. The default value of this option is +`disabled`, which results with no prefix data. If the value is set to +`full` prefix contains timestamp and additonal information. If the +value is set to `short` prefix includes only human readable timestamp. + All `cth_conn_log` hook options described can also be specified in a configuration file with configuration variable `ct_conn_log`. diff --git a/lib/common_test/src/cth_conn_log.erl b/lib/common_test/src/cth_conn_log.erl index 0ad64995ab19..e681f2bfb9c7 100644 --- a/lib/common_test/src/cth_conn_log.erl +++ b/lib/common_test/src/cth_conn_log.erl @@ -94,12 +94,13 @@ get_log_opts(Mod,Opts) -> end, LogType = proplists:get_value(log_type,Opts,DefaultLogType), Hosts = proplists:get_value(hosts,Opts,[]), - {LogType,Hosts}. + {LogType,Hosts,[{prefix, proplists:get_value(prefix,Opts,disabled)}]}. pre_init_per_testcase(_Suite,TestCase,Config,CthState) -> + {_, _, CtTelnetOpts} = proplists:get_value(ct_telnet, CthState, {null, null, []}), Logs = lists:map( - fun({ConnMod,{LogType,Hosts}}) -> + fun({ConnMod,{LogType,Hosts, _Opts}}) -> ct_util:set_testdata({{?MODULE,ConnMod},LogType}), case LogType of LogType when LogType==raw; LogType==pretty -> @@ -131,11 +132,11 @@ pre_init_per_testcase(_Suite,TestCase,Config,CthState) -> end end, CthState), - GL = group_leader(), Update = fun(Init) when Init == undefined; Init == [] -> - error_logger:add_report_handler(ct_conn_log_h,{GL,Logs}), + error_logger:add_report_handler(ct_conn_log_h, + {GL,Logs,CtTelnetOpts}), [TestCase]; (PrevUsers) -> error_logger:info_report(update,{GL,Logs}), diff --git a/lib/common_test/src/test_server.erl b/lib/common_test/src/test_server.erl index a45570d1b34c..ac53cf41d6ab 100644 --- a/lib/common_test/src/test_server.erl +++ b/lib/common_test/src/test_server.erl @@ -983,7 +983,7 @@ spawn_fw_call(Mod,Func,CurrConf,Pid,Error,Loc,SendTo) -> {died, NewReturn, [{Mod,Func}]}; NewReturn -> T = case Error of - {timetrap_timeout,TT} -> TT; + {timetrap_timeout,TT} -> TT/1000; _ -> 0 end, {T, NewReturn, Loc} diff --git a/lib/common_test/src/test_server_ctrl.erl b/lib/common_test/src/test_server_ctrl.erl index bdd5146857c7..e54fe32b8c21 100644 --- a/lib/common_test/src/test_server_ctrl.erl +++ b/lib/common_test/src/test_server_ctrl.erl @@ -1156,7 +1156,7 @@ init_tester(Mod, Func, Args, Dir, Name, {_,_,MinLev}=Levels, TotalTestTime = get(test_server_total_time), print(html,"\n\n\n" "TOTAL" - "~.3fs
~ts~w Ok, ~w Failed~ts of ~w
" + "~.fs
~ts~w Ok, ~w Failed~ts of ~w
" "Elapsed Time: ~.3fs\n" "\n", [TotalTestTime,SuccessStr,OkN,FailedN,SkipStr,OkN+FailedN+SkippedN, @@ -3686,12 +3686,16 @@ handle_io_and_exits(Main, CurrPid, CaseNum, Mod, Func, Cases) -> failed -> ReturnTime = case RetVal of {_, T} when is_number(T) -> T; + {died, {timetrap_timeout, T}, _} -> T/1000; + {T, _ , _} when is_number(T) -> T; _ -> 0 end, put(test_server_total_time, get(test_server_total_time) + ReturnTime), put(test_server_failed, get(test_server_failed)+1), ReturnTime; skipped -> + {ReturnTime, _, _} = RetVal, + put(test_server_total_time, get(test_server_total_time) + ReturnTime), SkipCounters = update_skip_counters(RetVal, get(test_server_skipped)), put(test_server_skipped, SkipCounters) @@ -3847,13 +3851,19 @@ run_test_case1(Ref, Num, Mod, Func, Args, RunInit, %% run the test case {Result,DetectedFail,ProcsBefore,ProcsAfter} = - run_test_case_apply(Num, Mod, Func, [UpdatedArgs], GrName, - RunInit, TimetrapData), + run_test_case_apply(Num, Mod, Func, [UpdatedArgs], GrName, + RunInit, TimetrapData), {Time,RetVal,Loc,Opts,Comment} = - case Result of - Normal={_Time,_RetVal,_Loc,_Opts,_Comment} -> Normal; - {died,DReason,DLoc,DCmt} -> {died,DReason,DLoc,[],DCmt} - end, + case Result of + {died,DReason,DLoc,DCmt} -> {died,DReason,DLoc,[],DCmt}; + Died={died,{timetrap_timeout,TimetrapTime},_DLoc,_DOpts,_Comment} when is_number(TimetrapTime) -> + put(test_server_total_time, TimetrapTime/1000 + get(test_server_total_time)), + Died; + Died={died,_,_,_,_}-> Died; + Normal={Time1,_RetVal,_Loc,_Opts,_Comment} when is_number(Time1) -> + put(test_server_total_time, Time1 + get(test_server_total_time)), + Normal + end, print(minor, "", [], internal_raw), print(minor, "\n", [], internal_raw), @@ -3923,21 +3933,8 @@ run_test_case1(Ref, Num, Mod, Func, Args, RunInit, {skip_init,_} -> % conf doesn't count ok; {_,ok} -> - case Loc of - [{Module, _}] when Module =/= ct_framework -> - put(test_server_total_time, get(test_server_total_time) + Time); - _ -> not_a_test_fun - end, put(test_server_ok, get(test_server_ok)+1); {_,failed} -> - DiedTime = case Time of - died -> case RetVal of - {_,T} when is_number(T) -> T; - _ -> 0 - end; - T when is_number(T) -> T - end, - put(test_server_total_time, get(test_server_total_time) + DiedTime), put(test_server_failed, get(test_server_failed)+1); {_,skip} -> {US,AS} = get(test_server_skipped), @@ -3952,7 +3949,7 @@ run_test_case1(Ref, Num, Mod, Func, Args, RunInit, Main -> case test_server_sup:framework_call(warn, [processes], true) of true -> - if ProcsBefore < ProcsAfter -> + if ProcsBefore < ProcsAfter -> print(minor, "WARNING: ~w more processes in system after test case", [ProcsAfter-ProcsBefore]); @@ -3989,11 +3986,6 @@ run_test_case1(Ref, Num, Mod, Func, Args, RunInit, %% if the test case was executed sequentially, this updates the execution %% time count on the main process (adding execution time of parallel test %% case groups is done in run_test_cases_loop/4) - if is_number(Time) -> - put(test_server_total_time, get(test_server_total_time)+Time); - true -> - ok - end, test_server_sup:check_new_crash_dumps(), %% if io is being buffered, send finished message @@ -4031,20 +4023,20 @@ num2str(N) -> integer_to_list(N). %% Note: Strings that are to be written to the minor log must %% be prefixed with "=== " here, or the indentation will be wrong. -progress(skip, CaseNum, Mod, Func, GrName, Loc, Reason, Time, +progress(skip, CaseNum, Mod, Func, GrName, Loc, Reason, T, Comment, {St0,St1}) -> {Reason1,{Color,Ret,ReportTag}} = if_auto_skip(Reason, fun() -> {?auto_skip_color,auto_skip,auto_skipped} end, fun() -> {?user_skip_color,skip,skipped} end), + Time = if is_number(T) -> float(T); true -> 0.0 end, print(major, "=result ~w: ~tp", [ReportTag,Reason1]), + print(major, "=elapsed ~.6fs", [Time]), print(1, "*** SKIPPED ~ts ***", [get_info_str(Mod,Func, CaseNum, get(test_server_cases))]), test_server_sup:framework_call(report, [tc_done,{Mod,{Func,GrName}, {ReportTag,Reason1}}]), - TimeStr = io_lib:format(if is_float(Time) -> "~.3fs"; - true -> "~w" - end, [Time]), + TimeStr = io_lib:format("~.fs", [Time]), ReasonStr = escape_chars(reason_to_string(Reason1)), ReasonStr1 = lists:flatten([string:trim(S,leading,"\s") || S <- string:lexemes(ReasonStr,[$\n])]), @@ -4071,7 +4063,9 @@ progress(skip, CaseNum, Mod, Func, GrName, Loc, Reason, Time, progress(failed, CaseNum, Mod, Func, GrName, Loc, timetrap_timeout, T, Comment0, {St0,St1}) -> + Time = if is_number(T) -> float(T); true -> 0.0 end, print(major, "=result failed: timeout, ~tp", [Loc]), + print(major, "=elapsed ~.6fs", [Time]), print(1, "*** FAILED ~ts ***", [get_info_str(Mod,Func, CaseNum, get(test_server_cases))]), test_server_sup:framework_call(report, @@ -4089,15 +4083,17 @@ progress(failed, CaseNum, Mod, Func, GrName, Loc, timetrap_timeout, T, "" ++ St0 ++ "~.3fs" ++ St1 ++ "" "FAILED" "~ts\n", - [T/1000,Comment]), + [Time/1000,Comment]), FormatLoc = test_server_sup:format_loc(Loc), print(minor, "=== Location: ~ts", [FormatLoc]), print(minor, "=== Reason: timetrap timeout", []), failed; -progress(failed, CaseNum, Mod, Func, GrName, Loc, {testcase_aborted,Reason}, _T, +progress(failed, CaseNum, Mod, Func, GrName, Loc, {testcase_aborted,Reason}, T, Comment0, {St0,St1}) -> + Time = if is_number(T) -> float(T); true -> 0.0 end, print(major, "=result failed: testcase_aborted, ~tp", [Loc]), + print(major, "=elapsed ~.6fs", [Time]), print(1, "*** FAILED ~ts ***", [get_info_str(Mod,Func, CaseNum, get(test_server_cases))]), test_server_sup:framework_call(report, @@ -4124,16 +4120,16 @@ progress(failed, CaseNum, Mod, Func, GrName, Loc, {testcase_aborted,Reason}, _T, [Reason]))]), failed; -progress(failed, CaseNum, Mod, Func, GrName, unknown, Reason, Time, +progress(failed, CaseNum, Mod, Func, GrName, unknown, Reason, T, Comment0, {St0,St1}) -> + Time = if is_number(T) -> float(T); true -> 0.0 end, print(major, "=result failed: ~tp, ~w", [Reason,unknown_location]), + print(major, "=elapsed ~.6fs", [Time]), print(1, "*** FAILED ~ts ***", [get_info_str(Mod,Func, CaseNum, get(test_server_cases))]), test_server_sup:framework_call(report, [tc_done,{Mod,{Func,GrName}, {failed,Reason}}]), - TimeStr = io_lib:format(if is_float(Time) -> "~.3fs"; - true -> "~w" - end, [Time]), + TimeStr = io_lib:format("~.fs", [Time]), ErrorReason = escape_chars(lists:flatten(io_lib:format("~tp", [Reason]))), ErrorReason1 = lists:flatten([string:trim(S,leading,"\s") || S <- string:lexemes(ErrorReason,[$\n])]), @@ -4163,7 +4159,7 @@ progress(failed, CaseNum, Mod, Func, GrName, unknown, Reason, Time, [escape_chars(io_lib:format("=== Reason: " ++ FStr, [FormattedReason]))]), failed; -progress(failed, CaseNum, Mod, Func, GrName, Loc, Reason, Time, +progress(failed, CaseNum, Mod, Func, GrName, Loc, Reason, T, Comment0, {St0,St1}) -> {LocMaj,LocMin} = if Func == error_in_suite -> case get_fw_mod(undefined) of @@ -4172,14 +4168,14 @@ progress(failed, CaseNum, Mod, Func, GrName, Loc, Reason, Time, end; true -> {Loc,Loc} end, + Time = if is_number(T) -> float(T); true -> 0.0 end, print(major, "=result failed: ~tp, ~tp", [Reason,LocMaj]), + print(major, "=elapsed ~.6fs", [Time]), print(1, "*** FAILED ~ts ***", [get_info_str(Mod,Func, CaseNum, get(test_server_cases))]), test_server_sup:framework_call(report, [tc_done,{Mod,{Func,GrName}, {failed,Reason}}]), - TimeStr = io_lib:format(if is_float(Time) -> "~.3fs"; - true -> "~w" - end, [Time]), + TimeStr = io_lib:format("~.fs", [Time]), Comment = case Comment0 of "" -> ""; @@ -4199,13 +4195,12 @@ progress(failed, CaseNum, Mod, Func, GrName, Loc, Reason, Time, escape_chars(io_lib:format(FStr, [FormattedReason]))]), failed; -progress(ok, _CaseNum, Mod, Func, GrName, _Loc, RetVal, Time, +progress(ok, _CaseNum, Mod, Func, GrName, _Loc, RetVal, T, Comment0, {St0,St1}) -> + Time = if is_number(T) -> float(T); true -> 0.0 end, print(minor, "successfully completed test case", []), test_server_sup:framework_call(report, [tc_done,{Mod,{Func,GrName},ok}]), - TimeStr = io_lib:format(if is_float(Time) -> "~.3fs"; - true -> "~w" - end, [Time]), + TimeStr = io_lib:format("~.fs", [Time]), Comment = case RetVal of {comment,RetComment} -> @@ -4222,7 +4217,7 @@ progress(ok, _CaseNum, Mod, Func, GrName, _Loc, RetVal, Time, _ -> "" ++ to_string(Comment0) ++ "" end end, - print(major, "=elapsed ~p", [Time]), + print(major, "=elapsed ~ts", [TimeStr]), print(html, "" ++ St0 ++ "~ts" ++ St1 ++ "" "Ok" diff --git a/lib/common_test/test/Makefile b/lib/common_test/test/Makefile index 7070639b9b57..e611e67c78d4 100644 --- a/lib/common_test/test/Makefile +++ b/lib/common_test/test/Makefile @@ -133,7 +133,7 @@ release_spec: opt release_tests_spec: $(INSTALL_DIR) "$(RELSYSDIR)" $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(COVERFILE) "$(RELSYSDIR)" - $(INSTALL_DATA) common_test.spec common_test.cover "$(RELSYSDIR)" + $(INSTALL_DATA) common_test.spec common_test_gh.spec common_test.cover "$(RELSYSDIR)" chmod -R u+w "$(RELSYSDIR)" @tar cf - *_SUITE_data property_test | (cd "$(RELSYSDIR)"; tar xf -) diff --git a/lib/common_test/test/common_test_gh.spec b/lib/common_test/test/common_test_gh.spec new file mode 100644 index 000000000000..803bd3c54c89 --- /dev/null +++ b/lib/common_test/test/common_test_gh.spec @@ -0,0 +1,2 @@ +{suites,"../common_test_test",all}. +{skip_suites,"../common_test_test",[ct_release_test_SUITE],"Versions not always correct"}. diff --git a/lib/common_test/test/ct_telnet_SUITE_data/ct_telnet_own_server_SUITE.erl b/lib/common_test/test/ct_telnet_SUITE_data/ct_telnet_own_server_SUITE.erl index 34df57027ebd..237dcee41ba5 100644 --- a/lib/common_test/test/ct_telnet_SUITE_data/ct_telnet_own_server_SUITE.erl +++ b/lib/common_test/test/ct_telnet_SUITE_data/ct_telnet_own_server_SUITE.erl @@ -29,10 +29,9 @@ %%-------------------------------------------------------------------- suite() -> - [ - {require,telnet_server_conn1,{unix,[telnet]}}, + [{require,telnet_server_conn1,{unix,[telnet]}}, {require,ct_conn_log}, - {ct_hooks, [{cth_conn_log,[]}]} + {ct_hooks, [{cth_conn_log,[{ct_telnet, [{prefix, short}]}]}]} ]. all() -> diff --git a/lib/common_test/test_server/ts_install.erl b/lib/common_test/test_server/ts_install.erl index 1951e77741f8..23a0398f262a 100644 --- a/lib/common_test/test_server/ts_install.erl +++ b/lib/common_test/test_server/ts_install.erl @@ -118,15 +118,17 @@ unix_autoconf(XConf) -> Env = proplists:get_value(crossenv,XConf,[]), Host = get_xcomp_flag("host", Flags), Build = get_xcomp_flag("build", Flags), + ConfigFlags = string:trim(proplists:get_value("configure_flags", Flags, ""),both,"\"") + ++ " " ++ os:getenv("CONFIG_FLAGS", ""), Threads = [" --enable-shlib-thread-safety" || erlang:system_info(threads) /= false], Debug = [" --enable-debug-mode" || string:find(erlang:system_info(system_version),"debug") =/= nomatch], - MXX_Build = [[$\s | Y] || Y <- string:lexemes(os:getenv("CONFIG_FLAGS", ""), " \t\n"), + MXX_Build = [[$\s | Y] || Y <- string:lexemes(ConfigFlags, " \t\n"), Y == "--enable-m64-build" orelse Y == "--enable-m32-build" orelse Y == "--disable-year2038"], - Args = Host ++ Build ++ Threads ++ Debug ++ " " ++ MXX_Build, + Args = Host ++ Build ++ Threads ++ Debug ++ MXX_Build, case filelib:is_file(Configure) of true -> OSXEnv = macosx_cflags(), @@ -184,7 +186,7 @@ get_xcomp_flag(Flag, Flags) -> get_xcomp_flag(Flag, Tag, Flags) -> case proplists:get_value(Flag,Flags) of undefined -> ""; - "guess" -> [" --",Tag,"=",os:cmd("$ERL_TOP/make/autoconf/config.guess")]; + "guess" -> [" --",Tag,"=",string:trim(os:cmd("$ERL_TOP/make/autoconf/config.guess"))]; HostVal -> [" --",Tag,"=",HostVal] end. diff --git a/lib/compiler/doc/notes.md b/lib/compiler/doc/notes.md index f2c164ce2675..f078274527be 100644 --- a/lib/compiler/doc/notes.md +++ b/lib/compiler/doc/notes.md @@ -46,7 +46,7 @@ This document describes the changes made to the Compiler application. - Fix `+deterministic` to work properly with documentation attributes. - Own Id: OTP-19142 Aux Id: [PR-8585] [GH-8579] + Own Id: OTP-19142 Aux Id: [PR-8585], [GH-8579] [PR-8567]: https://github.com/erlang/otp/pull/8567 [PR-8585]: https://github.com/erlang/otp/pull/8585 @@ -296,6 +296,14 @@ This document describes the changes made to the Compiler application. [PR-8090]: https://github.com/erlang/otp/pull/8090 [PR-8205]: https://github.com/erlang/otp/pull/8205 +## Compiler 8.4.3.2 + +### Fixed Bugs and Malfunctions + +* Fixed a bug where bogus code was generated for consecutive calls to erlang:setelement/2, potentially crashing the emulator. + + Own Id: OTP-19270 Aux Id: GH-8783 PR-8898 + ## Compiler 8.4.3.1 ### Fixed Bugs and Malfunctions diff --git a/lib/compiler/scripts/smoke-build/mix.lock b/lib/compiler/scripts/smoke-build/mix.lock index 9fb83798c481..0745240e9a3d 100644 --- a/lib/compiler/scripts/smoke-build/mix.lock +++ b/lib/compiler/scripts/smoke-build/mix.lock @@ -3,7 +3,7 @@ "goldrush": {:hex, :goldrush, "0.1.9", "f06e5d5f1277da5c413e84d5a2924174182fb108dabb39d5ec548b27424cd106", [:rebar3], [], "hexpm"}, "jsx": {:hex, :jsx, "2.9.0", "d2f6e5f069c00266cad52fb15d87c428579ea4d7d73a33669e12679e203329dd", [:mix, :rebar3], [], "hexpm"}, "lager": {:hex, :lager, "3.8.0", "3402b9a7e473680ca179fc2f1d827cab88dd37dd1e6113090c6f45ef05228a1c", [:rebar3], [{:goldrush, "0.1.9", [hex: :goldrush, repo: "hexpm", optional: false]}], "hexpm"}, - "rabbit_common": {:hex, :rabbit_common, "3.7.18", "4249efdf1fd96a81739ffad675582f980cc55aa0a02217e4907b4cd719c44822", [:make, :rebar3], [{:credentials_obfuscation, "1.1.0", [hex: :credentials_obfuscation, repo: "hexpm", optional: false]}, {:jsx, "2.9.0", [hex: :jsx, repo: "hexpm", optional: false]}, {:lager, "3.8.0", [hex: :lager, repo: "hexpm", optional: false]}, {:ranch, "1.7.1", [hex: :ranch, repo: "hexpm", optional: false]}, {:recon, "2.5.0", [hex: :recon, repo: "hexpm", optional: false]}], "hexpm"}, + "rabbit_common": {:hex, :rabbit_common, "3.7.20", "da022e3ef71c9932a1aa82a12e01bf5dec71f5ca79497c5c11282a2f2dcb443a", [:make, :rebar3], [{:credentials_obfuscation, "1.1.0", [hex: :credentials_obfuscation, repo: "hexpm", optional: false]}, {:jsx, "2.9.0", [hex: :jsx, repo: "hexpm", optional: false]}, {:lager, "3.8.0", [hex: :lager, repo: "hexpm", optional: false]}, {:ranch, "1.7.1", [hex: :ranch, repo: "hexpm", optional: false]}, {:recon, "2.5.0", [hex: :recon, repo: "hexpm", optional: false]}], "hexpm"}, "ranch": {:hex, :ranch, "1.7.1", "6b1fab51b49196860b733a49c07604465a47bdb78aa10c1c16a3d199f7f8c881", [:rebar3], [], "hexpm"}, "recon": {:hex, :recon, "2.5.0", "2f7fcbec2c35034bade2f9717f77059dc54eb4e929a3049ca7ba6775c0bd66cd", [:mix, :rebar3], [], "hexpm"}, } diff --git a/lib/compiler/scripts/smoke-mix.exs b/lib/compiler/scripts/smoke-mix.exs index 0bfb80b53c67..db996a7d3bfd 100644 --- a/lib/compiler/scripts/smoke-mix.exs +++ b/lib/compiler/scripts/smoke-mix.exs @@ -63,7 +63,7 @@ defmodule Smoke.MixProject do {:zotonic_stdlib, "~> 1.0"}, ] 'rabbitmq' -> - [{:rabbit_common, "~> 3.7"}] + [{:rabbit_common, "~> 3.7.20"}] _ -> [] end diff --git a/lib/compiler/src/beam_ssa_alias.erl b/lib/compiler/src/beam_ssa_alias.erl index 62d6d6586a9a..2a52c32e77bb 100644 --- a/lib/compiler/src/beam_ssa_alias.erl +++ b/lib/compiler/src/beam_ssa_alias.erl @@ -58,9 +58,12 @@ orig_st_map :: st_map(), repeats = sets:new([{version,2}]) :: sets:set(func_id()), %% The next unused variable name in caller - cnt = 0 :: non_neg_integer() + cnt = 0 :: non_neg_integer(), + forced_aliases :: #{ func_id() => var_set() } }). +-type var_set() :: sets:set(#b_var{}). + %% A code location refering to either the #b_set{} defining a variable %% or the terminator of a block. -type kill_loc() :: #b_var{} @@ -93,8 +96,12 @@ opt(StMap0, FuncDb0) -> try Funs = [ F || F <- maps:keys(StMap0), is_map_key(F, FuncDb0)], StMap1 = #{ F=>expand_record_update(OptSt) || F:=OptSt <- StMap0}, + ForcedAliases = foldl(fun(F, Acc) -> + #opt_st{ssa=Is} = map_get(F, StMap1), + Acc#{F=>forced_aliasing(Is)} + end, #{}, Funs), KillsMap = killsets(Funs, StMap1), - {StMap2, FuncDb} = aa(Funs, KillsMap, StMap1, FuncDb0), + {StMap2, FuncDb} = aa(Funs, KillsMap, StMap1, FuncDb0, ForcedAliases), StMap = #{ F=>restore_update_record(OptSt) || F:=OptSt <- StMap2}, {StMap, FuncDb} catch @@ -135,7 +142,7 @@ killsets_fun(Blocks) -> 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) -> +killsets_blks([], _LiveIns, Kills, _PhiLiveIns) -> Kills. killsets_blk(Lbl, #b_blk{is=Is0,last=L}=Blk, LiveIns0, Kills0, PhiLiveIns) -> @@ -287,10 +294,11 @@ killsets_blk_live_outs([], _, _, _, Acc) -> %%% 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()) -> +-spec aa([func_id()], kills_map(), st_map(), func_info_db(), + #{ func_id() => var_set() }) -> {st_map(), func_info_db()}. -aa(Funs, KillsMap, StMap, FuncDb) -> +aa(Funs, KillsMap, StMap, FuncDb, ForcedAliases) -> %% Set up the argument info to make all incoming arguments to %% exported functions aliased and all non-exported functions %% unique. @@ -306,7 +314,8 @@ aa(Funs, KillsMap, StMap, FuncDb) -> end, #{}, Funs), AAS = #aas{call_args=ArgsInfoIn, func_db=FuncDb,kills=KillsMap, - st_map=StMap, orig_st_map=StMap}, + st_map=StMap, orig_st_map=StMap, + forced_aliases=ForcedAliases}, aa_fixpoint(Funs, AAS). %%% @@ -366,7 +375,8 @@ aa_fixpoint([], Order, _OldAliasMap, _OldCallArgs, aa_fun(F, #opt_st{ssa=Linear0,args=Args}, AAS0=#aas{alias_map=AliasMap0,call_args=CallArgs0, - func_db=FuncDb,kills=KillsMap,repeats=Repeats0}) -> + func_db=FuncDb,kills=KillsMap,repeats=Repeats0, + forced_aliases=ForcedAliases}) -> %% 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 @@ -374,7 +384,8 @@ aa_fun(F, #opt_st{ssa=Linear0,args=Args}, {SS0,Cnt} = aa_init_fun_ss(Args, F, AAS0), #{F:=Kills} = KillsMap, {SS,#aas{call_args=CallArgs}=AAS} = - aa_blocks(Linear0, Kills, #{0=>SS0}, AAS0#aas{cnt=Cnt}), + aa_blocks(Linear0, Kills, #{0=>SS0}, AAS0#aas{cnt=Cnt}, + maps:get(F, ForcedAliases)), AliasMap = AliasMap0#{ F => SS }, PrevSS = maps:get(F, AliasMap0, #{}), Repeats = case PrevSS =/= SS orelse CallArgs0 =/= CallArgs of @@ -390,27 +401,29 @@ aa_fun(F, #opt_st{ssa=Linear0,args=Args}, AAS#aas{alias_map=AliasMap,repeats=Repeats}. %% Main entry point for the alias analysis -aa_blocks([{?EXCEPTION_BLOCK,_}|Bs], Kills, Lbl2SS, AAS) -> +aa_blocks([{?EXCEPTION_BLOCK,_}|Bs], Kills, Lbl2SS, AAS, ForcedAliases) -> %% 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) -> + aa_blocks(Bs, Kills, Lbl2SS, AAS, ForcedAliases); +aa_blocks([{L,#b_blk{is=Is0,last=T}}|Bs0], Kills, Lbl2SS0, + AAS0, ForcedAliases) -> #{L:=SS0} = Lbl2SS0, ?DP("Block: ~p~nSS: ~p~n", [L, SS0]), - {FullSS,AAS1} = aa_is(Is0, SS0, AAS0), + {FullSS,AAS1} = aa_is(Is0, SS0, AAS0, ForcedAliases), #{{live_outs,L}:=LiveOut} = Kills, {Lbl2SS1,Successors} = aa_terminator(T, FullSS, Lbl2SS0), PrunedSS = beam_ssa_ss:prune(LiveOut, FullSS), 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) -> + aa_blocks(Bs0, Kills, Lbl2SS, AAS1, ForcedAliases); +aa_blocks([], _Kills, Lbl2SS, AAS, _ForcedAliases) -> {Lbl2SS,AAS}. -aa_is([I=#b_set{dst=Dst,op=Op,args=Args,anno=Anno0}|Is], SS0, AAS0) -> +aa_is([I=#b_set{dst=Dst,op=Op,args=Args,anno=Anno0}|Is], SS0, + AAS0, ForcedAliases) -> ?DP("I: ~p~n", [I]), SS1 = beam_ssa_ss:add_var(Dst, unique, SS0), - {SS, AAS} = + {SS3, AAS} = case Op of %% Instructions changing the alias status. {bif,Bif} -> @@ -563,9 +576,15 @@ aa_is([I=#b_set{dst=Dst,op=Op,args=Args,anno=Anno0}|Is], SS0, AAS0) -> _ -> exit({unknown_instruction, I}) end, + SS = case sets:is_element(Dst, ForcedAliases) of + true -> + aa_set_aliased(Dst, SS3); + false -> + SS3 + end, ?DP("Post I: ~p.~n ~p~n", [I, SS]), - aa_is(Is, SS, AAS); -aa_is([], SS, AAS) -> + aa_is(Is, SS, AAS, ForcedAliases); +aa_is([], SS, AAS, _ForcedAliases) -> {SS, AAS}. aa_terminator(#b_br{succ=S,fail=S}, _SS, Lbl2SS) -> @@ -1401,3 +1420,93 @@ rur_args([Idx,V|Updates], Limit) -> [Idx,V|rur_args(Updates, Limit)]; rur_args([], _) -> []. + +%% +%% Detect when the same element is extracted from a tuple multiple +%% times in a function. Normally the CSE pass ensures that this is +%% only done once, but sometimes it decides that it is more efficient +%% to keep the tuple around and extract the element again. This +%% interacts badly with the alias analysis which takes care to +%% minimize the database it keeps about aliasing status to variables +%% that are live, and can therefore in rare cases fail to detect +%% aliasing. +%% +%% Instead of complicating and slowing down the main alias analysis, +%% we do a once over on all functions and detect when the same field +%% is extracted twice and store the afflicted variables in a +%% set. During the main alias analysis pass we consult the set and +%% forcibly alias the variable when it is defined. +%% +forced_aliasing(Linear) -> + forced_aliasing(Linear, #{0=>#{}}, sets:new()). + +forced_aliasing([{Lbl,#b_blk{last=Last,is=Is}}|Rest], SeenDb0, ToExtend0) -> + #{Lbl:=Seen0} = SeenDb0, + Successors = fa_successors(Last), + {Seen,ToExtend} = forced_aliasing_is(Is, Seen0, ToExtend0), + SeenDb = foldl(fun(Succ, Acc) -> fa_merge(Seen, Succ, Acc) end, + SeenDb0, Successors), + forced_aliasing(Rest, SeenDb, ToExtend); +forced_aliasing([], _Seen, ToExtend) -> + ToExtend. + +forced_aliasing_is([#b_set{op=get_tuple_element,dst=Dst,args=[Src,Idx]}|Is], + Seen, ToExtend0) -> + Aliases = forced_aliasing_get_aliases(Src, Idx, Seen), + ToExtend = forced_aliasing_extend_to(Dst, Aliases, ToExtend0), + forced_aliasing_is(Is, + forced_aliasing_add_seen(Src, Idx, Dst, Seen), + ToExtend); +forced_aliasing_is([#b_set{op=phi,dst=Dst,args=Args}|Is], Seen0, ToExtend) -> + %% If elements are extracted from the Phi-value, behave as if the + %% same elements were extracted from the in-values. + Seen = + foldl( + fun({Src,_}, Acc0) -> + ExtractedIdxs = maps:get(Src, Acc0, []), + foldl( + fun(Idx, Acc1) -> + forced_aliasing_add_seen(Src, Idx, Dst, Acc1) + end, Acc0, ExtractedIdxs) + end, Seen0, Args), + forced_aliasing_is(Is, Seen, ToExtend); +forced_aliasing_is([_|Is], Seen, ToExtend) -> + forced_aliasing_is(Is, Seen, ToExtend); +forced_aliasing_is([], Seen, ToExtend) -> + {Seen,ToExtend}. + +forced_aliasing_get_aliases(Src, Idx, Seen) -> + Key = {extracts,Src,Idx}, + case Seen of + #{Key:=Aliases} -> + Aliases; + #{} -> + [] + end. + +forced_aliasing_add_seen(Src, Idx, Dst, Seen0) -> + Key = {extracts,Src,Idx}, + Seen0#{Key=>ordsets:add_element(Dst, maps:get(Key, Seen0, [])), + Src=>ordsets:add_element(Idx, maps:get(Src, Seen0, []))}. + +forced_aliasing_extend_to(_, [], ToExtend) -> + ToExtend; +forced_aliasing_extend_to(Dst, Aliases, ToExtend) -> + foldl(fun sets:add_element/2, + sets:add_element(Dst, ToExtend), Aliases). + +fa_successors(#b_ret{}) -> + []; +fa_successors(#b_br{succ=S,fail=F}) -> + [S,F]; +fa_successors(#b_switch{list=Ls,fail=F}) -> + [F|[L || {_,L} <- Ls]]. + +fa_merge(Seen, Succ, SeenDb) -> + Other = maps:get(Succ, SeenDb, #{}), + SeenDb#{Succ=>maps:merge_with( + fun(_, A, B) -> + ordsets:union(A, B) + end, + Seen, Other)}. + diff --git a/lib/compiler/src/beam_ssa_codegen.erl b/lib/compiler/src/beam_ssa_codegen.erl index 2ed93d5e182c..9e7f94248a64 100644 --- a/lib/compiler/src/beam_ssa_codegen.erl +++ b/lib/compiler/src/beam_ssa_codegen.erl @@ -1378,7 +1378,7 @@ cg_block([#cg_set{op=update_record,dst=Dst0,args=Args0,anno=Anno}|T], Context, S Args = typed_args(Args0, Anno, St0), Dst = beam_arg(Dst0, St0), [Hint,{integer,Size},Src|Ss0] = Args, - Ss = cg_update_record_list(Ss0, []), + Ss = cg_update_record_list(Ss0), I = {update_record,Hint,Size,Src,Dst,{list,Ss}}, {Is1,St} = cg_block(T, Context, St0), {[I|Is1],St}; @@ -1916,12 +1916,15 @@ cg_test(raw_raise, _Fail, Args, Dst, _I) -> cg_test(resume, _Fail, [_,_]=Args, Dst, _I) -> cg_instr(resume, Args, Dst). -cg_update_record_list([{integer, Index}, Value], []) -> +cg_update_record_list([{integer, Index}, Value]) -> [Index, Value]; -cg_update_record_list([{integer, Index}, Value | Updates], Acc) -> - cg_update_record_list(Updates, [{Index, Value} | Acc]); -cg_update_record_list([], Acc) -> - append([[Index, Value] || {Index, Value} <- sort(Acc)]). +cg_update_record_list([_,_|_]=Updates) -> + cg_update_record_list_1(Updates, #{}). + +cg_update_record_list_1([{integer, Index}, Value | Updates], Acc) -> + cg_update_record_list_1(Updates, Acc#{ Index => Value }); +cg_update_record_list_1([], Acc) -> + append([[Index, Value] || Index := Value <- maps:iterator(Acc, ordered)]). cg_bs_get(Fail, #cg_set{dst=Dst0,args=Args,anno=Anno}=Set, St) -> [{atom,Type}|Ss0] = typed_args(Args, Anno, St), diff --git a/lib/compiler/src/beam_ssa_opt.erl b/lib/compiler/src/beam_ssa_opt.erl index fca1e08877aa..a6dfc0ddb384 100644 --- a/lib/compiler/src/beam_ssa_opt.erl +++ b/lib/compiler/src/beam_ssa_opt.erl @@ -1089,18 +1089,18 @@ cse_successors_1([L|Ls], Es0, M) -> end; cse_successors_1([], _, M) -> M. -cse_successor_fail(Fail, Src, Es0, M) -> +cse_successor_fail(Fail, Src, LHS0, M) -> case M of - #{Fail := Es1} when map_size(Es1) =:= 0 -> + #{Fail := RHS} when map_size(RHS) =:= 0 -> M; - #{Fail := Es1} -> - Es = #{Var => Val || Var := Val <- Es0, - is_map_key(Var, Es1), - Val =/= Src}, - M#{Fail := Es}; + #{Fail := RHS} -> + LHS = #{Var => Val || Var := Val <- LHS0, + is_map_key(Var, RHS), + Val =/= Src}, + M#{Fail := cse_intersection(LHS, RHS)}; #{} -> - Es = #{Var => Val || Var := Val <- Es0, Val =/= Src}, - M#{Fail => Es} + LHS = #{Var => Val || Var := Val <- LHS0, Val =/= Src}, + M#{Fail => LHS} end. %% Calculate the intersection of the two maps. Both keys and values diff --git a/lib/compiler/src/beam_z.erl b/lib/compiler/src/beam_z.erl index 486d497f1c91..88f874f69a41 100644 --- a/lib/compiler/src/beam_z.erl +++ b/lib/compiler/src/beam_z.erl @@ -141,6 +141,8 @@ undo_rename(I) -> I. remove_redundant_lines(Is) -> remove_redundant_lines_1(Is, none). +remove_redundant_lines_1([{executable_line,_,_}=I|Is], _PrevLoc) -> + [I|remove_redundant_lines_1(Is, none)]; remove_redundant_lines_1([{line,Loc}=I|Is], PrevLoc) -> if Loc =:= PrevLoc -> diff --git a/lib/compiler/src/compile.erl b/lib/compiler/src/compile.erl index 04f13f3080d5..978553e56b51 100644 --- a/lib/compiler/src/compile.erl +++ b/lib/compiler/src/compile.erl @@ -1640,7 +1640,7 @@ abstr_passes(AbstrStatus) -> {delay,[{iff,debug_info,?pass(save_abstract_code)}]}, - {iff,line_coverage,{pass,sys_coverage}}, + {delay,[{iff,line_coverage,{pass,sys_coverage}}]}, ?pass(expand_records), {iff,'dexp',{listing,"expand"}}, diff --git a/lib/compiler/src/v3_core.erl b/lib/compiler/src/v3_core.erl index e0fdc16de38f..e315f6c7ef87 100644 --- a/lib/compiler/src/v3_core.erl +++ b/lib/compiler/src/v3_core.erl @@ -1986,6 +1986,14 @@ append_tail_segment(Segs, St0) -> %% in the skip clause that will continue the iteration when %% the accumulator pattern didn't match. +skip_segments([#ibitstr{val=#c_var{},type=#c_literal{val=float}}=B|Rest], St, Acc) -> + skip_segments(Rest, St, [B#ibitstr{type=#c_literal{val=integer}}|Acc]); +skip_segments([#ibitstr{type=#c_literal{val=float}}=B|Rest], St0, Acc) -> + %% If the binary pattern has the form X:Y/float, the generated skip + %% clause is _:Y/integer, so that we skip as long as Y is valid. + {Var,St1} = new_var(St0), + B1 = B#ibitstr{val=Var,type=#c_literal{val=integer}}, + skip_segments(Rest, St1, [B1|Acc]); skip_segments([#ibitstr{val=#c_var{}}=B|Rest], St, Acc) -> %% We must keep the names of existing variables to ensure that %% patterns such as <> will work. diff --git a/lib/compiler/test/beam_ssa_SUITE.erl b/lib/compiler/test/beam_ssa_SUITE.erl index 49a15b4be777..e28868f64ba3 100644 --- a/lib/compiler/test/beam_ssa_SUITE.erl +++ b/lib/compiler/test/beam_ssa_SUITE.erl @@ -942,6 +942,8 @@ grab_bag(_Config) -> {reply,{ok,foo_bar},#{page_title := foo_bar}} = grab_bag_23(id(#{page_title => unset})), + ok = grab_bag_24(), + ok. grab_bag_1() -> @@ -1243,6 +1245,26 @@ grab_bag_23(#{page_title := unset} = State1) -> end}, State2}. + +-record(test, {a,b,c}). +-record(test_a, {a}). + +%% GH-8818: The CSE pass in beam_ssa_opt failed to intersect candidates on +%% the failure path, crashing the type optimization pass. +grab_bag_24() -> + {'EXIT', _} = catch do_grab_bag_24(id(0), id(0), id(0), id(0)), + ok. + +do_grab_bag_24(A, B, C, D) -> + A#test.a, + {E, F} = ext:ernal(D#test_a.a), + if + D#test_a.a == 0 andalso (B < E * A#test.a) orelse (B > F * A#test.a) -> + false; + (C =:= A#test.b) orelse (C =:= A#test.a) -> + true + end. + redundant_br(_Config) -> {false,{x,y,z}} = redundant_br_1(id({x,y,z})), {true,[[a,b,c]]} = redundant_br_1(id([[[a,b,c]]])), 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 75a750ee0700..2dcf0cc8f649 100644 --- a/lib/compiler/test/beam_ssa_check_SUITE_data/alias.erl +++ b/lib/compiler/test/beam_ssa_check_SUITE_data/alias.erl @@ -106,7 +106,8 @@ fuzz0/0, fuzz0/1, alias_after_phi/0, - check_identifier_type/0]). + check_identifier_type/0, + gh9014_main/0]). %% Trivial smoke test transformable0(L) -> @@ -1150,3 +1151,32 @@ should_return_unique({X}) -> %ssa% (_) when post_ssa_opt -> %ssa% ret(R) { unique => [R] }. X. + +%% Check that the alias analysis doesn't fail to detect aliasing when +%% a tuple element is extracted multiple times in a function. +gh9014_inc_counter(Counter) -> +%ssa% (Counter) when post_ssa_opt -> +%ssa% _ = get_tuple_element(Counter, 1) {aliased => [Counter]}. + CounterValue = erlang:element(2, Counter), + erlang:setelement(2, Counter, CounterValue + 1). + +gh9014_wibble(State) -> +%ssa% (State) when post_ssa_opt -> +%ssa% X = get_tuple_element(State, 1) {unique => [State]}, +%ssa% _ = call(fun gh9014_inc_counter/1, X) {aliased => [X]}, +%ssa% Y = get_tuple_element(State, 1) {unique => [State]}, +%ssa% ret(Y) {aliased => [Y]}. + gh9014_inc_counter(erlang:element(2, State)), + Counter = erlang:element(2, State), + CounterValue = erlang:element(2, Counter), + case CounterValue >= 1 of + true -> + Counter; + false -> + NewCounter = gh9014_inc_counter(Counter), + NewState = erlang:setelement(2, State, NewCounter), + gh9014_wibble(NewState) + end. + +gh9014_main() -> + {counter, 1} = gh9014_wibble({state, {counter, 0}}). diff --git a/lib/compiler/test/bs_bincomp_SUITE.erl b/lib/compiler/test/bs_bincomp_SUITE.erl index 3d95ec29d87e..4e4813eec263 100644 --- a/lib/compiler/test/bs_bincomp_SUITE.erl +++ b/lib/compiler/test/bs_bincomp_SUITE.erl @@ -29,7 +29,7 @@ extended_bit_aligned/1,mixed/1,filters/1,trim_coverage/1, nomatch/1,sizes/1,general_expressions/1, no_generator/1,zero_pattern/1,multiple_segments/1, - grab_bag/1]). + grab_bag/1,float_skip/1]). -include_lib("common_test/include/ct.hrl"). @@ -41,7 +41,7 @@ all() -> extended_bit_aligned, mixed, filters, trim_coverage, nomatch, sizes, general_expressions, no_generator, zero_pattern, multiple_segments, - grab_bag]. + grab_bag, float_skip]. groups() -> []. @@ -720,4 +720,13 @@ cs_default(Bin) -> erts_debug:get_internal_state({binary_info,Bin}), Bin. +float_skip(Config) when is_list(Config) -> + BadFloat = <<-1:64>>, + [1.0,1.5,200.0] = [X || <> <= <>], + [24.0,+48.5,21.0] =[X || <> <= <<24:64/float, + BadFloat/binary, 48.5:64/float, 21:64/float>>], + [a,a] =[a || <<0:64/float>> <= <<0:64/float, BadFloat/binary, + 0:64/float, 1.0:64/float>>]. + id(I) -> I. diff --git a/lib/compiler/test/compile_SUITE.erl b/lib/compiler/test/compile_SUITE.erl index e0791172c440..a8f57ea5d57c 100644 --- a/lib/compiler/test/compile_SUITE.erl +++ b/lib/compiler/test/compile_SUITE.erl @@ -41,7 +41,8 @@ deterministic_docs/1, compile_attribute/1, message_printing/1, other_options/1, transforms/1, erl_compile_api/1, types_pp/1, bs_init_writable/1, - annotations_pp/1, option_order/1 + annotations_pp/1, option_order/1, + sys_coverage/1 ]). suite() -> [{ct_hooks,[ts_install_cth]}]. @@ -64,7 +65,7 @@ all() -> deterministic_docs, compile_attribute, message_printing, other_options, transforms, erl_compile_api, types_pp, bs_init_writable, annotations_pp, - option_order]. + option_order, sys_coverage]. groups() -> []. @@ -2317,6 +2318,42 @@ option_order(Config) -> run(Config, Ts), ok. +sys_coverage(Config) -> + DataDir = proplists:get_value(data_dir, Config), + + sys_coverage_1(DataDir), + sys_coverage_2(DataDir), + + ok. + +%% Make sure that the `line_coverage` option will not change line +%% numbers in exceptions. +sys_coverage_1(DataDir) -> + Mod = exceptions, + Source = filename:join(DataDir, "exceptions"), + {ok,Mod,Code} = compile:file(Source, [line_coverage,binary,report]), + {module,Mod} = code:load_binary(Mod, "", Code), + + Mod:Mod(DataDir), + + true = code:delete(Mod), + false = code:purge(Mod), + + ok. + +%% Make sure that the `line_coverage` option given in the `compile` +%% attribute in a module works. +sys_coverage_2(DataDir) -> + Mod = embedded_line_coverage, + Source = filename:join(DataDir, "embedded_line_coverage"), + {ok,Mod,Asm} = compile:file(Source, ['S',binary,report]), + + {Mod,_,_,Fs,_} = Asm, + [{function,add,2,_,Is}|_] = Fs, + true = lists:keymember(executable_line, 1, Is), + + ok. + %%% %%% Utilities. %%% diff --git a/lib/compiler/test/compile_SUITE_data/embedded_line_coverage.erl b/lib/compiler/test/compile_SUITE_data/embedded_line_coverage.erl new file mode 100644 index 000000000000..c9f34e343c07 --- /dev/null +++ b/lib/compiler/test/compile_SUITE_data/embedded_line_coverage.erl @@ -0,0 +1,29 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2024. 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(embedded_line_coverage). +-export([add/2]). + +%% Test that using the `line_coverage` option works when given in a +%% module. +-compile([line_coverage]). + +add(A, B) -> + A + B. diff --git a/lib/compiler/test/compile_SUITE_data/exceptions.erl b/lib/compiler/test/compile_SUITE_data/exceptions.erl new file mode 100644 index 000000000000..8cbffdcc5923 --- /dev/null +++ b/lib/compiler/test/compile_SUITE_data/exceptions.erl @@ -0,0 +1,18 @@ +-module(exceptions). +-export([?MODULE/1]). + +wrong_line() -> %Line 4 + {ok,_} = id(error), %Line 5 + ok. %Line 6 + +?MODULE(Unknown) -> + id(Unknown), + + {'EXIT',{{badmatch,error}, + [{?MODULE,wrong_line,0,Loc}|_]}} = catch wrong_line(), + {line,5} = lists:keyfind(line, 1, Loc), + + ok. + +id(I) -> + I. diff --git a/lib/compiler/test/record_SUITE.erl b/lib/compiler/test/record_SUITE.erl index 2c7ca533f715..2566297d0a9c 100644 --- a/lib/compiler/test/record_SUITE.erl +++ b/lib/compiler/test/record_SUITE.erl @@ -29,7 +29,7 @@ errors/1,record_test_2/1,record_test_3/1,record_access_in_guards/1, guard_opt/1,eval_once/1,foobar/1,missing_test_heap/1, nested_access/1,coverage/1,grab_bag/1,slow_compilation/1, - record_updates/1]). + record_updates/1, duplicate_update_record/1]). init_per_testcase(_Case, Config) -> Config. @@ -49,7 +49,7 @@ groups() -> [errors,record_test_2,record_test_3, record_access_in_guards,guard_opt,eval_once,foobar, missing_test_heap,nested_access,coverage,grab_bag, - slow_compilation,record_updates]}]. + slow_compilation,record_updates, duplicate_update_record]}]. init_per_suite(Config) -> @@ -845,6 +845,20 @@ record_updates(_Config) -> ok. +%% GH-8783: Duplicate indexes in update_record crashed the emulator. +duplicate_update_record(Config) when is_list(Config) -> + DuplicateUR0 = id({id(left), id(right)}), + {_, _} = DuplicateUR0, + + DuplicateUR1 = erlang:setelement(2, DuplicateUR0, false), + DuplicateUR = erlang:setelement(2, DuplicateUR1, false), + {'EXIT', _} = catch duplicate_update_record_1(DuplicateUR), + + ok. + +duplicate_update_record_1(_) -> + erlang:error(crash). + %%% %%% Common utilities. %%% diff --git a/lib/compiler/test/test_lib.erl b/lib/compiler/test/test_lib.erl index 7ad2272450d2..3b1cff569212 100644 --- a/lib/compiler/test/test_lib.erl +++ b/lib/compiler/test/test_lib.erl @@ -163,14 +163,15 @@ highest_opcode(Beam) -> p_run(Test, List) -> %% Limit the number of parallel processes to avoid running out of - %% memory. - S = case {erlang:system_info(schedulers),erlang:system_info(wordsize)} of - {S0,4} -> - min(S0, 2); - {S0,8} -> - min(S0, 8) + %% virtual address space or memory. This is especially important + %% on 32-bit Windows, where only 2 GB of virtual address space is + %% available. + N = case {erlang:system_info(schedulers),erlang:system_info(wordsize)} of + {_,4} -> + 1; + {N0,8} -> + min(N0, 8) end, - N = S + 1, p_run(Test, List, N). p_run(Test, List, N) -> diff --git a/lib/crypto/c_src/algorithms.c b/lib/crypto/c_src/algorithms.c index c0d473fa5897..e02b85b0b7eb 100644 --- a/lib/crypto/c_src/algorithms.c +++ b/lib/crypto/c_src/algorithms.c @@ -39,8 +39,7 @@ void init_pubkey_types(ErlNifEnv* env); static ERL_NIF_TERM algo_curve[2][89]; /* increase when extending the list */ static ErlNifMutex* mtx_init_curve_types; -void init_curve_types(ErlNifEnv* env); -int get_curve_cnt(ErlNifEnv* env, int fips); +static int get_curve_cnt(ErlNifEnv* env, int fips); static unsigned int algo_rsa_opts_cnt, algo_rsa_opts_fips_cnt; static ERL_NIF_TERM algo_rsa_opts[11]; /* increase when extending the list */ @@ -56,7 +55,6 @@ void init_algorithms_types(ErlNifEnv* env) init_hash_types(env); #endif init_pubkey_types(env); - init_curve_types(env); init_rsa_opts_types(env); /* ciphers and macs are initiated statically */ } @@ -233,9 +231,9 @@ ERL_NIF_TERM curve_algorithms(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[ return enif_make_list_from_array(env, algo_curve[fips_mode], algo_curve_cnt); } -int init_curves(ErlNifEnv* env, int fips); +static int init_curves(ErlNifEnv* env, int fips); #if defined(HAVE_EC) -int valid_curve(int nid); +static int valid_curve(int nid); #endif int get_curve_cnt(ErlNifEnv* env, int fips) { @@ -252,16 +250,14 @@ int get_curve_cnt(ErlNifEnv* env, int fips) { enif_mutex_lock(mtx_init_curve_types); if (1 == fips) { - if (algo_curve_fips_cnt >= 0) { - return algo_curve_fips_cnt; + if (algo_curve_fips_cnt < 0) { + algo_curve_fips_cnt = init_curves(env, 1); } - algo_curve_fips_cnt = init_curves(env, 1); cnt = algo_curve_fips_cnt; } else { - if (algo_curve_cnt >= 0) { - return algo_curve_cnt; + if (algo_curve_cnt < 0) { + algo_curve_cnt = init_curves(env, 0); } - algo_curve_cnt = init_curves(env, 0); cnt = algo_curve_cnt; } enif_mutex_unlock(mtx_init_curve_types); @@ -269,39 +265,6 @@ int get_curve_cnt(ErlNifEnv* env, int fips) { return cnt; } -void init_curve_types(ErlNifEnv* env) { - /* Initialize the curve counters and curve's lists - by calling get_curve_cnt - */ -#ifdef FIPS_SUPPORT - if (FIPS_MODE()) { - // FIPS enabled - get_curve_cnt(env, 1); - (void) FIPS_mode_set(0); // disable - get_curve_cnt(env, 0); - (void) FIPS_mode_set(1); // re-enable - } else { - // FIPS disabled but available - get_curve_cnt(env, 0); - if (FIPS_mode_set(1)) { // enable - get_curve_cnt(env, 1); - (void) FIPS_mode_set(0); // re-disable - } - } -#else - // FIPS mode is not available - get_curve_cnt(env, 0); -#endif - -# ifdef DEBUG - { - int curve_cnt = get_curve_cnt(env, 0); - ASSERT(curve_cnt <= sizeof(algo_curve[0])/sizeof(ERL_NIF_TERM)); - } -# endif -} - - int init_curves(ErlNifEnv* env, int fips) { #if defined(HAVE_EC) int cnt = 0; @@ -651,6 +614,8 @@ int init_curves(ErlNifEnv* env, int fips) { #endif } + ASSERT(cnt <= sizeof(algo_curve[0])/sizeof(ERL_NIF_TERM)); + return cnt; #else /* if not HAVE_EC */ return 0; diff --git a/lib/crypto/c_src/digest.c b/lib/crypto/c_src/digest.c index 01b6cbe751f8..87600c587d3a 100644 --- a/lib/crypto/c_src/digest.c +++ b/lib/crypto/c_src/digest.c @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 2010-2023. All Rights Reserved. + * Copyright Ericsson AB 2010-2024. 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. @@ -116,7 +116,8 @@ static struct digest_type_t digest_types[] = {"shake128", "SHAKE-128", 0, 0, #ifdef HAVE_SHAKE128 - {&EVP_shake128, NULL} + {&EVP_shake128, NULL}, + 16, /* xof_default_length */ #else {NULL,NULL} #endif @@ -124,7 +125,8 @@ static struct digest_type_t digest_types[] = {"shake256", "SHAKE-256", 0, 0, #ifdef HAVE_SHAKE256 - {&EVP_shake256, NULL} + {&EVP_shake256, NULL}, + 32, /* xof_default_length */ #else {NULL,NULL} #endif diff --git a/lib/crypto/c_src/digest.h b/lib/crypto/c_src/digest.h index de02ef36003f..9a5614ec10c0 100644 --- a/lib/crypto/c_src/digest.h +++ b/lib/crypto/c_src/digest.h @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 2010-2021. All Rights Reserved. + * Copyright Ericsson AB 2010-2024. 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. @@ -32,6 +32,7 @@ struct digest_type_t { const EVP_MD* (*funcp)(void); /* before init, NULL if notsup */ const EVP_MD* p; /* after init, NULL if notsup */ }md; + unsigned int xof_default_length; /* 0 or default digest length for XOF digests */ }; /* masks in the flags field if digest_type_t */ diff --git a/lib/crypto/c_src/hash.c b/lib/crypto/c_src/hash.c index 4d1c4dfdd8a8..132c9aaed828 100644 --- a/lib/crypto/c_src/hash.c +++ b/lib/crypto/c_src/hash.c @@ -154,6 +154,21 @@ ERL_NIF_TERM hash_init_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) if (EVP_DigestInit(ctx->ctx, digp->md.p) != 1) assign_goto(ret, done, EXCP_ERROR(env, "Low-level call EVP_DigestInit failed")); +#if OPENSSL_VERSION_NUMBER >= PACKED_OPENSSL_VERSION_PLAIN(3,4,0) + /* + * The default digest length for shake128 and shake256 was removed + * in OpenSSL 3.4, so we set them to be backward compatible with ourself. + */ + if (digp->xof_default_length) { + OSSL_PARAM params[2]; + params[0] = OSSL_PARAM_construct_uint("xoflen", &digp->xof_default_length); + params[1] = OSSL_PARAM_construct_end(); + if (!EVP_MD_CTX_set_params(ctx->ctx, params)) { + assign_goto(ret, done, EXCP_ERROR(env, "Can't set param xoflen")); + } + } +#endif + ret = enif_make_resource(env, ctx); done: diff --git a/lib/crypto/doc/notes.md b/lib/crypto/doc/notes.md index 020d6db78fec..6f8970efac1a 100644 --- a/lib/crypto/doc/notes.md +++ b/lib/crypto/doc/notes.md @@ -99,6 +99,28 @@ This document describes the changes made to the Crypto application. [PR-8168]: https://github.com/erlang/otp/pull/8168 [PR-8233]: https://github.com/erlang/otp/pull/8233 +## Crypto 5.4.2.3 + +### Fixed Bugs and Malfunctions + +* Fixed bug that could cause blocking scheduler threads in `crypto:supports(curves)` if called the first time by more than one Erlang process. Bug exists only in OTP-26.2.5.4. + + Own Id: OTP-19316 Aux Id: GH-8971, PR-8979 +* Fixed `crypto:hash_final/1` for digest types `shake128` and `shake256` when using OpenSSL 3.4 or newer. + + Own Id: OTP-19329 Aux Id: GH-8997, PR-9002 + +## Crypto 5.4.2.2 + +### Fixed Bugs and Malfunctions + +* crypto built with `--enable-fips` will now accept an OpenSSL 3 lib without fips provider as long as fips mode is not enabled. + + Own Id: OTP-19212 Aux Id: GH-8562, PR-8762 +* `crypto:strong_rand_bytes/2` fixed to work on Ubuntu pro with installed FIPS support. + + Own Id: OTP-19223 Aux Id: PR-8800, GH-8769 + ## Crypto 5.4.2.1 ### Improvements and New Features diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl index 8149637bcfae..3683c6e3ccca 100644 --- a/lib/crypto/test/crypto_SUITE.erl +++ b/lib/crypto/test/crypto_SUITE.erl @@ -806,9 +806,9 @@ hash(Config) when is_list(Config) -> hash_xof() -> [{doc, "Test all different hash_xof functions"}]. hash_xof(Config) when is_list(Config) -> - {Type, MsgsLE, Digests, Lengths} = proplists:get_value(hash_xof, Config), + {Type, DefaultLen, MsgsLE, Digests, Lengths} = proplists:get_value(hash_xof, Config), Msgs = lazy_eval(MsgsLE), - hash_xof(Type, Msgs, Digests, Lengths). + hash_xof(Type, DefaultLen, Msgs, Digests, Lengths). %%-------------------------------------------------------------------- no_hash() -> @@ -1569,15 +1569,29 @@ hash(Type, [Msg | RestMsg], [Digest| RestDigest]) -> ct:fail({{crypto, hash, [Type, Msg]}, {expected, Digest}, {got, Other}}) end. -hash_xof(_, [], [], []) -> +hash_xof(_, _, [], [], []) -> ok; -hash_xof(Type, [Msg | RestMsg], [Digest | RestDigest], [Length | RestLength]) -> - case crypto:hash_xof(Type, Msg, Length) of - Digest -> - hash_xof(Type, RestMsg, RestDigest, RestLength); - Other -> - ct:fail({{crypto, hash_xof, [Type, Msg, Length]}, {expected, Digest}, {got, Other}}) - end. +hash_xof(Type, DefaultLen, [Msg | RestMsg], [Digest | RestDigest], [Length | RestLength]) -> + case crypto:hash_xof(Type, Msg, Length) of + Digest -> + ok; + Other1 -> + ct:fail({{crypto, hash_xof, [Type, Msg, Length]}, {expected, Digest}, {got, Other1}}) + end, + case Length of + DefaultLen -> + State1 = crypto:hash_init(Type), + State2 = crypto:hash_update(State1, Msg), + case crypto:hash_final(State2) of + Digest -> + ok; + Other2 -> + ct:fail({{crypto, hash_xof, [Type, Msg, Length]}, {expected, Digest}, {got, Other2}}) + end; + _ -> + ok % No crypto:hash_init({Type,Length}) support yet + end, + hash_xof(Type, DefaultLen, RestMsg, RestDigest, RestLength). hash_increment(Type, Increments, Digest) -> State = crypto:hash_init(Type), @@ -2215,10 +2229,10 @@ group_config(sm3 = Type, Config) -> [{hash, {Type, Msgs, Digests}} | Config]; group_config(shake128 = Type, Config) -> {Msgs,Digests,Lengths} = sha3_shake128_test_vectors(Type), - [{hash_xof, {Type, Msgs, Digests, Lengths}} | Config]; + [{hash_xof, {Type, 128, Msgs, Digests, Lengths}} | Config]; group_config(shake256 = Type, Config) -> {Msgs,Digests,Lengths} = sha3_shake256_test_vectors(Type), - [{hash_xof, {Type, Msgs, Digests, Lengths}} | Config]; + [{hash_xof, {Type, 256, Msgs, Digests, Lengths}} | Config]; group_config(blake2b = Type, Config) -> {Msgs, Digests} = blake2_test_vectors(Type), [{hash, {Type, Msgs, Digests}} | Config]; diff --git a/lib/debugger/src/dbg_iload.erl b/lib/debugger/src/dbg_iload.erl index abb3529f5b36..aba270a9290f 100644 --- a/lib/debugger/src/dbg_iload.erl +++ b/lib/debugger/src/dbg_iload.erl @@ -528,10 +528,17 @@ expr({'fun',Anno,{clauses,Cs0}}, _Lc, St) -> expr({'fun',Anno,{function,F,A}}, _Lc, _St) -> %% New R8 format (abstract_v2). Line = ln(Anno), - As = new_vars(A, Line), - Name = new_fun_name(), - Cs = [{clause,Line,As,[],[{local_call,Line,F,As,true}]}], - {make_fun,Line,Name,Cs}; + case erl_internal:bif(F, A) of + true -> + %% Auto-imported BIF. Create an external fun. + {value,Line,fun erlang:F/A}; + false -> + %% A local function. + As = new_vars(A, Line), + Name = new_fun_name(), + Cs = [{clause,Line,As,[],[{local_call,Line,F,As,true}]}], + {make_fun,Line,Name,Cs} + end; expr({named_fun,Anno,FName,Cs0}, _Lc, St) -> Cs = fun_clauses(Cs0, St), Name = new_fun_name(), diff --git a/lib/debugger/src/dbg_wx_mon_win.erl b/lib/debugger/src/dbg_wx_mon_win.erl index 0e8906aa1ecf..1a582fb1a40e 100644 --- a/lib/debugger/src/dbg_wx_mon_win.erl +++ b/lib/debugger/src/dbg_wx_mon_win.erl @@ -558,7 +558,7 @@ handle_event(#wx{obj=ListBox, event=#wxMouse{type=right_down, x=X,y=Y}}, Row -> ModS = wxListBox:getString(ListBox,Row), io:format("Re-loading/interpreting: ~s~n", [ModS]), - int:i(list_to_atom(ModS)), + _ = int:i(list_to_atom(ModS)), ignore end; diff --git a/lib/debugger/src/debugger.erl b/lib/debugger/src/debugger.erl index 8af7f3f901a2..468f810e812a 100644 --- a/lib/debugger/src/debugger.erl +++ b/lib/debugger/src/debugger.erl @@ -142,7 +142,7 @@ Process" window. For details, see the Name :: atom(), Args :: [term()]. quick(M, F, A) -> - int:i(M), + _ = int:i(M), auto_attach([init]), apply(M, F, A). diff --git a/lib/debugger/src/i.erl b/lib/debugger/src/i.erl index d43ef4032e33..7cdd42506c79 100644 --- a/lib/debugger/src/i.erl +++ b/lib/debugger/src/i.erl @@ -81,17 +81,19 @@ im() -> -doc """ Interprets the specified module(s) on the local node. +- If `AbsModule :: Module | File`, then `Result :: {module, Module} | error`. +- If `AbsModules :: [AbsModule]`, then `Result :: ok`. + See `int:i/1` for more information. """. --spec ii(AbsModule) -> {module, Module} | error when - AbsModule :: Module | File, - Module :: module(), - File :: file:name_all(); - (AbsModules) -> ok when - AbsModules :: [AbsModule], - AbsModule :: Module | File, - Module :: module(), - File :: file:name_all(). +-spec ii(AbsModules | AbsModule) -> Result when + AbsModules :: [AbsModule,...], + AbsModule :: Module | File, + Module :: module(), + File :: file:name_all(), + Result :: AbsModuleResult | AbsModulesResult, + AbsModuleResult :: {module, Module} | error, + AbsModulesResult :: ok. ii(Module) -> int:i(Module). @@ -112,17 +114,19 @@ iq(Module) -> -doc """ Interprets the specified module(s) on all known nodes. +- If `AbsModule :: Module | File`, then `Result :: {module, Module} | error`. +- If `AbsModules :: [AbsModule]`, then `Result :: ok`. + See `int:ni/1` for more information. """. --spec ini(AbsModules) -> ok when - AbsModules :: [AbsModule], - AbsModule :: Module | File, - Module :: module(), - File :: file:name_all(); - (AbsModule) -> {module, Module} | error when - AbsModule :: Module | File, - Module :: module(), - File :: file:name_all(). +-spec ini(AbsModules | AbsModule) -> Result when + AbsModules :: [AbsModule], + AbsModule :: Module | File, + Module :: module(), + File :: file:name_all(), + Result :: AbsModuleResult | AbsModulesResult, + AbsModuleResult :: {module, Module} | error, + AbsModulesResult :: ok. ini(Module) -> int:ni(Module). diff --git a/lib/debugger/src/int.erl b/lib/debugger/src/int.erl index d7d13caf65b5..740f52b1e78a 100644 --- a/lib/debugger/src/int.erl +++ b/lib/debugger/src/int.erl @@ -170,15 +170,14 @@ function tries to interpret each module as specified earlier. The function then always returns `ok`, but prints some information to `stdout` if a module cannot be interpreted. """. --spec i(AbsModules) -> ok when - AbsModules :: [AbsModule], - AbsModule :: Module | File, - Module :: module(), - File :: file:name_all(); - (AbsModule) -> {module,Module} | error when - AbsModule :: Module | File, - Module :: module(), - File :: file:name_all(). +-spec i(AbsModules | AbsModule) -> Result when + AbsModules :: [AbsModule,...], + AbsModule :: Module | File, + Module :: module(), + File :: file:name_all(), + Result :: AbsModuleResult | AbsModulesResult, + AbsModuleResult :: {module, Module} | error, + AbsModulesResult :: ok. i(AbsMods) -> i2(AbsMods, local, ok). -doc false. i(AbsMods, _Options) -> i2(AbsMods, local, ok). @@ -211,15 +210,14 @@ function tries to interpret each module as specified earlier. The function then always returns `ok`, but prints some information to `stdout` if a module cannot be interpreted. """. --spec ni(AbsModules) -> ok when - AbsModules :: [AbsModule], - AbsModule :: Module | File, - Module :: module(), - File :: file:name_all(); - (AbsModule) -> {module,Module} | error when - AbsModule :: Module | File, - Module :: module(), - File :: file:name_all(). +-spec ni(AbsModules | AbsModule) -> Result when + AbsModules :: [AbsModule], + AbsModule :: Module | File, + Module :: module(), + File :: file:name_all(), + Result :: AbsModuleResult | AbsModulesResult, + AbsModuleResult :: {module, Module} | error, + AbsModulesResult :: ok. ni(AbsMods) -> i2(AbsMods, distributed, ok). -doc false. ni(AbsMods, _Options) -> i2(AbsMods, distributed, ok). diff --git a/lib/debugger/test/bs_bincomp_SUITE.erl b/lib/debugger/test/bs_bincomp_SUITE.erl index 064e9567b356..fd0223ce83c7 100644 --- a/lib/debugger/test/bs_bincomp_SUITE.erl +++ b/lib/debugger/test/bs_bincomp_SUITE.erl @@ -28,7 +28,7 @@ init_per_group/2,end_per_group/2, init_per_testcase/2,end_per_testcase/2, byte_aligned/1,bit_aligned/1,extended_byte_aligned/1, - extended_bit_aligned/1,mixed/1]). + extended_bit_aligned/1,mixed/1,float_skip/1]). -include_lib("common_test/include/ct.hrl"). @@ -45,7 +45,7 @@ suite() -> all() -> [byte_aligned, bit_aligned, extended_byte_aligned, - extended_bit_aligned, mixed]. + extended_bit_aligned, mixed, float_skip]. groups() -> []. @@ -125,3 +125,12 @@ mixed(Config) when is_list(Config) -> [2,3,3,4,4,5,5,6] = [(X+Y) || <> <= <<1:3,2:3,3:3,4:3>>, Y <- [1,2]], ok. + +float_skip(Config) when is_list(Config) -> + BadFloat = <<-1:64>>, + [1.0,1.5,200.0] = [X || <> <= <>], + [24.0,+48.5,21.0] =[X || <> <= <<24:64/float, + BadFloat/binary, 48.5:64/float, 21:64/float>>], + [a,a] =[a || <<0:64/float>> <= <<0:64/float, BadFloat/binary, + 0:64/float, 1.0:64/float>>]. \ No newline at end of file diff --git a/lib/debugger/test/erl_eval_SUITE.erl b/lib/debugger/test/erl_eval_SUITE.erl index 8907856583fe..4977b33ee7f4 100644 --- a/lib/debugger/test/erl_eval_SUITE.erl +++ b/lib/debugger/test/erl_eval_SUITE.erl @@ -948,7 +948,6 @@ funs(Config) when is_list(Config) -> error_check("apply(timer, sleep, [1]).", got_it, none, EFH), error_check("begin F = fun(T) -> timer:sleep(T) end,F(1) end.", got_it, none, EFH), - error_check("fun c/1.", undef), error_check("fun a:b/0().", undef), MaxArgs = 20, diff --git a/lib/debugger/test/fun_SUITE.erl b/lib/debugger/test/fun_SUITE.erl index f970ed04384e..cf7abfe71a0e 100644 --- a/lib/debugger/test/fun_SUITE.erl +++ b/lib/debugger/test/fun_SUITE.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1999-2021. All Rights Reserved. +%% Copyright Ericsson AB 1999-2024. 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. @@ -16,238 +16,163 @@ %% limitations under the License. %% %% %CopyrightEnd% -%% - %% -module(fun_SUITE). --export([all/0, suite/0,groups/0,init_per_group/2,end_per_group/2, - init_per_testcase/2,end_per_testcase/2, - init_per_suite/1,end_per_suite/1, - good_call/1,bad_apply/1,bad_fun_call/1,badarity/1, - ext_badarity/1,otp_6061/1,external/1,eep37/1]). +-export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1, + init_per_group/2,end_per_group/2, + test1/1,overwritten_fun/1,otp_7202/1,bif_fun/1, + external/1,eep37/1,badarity/1,badfun/1, + duplicated_fun/1,unused_fun/1,parallel_scopes/1, + coverage/1,leaky_environment/1]). %% Internal exports. --export([nothing/0,call_me/1]). +-export([call_me/1,dup1/0,dup2/0]). -include_lib("common_test/include/ct.hrl"). -suite() -> - [{ct_hooks,[ts_install_cth]}, - {timetrap,{minutes,1}}]. +suite() -> [{ct_hooks,[ts_install_cth]}]. all() -> - cases(). - -groups() -> - []. - -init_per_group(_GroupName, Config) -> - Config. - -end_per_group(_GroupName, Config) -> - Config. - + [{group,p}]. -cases() -> - [good_call, bad_apply, bad_fun_call, badarity, - ext_badarity, otp_6061, external, eep37]. +groups() -> + [{p,[parallel], + [test1,overwritten_fun,otp_7202,bif_fun,external,eep37, + badarity,badfun,duplicated_fun,unused_fun, + parallel_scopes, + coverage,leaky_environment]}]. -init_per_testcase(_Case, Config) -> +init_per_suite(Config) -> test_lib:interpret(?MODULE), + true = lists:member(?MODULE, int:interpreted()), Config. -end_per_testcase(_Case, _Config) -> +end_per_suite(_Config) -> ok. -init_per_suite(Config) when is_list(Config) -> - test_lib:interpret(?MODULE), - true = lists:member(?MODULE, int:interpreted()), +init_per_group(_GroupName, Config) -> Config. -end_per_suite(Config) when is_list(Config) -> - ok. - -good_call(Config) when is_list(Config) -> - F = fun() -> ok end, - ok = F(), - FF = fun ?MODULE:nothing/0, - ok = FF(), - ok. +end_per_group(_GroupName, Config) -> + Config. -%% Test that the correct EXIT code is returned for all types of bad funs. -bad_apply(Config) when is_list(Config) -> - bad_apply_fc(42, [0]), - bad_apply_fc(xx, [1]), - bad_apply_fc({}, [2]), - bad_apply_fc({1}, [3]), - bad_apply_fc({1,2,3}, [4]), - bad_apply_fc({1,2,3}, [5]), - bad_apply_fc({1,2,3,4}, [6]), - bad_apply_fc({1,2,3,4,5,6}, [7]), - bad_apply_fc({1,2,3,4,5}, [8]), - bad_apply_badarg({1,2}, [9]), - ok. +%%% The help functions below are copied from emulator:bs_construct_SUITE. -bad_apply_fc(Fun, Args) -> - Res = (catch apply(Fun, Args)), - erlang:garbage_collect(), - erlang:yield(), - case Res of - {'EXIT',{{badfun,Fun},_Where}} -> - ok = io:format("apply(~p, ~p) -> ~p\n", [Fun,Args,Res]); - Other -> - ok = io:format("apply(~p, ~p) -> ~p\n", [Fun,Args,Res]), - ct:fail({bad_result,Other}) - end. +-define(T(B, L), {fun() -> B end(), ??B, L}). -bad_apply_badarg(Fun, Args) -> - Res = (catch apply(Fun, Args)), - erlang:garbage_collect(), - erlang:yield(), - case Res of - {'EXIT',{{badfun,Fun},_Where}} -> - ok = io:format("apply(~p, ~p) -> ~p\n", [Fun,Args,Res]); - Other -> - ok = io:format("apply(~p, ~p) -> ~p\n", [Fun,Args,Res]), - ct:fail({bad_result, Other}) - end. +l1() -> + [ + ?T((begin _A = 3, F = fun(_A) -> 1; (_) -> 2 end, F(2) end), 1), + ?T((begin G = fun(1=0) -> ok end, {'EXIT',_} = (catch G(2)), ok end), ok), + ?T((begin F = fun(_, 1) -> 1; (F, N) -> N * F(F, N-1) end, F(F, 5) end), 120), + ?T((begin F = fun(_, 1) -> 1; (F, N) -> N * F(F, N-1) end, F(F, 1), ok end), ok) + ]. -%% Try directly calling bad funs. -bad_fun_call(Config) when is_list(Config) -> - bad_call_fc(42), - bad_call_fc(xx), - bad_call_fc({}), - bad_call_fc({1}), - bad_call_fc({1,2,3}), - bad_call_fc({1,2,3}), - bad_call_fc({1,2,3,4}), - bad_call_fc({1,2,3,4,5,6}), - bad_call_fc({1,2,3,4,5}), - bad_call_fc({1,2}), +test1(Config) when is_list(Config) -> + lists:foreach(fun one_test/1, eval_list(l1(), [])), ok. -bad_call_fc(Fun) -> - Args = [some,stupid,args], - Res = (catch Fun(Args)), - case Res of - {'EXIT',{{badfun,Fun},_Where}} -> - ok = io:format("~p(~p) -> ~p\n", [Fun,Args,Res]); - Other -> - ok = io:format("~p(~p) -> ~p\n", [Fun,Args,Res]), - ct:fail({bad_result,Other}) +evaluate(Str, Vars) -> + {ok,Tokens,_} = + erl_scan:string(Str ++ " . "), + {ok, [Expr]} = erl_parse:parse_exprs(Tokens), + case erl_eval:expr(Expr, Vars) of + {value, Result, _} -> + Result end. -%% Call and apply valid external funs with wrong number of arguments. - -badarity(Config) when is_list(Config) -> - Fun = fun() -> ok end, - Stupid = {stupid,arguments}, - Args = [some,{stupid,arguments},here], - - %% Simple call. - - Res = (catch Fun(some, Stupid, here)), - erlang:garbage_collect(), - erlang:yield(), - case Res of - {'EXIT',{{badarity,{Fun,Args}},[_|_]}} -> - ok = io:format("~p(~p) -> ~p\n", [Fun,Args,Res]); - _ -> - ok = io:format("~p(~p) -> ~p\n", [Fun,Args,Res]), - ct:fail({bad_result,Res}) - end, +eval_list([], _Vars) -> + []; +eval_list([{C_bin, Str, Bytes} | Rest], Vars) -> + case catch evaluate(Str, Vars) of + {'EXIT', Error} -> + io:format("Evaluation error: ~p, ~p, ~p~n", [Str, Vars, Error]), + exit(Error); + E_bin -> + [{C_bin, E_bin, Str, Bytes} | eval_list(Rest, Vars)] + end. - %% Apply. - - Res2 = (catch apply(Fun, Args)), - erlang:garbage_collect(), - erlang:yield(), - case Res2 of - {'EXIT',{{badarity,{Fun,Args}},[_|_]}} -> - ok = io:format("apply(~p, ~p) -> ~p\n", [Fun,Args,Res2]); - _ -> - ok = io:format("apply(~p, ~p) -> ~p\n", [Fun,Args,Res2]), - ct:fail({bad_result,Res2}) +one_test({C, E, Str, Correct}) -> + io:format(" ~s, ~p~n", [Str, Correct]), + if + C == Correct -> + ok; + true -> + io:format("ERROR: Compiled: ~p. Expected ~p. Got ~p.~n", + [Str, Correct, C]), + ct:fail(comp) end, - ok. - -%% Call and apply valid external funs with wrong number of arguments. - -ext_badarity(Config) when is_list(Config) -> - Fun = fun ?MODULE:nothing/0, - Stupid = {stupid,arguments}, - Args = [some,{stupid,arguments},here], - - %% Simple call. + if + E == Correct -> + ok; + true -> + io:format("ERROR: Interpreted: ~p. Expected ~p. Got ~p.~n", + [Str, Correct, E]), + ct:fail(comp) + end. - Res = (catch Fun(some, Stupid, here)), - erlang:garbage_collect(), - erlang:yield(), - case Res of - {'EXIT',{{badarity,{Fun,Args}},_}} -> - ok = io:format("~p(~p) -> ~p\n", [Fun,Args,Res]); - _ -> - ok = io:format("~p(~p) -> ~p\n", [Fun,Args,Res]), - ct:fail({bad_result,Res}) - end, +-record(b, {c}). - %% Apply. - - Res2 = (catch apply(Fun, Args)), - erlang:garbage_collect(), - erlang:yield(), - case Res2 of - {'EXIT',{{badarity,{Fun,Args}},_}} -> - ok = io:format("apply(~p, ~p) -> ~p\n", [Fun,Args,Res2]); - _ -> - ok = io:format("apply(~p, ~p) -> ~p\n", [Fun,Args,Res2]), - ct:fail({bad_result,Res2}) - end, - ok. +%% OTP-7102. (Thanks to Simon Cornish.) -nothing() -> +overwritten_fun(Config) when is_list(Config) -> + {a2,a} = overwritten_fun_1(a), + {a2,{b,c}} = overwritten_fun_1(#b{c=c}), + one = overwritten_fun_1(#b{c=[]}), ok. -%% Test handling of fun expression referring to uninterpreted code. -otp_6061(Config) when is_list(Config) -> - - OrigFlag = process_flag(trap_exit, true), - - Self = self(), - Pid = spawn_link(fun() -> test_otp_6061(Self) end), - - receive - working -> - ok; - not_working -> - ct:fail(not_working); - {'EXIT', Pid, Reason} -> - ct:fail({crash, Reason}) - after - 5000 -> - ct:fail(timeout) - end, - - process_flag(trap_exit, OrigFlag), +overwritten_fun_1(A) -> + F = fun() -> + {ok, A} + end, + if A#b.c == [] -> + one; + true -> + case F() of + {ok, A2} -> + {a2, A2}; + _ -> + three + end + end. +%% OTP-7202. The liveness calculation for the make_fun2 instruction was wrong. + +otp_7202(Config) when is_list(Config) -> + otp_7202(). + +otp_7202() -> + List = [a], + Error = case otp_7202_func() of + no_value -> true; + {ok, V} -> V + end, + lists:foreach(fun(_E) -> + case Error of + true -> + ok; + false -> + ok + end + end, List). + +otp_7202_func() -> + no_value. + +bif_fun(Config) when is_list(Config) -> + F = fun abs/1, + 5 = F(-5), ok. -test_otp_6061(Starter) -> - Passes = [2], - PassesF = [fun() -> Starter ! not_working end, - fun() -> Starter ! working end, - fun() -> Starter ! not_working end], - lists:foreach(fun(P)->(lists:nth(P,PassesF))() end,Passes). - -define(APPLY(M, F, A), (fun(Fun) -> {ok,{a,b}} = Fun({a,b}) end)(fun M:F/A)). -define(APPLY2(M, F, A), - (fun(Map) -> - Id = fun(I) -> I end, - List = [x,y], - List = Map(Id, List), - {type,external} = erlang:fun_info(Map, type) - end)(fun M:F/A)). + (fun(Map) -> + Id = fun(I) -> I end, + List = [x,y], + List = Map(Id, List), + {type,external} = erlang:fun_info(Map, type) + end)(fun M:F/A)). external(Config) when is_list(Config) -> Mod = id(?MODULE), @@ -276,22 +201,405 @@ external(Config) when is_list(Config) -> ?APPLY2(ListsMod, ListsMap, 2), ?APPLY2(ListsMod, ListsMap, ListsArity), + 42 = (fun erlang:abs/1)(-42), + 42 = (id(fun erlang:abs/1))(-42), + 42 = apply(fun erlang:abs/1, [-42]), + 42 = apply(id(fun erlang:abs/1), [-42]), + 6 = (fun lists:sum/1)([1,2,3]), + 6 = (id(fun lists:sum/1))([1,2,3]), + + {'EXIT',{{badarity,_},_}} = (catch (fun lists:sum/1)(1, 2, 3)), + {'EXIT',{{badarity,_},_}} = (catch (id(fun lists:sum/1))(1, 2, 3)), + {'EXIT',{{badarity,_},_}} = (catch apply(fun lists:sum/1, [1,2,3])), + + {'EXIT',{badarg,_}} = (catch bad_external_fun()), + ok. call_me(I) -> {ok,I}. -eep37(Config) when is_list(Config) -> +bad_external_fun() -> + V0 = idea, + fun V0:V0/V0, %Should fail. + never_reached. + +%% Named funs. +eep37(_Config) -> + eep37_basic(), + eep37_dup(), + eep37_gh6515(), + ok. + +eep37_basic() -> F = fun Fact(N) when N > 0 -> N * Fact(N - 1); Fact(0) -> 1 end, Add = fun _(N) -> N + 1 end, - UnusedName = fun BlackAdder(N) -> N + 42 end, + UnusedName = fun _BlackAdder(N) -> N + 42 end, 720 = F(6), 10 = Add(9), 50 = UnusedName(8), - [1,1,2,6,24,120] = lists:map(F, lists:seq(0, 5)), - {'EXIT',{function_clause,_}} = (catch lists:map(fun G() -> G() end, [1])), - {'EXIT',{{badarity,_},_}} = (catch F()), + ok. + +eep37_dup() -> + dup1 = (dup1())(), + dup2 = (dup2())(), + ok. + +dup1() -> + fun _F() -> dup1 end. + +dup2() -> + fun _F() -> dup2 end. + +eep37_gh6515() -> + {0,F1} = eep37_gh6515_1(), + F1 = F1(), + + [0,F2] = eep37_gh6515_2(), + 1 = F2(0), + 120 = F2(5), + + ok. + +eep37_gh6515_1() -> + {case [] of + #{} -> + X = 0; + X -> + 0 + end, + fun X() -> + X + end}. + +eep37_gh6515_2() -> + [case [] of + #{} -> + Fact = 0; + Fact -> + 0 + end, + fun Fact(N) when N > 0 -> + N * Fact(N - 1); + Fact(0) -> 1 + end]. + +badarity(Config) when is_list(Config) -> + {'EXIT',{{badarity,{_,[]}},_}} = (catch (fun badarity/1)()), + {'EXIT',{{badarity,_},_}} = (catch fun() -> 42 end(0)), + ok. + +badfun(_Config) -> + X = not_a_fun, + expect_badfun(42, catch 42()), + expect_badfun(42.0, catch 42.0(1)), + expect_badfun(X, catch X()), + expect_badfun(X, catch X(1)), + Len = length(atom_to_list(X)), + expect_badfun(Len, catch begin length(atom_to_list(X)) end(1)), + + expect_badfun(42, catch 42(put(?FUNCTION_NAME, yes))), + %% TODO: Investigate difference in behavior compared to compiler. + %% yes = erase(?FUNCTION_NAME), + + expect_badfun(X, catch X(put(?FUNCTION_NAME, of_course))), + %% TODO: Investigate difference in behavior compared to compiler. + %% of_course = erase(?FUNCTION_NAME), + + %% A literal as a Fun used to crash the code generator. This only happened + %% when type optimization had reduced `Fun` to a literal, hence the match. + Literal = fun(literal = Fun) -> + Fun() + end, + expect_badfun(literal, catch Literal(literal)), + + ok. + +expect_badfun(Term, Exit) -> + {'EXIT',{{badfun,Term},_}} = Exit. + +duplicated_fun(_Config) -> + try + %% The following code used to crash the compiler before + %% v3_core:is_safe/1 was corrected to consider fun variables + %% unsafe. + id([print_result_paths_fun = fun duplicated_fun_helper/1]), + ct:error(should_fail) + catch + error:{badmatch,F} when is_function(F, 1) -> + ok + end. + +duplicated_fun_helper(_) -> + ok. + +%% ERL-1166: beam_kernel_to_ssa would crash if a fun was unused. +unused_fun(_Config) -> + _ = fun() -> ok end, + try id(ok) of + _ -> fun() -> ok end + catch _ -> ok end, + ok. + +parallel_scopes(_Config) -> + 1 = parallel_scopes_1a(), + 1 = parallel_scopes_1b(), + {'EXIT',{{badmatch,99},_}} = catch parallel_scopes_1c(), + + 10 = parallel_scopes_2a(), + {'EXIT',{{badmatch,15},_}} = catch parallel_scopes_2b(), + 500 = parallel_scopes_2c(500, 500), + {'EXIT',{{badmatch,1000},_}} = catch parallel_scopes_2c(500, 1000), + 600 = parallel_scopes_2d(600, 600), + {'EXIT',{{badmatch,1000},_}} = catch parallel_scopes_2d(600, 1000), + {a,20} = parallel_scopes_2e(20, 20), + {'EXIT',{{badmatch,{a,25}},_}} = catch parallel_scopes_2e(20, 25), + + {[42,2],42,a} = parallel_scopes_3(a), + + 42 = parallel_scopes_4a(id(42), id(42)), + {'EXIT',{{badmatch,77},_}} = catch parallel_scopes_4a(42, 77), + 42 = parallel_scopes_4b(id(42), id(42)), + {'EXIT',{{badmatch,77},_}} = catch parallel_scopes_4b(42, 77), + [same,2,same,2] = parallel_scopes_4c(id(same), id(same)), + {'EXIT',{{badmatch,55},_}} = catch parallel_scopes_4c(42, 55), + + 33 = parallel_scopes_5(id(33), id(33)), + {'EXIT',{{badmatch,44},_}} = catch parallel_scopes_5(33, 44), + + 99 = parallel_scopes_6(id(99), id(99)), + {'EXIT',{{badmatch,88},_}} = catch parallel_scopes_6(77, 88), + + 99 = parallel_scopes_7(id(99), id(99)), + {'EXIT',{{badmatch,88},_}} = catch parallel_scopes_7(77, 88), + + 199 = parallel_scopes_8(id(199), id(199)), + {'EXIT',{{badmatch,200},_}} = catch parallel_scopes_8(id(199), id(200)), + + {299,299+299} = parallel_scopes_9(id(299), id(299), id(299+299)), + {'EXIT',{{badmatch,300},_}} = catch parallel_scopes_9(id(299), id(300), id(0)), + {'EXIT',{{badmatch,0},_}} = catch parallel_scopes_9(id(299), id(299), id(0)), + + 999 = parallel_scopes_10(false, 999, ignored, 999), + {'EXIT',{{badmatch,999},_}} = catch parallel_scopes_10(false, 700, ignored, 700), + %% TODO: Investigate difference in behavior compared to compiler. + %% {'EXIT',{{badmatch,1000},_}} = catch parallel_scopes_10(false, 999, ignored, 1000), + 999 = parallel_scopes_10(true, 999, 999, ignored), + 333 = parallel_scopes_10(true, 333, 333, ignored), + {'EXIT',{{badmatch,901},_}} = catch parallel_scopes_10(true, 900, 901, ignored), + + 889 = parallel_scopes_11(889, 889, 889), + %% TODO: Investigate difference in behavior compared to compiler. + %% {'EXIT',{{badmatch,800},_}} = catch parallel_scopes_11(889, 800, 889), + {'EXIT',{{badmatch,810},_}} = catch parallel_scopes_11(889, 889, 810), + {'EXIT',{{badmatch,889},_}} = catch parallel_scopes_11(a, a, a), + + 333 = parallel_scopes_12(333, 333, 333), + %% TODO: Investigate difference in behavior compared to compiler. + %% {'EXIT',{{badmatch,other},_}} = catch parallel_scopes_12(333, other, 333), + {'EXIT',{{badmatch,nope},_}} = catch parallel_scopes_12(333, 333, nope), + + [1,100] = parallel_scopes_13(99, 100), + {'EXIT',{{badmatch,no},_}} = catch parallel_scopes_13(no, 100), + {'EXIT',{{badmatch,nope},_}} = catch parallel_scopes_13(99, nope), + + ok. + +parallel_scopes_1a() -> + (begin X=1, true end + and + begin F=(fun () -> X=2 end), F(), true end) andalso X. + +parallel_scopes_1b() -> + (begin X=1, true end + and + begin F=(fun () -> X=2 end), F(), true end) andalso (X = 1). + +parallel_scopes_1c() -> + (begin X=1, true end + and + begin F=(fun () -> X=2 end), F(), true end) andalso (X = 99). + +parallel_scopes_2a() -> + begin X=10, true end + and + begin F=(fun () -> X=20 end), F(), true end + and + begin X=10, true end andalso X. + +parallel_scopes_2b() -> + begin X=10, true end + and + begin F=(fun () -> X=20 end), F(), true end + and + begin X=15, true end andalso X. + +parallel_scopes_2c(A, B) -> + begin X=A, true end + and + begin F = (fun () -> X = make_ref() end), F(), true end + and + begin X=B, true end andalso X. + +parallel_scopes_2d(A, B) -> + begin X=A, true end + and + begin F = (fun () -> X = make_ref() end), F(), true end + and + begin X=B, true end andalso (X = A). + +parallel_scopes_2e(A, B) -> + begin X = {a,A}, true end + and + begin F=(fun () -> X = 20 end), F(), true end + and + begin X = {a,B}, true end andalso X. + +parallel_scopes_3(A) -> + L = [X = id(42), + fun() -> X = 2 end()], + {L,X,A}. + +parallel_scopes_4a(A, B) -> + 4 = length([X = A, + fun() -> X = 2 end(), + X = B, + fun() -> X = 2 end()]), + X. + +parallel_scopes_4b(A, B) -> + 4 = length([X = A, + case id(true) of + true -> + fun() -> X = 2 end() + end, + X = B, + case id(false) of + false -> + fun() -> X = 2 end() + end]), + X. + +parallel_scopes_4c(A, B) -> + [X = A, + fun() -> X = 2 end(), + X = B, + fun() -> X = 2 end()]. + +parallel_scopes_5(A, B) -> + 4 = length([X = A, + [fun() -> X = 2 end()], + X = B | + case id(false) of + false -> + [fun() -> X = 2 end()] + end]), + X. + +parallel_scopes_6(A, B) -> + 4 = tuple_size({X = A, + fun() -> X = 40 end(), + X = B, + fun() -> X = 50 end()}), + X. + +parallel_scopes_7(A, B) -> + 4 = tuple_size({X = A, + [fun() -> X = 40 end()], + X = B, + [fun() -> X = 50 end()]}), + X. + +parallel_scopes_8(A, B) -> + _ = [X = id(A), + begin fun() -> X = 2 end(), X = id(B) end], + X. + +parallel_scopes_9(A, B, C) -> + 3 = length([begin X = id(A), Y = id(A+B) end, + fun() -> X = 2 end(), + X = id(B)]), + {X,Y=C}. + +parallel_scopes_10(Bool, A, B, C) -> + T = {X = A, + case id(Bool) of + true -> + fun() -> X = 999 end(), + X = B; + false -> + X = C, + fun() -> X = 999 end() + end}, + 2 = tuple_size(T), + X. + +parallel_scopes_11(A, B, C) -> + T = {X = A, + case id(true) of + true -> + X = B, + 2 = length([X = C, X = C]), + fun() -> X = 889 end(); + false -> + X = cannot_happen + end}, + 2 = tuple_size(T), + X. + +parallel_scopes_12(A, B, C) -> + T = {X = A, + case id(true) of + true -> + fun() -> X = whatever end(), + 2 = length([X = B, X = B]), + X = C; + false -> + X = cannot_happen + end}, + 2 = tuple_size(T), + X. + +parallel_scopes_13(A, B) -> + [X = 1, + fun() -> + X = id(whatever), + 99 = A, + 100 = B + end()]. + +coverage(_Config) -> + ok = coverage_1(), + + [2,3,4] = coverage_2(id([1,2,3])), + + {42,F} = coverage_3(id({[], x})), + x = F(), + + ok. +coverage_1() -> + %% Cover a line in beam_ssa_pre_codegen:need_frame_1/2 when the + %% no_make_fun3 option is given. + catch + fun(whatever) -> 0; + ("abc") -> party + end, + ok. + +coverage_2(List) -> + %% Cover a line in beam_ssa_pre_codegen:need_frame_1/2 when the + %% no_make_fun3 option is given. + lists:map(fun(E) -> E + 1 end, List). + +%% Cover a line in beam_block when no_make_fun3 option is given. +coverage_3({[], A}) -> + {id(42), fun() -> A end}. + +leaky_environment(_Config) -> + G = fun(X, Y) -> X + Y end, + F = fun(A) -> G(A, 0) end, + {'EXIT', {{badarity, {_, [1, flurb]}}, _}} = catch F(1, flurb), ok. id(I) -> diff --git a/lib/dialyzer/src/dialyzer.hrl b/lib/dialyzer/src/dialyzer.hrl index ef85cd032b6a..f59d66a73079 100644 --- a/lib/dialyzer/src/dialyzer.hrl +++ b/lib/dialyzer/src/dialyzer.hrl @@ -137,6 +137,7 @@ the warning options. | 'unmatched_returns' | 'overspecs' | 'specdiffs' + | 'overlapping_contract' | 'extra_return' | 'no_extra_return' | 'missing_return' diff --git a/lib/dialyzer/src/dialyzer_cl_parse.erl b/lib/dialyzer/src/dialyzer_cl_parse.erl index 196b9a7bdcbb..5b93af6f4e61 100644 --- a/lib/dialyzer/src/dialyzer_cl_parse.erl +++ b/lib/dialyzer/src/dialyzer_cl_parse.erl @@ -140,7 +140,7 @@ cli() -> no_behaviours, no_contracts, no_fail_call, no_fun_app, no_improper_lists, no_match, no_missing_calls, no_opaque, no_return, no_undefined_callbacks, no_underspecs, no_unknown, no_unused, underspecs, unknown, unmatched_returns, - overspecs, specdiffs, extra_return, no_extra_return, missing_return, no_missing_return]}, + overspecs, specdiffs, overlapping_contract, extra_return, no_extra_return, missing_return, no_missing_return]}, help => {<<"[-Wwarn]*">>, [<<"A family of options which selectively turn on/off warnings">>]}}, #{name => version, short => $v, long => "-version", type => boolean, help => <<"Print the Dialyzer version and some more information and exit.">>}, diff --git a/lib/dialyzer/src/dialyzer_dataflow.erl b/lib/dialyzer/src/dialyzer_dataflow.erl index 939397741b1c..fa8bbf00efd1 100644 --- a/lib/dialyzer/src/dialyzer_dataflow.erl +++ b/lib/dialyzer/src/dialyzer_dataflow.erl @@ -1013,6 +1013,8 @@ handle_primop(Tree, Map, State) -> {State, Map, t_any()}; nif_start -> {State, Map, t_any()}; + executable_line -> + {State, Map, t_any()}; Other -> error({'Unsupported primop', Other}) end. diff --git a/lib/dialyzer/src/dialyzer_options.erl b/lib/dialyzer/src/dialyzer_options.erl index bd8940e01234..90b156f86576 100644 --- a/lib/dialyzer/src/dialyzer_options.erl +++ b/lib/dialyzer/src/dialyzer_options.erl @@ -505,8 +505,9 @@ build_warnings([Opt|Opts], Warnings) -> no_fail_call -> ordsets:del_element(?WARN_FAILING_CALL, Warnings); no_contracts -> - Warnings1 = ordsets:del_element(?WARN_CONTRACT_SYNTAX, Warnings), - ordsets:del_element(?WARN_CONTRACT_TYPES, Warnings1); + Warnings1 = ordsets:del_element(?WARN_CONTRACT_SYNTAX, Warnings), + Warnings2 = ordsets:del_element(?WARN_OVERLAPPING_CONTRACT, Warnings1), + ordsets:del_element(?WARN_CONTRACT_TYPES, Warnings2); no_behaviours -> ordsets:del_element(?WARN_BEHAVIOUR, Warnings); no_undefined_callbacks -> diff --git a/lib/dialyzer/src/dialyzer_typesig.erl b/lib/dialyzer/src/dialyzer_typesig.erl index ac6f57836ebc..039b90585f84 100644 --- a/lib/dialyzer/src/dialyzer_typesig.erl +++ b/lib/dialyzer/src/dialyzer_typesig.erl @@ -438,6 +438,8 @@ traverse(Tree, DefinedVars, State) -> {State, t_any()}; nif_start -> {State, t_any()}; + executable_line -> + {State, t_any()}; Other -> erlang:error({'Unsupported primop', Other}) end; seq -> diff --git a/lib/dialyzer/src/erl_bif_types.erl b/lib/dialyzer/src/erl_bif_types.erl index 320b6bbcc407..37d9dcec8908 100644 --- a/lib/dialyzer/src/erl_bif_types.erl +++ b/lib/dialyzer/src/erl_bif_types.erl @@ -918,8 +918,10 @@ type(erlang, system_info, 1, Xs, Opaques) -> t_internal_cpu_topology(); ['loaded'] -> t_binary(); - ['logical_processors'] -> - t_non_neg_fixnum(); + [P] when P == 'logical_processors' + orelse P == 'logical_processors_available' + orelse P == 'logical_processors_online' -> + t_sup([t_non_neg_fixnum(),t_atom('unknown')]); ['machine'] -> t_string(); ['multi_scheduling'] -> diff --git a/lib/dialyzer/test/dialyzer_SUITE.erl b/lib/dialyzer/test/dialyzer_SUITE.erl index fe6987192af5..a19e6930bc59 100644 --- a/lib/dialyzer/test/dialyzer_SUITE.erl +++ b/lib/dialyzer/test/dialyzer_SUITE.erl @@ -37,7 +37,8 @@ incremental_plt_given_to_classic_mode/1, classic_plt_given_to_incremental_mode/1, if_output_plt_is_missing_incremental_mode_makes_it/1, - file_list/1]). + file_list/1, + line_coverage/1]). suite() -> [{ct_hooks,[ts_install_cth]}]. @@ -46,7 +47,8 @@ all() -> incremental_plt_given_to_classic_mode, classic_plt_given_to_incremental_mode, if_output_plt_is_missing_incremental_mode_makes_it, - file_list]. + file_list, + line_coverage]. groups() -> []. @@ -77,7 +79,7 @@ compile(Config, Prog, Module, CompileOpts) -> PrivDir = proplists:get_value(priv_dir,Config), Filename = filename:join([PrivDir, Source]), ok = file:write_file(Filename, Prog), - Opts = [{outdir, PrivDir}, debug_info | CompileOpts], + Opts = [report, {outdir, PrivDir}, debug_info | CompileOpts], {ok, Module} = compile:file(Filename, Opts), {ok, filename:join([PrivDir, lists:concat([Module, ".beam"])])}. @@ -242,3 +244,20 @@ expected(Files0) -> " atom()\n" || F <- Files], iolist_to_binary(S). +line_coverage(Config) -> + PrivDir = proplists:get_value(priv_dir, Config), + Prog = <<"-module(foo). + bar() -> ok." + >>, + {ok, Beam1} = compile(Config, Prog, foo, [line_coverage]), + + Plt1 = filename:join(PrivDir, "line_coverage.plt"), + _ = dialyzer:run([{analysis_type, plt_build}, + {files, [Beam1]}, + {init_plt, Plt1}, + {from, byte_code}]), + + {ok, [{files, [Beam1]}]} = dialyzer:plt_info(Plt1), + + ok. + diff --git a/lib/dialyzer/test/opaque_SUITE_data/results/wings b/lib/dialyzer/test/opaque_SUITE_data/results/wings index 8cb4602e3d98..f95916e68044 100644 --- a/lib/dialyzer/test/opaque_SUITE_data/results/wings +++ b/lib/dialyzer/test/opaque_SUITE_data/results/wings @@ -1,11 +1,11 @@ -wings_dissolve.erl:103:30: Guard test is_list(List::gb_sets:set(_)) breaks the opacity of its argument -wings_dissolve.erl:19:21: Guard test is_list(Faces::gb_sets:set(_)) breaks the opacity of its argument -wings_dissolve.erl:272:45: Guard test is_list(Faces::gb_sets:set(_)) breaks the opacity of its argument -wings_dissolve.erl:31:27: The call gb_sets:is_empty(Faces::[any(),...]) does not have an opaque term of type gb_sets:set(_) as 1st argument -wings_edge.erl:205:1: The pattern can never match the type <_,'soft',_> -wings_edge_cmd.erl:30:31: The call gb_trees:size(P::gb_sets:set(_)) does not have an opaque term of type gb_trees:tree(_,_) as 1st argument -wings_edge_cmd.erl:32:18: The pattern [{_, P} | _] can never match the type [] -wings_edge_cmd.erl:32:6: The pattern [_ | Parts] can never match the type [] -wings_io.erl:30:2: The attempt to match a term of type {'empty',queue:queue(_)} against the pattern {'empty', {In, Out}} breaks the opacity of queue:queue(_) -wings_we.erl:155:37: The call wings_util:gb_trees_largest_key(Etab::gb_trees:tree(_,_)) contains an opaque term as 1st argument when a structured term of type {_,{_,_,_,'nil' | {_,_,_,'nil' | {_,_,_,_}}}} is expected +wings_dissolve.erl:142:30: Guard test is_list(List::gb_sets:set(_)) breaks the opacity of its argument +wings_dissolve.erl:311:45: Guard test is_list(Faces::gb_sets:set(_)) breaks the opacity of its argument +wings_dissolve.erl:58:21: Guard test is_list(Faces::gb_sets:set(_)) breaks the opacity of its argument +wings_dissolve.erl:70:27: The call gb_sets:is_empty(Faces::[any(),...]) does not have an opaque term of type gb_sets:set(_) as 1st argument +wings_edge.erl:245:1: The pattern can never match the type <_,'soft',_> +wings_edge_cmd.erl:70:31: The call gb_trees:size(P::gb_sets:set(_)) does not have an opaque term of type gb_trees:tree(_,_) as 1st argument +wings_edge_cmd.erl:72:18: The pattern [{_, P} | _] can never match the type [] +wings_edge_cmd.erl:72:6: The pattern [_ | Parts] can never match the type [] +wings_io.erl:70:2: The attempt to match a term of type {'empty',queue:queue(_)} against the pattern {'empty', {In, Out}} breaks the opacity of queue:queue(_) +wings_we.erl:195:37: The call wings_util:gb_trees_largest_key(Etab::gb_trees:tree(_,_)) contains an opaque term as 1st argument when a structured term of type {_,{_,_,_,'nil' | {_,_,_,'nil' | {_,_,_,_}}}} is expected diff --git a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings.hrl b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings.hrl index b815be5e1d51..4d532bf30dd3 100644 --- a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings.hrl +++ b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings.hrl @@ -1,3 +1,42 @@ +%% This software is copyrighted by Bjorn Gustavsson, and other parties. +%% The following terms apply to all files associated with the software unless +%% explicitly disclaimed in individual files. +%% +%% The authors hereby grant permission to use, copy, modify, distribute, +%% and license this software and its documentation for any purpose, provided +%% that existing copyright notices are retained in all copies and that this +%% notice is included verbatim in any distributions. No written agreement, +%% license, or royalty fee is required for any of the authorized uses. +%% Modifications to this software may be copyrighted by their authors +%% and need not follow the licensing terms described here, provided that +%% the new terms are clearly indicated on the first page of each file where +%% they apply. +%% +%% IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +%% FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +%% ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +%% DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +%% POSSIBILITY OF SUCH DAMAGE. +%% +%% THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +%% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +%% IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +%% NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +%% MODIFICATIONS. +%% +%% GOVERNMENT USE: If you are acquiring this software on behalf of the +%% U.S. government, the Government shall have only "Restricted Rights" +%% in the software and related documentation as defined in the Federal +%% Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +%% are acquiring the software on behalf of the Department of Defense, the +%% software shall be classified as "Commercial Computer Software" and the +%% Government shall have only "Restricted Rights" as defined in Clause +%% 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +%% authors grant the U.S. Government and others acting in its behalf +%% permission to use and distribute the software in accordance with the +%% terms specified in this license. + %% %% wings.hrl -- %% diff --git a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_dissolve.erl b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_dissolve.erl index c469f0a45d9b..6f70dca1233e 100644 --- a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_dissolve.erl +++ b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_dissolve.erl @@ -1,3 +1,42 @@ +%% This software is copyrighted by Bjorn Gustavsson, and other parties. +%% The following terms apply to all files associated with the software unless +%% explicitly disclaimed in individual files. +%% +%% The authors hereby grant permission to use, copy, modify, distribute, +%% and license this software and its documentation for any purpose, provided +%% that existing copyright notices are retained in all copies and that this +%% notice is included verbatim in any distributions. No written agreement, +%% license, or royalty fee is required for any of the authorized uses. +%% Modifications to this software may be copyrighted by their authors +%% and need not follow the licensing terms described here, provided that +%% the new terms are clearly indicated on the first page of each file where +%% they apply. +%% +%% IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +%% FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +%% ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +%% DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +%% POSSIBILITY OF SUCH DAMAGE. +%% +%% THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +%% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +%% IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +%% NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +%% MODIFICATIONS. +%% +%% GOVERNMENT USE: If you are acquiring this software on behalf of the +%% U.S. government, the Government shall have only "Restricted Rights" +%% in the software and related documentation as defined in the Federal +%% Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +%% are acquiring the software on behalf of the Department of Defense, the +%% software shall be classified as "Commercial Computer Software" and the +%% Government shall have only "Restricted Rights" as defined in Clause +%% 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +%% authors grant the U.S. Government and others acting in its behalf +%% permission to use and distribute the software in accordance with the +%% terms specified in this license. + %% %% wings_dissolve.erl -- %% diff --git a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_edge.erl b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_edge.erl index 3483acb711a2..4419c603d771 100644 --- a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_edge.erl +++ b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_edge.erl @@ -1,3 +1,43 @@ +%% This software is copyrighted by Bjorn Gustavsson, and other parties. +%% The following terms apply to all files associated with the software unless +%% explicitly disclaimed in individual files. +%% +%% The authors hereby grant permission to use, copy, modify, distribute, +%% and license this software and its documentation for any purpose, provided +%% that existing copyright notices are retained in all copies and that this +%% notice is included verbatim in any distributions. No written agreement, +%% license, or royalty fee is required for any of the authorized uses. +%% Modifications to this software may be copyrighted by their authors +%% and need not follow the licensing terms described here, provided that +%% the new terms are clearly indicated on the first page of each file where +%% they apply. +%% +%% IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +%% FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +%% ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +%% DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +%% POSSIBILITY OF SUCH DAMAGE. +%% +%% THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +%% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +%% IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +%% NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +%% MODIFICATIONS. +%% +%% GOVERNMENT USE: If you are acquiring this software on behalf of the +%% U.S. government, the Government shall have only "Restricted Rights" +%% in the software and related documentation as defined in the Federal +%% Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +%% are acquiring the software on behalf of the Department of Defense, the +%% software shall be classified as "Commercial Computer Software" and the +%% Government shall have only "Restricted Rights" as defined in Clause +%% 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +%% authors grant the U.S. Government and others acting in its behalf +%% permission to use and distribute the software in accordance with the +%% terms specified in this license. + + %% %% wings_edge.erl -- %% diff --git a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_edge_cmd.erl b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_edge_cmd.erl index 91fa5b2a399c..bd2e7863aed7 100644 --- a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_edge_cmd.erl +++ b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_edge_cmd.erl @@ -1,3 +1,43 @@ +%% This software is copyrighted by Bjorn Gustavsson, and other parties. +%% The following terms apply to all files associated with the software unless +%% explicitly disclaimed in individual files. +%% +%% The authors hereby grant permission to use, copy, modify, distribute, +%% and license this software and its documentation for any purpose, provided +%% that existing copyright notices are retained in all copies and that this +%% notice is included verbatim in any distributions. No written agreement, +%% license, or royalty fee is required for any of the authorized uses. +%% Modifications to this software may be copyrighted by their authors +%% and need not follow the licensing terms described here, provided that +%% the new terms are clearly indicated on the first page of each file where +%% they apply. +%% +%% IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +%% FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +%% ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +%% DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +%% POSSIBILITY OF SUCH DAMAGE. +%% +%% THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +%% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +%% IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +%% NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +%% MODIFICATIONS. +%% +%% GOVERNMENT USE: If you are acquiring this software on behalf of the +%% U.S. government, the Government shall have only "Restricted Rights" +%% in the software and related documentation as defined in the Federal +%% Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +%% are acquiring the software on behalf of the Department of Defense, the +%% software shall be classified as "Commercial Computer Software" and the +%% Government shall have only "Restricted Rights" as defined in Clause +%% 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +%% authors grant the U.S. Government and others acting in its behalf +%% permission to use and distribute the software in accordance with the +%% terms specified in this license. + + %% %% wings_edge.erl -- %% diff --git a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_face.erl b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_face.erl index 487c05aa58a4..88071c530c57 100644 --- a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_face.erl +++ b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_face.erl @@ -1,3 +1,43 @@ +%% This software is copyrighted by Bjorn Gustavsson, and other parties. +%% The following terms apply to all files associated with the software unless +%% explicitly disclaimed in individual files. +%% +%% The authors hereby grant permission to use, copy, modify, distribute, +%% and license this software and its documentation for any purpose, provided +%% that existing copyright notices are retained in all copies and that this +%% notice is included verbatim in any distributions. No written agreement, +%% license, or royalty fee is required for any of the authorized uses. +%% Modifications to this software may be copyrighted by their authors +%% and need not follow the licensing terms described here, provided that +%% the new terms are clearly indicated on the first page of each file where +%% they apply. +%% +%% IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +%% FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +%% ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +%% DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +%% POSSIBILITY OF SUCH DAMAGE. +%% +%% THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +%% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +%% IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +%% NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +%% MODIFICATIONS. +%% +%% GOVERNMENT USE: If you are acquiring this software on behalf of the +%% U.S. government, the Government shall have only "Restricted Rights" +%% in the software and related documentation as defined in the Federal +%% Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +%% are acquiring the software on behalf of the Department of Defense, the +%% software shall be classified as "Commercial Computer Software" and the +%% Government shall have only "Restricted Rights" as defined in Clause +%% 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +%% authors grant the U.S. Government and others acting in its behalf +%% permission to use and distribute the software in accordance with the +%% terms specified in this license. + + %% %% wings_face.erl -- %% diff --git a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_facemat.erl b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_facemat.erl index a3fa5e3508be..395478fe24a5 100644 --- a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_facemat.erl +++ b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_facemat.erl @@ -1,3 +1,43 @@ +%% This software is copyrighted by Bjorn Gustavsson, and other parties. +%% The following terms apply to all files associated with the software unless +%% explicitly disclaimed in individual files. +%% +%% The authors hereby grant permission to use, copy, modify, distribute, +%% and license this software and its documentation for any purpose, provided +%% that existing copyright notices are retained in all copies and that this +%% notice is included verbatim in any distributions. No written agreement, +%% license, or royalty fee is required for any of the authorized uses. +%% Modifications to this software may be copyrighted by their authors +%% and need not follow the licensing terms described here, provided that +%% the new terms are clearly indicated on the first page of each file where +%% they apply. +%% +%% IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +%% FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +%% ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +%% DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +%% POSSIBILITY OF SUCH DAMAGE. +%% +%% THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +%% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +%% IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +%% NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +%% MODIFICATIONS. +%% +%% GOVERNMENT USE: If you are acquiring this software on behalf of the +%% U.S. government, the Government shall have only "Restricted Rights" +%% in the software and related documentation as defined in the Federal +%% Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +%% are acquiring the software on behalf of the Department of Defense, the +%% software shall be classified as "Commercial Computer Software" and the +%% Government shall have only "Restricted Rights" as defined in Clause +%% 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +%% authors grant the U.S. Government and others acting in its behalf +%% permission to use and distribute the software in accordance with the +%% terms specified in this license. + + %% %% wings_facemat.erl -- %% @@ -11,8 +51,6 @@ %% %% $Id: wings_facemat.erl,v 1.1 2009/01/25 18:55:33 kostis Exp $ %% -%% -%% -module(wings_facemat). -export([all/1,face/2,used_materials/1,mat_faces/2, diff --git a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_intl.hrl b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_intl.hrl index ebcb560f2730..141eef0da7b0 100644 --- a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_intl.hrl +++ b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_intl.hrl @@ -1,3 +1,43 @@ +%% This software is copyrighted by Bjorn Gustavsson, and other parties. +%% The following terms apply to all files associated with the software unless +%% explicitly disclaimed in individual files. +%% +%% The authors hereby grant permission to use, copy, modify, distribute, +%% and license this software and its documentation for any purpose, provided +%% that existing copyright notices are retained in all copies and that this +%% notice is included verbatim in any distributions. No written agreement, +%% license, or royalty fee is required for any of the authorized uses. +%% Modifications to this software may be copyrighted by their authors +%% and need not follow the licensing terms described here, provided that +%% the new terms are clearly indicated on the first page of each file where +%% they apply. +%% +%% IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +%% FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +%% ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +%% DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +%% POSSIBILITY OF SUCH DAMAGE. +%% +%% THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +%% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +%% IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +%% NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +%% MODIFICATIONS. +%% +%% GOVERNMENT USE: If you are acquiring this software on behalf of the +%% U.S. government, the Government shall have only "Restricted Rights" +%% in the software and related documentation as defined in the Federal +%% Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +%% are acquiring the software on behalf of the Department of Defense, the +%% software shall be classified as "Commercial Computer Software" and the +%% Government shall have only "Restricted Rights" as defined in Clause +%% 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +%% authors grant the U.S. Government and others acting in its behalf +%% permission to use and distribute the software in accordance with the +%% terms specified in this license. + + %% %% wings_intl.hrl -- %% diff --git a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_io.erl b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_io.erl index 39002c675d53..4e253783bb3a 100644 --- a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_io.erl +++ b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_io.erl @@ -1,3 +1,43 @@ +%% This software is copyrighted by Bjorn Gustavsson, and other parties. +%% The following terms apply to all files associated with the software unless +%% explicitly disclaimed in individual files. +%% +%% The authors hereby grant permission to use, copy, modify, distribute, +%% and license this software and its documentation for any purpose, provided +%% that existing copyright notices are retained in all copies and that this +%% notice is included verbatim in any distributions. No written agreement, +%% license, or royalty fee is required for any of the authorized uses. +%% Modifications to this software may be copyrighted by their authors +%% and need not follow the licensing terms described here, provided that +%% the new terms are clearly indicated on the first page of each file where +%% they apply. +%% +%% IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +%% FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +%% ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +%% DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +%% POSSIBILITY OF SUCH DAMAGE. +%% +%% THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +%% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +%% IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +%% NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +%% MODIFICATIONS. +%% +%% GOVERNMENT USE: If you are acquiring this software on behalf of the +%% U.S. government, the Government shall have only "Restricted Rights" +%% in the software and related documentation as defined in the Federal +%% Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +%% are acquiring the software on behalf of the Department of Defense, the +%% software shall be classified as "Commercial Computer Software" and the +%% Government shall have only "Restricted Rights" as defined in Clause +%% 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +%% authors grant the U.S. Government and others acting in its behalf +%% permission to use and distribute the software in accordance with the +%% terms specified in this license. + + %% %% wings_io.erl -- %% diff --git a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_sel.erl b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_sel.erl index eef797027e75..9fae212f6b00 100644 --- a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_sel.erl +++ b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_sel.erl @@ -1,3 +1,43 @@ +%% This software is copyrighted by Bjorn Gustavsson, and other parties. +%% The following terms apply to all files associated with the software unless +%% explicitly disclaimed in individual files. +%% +%% The authors hereby grant permission to use, copy, modify, distribute, +%% and license this software and its documentation for any purpose, provided +%% that existing copyright notices are retained in all copies and that this +%% notice is included verbatim in any distributions. No written agreement, +%% license, or royalty fee is required for any of the authorized uses. +%% Modifications to this software may be copyrighted by their authors +%% and need not follow the licensing terms described here, provided that +%% the new terms are clearly indicated on the first page of each file where +%% they apply. +%% +%% IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +%% FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +%% ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +%% DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +%% POSSIBILITY OF SUCH DAMAGE. +%% +%% THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +%% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +%% IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +%% NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +%% MODIFICATIONS. +%% +%% GOVERNMENT USE: If you are acquiring this software on behalf of the +%% U.S. government, the Government shall have only "Restricted Rights" +%% in the software and related documentation as defined in the Federal +%% Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +%% are acquiring the software on behalf of the Department of Defense, the +%% software shall be classified as "Commercial Computer Software" and the +%% Government shall have only "Restricted Rights" as defined in Clause +%% 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +%% authors grant the U.S. Government and others acting in its behalf +%% permission to use and distribute the software in accordance with the +%% terms specified in this license. + + %% %% wings_sel.erl -- %% diff --git a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_shape.erl b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_shape.erl index 0df8ca68eb06..099c10ae0e31 100644 --- a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_shape.erl +++ b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_shape.erl @@ -1,3 +1,43 @@ +%% This software is copyrighted by Bjorn Gustavsson, and other parties. +%% The following terms apply to all files associated with the software unless +%% explicitly disclaimed in individual files. +%% +%% The authors hereby grant permission to use, copy, modify, distribute, +%% and license this software and its documentation for any purpose, provided +%% that existing copyright notices are retained in all copies and that this +%% notice is included verbatim in any distributions. No written agreement, +%% license, or royalty fee is required for any of the authorized uses. +%% Modifications to this software may be copyrighted by their authors +%% and need not follow the licensing terms described here, provided that +%% the new terms are clearly indicated on the first page of each file where +%% they apply. +%% +%% IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +%% FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +%% ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +%% DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +%% POSSIBILITY OF SUCH DAMAGE. +%% +%% THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +%% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +%% IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +%% NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +%% MODIFICATIONS. +%% +%% GOVERNMENT USE: If you are acquiring this software on behalf of the +%% U.S. government, the Government shall have only "Restricted Rights" +%% in the software and related documentation as defined in the Federal +%% Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +%% are acquiring the software on behalf of the Department of Defense, the +%% software shall be classified as "Commercial Computer Software" and the +%% Government shall have only "Restricted Rights" as defined in Clause +%% 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +%% authors grant the U.S. Government and others acting in its behalf +%% permission to use and distribute the software in accordance with the +%% terms specified in this license. + + %% %% wings_shape.erl -- %% diff --git a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_util.erl b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_util.erl index 6b825d85fe16..2b7b8190e773 100644 --- a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_util.erl +++ b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_util.erl @@ -1,3 +1,43 @@ +%% This software is copyrighted by Bjorn Gustavsson, and other parties. +%% The following terms apply to all files associated with the software unless +%% explicitly disclaimed in individual files. +%% +%% The authors hereby grant permission to use, copy, modify, distribute, +%% and license this software and its documentation for any purpose, provided +%% that existing copyright notices are retained in all copies and that this +%% notice is included verbatim in any distributions. No written agreement, +%% license, or royalty fee is required for any of the authorized uses. +%% Modifications to this software may be copyrighted by their authors +%% and need not follow the licensing terms described here, provided that +%% the new terms are clearly indicated on the first page of each file where +%% they apply. +%% +%% IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +%% FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +%% ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +%% DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +%% POSSIBILITY OF SUCH DAMAGE. +%% +%% THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +%% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +%% IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +%% NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +%% MODIFICATIONS. +%% +%% GOVERNMENT USE: If you are acquiring this software on behalf of the +%% U.S. government, the Government shall have only "Restricted Rights" +%% in the software and related documentation as defined in the Federal +%% Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +%% are acquiring the software on behalf of the Department of Defense, the +%% software shall be classified as "Commercial Computer Software" and the +%% Government shall have only "Restricted Rights" as defined in Clause +%% 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +%% authors grant the U.S. Government and others acting in its behalf +%% permission to use and distribute the software in accordance with the +%% terms specified in this license. + + %% %% wings_util.erl -- %% diff --git a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_we.erl b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_we.erl index 6a933634457c..2b42911e7393 100644 --- a/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_we.erl +++ b/lib/dialyzer/test/opaque_SUITE_data/src/wings/wings_we.erl @@ -1,3 +1,43 @@ +%% This software is copyrighted by Bjorn Gustavsson, and other parties. +%% The following terms apply to all files associated with the software unless +%% explicitly disclaimed in individual files. +%% +%% The authors hereby grant permission to use, copy, modify, distribute, +%% and license this software and its documentation for any purpose, provided +%% that existing copyright notices are retained in all copies and that this +%% notice is included verbatim in any distributions. No written agreement, +%% license, or royalty fee is required for any of the authorized uses. +%% Modifications to this software may be copyrighted by their authors +%% and need not follow the licensing terms described here, provided that +%% the new terms are clearly indicated on the first page of each file where +%% they apply. +%% +%% IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +%% FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +%% ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +%% DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +%% POSSIBILITY OF SUCH DAMAGE. +%% +%% THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +%% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +%% IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +%% NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +%% MODIFICATIONS. +%% +%% GOVERNMENT USE: If you are acquiring this software on behalf of the +%% U.S. government, the Government shall have only "Restricted Rights" +%% in the software and related documentation as defined in the Federal +%% Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +%% are acquiring the software on behalf of the Department of Defense, the +%% software shall be classified as "Commercial Computer Software" and the +%% Government shall have only "Restricted Rights" as defined in Clause +%% 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +%% authors grant the U.S. Government and others acting in its behalf +%% permission to use and distribute the software in accordance with the +%% terms specified in this license. + + %% %% wings_we.erl -- %% diff --git a/lib/dialyzer/test/small_SUITE_data/results/logical_processors b/lib/dialyzer/test/small_SUITE_data/results/logical_processors new file mode 100644 index 000000000000..d80aa4dac324 --- /dev/null +++ b/lib/dialyzer/test/small_SUITE_data/results/logical_processors @@ -0,0 +1,5 @@ + +logical_processors.erl:11:1: Function t1/0 has no local return +logical_processors.erl:12:7: The pattern 'ok' can never match the type 'unknown' | non_neg_integer() +logical_processors.erl:14:1: Function t2/0 has no local return +logical_processors.erl:15:7: The pattern 'ok' can never match the type 'unknown' | non_neg_integer() diff --git a/lib/dialyzer/test/small_SUITE_data/src/logical_processors.erl b/lib/dialyzer/test/small_SUITE_data/src/logical_processors.erl new file mode 100644 index 000000000000..4bdf24432d8a --- /dev/null +++ b/lib/dialyzer/test/small_SUITE_data/src/logical_processors.erl @@ -0,0 +1,16 @@ +-module(logical_processors). + +-export([t0/0,t1/0,t2/0]). + +t0() -> + unknown = erlang:system_info(logical_processors), + unknown = erlang:system_info(logical_processors_available), + unknown = erlang:system_info(logical_processors_online), + ok. + +t1() -> + ok = erlang:system_info(logical_processors_available). + +t2() -> + ok = erlang:system_info(logical_processors_online). + diff --git a/lib/diameter/doc/notes.md b/lib/diameter/doc/notes.md index b6315a72c9c1..d0fe0dab5e0b 100644 --- a/lib/diameter/doc/notes.md +++ b/lib/diameter/doc/notes.md @@ -131,6 +131,14 @@ Releases are listed in reverse chronological order, most recent first. Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843 +## diameter 2.2.7.2 + +### Fixed Bugs and Malfunctions + +* \`diameter:stop_service/1\` has been made more synchronous. + + Own Id: OTP-19206 Aux Id: ERIERL-1102 + ## diameter 2.2.7.1 ### Fixed Bugs and Malfunctions diff --git a/lib/diameter/src/base/diameter_codec.erl b/lib/diameter/src/base/diameter_codec.erl index 4a8e124cc732..b662e80e52e6 100644 --- a/lib/diameter/src/base/diameter_codec.erl +++ b/lib/diameter/src/base/diameter_codec.erl @@ -286,8 +286,6 @@ Diameter messages. %% *the* encode. -doc """ -encode(Mod, Msg) -> Pkt - Encode a Diameter message. """. -doc(#{since => <<"OTP R15B03">>}). @@ -477,8 +475,6 @@ rec2msg(Mod, Rec) -> %% longer *the* decode. -doc """ -decode(Mod, Bin) -> Pkt - Decode a Diameter message. """. -doc(#{since => <<"OTP R15B03">>}). diff --git a/lib/diameter/src/compiler/diameter_make.erl b/lib/diameter/src/compiler/diameter_make.erl index 37c94294c879..95162a32b09d 100644 --- a/lib/diameter/src/compiler/diameter_make.erl +++ b/lib/diameter/src/compiler/diameter_make.erl @@ -91,13 +91,12 @@ Unrecognized options are silently ignored. %% two. -doc """ -codec(File :: iolist() | binary(), [Opt]) -> ok | {ok, [Out]} | {error, Reason} +Compile a single dictionary file. -Compile a single dictionary file. The input `File` can be either a path or a -literal dictionary, the occurrence of newline (ascii NL) or carriage return -(ascii CR) identifying the latter. `Opt` determines the format of the results -and whether they are written to file or returned, and can have the following -types. +The input `File` can be either a path or a literal dictionary, the occurrence +of newline (ascii NL) or carriage return (ascii CR) identifying the latter. +`Opt` determines the format of the results and whether they are written to +file or returned, and can have the following types. - **`parse | forms | erl | hrl`** - Specifies an output format. Whether the output is returned or written to file depends on whether or not option @@ -183,7 +182,7 @@ codec(File) -> %% Turn an orddict returned by dict/1-2 back into a dictionary. -doc """ -format(Parsed) -> iolist() +format(Parsed) Turns a parsed dictionary, as returned by `codec/2`, back into the dictionary format. @@ -200,7 +199,7 @@ format([?VERSION | Dict]) -> %% Reconstitute a dictionary without @inherits. -doc """ -flatten(Parsed) -> term() +flatten(Parsed) Reconstitute a parsed dictionary, as returned by `codec/2`, without using [`@inherits`](diameter_dict.md#inherits). That is, construct an equivalent @@ -224,8 +223,6 @@ flatten([?VERSION = V | Dict]) -> %% format_error/1 -doc """ -format_error(Reason) -> string() - Turn an error reason returned by `codec/2` into a readable string. """. -doc(#{since => <<"OTP 17.0">>}). diff --git a/lib/diameter/src/transport/diameter_sctp.erl b/lib/diameter/src/transport/diameter_sctp.erl index 0b652db150a2..1b18afbe1226 100644 --- a/lib/diameter/src/transport/diameter_sctp.erl +++ b/lib/diameter/src/transport/diameter_sctp.erl @@ -161,8 +161,6 @@ be specified as the value of a transport_module option to %% --------------------------------------------------------------------------- -doc """ -start({Type, Ref}, Svc, [Opt]) -> {ok, Pid, [LAddr]} | {error, Reason} - The start function required by `m:diameter_transport`. Options `raddr` and `rport` specify the remote address and port for a connecting @@ -226,14 +224,14 @@ connecting transport. -> {ok, pid(), [inet:ip_address()]} when Ref :: diameter:transport_ref(). -start(T, Svc, Opts) - when is_list(Opts) -> +start(TypeRef, Svc, Options) + when is_list(Options) -> #diameter_service{capabilities = Caps, pid = Pid} = Svc, diameter_sctp_sup:start(), %% start supervisors on demand Addrs = Caps#diameter_caps.host_ip_address, - s(T, Addrs, Pid, Opts). + s(TypeRef, Addrs, Pid, Options). %% A listener spawns transports either as a consequence of this call %% when there is not yet an association to assign it, or at comm_up on diff --git a/lib/eldap/src/Makefile b/lib/eldap/src/Makefile index 53e365dd5f7f..ca99396c20bc 100644 --- a/lib/eldap/src/Makefile +++ b/lib/eldap/src/Makefile @@ -60,7 +60,7 @@ APP_TARGET = $(EBIN)/$(APP_FILE) # ---------------------------------------------------- # FLAGS # ---------------------------------------------------- -ERL_COMPILE_FLAGS += -I../include -I../ebin -Werror +nowarn_missing_spec_documented +ERL_COMPILE_FLAGS += -I../include -I../ebin -Werror # ---------------------------------------------------- # Targets diff --git a/lib/eldap/src/eldap.erl b/lib/eldap/src/eldap.erl index 7d92e55173ae..dbeef02bd19d 100644 --- a/lib/eldap/src/eldap.erl +++ b/lib/eldap/src/eldap.erl @@ -200,8 +200,8 @@ All TCP socket options are accepted except `active`, `binary`, `deliver`, {log, function()} | {timeout, integer()} | {ssl, boolean()} | - {sslopts, list()} | - {tcpopts, list()}], + {sslopts, [ssl:tls_client_option()]} | + {tcpopts, [inet:inet_backend() | gen_tcp:connect_option()]}], Handle :: handle(), Reason :: term(). @@ -219,7 +219,7 @@ Same as start_tls(Handle, Options, infinity) -doc(#{since => <<"OTP R16B03">>}). -spec start_tls(Handle, TlsOptions) -> ok |{ok, Refs} | {error, Reason} when Handle :: handle(), - TlsOptions :: ssl:tls_client_option(), + TlsOptions :: [ssl:tls_client_option()], Refs :: {referral, referrals()}, Reason :: term(). start_tls(Handle, TlsOptions) -> @@ -254,7 +254,7 @@ upgrade (phase 1). -doc(#{since => <<"OTP R16B03">>}). -spec start_tls(Handle, TlsOptions, Timeout) -> ok | {ok, Refs} | {error, Reason} when Handle :: handle(), - TlsOptions :: ssl:tls_client_option(), + TlsOptions :: [ssl:tls_client_option()], Timeout :: infinity | pos_integer(), Refs :: {referral, referrals()}, Reason :: term(). @@ -1921,9 +1921,6 @@ get_head([H|Rest],Tail,Rhead) -> get_head(Rest,Tail,[H|Rhead]). %%% -------------------------------------------------------------------- -doc """ -paged_result_control(PageSize) -> {control, "1.2.840.113556.1.4.319", true, -binary()} - Paged results is an extension to the LDAP protocol specified by RFC2696 This function creates a control with the specified page size for use in @@ -1943,9 +1940,6 @@ paged_result_control(PageSize) when is_integer(PageSize) -> paged_result_control(PageSize, ""). -doc """ -paged_result_control(PageSize, Cookie) -> {control, "1.2.840.113556.1.4.319", -true, binary()} - Paged results is an extension to the LDAP protocol specified by RFC2696 This function creates a control with the specified page size and cookie for use @@ -1986,7 +1980,7 @@ paged_result_control(PageSize, Cookie) when is_integer(PageSize) -> %%% -------------------------------------------------------------------- -doc """ -paged_result_cookie(SearchResult) -> binary() +paged_result_cookie(SearchResult) Paged results is an extension to the LDAP protocol specified by RFC2696. diff --git a/lib/et/src/et.erl b/lib/et/src/et.erl index 4122dabbd592..e8a36129f188 100644 --- a/lib/et/src/et.erl +++ b/lib/et/src/et.erl @@ -136,8 +136,6 @@ Interface module for the Event Trace (ET) application %%---------------------------------------------------------------------- -doc """ -trace_me(DetailLevel, FromTo, Label, Contents) -> hopefully_traced - Invokes `et:trace_me/5` with both `From` and `To` set to `FromTo`. """. -doc(#{since => <<"OTP R13B04">>}). @@ -151,8 +149,6 @@ trace_me(DetailLevel, FromTo, Label, Contents) ?MODULE:trace_me(DetailLevel, FromTo, FromTo, Label, Contents). -doc """ -trace_me(DetailLevel, From, To, Label, Contents) -> hopefully_traced - A function that is intended to be traced. This function is intended to be invoked at strategic places in user applications @@ -192,8 +188,6 @@ phone_home(DetailLevel, FromTo, Label, Contents) -> ?MODULE:trace_me(DetailLevel, FromTo, FromTo, Label, Contents). -doc """ -phone_home(DetailLevel, From, To, Label, Contents) -> hopefully_traced - These functions sends a signal to the outer space and the caller hopes that someone is listening. In other words, they invoke `et:trace_me/4` and `et:trace_me/5` respectively. @@ -219,8 +213,6 @@ report_event(DetailLevel, FromTo, Label, Contents) -> ?MODULE:trace_me(DetailLevel, FromTo, FromTo, Label, Contents). -doc """ -report_event(DetailLevel, From, To, Label, Contents) -> hopefully_traced - Deprecated functions which for the time being are kept for backwards compatibility. Invokes `et:trace_me/4` and `et:trace_me/5` respectively. """. diff --git a/lib/et/src/et_collector.erl b/lib/et/src/et_collector.erl index 6951dd48a2b9..7681103e590d 100644 --- a/lib/et/src/et_collector.erl +++ b/lib/et/src/et_collector.erl @@ -207,8 +207,6 @@ Interface module for the Event Trace (ET) application %% Reason = term() %%---------------------------------------------------------------------- -doc """ -start_link(Options) -> {ok, CollectorPid} | {error, Reason} - Start a collector process. The collector collects trace events and keeps them ordered by their timestamp. @@ -352,11 +350,9 @@ start_clients(CollectorPid, []) -> %% CollectorPid = pid() %%---------------------------------------------------------------------- -doc """ -stop(CollectorPid) -> ok - Stop a collector process. """. --spec stop(CollectorPid::pid()) -> ok. +-spec stop(pid()) -> ok. stop(CollectorPid) -> call(CollectorPid, stop). @@ -386,8 +382,6 @@ stop(CollectorPid) -> %% The options defaults to existing, write and keep. %%---------------------------------------------------------------------- -doc """ -save_event_file(CollectorPid, FileName, Options) -> ok | {error, Reason} - Save the events to a file. By default the currently stored events (existing) are written to a brand new @@ -528,8 +522,8 @@ report(_, Bad) -> exit({bad_event, Bad}). -doc(#{equiv => report_event/6}). --spec report_event(CollectorPid, DetailLevel, FromTo, Label, Contents) -> {ok, Continuation} when - CollectorPid :: pid(), +-spec report_event(Handle, DetailLevel, FromTo, Label, Contents) -> {ok, Continuation} when + Handle :: CollectorPid :: pid() | table_handle(), DetailLevel :: level(), FromTo :: actor(), Label :: term(), @@ -539,9 +533,6 @@ report_event(CollectorPid, DetailLevel, FromTo, Label, Contents) -> report_event(CollectorPid, DetailLevel, FromTo, FromTo, Label, Contents). -doc """ -report_event(Handle, DetailLevel, From, To, Label, Contents) -> {ok, -Continuation} | exit(Reason) - Report an event to the collector. All events are filtered thru the collector filter, which optionally may @@ -549,8 +540,8 @@ transform or discard the event. The first call should use the pid of the collector process as report handle, while subsequent calls should use the table handle. """. --spec report_event(CollectorPid, DetailLevel, From, To, Label, Contents) -> {ok, Continuation} when - CollectorPid :: pid(), +-spec report_event(Handle, DetailLevel, From, To, Label, Contents) -> {ok, Continuation} when + Handle :: CollectorPid :: pid() | table_handle(), DetailLevel :: level(), From :: actor(), To :: actor(), @@ -582,8 +573,6 @@ report_event(CollectorPid, DetailLevel, From, To, Label, Contents) %%---------------------------------------------------------------------- -doc """ -make_key(Type, Stuff) -> Key - Make a key out of an event record or an old key. """. -spec make_key(Handle, Stuff) -> Key when @@ -644,8 +633,6 @@ get_table_handle(CollectorPid) when is_pid(CollectorPid) -> %% Reason = term() %%---------------------------------------------------------------------- -doc """ -get_global_pid() -> CollectorPid | exit(Reason) - Return a the identity of the globally registered collector if there is any. """. -spec get_global_pid() -> CollectorPid :: pid(). @@ -671,8 +658,6 @@ get_global_pid() -> %% TracePattern = {report_module(), dbg_match_spec_match_spec()} %%---------------------------------------------------------------------- -doc """ -change_pattern(CollectorPid, RawPattern) -> {old_pattern, TracePattern} - Change active trace pattern globally on all trace nodes. """. -spec change_pattern(CollectorPid, RawPattern) -> {old_pattern, TracePattern} when @@ -709,11 +694,7 @@ change_pattern(CollectorPid, RawPattern) -> %% Val = term() %%---------------------------------------------------------------------- -doc """ -dict_insert(CollectorPid, Key, Val) -> okdict_insert(CollectorPid, {subscriber, -SubscriberPid}, Void) -> okdict_insert(CollectorPid, {filter, collector}, -FilterFun) -> ok - -Insert a dictionary entry and send a \{et, \{dict_insert, Key, Val\}\} tuple to +Insert a dictionary entry and send a `{et, {dict_insert, Key, Val}}` tuple to all registered subscribers. If the entry is a new subscriber, it will imply that the new subscriber process @@ -754,8 +735,6 @@ dict_insert(CollectorPid, Key, Val) -> %% Val = term() %%---------------------------------------------------------------------- -doc """ -dict_lookup(CollectorPid, Key) -> [Val] - Lookup a dictionary entry and return zero or one value. """. -spec dict_lookup(CollectorPid::pid(), Key::term()) -> [Val::term()]. @@ -781,8 +760,6 @@ dict_lookup(CollectorPid, Key) -> %% Key = term() %%---------------------------------------------------------------------- -doc """ -dict_delete(CollectorPid, Key) -> ok - Delete a dictionary entry and send a \{et, \{dict_delete, Key\}\} tuple to all registered subscribers. @@ -808,8 +785,6 @@ dict_delete(CollectorPid, Key) -> %% val() = term() %%---------------------------------------------------------------------- -doc """ -dict_match(CollectorPid, Pattern) -> [Match] - Match some dictionary entries """. -spec dict_match(CollectorPid::pid(), {KeyPattern, ValPattern}) -> [Match] when @@ -828,8 +803,6 @@ dict_match(CollectorPid, Pattern) -> %% Msg = term() %%---------------------------------------------------------------------- -doc """ -multicast(\_CollectorPid, Msg) -> ok - Sends a message to all registered subscribers. """. -spec multicast(CollectorPid :: pid(), Msg::term()) -> ok. @@ -851,9 +824,6 @@ multicast(CollectorPid, Msg) -> %% Pid = dbg_trace_client_pid() %%---------------------------------------------------------------------- -doc """ -start_trace_client(CollectorPid, Type, Parameters) -> file_loaded | -{trace_client_pid, pid()} | exit(Reason) - Load raw Erlang trace from a file, port or process. """. -spec start_trace_client(CollectorPid, Type, Parameter) -> file_loaded | {trace_client_pid, pid()} when @@ -920,11 +890,7 @@ monitor_trace_port(CollectorPid, Parameters) -> %% %% Short for iterate/5. %%---------------------------------------------------------------------- --doc """ -iterate(Handle, Prev, Limit) -> NewAcc - -Short for iterate(Handle, Prev, Limit, undefined, Prev) -> NewAcc -""". +-doc #{ equiv => iterate(Handle, Prev, Limit, undefined, Prev) }. -spec iterate(Handle, Prev, Limit) -> NewAcc when Handle :: CollectorPid | table_handle(), CollectorPid :: pid(), @@ -957,8 +923,6 @@ iterate(Handle, Prev, Limit) -> %% Acc = NewAcc = term() %%---------------------------------------------------------------------- -doc """ -iterate(Handle, Prev, Limit, Fun, Acc) -> NewAcc - Iterate over the currently stored events. Iterates over the currently stored events and applies a function for each event. @@ -1115,8 +1079,6 @@ incr(Val, Incr) -> %% table_handle() = record(table_handle) %%---------------------------------------------------------------------- -doc """ -clear_table(Handle) -> ok - Clear the event table. """. -spec clear_table(Handle) -> ok when diff --git a/lib/et/src/et_selector.erl b/lib/et/src/et_selector.erl index d231f24076c5..6f004be66000 100644 --- a/lib/et/src/et_selector.erl +++ b/lib/et/src/et_selector.erl @@ -52,7 +52,7 @@ %% integer() - explicit detail level of tracing %%---------------------------------------------------------------------- -doc """ -make_pattern(RawPattern) -> TracePattern +make_pattern(RawPattern) Makes a trace pattern suitable to feed change_pattern/1 @@ -115,7 +115,7 @@ make_pattern({Mod, Pattern}) when is_atom(Mod) -> %% accordingly with erlang:trace_pattern/2. %%---------------------------------------------------------------------- -doc """ -change_pattern(Pattern) -> ok +change_pattern(Pattern) Activates/deactivates tracing by changing the current trace pattern. @@ -219,8 +219,6 @@ error_to_exit({ok, _Res}) -> %% should be dropped %%---------------------------------------------------------------------- -doc """ -parse_event(Mod, ValidTraceData) -> false | true | {true, Event} - Transforms trace data and makes an event record out of it. See `erlang:trace/3` for more info about the semantics of the trace data. diff --git a/lib/et/src/et_viewer.erl b/lib/et/src/et_viewer.erl index 5b559350200a..3b4aac62d823 100644 --- a/lib/et/src/et_viewer.erl +++ b/lib/et/src/et_viewer.erl @@ -75,8 +75,6 @@ %% Reason = term() %%---------------------------------------------------------------------- -doc """ -file(FileName) -> {ok, ViewerPid} | {error, Reason} - Start a new event viewer and a corresponding collector and load them with trace events from a trace file. """. @@ -96,8 +94,6 @@ file(FileName) -> %%---------------------------------------------------------------------- -doc """ -start() -> ok - Simplified start of a sequence chart viewer with global tracing activated. Convenient to be used from the command line (erl -s et_viewer). @@ -110,8 +106,6 @@ start() -> %% start(Options) -> {ok, ViewerPid} | {error, Reason} %%---------------------------------------------------------------------- -doc """ -start(Options) -> ok - Start of a sequence chart viewer without linking to the parent process. """. -spec start(GUIorOptions) -> {ok, Viewer::pid()} | {error, term()} when @@ -185,12 +179,10 @@ start(Options, GUI) -> %% and returns false | true | {true, NewEvent}. %%---------------------------------------------------------------------- -doc """ -start_link(Options) -> {ok, ViewerPid} | {error, Reason} - Start a sequence chart viewer for trace events (messages/actions) -A filter_fun() takes an event record as sole argument and returns false | true | -\{true, NewEvent\}. +A filter_fun() takes an event record as sole argument and returns +`false | true | {true, NewEvent}`. If the `collector_pid` is `undefined` a new `et_collector` will be started with the following parameter settings: `parent_pid`, `event_order`, `trace_global`, @@ -240,8 +232,6 @@ start_link(Options, GUI) -> which_gui() -> wx. -doc """ -get_collector_pid(ViewerPid) -> CollectorPid - Returns the identifier of the collector process. """. -spec get_collector_pid(ViewerPid::pid()) -> pid(). @@ -256,8 +246,6 @@ get_collector_pid(ViewerPid) -> %% ViewerPid = pid() %%---------------------------------------------------------------------- -doc """ -stop(ViewerPid) -> ok - Stops a viewer process. """. -spec stop(ViewerPid::pid()) -> ok. diff --git a/lib/ftp/src/ftp.erl b/lib/ftp/src/ftp.erl index 00962b116c07..dfa70cbe992e 100644 --- a/lib/ftp/src/ftp.erl +++ b/lib/ftp/src/ftp.erl @@ -288,8 +288,6 @@ The available configuration options are as follows: in all other functions, and they are to be called by the process that created the connection. The FTP client process monitors the process that created it and terminates if that process terminates. - -[](){: #pwd } """. -spec open(Host :: string() | inet:ip_address(), Opts) -> {'ok', Client :: client()} | {'error', Reason :: term()} when @@ -320,8 +318,6 @@ open(Host, Port) -> -doc(#{title => <<"Connection API">>}). -doc """ Performs login of `User` with `Pass`. - -[](){: #user4 } """. -spec user(Pid :: pid(), User :: string(), diff --git a/lib/inets/doc/notes.md b/lib/inets/doc/notes.md index 28a3ac9548b2..440d273d2a6e 100644 --- a/lib/inets/doc/notes.md +++ b/lib/inets/doc/notes.md @@ -92,6 +92,19 @@ limitations under the License. [PR-8029]: https://github.com/erlang/otp/pull/8029 [PR-8026]: https://github.com/erlang/otp/pull/8026 +## Inets 9.1.0.1 + +### Fixed Bugs and Malfunctions + +* With this change, HTTP client, when returning an asynchronous request, now correctly takes into account \`OptionRequest - full_result\` + + \*** POTENTIAL INCOMPATIBILITY *** + + Own Id: OTP-19158 +* With this change, synchronous httpc:request now timeouts after \`Timeout\` specified in \`HttpOption \{timeout, Timeout\}\` + + Own Id: OTP-19221 Aux Id: ERIERL-1091, PR-8788, PR-8801 + ## Inets 9.1 ### Fixed Bugs and Malfunctions @@ -212,6 +225,19 @@ limitations under the License. Own Id: OTP-18544 Aux Id: GH-5276 +## Inets 8.3.1.4 + +### Fixed Bugs and Malfunctions + +* With this change, HTTP client, when returning an asynchronous request, now correctly takes into account \`OptionRequest - full_result\` + + \*** POTENTIAL INCOMPATIBILITY *** + + Own Id: OTP-19158 +* With this change, synchronous httpc:request now timeouts after \`Timeout\` specified in \`HttpOption \{timeout, Timeout\}\` + + Own Id: OTP-19221 Aux Id: ERIERL-1091, PR-8788, PR-8801 + ## Inets 8.3.1.3 ### Fixed Bugs and Malfunctions diff --git a/lib/inets/src/http_client/httpc.erl b/lib/inets/src/http_client/httpc.erl index d9ea9c76e32a..e03bfcf9b621 100644 --- a/lib/inets/src/http_client/httpc.erl +++ b/lib/inets/src/http_client/httpc.erl @@ -376,6 +376,9 @@ Options details: - **`t:pid/0`** - Messages are sent to this process in the format `{http, ReplyInfo}`. + - **`alias/0`** - Messages are sent to this special reference in the format + `{http, ReplyInfo}`. + - **`function/1`** - Information is delivered to the receiver through calls to the provided fun `Receiver(ReplyInfo)`. @@ -657,8 +660,6 @@ Sets options to be used for subsequent requests. > > The current implementation assumes the requests to the same host, port > combination will use the same socket options. - -[](){: #get_options } """. -doc(#{since => <<"OTP R13B04">>}). -spec set_options(Options, Profile) -> ok | {error, Reason} when @@ -1077,8 +1078,6 @@ reset_cookies(Profile) -> -doc """ Triggers the next message to be streamed, that is, the same behavior as active ones for sockets. - -[](){: #verify_cookies } [](){: #store_cookies } """. -doc(#{since => <<"OTP R13B04">>}). -spec stream_next(Pid) -> ok when @@ -1204,14 +1203,16 @@ handle_request(Method, Url, socket_opts = SocketOpts, started = Started, unix_socket = UnixSocket, - ipv6_host_with_brackets = BracketedHost}, - case httpc_manager:request(Request, profile_name(Profile)) of - {ok, RequestId} -> - handle_answer(RequestId, Sync, Options); - {error, Reason} -> - {error, Reason} - end - end + ipv6_host_with_brackets = BracketedHost, + request_options = Options}, + case httpc_manager:request(Request, profile_name(Profile)) of + {ok, RequestId} -> + handle_answer(RequestId, Receiver, Sync, Options, + element(#http_options.timeout, HTTPOptions)); + {error, Reason} -> + {error, Reason} + end + end catch error:{noproc, _} -> {error, {not_started, Profile}}; @@ -1263,26 +1264,41 @@ mk_chunkify_fun(ProcessBody) -> end. -handle_answer(RequestId, false, _) -> +handle_answer(RequestId, _, false, _, _) -> {ok, RequestId}; -handle_answer(RequestId, true, Options) -> +handle_answer(RequestId, ClientAlias, true, Options, Timeout) -> receive - {http, {RequestId, saved_to_file}} -> - {ok, saved_to_file}; - {http, {RequestId, {_,_,_} = Result}} -> - return_answer(Options, Result); - {http, {RequestId, {error, Reason}}} -> - {error, Reason} - end. - -return_answer(Options, {StatusLine, Headers, BinBody}) -> - Body = maybe_format_body(BinBody, Options), - case proplists:get_value(full_result, Options, true) of - true -> - {ok, {StatusLine, Headers, Body}}; - false -> - {_, Status, _} = StatusLine, - {ok, {Status, Body}} + {http, {RequestId, {ok, saved_to_file}}} -> + true = unalias(ClientAlias), + {ok, saved_to_file}; + {http, {RequestId, {error, Reason}}} -> + true = unalias(ClientAlias), + {error, Reason}; + {http, {RequestId, {ok, {StatusLine, Headers, BinBody}}}} -> + true = unalias(ClientAlias), + Body = maybe_format_body(BinBody, Options), + {ok, {StatusLine, Headers, Body}}; + {http, {RequestId, {ok, {StatusCode, BinBody}}}} -> + true = unalias(ClientAlias), + Body = maybe_format_body(BinBody, Options), + {ok, {StatusCode, Body}} + after Timeout -> + cancel_request(RequestId), + true = unalias(ClientAlias), + receive + {http, {RequestId, {ok, saved_to_file}}} -> + {ok, saved_to_file}; + {http, {RequestId, {error, Reason}}} -> + {error, Reason}; + {http, {RequestId, {ok, {StatusLine, Headers, BinBody}}}} -> + Body = maybe_format_body(BinBody, Options), + {ok, {StatusLine, Headers, Body}}; + {http, {RequestId, {ok, {StatusCode, BinBody}}}} -> + Body = maybe_format_body(BinBody, Options), + {ok, {StatusCode, Body}} + after 0 -> + {error, timeout} + end end. maybe_format_body(BinBody, Options) -> @@ -1479,6 +1495,8 @@ request_options_defaults() -> ok; (Value) when is_function(Value, 1) -> ok; + (Value) when is_reference(Value) -> + ok; (_) -> error end, @@ -1500,7 +1518,7 @@ request_options_defaults() -> {body_format, string, VerifyBodyFormat}, {full_result, true, VerifyFullResult}, {headers_as_is, false, VerifyHeaderAsIs}, - {receiver, self(), VerifyReceiver}, + {receiver, alias(), VerifyReceiver}, {socket_opts, undefined, VerifySocketOpts}, {ipv6_host_with_brackets, false, VerifyBrackets} ]. @@ -1554,6 +1572,7 @@ request_options([{Key, DefaultVal, Verify} | Defaults], Options, Acc) -> BodyFormat :: string | binary, SocketOpt :: term(), Receiver :: pid() + | reference() | fun((term()) -> term()) | { ReceiverModule::atom() , ReceiverFunction::atom() @@ -1564,6 +1583,8 @@ request_options_sanity_check(Opts) -> case proplists:get_value(receiver, Opts) of Pid when is_pid(Pid) andalso (Pid =:= self()) -> ok; + Reference when is_reference(Reference) -> + ok; BadReceiver -> throw({error, {bad_options_combo, [{sync, true}, {receiver, BadReceiver}]}}) diff --git a/lib/inets/src/http_client/httpc_handler.erl b/lib/inets/src/http_client/httpc_handler.erl index ca3a46ccd909..4a4fedc14985 100644 --- a/lib/inets/src/http_client/httpc_handler.erl +++ b/lib/inets/src/http_client/httpc_handler.erl @@ -482,7 +482,6 @@ do_handle_info({Proto, _Socket, Data}, when (Proto =:= tcp) orelse (Proto =:= ssl) orelse (Proto =:= httpc_handler) -> - try Module:Function([Data | Args]) of {ok, Result} -> handle_http_msg(Result, State); @@ -1319,11 +1318,12 @@ handle_server_closing(State = #state{headers = Headers}) -> false -> State end. -answer_request(#request{id = RequestId, from = From} = Request, Msg, - #state{session = Session, - timers = Timers, - profile_name = ProfileName} = State) -> - httpc_response:send(From, Msg), +answer_request(#request{id = RequestId, from = From, request_options = Options} = Request, Msg, + #state{session = Session, + timers = Timers, + profile_name = ProfileName} = State) -> + Answer = format_answer(Msg, Options), + httpc_response:send(From, Answer), RequestTimers = Timers#timers.request_timers, TimerRef = proplists:get_value(RequestId, RequestTimers, undefined), @@ -1717,6 +1717,42 @@ format_address({[$[|T], Port}) -> format_address(HostPort) -> HostPort. +format_answer(Res, Options) -> + FullResult = proplists:get_value(full_result, Options, true), + Sync = proplists:get_value(sync, Options, true), + do_format_answer(Res, FullResult, Sync). +do_format_answer({Ref, StatusLine}, _, Sync) when is_atom(StatusLine) -> + case Sync of + true -> + {Ref, {ok, StatusLine}}; + _ -> + {Ref, StatusLine} + end; +do_format_answer({Ref, StatusLine, Headers}, _, Sync) when is_atom(StatusLine) -> + case Sync of + true -> + {Ref, {ok, {StatusLine, Headers}}}; + _ -> + {Ref, StatusLine, Headers} + end; +do_format_answer({Ref, {StatusLine, Headers, BinBody}}, true, Sync) -> + case Sync of + true -> + {Ref, {ok, {StatusLine, Headers, BinBody}}}; + _ -> + {Ref, {StatusLine, Headers, BinBody}} + end; +do_format_answer({Ref, {StatusLine, _, BinBody}}, false, Sync) -> + {_, Status, _} = StatusLine, + case Sync of + true -> + {Ref, {ok, {Status, BinBody}}}; + _ -> + {Ref, {Status, BinBody}} + end; +do_format_answer({Ref, {error, _Reason} = Error}, _, _) -> + {Ref, Error}. + clobber_and_retry(#state{session = #session{id = Id, type = Type}, profile_name = ProfileName, diff --git a/lib/inets/src/http_client/httpc_internal.hrl b/lib/inets/src/http_client/httpc_internal.hrl index 344b6a262029..d69183ae42d8 100644 --- a/lib/inets/src/http_client/httpc_internal.hrl +++ b/lib/inets/src/http_client/httpc_internal.hrl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2005-2023. All Rights Reserved. +%% Copyright Ericsson AB 2005-2024. 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. @@ -117,7 +117,8 @@ timer :: undefined | reference(), socket_opts, % undefined | [socket_option()] unix_socket, % undefined | string() - ipv6_host_with_brackets % boolean() + ipv6_host_with_brackets, % boolean() + request_options :: undefined | proplists:proplist() } ). -type request() :: #request{}. diff --git a/lib/inets/src/http_client/httpc_request.erl b/lib/inets/src/http_client/httpc_request.erl index fc48adec44ed..364be6e85645 100644 --- a/lib/inets/src/http_client/httpc_request.erl +++ b/lib/inets/src/http_client/httpc_request.erl @@ -55,31 +55,33 @@ send(SendAddr, #session{socket = Socket, socket_type = SocketType}, send(SendAddr, #session{socket = Socket, socket_type = SocketType}, Request) -> send(SendAddr, Socket, SocketType, Request). -send(SendAddr, Socket, SocketType, - #request{method = Method, - path = Path, - pquery = Query, - headers = Headers, - content = Content, - address = Address, - abs_uri = AbsUri, - headers_as_is = HeadersAsIs, - settings = HttpOptions, - userinfo = UserInfo}) -> - - ?hcrt("send", - [{send_addr, SendAddr}, - {socket, Socket}, - {method, Method}, - {path, Path}, - {pquery, Query}, - {headers, Headers}, - {content, Content}, - {address, Address}, - {abs_uri, AbsUri}, - {headers_as_is, HeadersAsIs}, - {settings, HttpOptions}, - {userinfo, UserInfo}]), +send(SendAddr, Socket, SocketType, + #request{method = Method, + path = Path, + pquery = Query, + headers = Headers, + content = Content, + address = Address, + abs_uri = AbsUri, + headers_as_is = HeadersAsIs, + settings = HttpOptions, + userinfo = UserInfo, + request_options = Options}) -> + + ?hcrt("send", + [{send_addr, SendAddr}, + {socket, Socket}, + {method, Method}, + {path, Path}, + {pquery, Query}, + {headers, Headers}, + {content, Content}, + {address, Address}, + {abs_uri, AbsUri}, + {headers_as_is, HeadersAsIs}, + {settings, HttpOptions}, + {userinfo, UserInfo}, + {request_options, Options}]), TmpHdrs = handle_user_info(UserInfo, Headers), diff --git a/lib/inets/src/http_client/httpc_response.erl b/lib/inets/src/http_client/httpc_response.erl index 1dd0bdec66cb..9ebea9bdbc68 100644 --- a/lib/inets/src/http_client/httpc_response.erl +++ b/lib/inets/src/http_client/httpc_response.erl @@ -151,7 +151,7 @@ result(Response = {{_,Code,_}, _, _}, Request) when (Code div 100) =:= 5 -> result(Response, Request) -> transparent(Response, Request). -send(Receiver, Msg) when is_pid(Receiver) -> +send(Receiver, Msg) when is_pid(Receiver); is_reference(Receiver) -> Receiver ! {http, Msg}; send(Receiver, Msg) when is_function(Receiver) -> (catch Receiver(Msg)); diff --git a/lib/inets/src/http_lib/http_uri.erl b/lib/inets/src/http_lib/http_uri.erl index 9193940901f6..7e7eb5dc2a94 100644 --- a/lib/inets/src/http_lib/http_uri.erl +++ b/lib/inets/src/http_lib/http_uri.erl @@ -58,15 +58,11 @@ For more information about URI, see %%%========================================================================= -doc """ -encode(DecodedPart) -> EncodedPart +Performs percent encoding. > #### Warning {: .warning } > > Use `uri_string:quote/1` instead - -Performs percent encoding. - -[](){: #decode } """. -doc(#{since => <<"OTP R15B01">>}). -spec encode(Data) -> QuotedData when @@ -76,13 +72,11 @@ encode(Data) -> uri_string:quote(Data). -doc """ -decode(EncodedPart) -> DecodePart +Decodes a possibly percent encoded URI part > #### Warning {: .warning } > > Use `uri_string:unquote/1` instead - -Decodes a possibly percent encoded URI part """. -doc(#{since => <<"OTP R15B01">>}). -spec decode(QuotedData) -> Data when diff --git a/lib/inets/src/http_server/httpd_socket.erl b/lib/inets/src/http_server/httpd_socket.erl index ade7c3b75f69..9e423d9dce28 100644 --- a/lib/inets/src/http_server/httpd_socket.erl +++ b/lib/inets/src/http_server/httpd_socket.erl @@ -44,8 +44,6 @@ mechanism is transparently used, that is, `ip_comm` or `ssl`. `deliver/3` sends `Data` over `Socket` using the specified `SocketType`. `Socket` and `SocketType` is to be the socket and the `socket_type` form the `mod` record as defined in `httpd.hrl` - -[](){: #peername } """. -spec deliver(SocketType, Socket, Data) -> Result when SocketType :: httpd:socket_type(), diff --git a/lib/inets/src/inets_app/inets.erl b/lib/inets/src/inets_app/inets.erl index 457831bbd7dd..9d051cef0fb8 100644 --- a/lib/inets/src/inets_app/inets.erl +++ b/lib/inets/src/inets_app/inets.erl @@ -77,8 +77,6 @@ start() -> -doc """ Starts the `Inets` application. Default type is `temporary`. See also `m:application`. - -[](){: #stop } """. -spec start(Type) -> ok | {error, Reason} when Type :: application:restart_type(), @@ -146,8 +144,6 @@ started. > #### Warning {: .warning } > The stand_alone option is considered deprecated. > - -[](){: #stop2 } """. -spec start(Service, ServiceConfig, How) -> Result when Service :: inets_service(), @@ -169,8 +165,6 @@ start(Service, ServiceConfig, How) -> %%-------------------------------------------------------------------- -doc """ Stops the `Inets` application. See also `m:application`. - -[](){: #start2 } """. -spec stop() -> ok. stop() -> @@ -189,8 +183,6 @@ stop() -> Stops a started service of the `Inets` application or takes down a `stand_alone`\-service gracefully. When option `stand_alone` is used in start, only the pid is a valid argument to stop. - -[](){: #see_also } """. -spec stop(Service, Reference) -> ok | {error, Reason} when Service :: inets_service() | stand_alone, @@ -216,8 +208,6 @@ Returns a list of currently running services. > #### Note {: .info } > > Services started as `stand_alone` are not listed. - -[](){: #services_info } """. -spec services() -> [{inets_service(), pid()}] | {error, inets_not_started}. services() -> @@ -244,8 +234,6 @@ an `[{Option, Value}]` list. The information in the list is specific for each service and each service has probably its own info function that gives more details about the service. If specific service info returns `{error, Reason}`, Info will contain Reason term. - -[](){: #service_names } """. -spec services_info() -> [service_info()] | {error, inets_not_started}. @@ -477,8 +465,6 @@ key1search(Key, Vals, Def) -> %%------------------------------------------------------------------- -doc """ Returns a list of available service names. - -[](){: #start } """. -spec service_names() -> [inets_service()]. service_names() -> diff --git a/lib/inets/test/httpc_SUITE.erl b/lib/inets/test/httpc_SUITE.erl index ca0eae2b4cdd..9fd09ae4d7da 100644 --- a/lib/inets/test/httpc_SUITE.erl +++ b/lib/inets/test/httpc_SUITE.erl @@ -367,7 +367,6 @@ end_per_testcase(Case, Config) ok end, inets:stop(httpc, ?config(profile, Config)); - end_per_testcase(_Case, Config) -> inets:stop(httpc, ?config(profile, Config)). @@ -559,18 +558,30 @@ async() -> [{doc, "Test an asynchrony http request."}]. async(Config) when is_list(Config) -> Request = {url(group_name(Config), "/dummy.html", Config), []}, - {ok, RequestId} = - httpc:request(get, Request, [?SSL_NO_VERIFY], [{sync, false}], ?profile(Config)), + httpc:request(get, Request, [?SSL_NO_VERIFY], [{sync, false}], ?profile(Config)), Body = - receive - {http, {RequestId, {{_, 200, _}, _, BinBody}}} -> - BinBody; - {http, Msg} -> - ct:fail(Msg) - end, + receive + {http, {RequestId, {{_, 200, _}, _, BinBody}}} -> + BinBody; + {http, Msg} -> + ct:fail(Msg) + end, inets_test_lib:check_body(binary_to_list(Body)), + %% Check full result false option for async request + {ok, RequestId2} = + httpc:request(get, Request, [?SSL_NO_VERIFY], [{sync, false}, + {full_result, false}]), + Body2 = + receive + {http, {RequestId2, {200, BinBody2}}} -> + BinBody2; + {http, Msg2} -> + ct:fail(Msg2) + end, + inets_test_lib:check_body(binary_to_list(Body2)), + {ok, NewRequestId} = httpc:request(get, Request, [?SSL_NO_VERIFY], [{sync, false}]), ok = httpc:cancel_request(NewRequestId). @@ -1692,19 +1703,30 @@ timeout_memory_leak(Config) when is_list(Config) -> {ok, Host} = inet:gethostname(), Request = {?URL_START ++ Host ++ ":" ++ integer_to_list(Port) ++ "/dummy.html", []}, Profile = ?config(profile, Config), + WaitForCancelRequestToFinish = + fun F(Handlers = [_ | _]) when is_list(Handlers) -> ct:fail({unexpected_handlers, Handlers}); + F(Handlers) when is_list(Handlers) -> ok; + F(N) when is_integer(N) -> + Info = httpc:info(Profile), + ct:log("Info: ~p", [Info]), + {value, {handlers, Handlers}} = + lists:keysearch(handlers, 1, Info), + case Handlers of + [] -> + ok; + _ -> + ct:sleep(1) + end, + case N of + 0 -> + F(Handlers); + _ -> + F(N-1) + end + end, 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(Profile), - ct:log("Info: ~p", [Info]), - {value, {handlers, Handlers}} = - lists:keysearch(handlers, 1, Info), - case Handlers of - [] -> - ok; - _ -> - ct:fail({unexpected_handlers, Handlers}) - end; + WaitForCancelRequestToFinish(5); Unexpected -> ct:fail({unexpected, Unexpected}) end. diff --git a/lib/kernel/doc/guides/logger_chapter.md b/lib/kernel/doc/guides/logger_chapter.md index 1d809b57668c..685450f61a06 100644 --- a/lib/kernel/doc/guides/logger_chapter.md +++ b/lib/kernel/doc/guides/logger_chapter.md @@ -428,8 +428,8 @@ The primary Logger configuration is a map with the following keys: - **`filters = [{FilterId,Filter}]`** - Specifies the primary filters. - - `FilterId = ``t:logger:filter_id/0` - - `Filter = ``t:logger:filter/0` + - `FilterId = ` `t:logger:filter_id/0` + - `Filter = ` `t:logger:filter/0` The initial value of this option is set by the Kernel configuration parameter [`logger`](#logger_parameter). During runtime, primary @@ -470,7 +470,7 @@ Logger API functions that apply to handler configuration are: The configuration for a handler is a map with the following keys: -- **`id = ``t:logger_handler:id/0`** - Automatically inserted by Logger. The +- **`id =` `t:logger_handler:id/0`** - Automatically inserted by Logger. The value is the same as the `HandlerId` specified when adding the handler, and it cannot be changed. @@ -478,7 +478,7 @@ The configuration for a handler is a map with the following keys: same as the `Module` specified when adding the handler, and it cannot be changed. -- **`level = ``t:logger:level/0`` | all | none`** - Specifies the log level for +- **`level =` `t:logger:level/0` ` | all | none`** - Specifies the log level for the handler, that is, log events that are equally or more severe than this level, are forwarded to the handler filters for this handler. @@ -493,8 +493,8 @@ The configuration for a handler is a map with the following keys: - **`filters = [{FilterId,Filter}]`** - Specifies the handler filters. - - `FilterId = ``t:logger:filter_id/0` - - `Filter = ``t:logger:filter/0` + - `FilterId = ` `t:logger:filter_id/0` + - `Filter = ` `t:logger:filter/0` Handler filters are specified when adding the handler, or added or removed during runtime with `logger:add_handler_filter/3` and @@ -517,7 +517,7 @@ The configuration for a handler is a map with the following keys: string. - `FormatterModule = module()` - - `FormatterConfig = ``t:logger:formatter_config/0` + - `FormatterConfig =` `t:logger:formatter_config/0` The formatter information is specified when adding the handler. The formatter configuration can be changed during runtime with diff --git a/lib/kernel/doc/kernel_app.md b/lib/kernel/doc/kernel_app.md index 432d67882369..0428b911de30 100644 --- a/lib/kernel/doc/kernel_app.md +++ b/lib/kernel/doc/kernel_app.md @@ -130,6 +130,26 @@ For more information about configuration parameters, see file node. If a node goes down, it must thereafter be explicitly connected. See `m:net_kernel`. +- **`epmd_module = module()`{: #epmd_module }** - Configures the module + responsible for communication with [epmd](`e:erts:epmd_cmd.md`). If this parameter + is undefined, it defaults to `erl_epmd`. + + The now deprecated command line argument + [`-epmd_module `](`e:erts:erl_cmd.md#epmd_module`) has the same + effect as the `epmd_module` configuration parameter. If this configuration + parameter is defined, it will override the command line argument. + +- **`erl_epmd_node_listen_port = integer()`{: #erl_epmd_node_listen_port }** - Configures the port used by `m:erl_epmd` + to listen for connection and connect to other nodes. If this flag is set, the + Erlang VM will boot in distributed mode even if EPMD is not available. If not + set, a port is chosen automatically (equivalent to port `0`). See `m:erl_epmd` + for more details. + + The now deprecated command line argument + [`erl_epmd_port `](`e:erts:erl_cmd.md#erl_epmd_port`) has the same + effect as the `erl_epmd_node_listen_port` configuration parameter. If this + configuration parameter is defined, it will override the command line argument. + - **`permissions = [Perm]`{: #permissions }** - Specifies the default permission for applications when they are started. In this parameter: @@ -492,6 +512,10 @@ For more information about configuration parameters, see file [Escripts and non-interactive I/O in Unicode Usage in Erlang](`e:stdlib:unicode_usage.md#escripts-and-non-interactive-i-o`) for more details. +- **`os_cmd_shell = string()`{: #os_cmd_shell }** - Specifies which shell to + use when invoking system commands via `os:cmd/2`. By default the shell is detected + automatically. + ## Deprecated Configuration Parameters In Erlang/OTP 21.0, a new API for logging was added. The old `error_logger` diff --git a/lib/kernel/doc/notes.md b/lib/kernel/doc/notes.md index 9f4cee42a5b2..525b715aec44 100644 --- a/lib/kernel/doc/notes.md +++ b/lib/kernel/doc/notes.md @@ -148,7 +148,7 @@ This document describes the changes made to the Kernel application. - Fix reading a line when reading from `t:io:user/0` to not consider `\r` without `\n` to be a new line when `erl` is started with `-noshell`. - Own Id: OTP-19088 Aux Id: [PR-8396] [GH-8360] + Own Id: OTP-19088 Aux Id: [PR-8396], [GH-8360] [PR-7220]: https://github.com/erlang/otp/pull/7220 [GH-7718]: https://github.com/erlang/otp/issues/7718 @@ -310,6 +310,21 @@ This document describes the changes made to the Kernel application. [#6724]: https://github.com/erlang/otp/issues/6724 [PR-8396]: https://github.com/erlang/otp/pull/8396 +## Kernel 9.2.4.3 + +### Fixed Bugs and Malfunctions + +* A bug has been fixed where receiving an SCTP message with \`gen_sctp\` could waste the first fragments of a message and only deliver the last fragment. + + This happened with low probability when the OS signaled that the socket was ready for reading in combination with an internal time-out retry. + + A bug has been fixed with a lingering time-out from after an SCTP connect that could stop the flow of incoming messages on an active \`gen_tcp\` socket. + + Own Id: OTP-19235 Aux Id: ERIERL-1133, PR-8837 +* An boolean option \`non_block_send\` for SCTP, has ben added to be able to achieve the old behaviour to avoid blocking send operations by passing the OS network stack error message (\`\{error,eagain\}\` through. + + Own Id: OTP-19258 Aux Id: OTP-19061, ERIERL-1134 + ## Kernel 9.2.4.2 ### Fixed Bugs and Malfunctions diff --git a/lib/kernel/src/code.erl b/lib/kernel/src/code.erl index 54082f21b608..a833a2f35139 100644 --- a/lib/kernel/src/code.erl +++ b/lib/kernel/src/code.erl @@ -563,9 +563,10 @@ ensure_loaded(Mod) when is_atom(Mod) -> {Binary,File,Ref} -> case ensure_prepare_loading(Mod, Binary, File) of {error,_}=Error -> - call({load_error, Ref, Mod, Error}); + call({load_error, Mod, Ref}), + Error; Prepared -> - call({load_module, Prepared, Mod, File, false, Ref}) + call({load_ok, Prepared, Mod, File, Ref}) end end; embedded -> diff --git a/lib/kernel/src/code_server.erl b/lib/kernel/src/code_server.erl index 7689acf12468..76f3337ad2d4 100644 --- a/lib/kernel/src/code_server.erl +++ b/lib/kernel/src/code_server.erl @@ -35,22 +35,27 @@ -import(lists, [foreach/2]). -define(moddb, code_server). --type on_load_action() :: - fun((term(), state()) -> {'reply',term(),state()} | - {'noreply',state()}). - --type on_load_item() :: {{pid(),reference()},module(), - [{pid(),on_load_action()}]}. - -record(state, {supervisor :: pid(), root :: file:name_all(), path :: [{file:name_all(), nocache | integer()}], path_cache = #{} :: #{integer() => #{string() => []}}, moddb :: ets:table(), namedb :: ets:table(), - on_load = [] :: [on_load_item()], - loading = #{} :: #{module() => [pid()]}}). + on_load = #{} :: #{module() => {on_load_file(), client_pid(), on_load_pid()}}, + loading = #{} :: #{module() => [{loading_action(), client_pid()}]}}). -type state() :: #state{}. +-type loading_action() :: load_module | get_object_code | finish_on_load. + +%% Note: this type comes from code:load_binary/3 (type was not exported) +-type on_load_file() :: 'cover_compiled' | 'preloaded' | file:filename(). + +%% client-side pid() (i.e., process that call code:load_binary/et al), +%% to which 'code_server' needs to send a response when on_load finishes. +-type client_pid() :: pid(). + +%% This pid() refers to the spawned process calling +%% 'erlang:call_on_load_function(Mod)' +-type on_load_pid() :: pid(). -spec start_link([term()]) -> {'ok', pid()}. start_link(Args) -> @@ -179,11 +184,11 @@ loop(#state{supervisor=Supervisor}=State0) -> system_terminate(Reason, Supervisor, [], State0); {system, From, Msg} -> handle_system_msg(running,Msg, From, Supervisor, State0); - {'DOWN',Ref,process,Pid,Res} -> - State = finish_on_load({Pid,Ref}, Res, State0), - loop(State); - {{'LOADER_DOWN', Info}, _Ref, process, _Pid, _Res} -> - State = loader_down(State0, Info), + {{'LOADER_DOWN', Mod}, _Ref, process, _Pid, _Res} -> + State = run_loader_next(Mod, State0), + loop(State); + {{'ON_LOAD_DOWN', Mod}, _Ref, process, _Pid, Res} -> + State = on_load_down(Mod, Res, State0), loop(State); _Msg -> loop(State0) @@ -311,10 +316,15 @@ handle_call({load_module,PC,Mod,File,Purge,EnsureLoaded}, From, S) true -> do_purge(Mod); false -> ok end, - try_finish_module(File, Mod, PC, EnsureLoaded, From, S); + schedule_or_run_loader({load_module,PC,File,EnsureLoaded}, From, Mod, S); -handle_call({load_error,Ref,Mod,Error}, _From, S) -> - reply_loading(Ref, Mod, Error, S); +handle_call({load_ok,PC,Mod,File,Ref}, From, S) -> + erlang:demonitor(Ref, [flush]), + {noreply, run_loader({load_module,PC,File,true}, From, Mod, S)}; + +handle_call({load_error,Mod,Ref}, _From, S) -> + erlang:demonitor(Ref, [flush]), + {reply,ok,run_loader_next(Mod, S)}; handle_call({delete,Mod}, _From, St) when is_atom(Mod) -> case catch erlang:delete_module(Mod) of @@ -342,19 +352,7 @@ handle_call({get_object_code,Mod}, _From, St0) when is_atom(Mod) -> end; handle_call({get_object_code_for_loading,Mod}, From, St0) when is_atom(Mod) -> - case erlang:module_loaded(Mod) of - true -> {reply, {module, Mod}, St0}; - false -> - %% Handles pending on_load events first. If the code is being - %% loaded, finish before adding more entries to the queue. - Action = fun(_, St1) -> - case erlang:module_loaded(Mod) of - true -> {reply, {module, Mod}, St1}; - false -> get_object_code_for_loading(St1, Mod, From) - end - end, - handle_pending_on_load(Action, Mod, From, St0) - end; + schedule_or_run_loader(get_object_code, From, Mod, St0); handle_call(stop,_From, S) -> {stop,normal,stopped,S}; @@ -546,7 +544,7 @@ patch_path(Path) -> case check_path(Path) of {ok, NewPath} -> NewPath; {error, _Reason} -> Path - end. + end. %% As the erl_prim_loader path includes the -pa and -pz %% directories they have to be removed first !! @@ -687,7 +685,7 @@ do_check_path([Dir | Tail], PathChoice, ArchiveExt, Acc) -> do_check_path(Tail, PathChoice, ArchiveExt, [Dir2 | Acc]); false -> {error, bad_directory} - end; + end; ["ebin", App, OptArchive | RevTop] -> Ext = filename:extension(OptArchive), Base = filename:basename(OptArchive, Ext), @@ -710,7 +708,7 @@ do_check_path([Dir | Tail], PathChoice, ArchiveExt, Acc) -> do_check_path(Tail, PathChoice, ArchiveExt, [Dir2 | Acc]); false -> {error, bad_directory} - end; + end; _ -> {error, bad_directory} end @@ -1098,43 +1096,6 @@ del_paths([Name | Names],Path,Cache,NameDb) -> del_paths(_,Path,Cache,_) -> {ok,Path,Cache}. -try_finish_module(File, Mod, PC, EnsureLoaded, From, St) -> - Action = fun(_, S) -> - case (EnsureLoaded =/= false) andalso erlang:module_loaded(Mod) of - true -> - reply_loading(EnsureLoaded, Mod, {module, Mod}, S); - false -> - try_finish_module_1(File, Mod, PC, From, EnsureLoaded, S) - end - end, - handle_pending_on_load(Action, Mod, From, St). - -try_finish_module_1(File, Mod, PC, From, EnsureLoaded, #state{moddb=Db}=St) -> - case is_sticky(Mod, Db) of - true -> %% Sticky file reject the load - error_msg("Can't load module '~w' that resides in sticky dir\n",[Mod]), - reply_loading(EnsureLoaded, Mod, {error,sticky_directory}, St); - false -> - try_finish_module_2(File, Mod, PC, From, EnsureLoaded, St) - end. - -try_finish_module_2(File, Mod, PC, From, EnsureLoaded, St0) -> - Action = fun(Result, #state{moddb=Db}=St1) -> - case Result of - {module, _} -> ets:insert(Db, {Mod, File}); - {error, on_load_failure} -> ok; - {error, What} -> error_msg("Loading of ~ts failed: ~p\n", [File, What]) - end, - reply_loading(EnsureLoaded, Mod, Result, St1) - end, - Res = case erlang:finish_loading([PC]) of - ok -> - {module,Mod}; - {Error,[Mod]} -> - {error,Error} - end, - handle_on_load(Res, Action, Mod, From, St0). - get_object_code(#state{path=Path,path_cache=Cache} = St, Mod) when is_atom(Mod) -> ModStr = atom_to_list(Mod), case erl_prim_loader:is_basename(ModStr) of @@ -1151,59 +1112,6 @@ get_object_code(#state{path=Path,path_cache=Cache} = St, Mod) when is_atom(Mod) {error, St} end. -get_object_code_for_loading(St0, Mod, From) -> - case wait_loading(St0, Mod, From) of - {true, St1} -> {noreply, St1}; - false -> - case get_object_code(St0, Mod) of - {Bin, FName, St1} -> - {Ref, St2} = monitor_loader(St1, Mod, From, Bin, FName), - {reply, {Bin, FName, Ref}, St2}; - {error, St1} -> - {reply, {error, nofile}, St1} - end - end. - -monitor_loader(#state{loading = Loading0} = St, Mod, Pid, Bin, FName) -> - Tag = {'LOADER_DOWN', {Mod, Bin, FName}}, - Ref = erlang:monitor(process, Pid, [{tag, Tag}]), - Loading = Loading0#{Mod => []}, - {Ref, St#state{loading = Loading}}. - -wait_loading(#state{loading = Loading0} = St, Mod, Pid) -> - case Loading0 of - #{Mod := Waiting} -> - Loading = Loading0#{Mod := [Pid | Waiting]}, - {true, St#state{loading = Loading}}; - _ -> - false - end. - -reply_loading(Ref, Mod, Reply, #state{loading = Loading0} = St) - when is_reference(Ref) -> - {Waiting, Loading} = maps:take(Mod, Loading0), - _ = [reply(Pid, Reply) || Pid <- Waiting], - erlang:demonitor(Ref, [flush]), - {reply, Reply, St#state{loading = Loading}}; -reply_loading(Ref, _Mod, Reply, St) when is_boolean(Ref) -> - {reply, Reply, St}. - -loader_down(#state{loading = Loading0} = St, {Mod, Bin, FName}) -> - case Loading0 of - #{Mod := [First | Rest]} -> - Tag = {'LOADER_DOWN', {Mod, Bin, FName}}, - Ref = erlang:monitor(process, First, [{tag, Tag}]), - Loading = Loading0#{Mod := Rest}, - _ = reply(First, {Bin, FName, Ref}), - St#state{loading = Loading}; - #{Mod := []} -> - Loading = maps:remove(Mod, Loading0), - St#state{loading = Loading}; - #{} -> - %% Rogue message, unknown messages are silently dropped in code server - St - end. - mod_to_bin([{Dir, nocache}|Tail], ModFile, Cache) -> File = filename:append(Dir, ModFile), @@ -1307,12 +1215,12 @@ finish_loading_ensure(Prepared, true) -> finish_loading_ensure(Prepared, false) -> {ok,Prepared}. -abort_if_pending_on_load(L, #state{on_load=[]}) -> +abort_if_pending_on_load(L, #state{on_load=OnLoad}) when map_size(OnLoad) =:= 0 -> {ok,L}; abort_if_pending_on_load(L, #state{on_load=OnLoad}) -> Pending = [{M,pending_on_load} || {M,_} <- L, - lists:keymember(M, 2, OnLoad)], + is_map_key(M, OnLoad)], case Pending of [] -> {ok,L}; [_|_] -> {error,Pending} @@ -1347,80 +1255,139 @@ run([F|Fs], Data0) -> end. %% ------------------------------------------------------- -%% The on_load functionality. +%% The module loading and on_load functionality. %% ------------------------------------------------------- -handle_on_load({error,on_load}, Action, Mod, From, St0) -> - #state{on_load=OnLoad0} = St0, - Fun = fun() -> - Res = erlang:call_on_load_function(Mod), - exit(Res) - end, - PidRef = spawn_monitor(Fun), - PidAction = {From,Action}, - OnLoad = [{PidRef,Mod,[PidAction]}|OnLoad0], - St = St0#state{on_load=OnLoad}, - {noreply,St}; -handle_on_load(Res, Action, _, _, St) -> - Action(Res, St). +%% Because can be loaded by the client and the server, +%% we need to track which modules are being loaded to +%% avoid concurrent loading of them. The code server is +%% also responsible for "finish"ing modules and running +%% on_load callback, which we track here. To do this, +%% we queue loaders for a given module and either reply +%% to them or run them if a previous loader succeeded. -handle_pending_on_load(Action, Mod, From, #state{on_load=OnLoad0}=St) -> - case lists:keyfind(Mod, 2, OnLoad0) of - false -> - Action({module, Mod}, St); - {{From,_Ref},Mod,_Pids} -> - %% The on_load function tried to make an external - %% call to its own module. That would be a deadlock. - %% Fail the call. (The call is probably from error_handler, - %% and it will ignore the actual error reason and cause - %% an undef exception.) - {reply,{error,deadlock},St}; - {_,_,_} -> - OnLoad = handle_pending_on_load_1(Mod, {From,Action}, OnLoad0), - {noreply,St#state{on_load=OnLoad}} +%% Schedules or runs a given loader action for a module. +schedule_or_run_loader(Action, Pid, Mod, #state{loading=Loading0} = St0) -> + case Loading0 of + #{Mod := Waiting} -> + #state{on_load=OnLoad} = St0, + case OnLoad of + #{Mod := {_, _, Pid}} -> + {reply, {error, deadlock}, St0}; + _ -> + Loading = Loading0#{Mod := [{Action, Pid} | Waiting]}, + {noreply, St0#state{loading=Loading}} + end; + _ -> + Loading = Loading0#{Mod => []}, + St = St0#state{loading=Loading}, + {noreply, run_loader(Action, Pid, Mod, St)} end. -handle_pending_on_load_1(Mod, From, [{PidRef,Mod,Pids}|T]) -> - [{PidRef,Mod,[From|Pids]}|T]; -handle_pending_on_load_1(Mod, From, [H|T]) -> - [H|handle_pending_on_load_1(Mod, From, T)]; -handle_pending_on_load_1(_, _, []) -> []. +%% Runs the loader. If keep is returned, +%% it does not immediately start the next loader +%% because the current one is still running. +run_loader(Action, Pid, Mod, St0) -> + case handle_loader(Action, Pid, Mod, St0) of + {keep, St} -> + St; + {next, Reply, St} -> + _ = reply(Pid, Reply), + run_loader_next(Mod, St) + end. -finish_on_load(PidRef, OnLoadRes, #state{on_load=OnLoad0}=St0) -> - case lists:keyfind(PidRef, 1, OnLoad0) of - false -> - %% Since this process in general silently ignores messages - %% it doesn't understand, it should also ignore a 'DOWN' - %% message with an unknown reference. - St0; - {PidRef,Mod,Waiting} -> - St = finish_on_load_1(Mod, OnLoadRes, Waiting, St0), - OnLoad = [E || {R,_,_}=E <- OnLoad0, R =/= PidRef], - St#state{on_load=OnLoad} +run_loader_next(Mod, #state{loading=Loading0} = St0) -> + case Loading0 of + #{Mod := [{Action, Pid} | Waiting]} -> + Loading = Loading0#{Mod := Waiting}, + St = St0#state{loading=Loading}, + run_loader(Action, Pid, Mod, St); + #{Mod := []} -> + St0#state{loading=maps:remove(Mod, Loading0)} end. -finish_on_load_1(Mod, OnLoadRes, Waiting, St) -> +handle_loader(get_object_code, Pid, Mod, St0) -> + case erlang:module_loaded(Mod) of + true -> + {next, {module, Mod}, St0}; + false -> + case get_object_code(St0, Mod) of + {Bin, FName, St1} -> + Tag = {'LOADER_DOWN', Mod}, + Ref = erlang:monitor(process, Pid, [{tag, Tag}]), + _ = reply(Pid, {Bin, FName, Ref}), + {keep, St1}; + {error, St1} -> + {next, {error, nofile}, St1} + end + end; + +handle_loader({load_module, PC, File, EnsureLoaded}, Pid, Mod, St0) -> + case EnsureLoaded andalso erlang:module_loaded(Mod) of + true -> + {next, {module, Mod}, St0}; + false -> + case is_sticky(Mod, St0#state.moddb) of + true -> + error_msg("Can't load module '~w' that resides in sticky dir\n", [Mod]), + {next, {error,sticky_directory}, St0}; + false -> + case erlang:finish_loading([PC]) of + ok -> + store_module_and_reply(File, Mod, St0); + {on_load,[Mod]} -> + schedule_on_load(File, Pid, Mod, St0); + {Error, [Mod]} -> + error_msg("Loading of ~ts failed: ~p\n", [File, Error]), + {next, {error, Error}, St0} + end + end + end; + +handle_loader({finish_on_load, File, OnLoadRes}, _Pid, Mod, St0) -> Keep = OnLoadRes =:= ok, erts_code_purger:finish_after_on_load(Mod, Keep), - Res = case Keep of - false -> - _ = finish_on_load_report(Mod, OnLoadRes), - {error,on_load_failure}; - true -> - {module,Mod} - end, - finish_on_load_2(Waiting, Res, St). - -finish_on_load_2([{Pid,Action}|T], Res, St0) -> - case Action(Res, St0) of - {reply,Rep,St} -> - _ = reply(Pid, Rep), - finish_on_load_2(T, Res, St); - {noreply,St} -> - finish_on_load_2(T, Res, St) - end; -finish_on_load_2([], _, St) -> - St. + case Keep of + true -> + store_module_and_reply(File, Mod, St0); + false -> + _ = finish_on_load_report(Mod, OnLoadRes), + {next, {error, on_load_failure}, St0} + end. + +store_module_and_reply(File, Mod, St0) -> + #state{moddb=Db, loading=Loading0} = St0, + ets:insert(Db, {Mod, File}), + %% Optimization: go ahead and notify all get_object_code + %% loader actions that it has succeeded. + Waiting = lists:filter(fun + ({get_object_code, Pid}) -> + _ = reply(Pid, {module, Mod}), + false; + ({_Action, _Pid}) -> + true + end, maps:get(Mod, Loading0)), + Loading = maps:put(Mod, Waiting, Loading0), + {next, {module, Mod}, St0#state{loading=Loading}}. + +schedule_on_load(File, Pid, Mod, St0) -> + %% We use a separate state for on_load because we + %% need to track them for abort_if_pending_on_load + %% and we also need to be able to detect deadlocks. + #state{on_load=OnLoad0} = St0, + Fun = fun() -> + Res = erlang:call_on_load_function(Mod), + exit(Res) + end, + Tag = {'ON_LOAD_DOWN', Mod}, + {Loader, _} = spawn_opt(Fun, [{monitor, [{tag, Tag}]}]), + OnLoad = maps:put(Mod, {File, Pid, Loader}, OnLoad0), + {keep, St0#state{on_load=OnLoad}}. + +on_load_down(Mod, OnLoadRes, #state{on_load=OnLoad0}=St0) -> + {{File, Pid, _Loader}, OnLoad} = maps:take(Mod, OnLoad0), + St = St0#state{on_load=OnLoad}, + run_loader({finish_on_load, File, OnLoadRes}, Pid, Mod, St). finish_on_load_report(_Mod, Atom) when is_atom(Atom) -> %% No error reports for atoms. diff --git a/lib/kernel/src/erl_epmd.erl b/lib/kernel/src/erl_epmd.erl index aedbec8871d4..b204860e3051 100644 --- a/lib/kernel/src/erl_epmd.erl +++ b/lib/kernel/src/erl_epmd.erl @@ -164,14 +164,9 @@ to when accepting new distribution requests. Host :: atom() | string() | inet:ip_address(), Port :: non_neg_integer(). listen_port_please(_Name, _Host) -> - try - %% Should come up with a new name for this as ERL_EPMD_PORT describes what - %% port epmd runs on which could easily be confused with this. - {ok, [[StringPort]]} = init:get_argument(erl_epmd_port), - Port = list_to_integer(StringPort), - {ok, Port} - catch error:_ -> - {ok, 0} + case erl_epmd_node_listen_port() of + {ok, Port} -> {ok, Port}; + undefined -> {ok, 0} end. -doc false. @@ -291,26 +286,26 @@ init(_) -> handle_call({register, Name, PortNo, Family}, _From, State) -> case State#state.socket of - P when P < 0 -> - case do_register_node(Name, PortNo, Family) of - {alive, Socket, Creation} -> - S = State#state{socket = Socket, - port_no = PortNo, - name = Name, - family = Family}, - {reply, {ok, Creation}, S}; + P when P < 0 -> + case do_register_node(Name, PortNo, Family) of + {alive, Socket, Creation} -> + S = State#state{socket = Socket, + port_no = PortNo, + name = Name, + family = Family}, + {reply, {ok, Creation}, S}; Error -> - case init:get_argument(erl_epmd_port) of + case erl_epmd_node_listen_port() of {ok, _} -> {reply, {ok, -1}, State#state{ socket = -1, port_no = PortNo, name = Name} }; - error -> + undefined -> {reply, Error, State} end - end; - _ -> - {reply, {error, already_registered}, State} + end; + _ -> + {reply, {error, already_registered}, State} end; handle_call(client_info_req, _From, State) -> @@ -378,7 +373,32 @@ get_epmd_port() -> error -> ?erlang_daemon_port end. - + +erl_epmd_node_listen_port() -> + PortParameterResult = + case application:get_env(kernel, erl_epmd_node_listen_port) of + {ok, Port} when is_integer(Port), Port >= 0 -> + {ok, Port}; + {ok, Invalid} -> + error({invalid_parameter_value, erl_epmd_node_listen_port, Invalid}); + undefined -> + undefined + end, + PortArgumentResult = + try + {ok, [[StringPort]]} = init:get_argument(erl_epmd_port), + IntPort = list_to_integer(StringPort), + {ok, IntPort} + catch error:_ -> + undefined + end, + case {PortParameterResult, PortArgumentResult} of + {undefined, undefined} -> undefined; + {_, undefined} -> PortParameterResult; + {undefined, _} -> PortArgumentResult; + _ -> error({invalid_configuration, "either -erl_epmd_port or kernel erl_epmd_node_listen_port should be specified, not both"}) + end. + %% %% Epmd socket %% diff --git a/lib/kernel/src/file.erl b/lib/kernel/src/file.erl index 67ee96578593..f541c1f7d134 100644 --- a/lib/kernel/src/file.erl +++ b/lib/kernel/src/file.erl @@ -238,7 +238,7 @@ operating system kernel. %% 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, location/0, mode/0, name/0, name_all/0, posix/0]). + io_device/0, io_server/0, location/0, mode/0, name/0, name_all/0, posix/0]). %%% Includes and defines -include("file_int.hrl"). @@ -264,8 +264,14 @@ See the documentation of the `t:name_all/0` type.". -type file_descriptor() :: #file_descriptor{}. -doc "A file descriptor representing a file opened in [`raw`](`m:file#raw`) mode.". -type fd() :: file_descriptor(). --doc "As returned by `open/2`; `t:pid/0` is a process handling I/O-protocols.". --type io_device() :: pid() | fd(). +-doc "A process handling the I/O protocol.". +-type io_server() :: pid(). +-doc """ +An IO device as returned by `open/2`. + +`t:io_server/0` is returned by default and `t:fd/0` is returned if the `raw` option is given. +""". +-type io_device() :: io_server() | fd(). -type location() :: integer() | {'bof', Offset :: integer()} | {'cur', Offset :: integer()} | {'eof', Offset :: integer()} | 'bof' | 'cur' | 'eof'. diff --git a/lib/kernel/src/group.erl b/lib/kernel/src/group.erl index f256b2fd2d50..0a6a5afdfe0b 100644 --- a/lib/kernel/src/group.erl +++ b/lib/kernel/src/group.erl @@ -700,8 +700,13 @@ get_line1({search,Cs,Cont,Rs}, Drv, Shell, Ls, Encoding) -> {more_chars,Ncont,_Nrs} = edlin:start(Pbs, {search,none}), put(search, new_search), get_line1(edlin:edit_line1(Cs, Ncont), Drv, Shell, Ls, Encoding); -get_line1({help, Before, Cs0, Cont, Rs}, Drv, Shell, Ls0, Encoding) -> +get_line1({Help, Before, Cs0, Cont, Rs}, Drv, Shell, Ls0, Encoding) + when Help =:= help; Help =:= help_full -> send_drv_reqs(Drv, Rs), + NLines = case Help of + help -> 7; + help_full -> 0 + end, {_,Word,_} = edlin:over_word(Before, [], 0), {R,Docs} = case edlin_context:get_context(Before) of {function, Mod} when Word =/= [] -> try @@ -727,13 +732,13 @@ get_line1({help, Before, Cs0, Cont, Rs}, Drv, Shell, Ls0, Encoding) -> case {R, Docs} of {_, {error, _}} -> send_drv(Drv, beep); {module, _} -> - Docs1 = " "++string:trim(lists:nthtail(3, Docs),both), - send_drv(Drv, {put_expand, unicode, - [unicode:characters_to_binary(Docs1)], 7}); + Docs1 = " "++string:trim(lists:nthtail(3, Docs),both), + send_drv(Drv, {put_expand, unicode, + [unicode:characters_to_binary(Docs1)], NLines}); {function, _} -> - Docs1 = " "++string:trim(Docs,both), - send_drv(Drv, {put_expand, unicode, - [unicode:characters_to_binary(Docs1)], 7}) + Docs1 = " "++string:trim(Docs,both), + send_drv(Drv, {put_expand, unicode, + [unicode:characters_to_binary(Docs1)], NLines}) end, get_line1(edlin:edit_line(Cs0, Cont), Drv, Shell, Ls0, Encoding); get_line1({Expand, Before, Cs0, Cont,Rs}, Drv, Shell, Ls0, Encoding) diff --git a/lib/kernel/src/inet.erl b/lib/kernel/src/inet.erl index 7f0ba07a9601..ba1d303c1f83 100644 --- a/lib/kernel/src/inet.erl +++ b/lib/kernel/src/inet.erl @@ -309,10 +309,11 @@ Function `parse_address/1` can be useful: %% Socket utility functions -export([ensure_sockaddr/1]). --export_type([address_family/0, socket_protocol/0, hostent/0, hostname/0, ip4_address/0, - ip6_address/0, ip_address/0, port_number/0, - family_address/0, local_address/0, - socket_address/0, returned_non_ip_address/0, +-export_type([socket_protocol/0, hostent/0, hostname/0, + address_family/0, ip4_address/0, ip6_address/0, ip_address/0, + port_number/0, + family_address/0, local_address/0, socket_address/0, + returned_non_ip_address/0, socket_setopt/0, socket_getopt/0, socket_optval/0, ancillary_data/0, posix/0, socket/0, inet_backend/0, stat_option/0]). @@ -331,8 +332,9 @@ Function `parse_address/1` can be useful: %% Two kinds of debug macros (depnds on what you need to debug) %% -define(DBG(T), erlang:display({{self(), ?MODULE, ?LINE, ?FUNCTION_NAME}, T})). -%% -define(DBG(F, A), io:format("~w -> " ++ F ++ "~n", [?FUNCTION_NAME | A])). +%% -define(DBG(F, A), io:format("~w(~w) -> " ++ F ++ "~n", [?FUNCTION_NAME, ?LINE | A])). %% -define(DBG(F), ?DBG(F, [])). +-define(DBG(F, A), ok). %%% --------------------------------- @@ -1719,125 +1721,192 @@ net_collect_ifopts([], _AllIfs, AllNameAndOpts) -> lists:reverse(AllNameAndOpts); net_collect_ifopts([IfName|IfNames], AllIfs, NameAndOpts) -> %% Get the Ifs with the name IfName + ?DBG("entry with" + "~n IfName: ~p", [IfName]), Ifs = [If || #{name := N} = If <- AllIfs, (N =:= IfName)], IfOpts = net_ifs2ifopts(Ifs), + ?DBG("collected for interface ~s:" + "~n ~p", [IfName, IfOpts]), net_collect_ifopts(IfNames, AllIfs, [{IfName, IfOpts}|NameAndOpts]). net_ifs2ifopts(Ifs) -> - net_ifs2ifopts(Ifs, #{flags => [], - addrs => [], - hwaddr => []}). - - -net_ifs2ifopts([], #{flags := Flags, - addrs := Addrs, - hwaddr := HwAddr}) -> - [{flags, net_flags_to_inet_flags(Flags)}] ++ - lists:reverse(Addrs) ++ - case HwAddr of + net_ifs2ifopts(Ifs, + %% Family: inet + #{flags => [], + addrs => []}, + %% Family: inet6 + #{flags => [], + addrs => []}, + %% Family: packet | link + #{flags => [], + addr => []}). + + +net_ifs2ifopts([], + %% Family: inet + #{flags := [], + addrs := []}, + %% Family: inet6 + #{flags := [], + addrs := []}, + %% Family: packet | link + #{flags := [], + addr := []}) -> + [{flags, []}]; +net_ifs2ifopts([], + %% Family: inet + #{flags := Flags4, + addrs := Addrs4}, + %% Family: inet6 + #{flags := Flags6, + addrs := Addrs6}, + %% Family: packet | link + #{flags := FlagsHw, + addr := AddrHw}) -> + ?DBG("entry when done with" + "~n Flags4: ~p" + "~n Addrs4: ~p" + "~n Flags6: ~p" + "~n Addrs6: ~p" + "~n FlagsHw: ~p" + "~n AddrHw: ~p", + [Flags4, Addrs4, Flags6, Addrs6, FlagsHw, AddrHw]), + case {Flags4, Addrs4} of + {[], []} -> + []; + _ -> + [{flags, net_flags_to_inet_flags(Flags4)}] ++ + lists:reverse(Addrs4) + end ++ + case Addrs6 of [] -> []; _ -> - [{hwaddr, HwAddr}] - end; -net_ifs2ifopts([If|Ifs], #{flags := []} = IfOpts0) -> - IfOpts = - case If of - %% LINK or PACKET - %% - On some platforms LINK is used (FreeBSD for instance) - %% LINK does not include an explicit HW address. Instead - %% its part of the 'data', together with name and possibly - %% link layer selector (the lengths can be used to decode - %% the data).. - %% - On others PACKET is used. - #{flags := Flags, - addr := #{family := packet, - addr := HwAddrBin}} -> - IfOpts0#{flags => Flags, - hwaddr => binary_to_list(HwAddrBin)}; - #{flags := Flags, - addr := #{family := link, - nlen := NLen, - alen := ALen, - data := Data}} when (ALen > 0) -> - case Data of - <<_:NLen/binary, ABin:ALen/binary, _/binary>> -> - IfOpts0#{flags => Flags, - hwaddr => binary_to_list(ABin)}; - _ -> - IfOpts0#{flags => Flags} - end; - #{flags := Flags, - addr := #{family := Fam, - addr := Addr}, - netmask := #{family := Fam, - addr := Mask}} when (Fam =:= inet) orelse - (Fam =:= inet6) -> - %% We may also have broadcast or dest addr - BroadAddr = case maps:get(broadaddr, If, undefined) of - undefined -> - []; - #{addr := BA} -> - [{broadaddr, BA}] - end, - DstAddr = case maps:get(dstaddr, If, undefined) of - undefined -> - []; - #{addr := DA} -> - [{dstaddr, DA}] - end, - IfOpts0#{flags => Flags, - addrs => DstAddr ++ BroadAddr ++ [{netmask, Mask}, - {addr, Addr}]}; - #{flags := Flags} -> - IfOpts0#{flags => Flags} - end, - net_ifs2ifopts(Ifs, IfOpts); -net_ifs2ifopts([If|Ifs], IfOpts0) -> - %% We can only have one 'flags' entry - %% (they are supposed to be the same for all if:s of the same name). - %% For each 'addr' entry we can have one 'netmask' and 'broadcast' - %% or 'dstaddr' - IfOpts = - case If of - #{flags := Flags, - addr := #{family := packet, - addr := HwAddrBin}} -> - Flags0 = maps:get(flags, IfOpts0, []), - IfOpts0#{flags => Flags0 ++ (Flags -- Flags0), - hwaddr => binary_to_list(HwAddrBin)}; - #{flags := Flags, - addr := #{family := Fam, - addr := Addr}, - netmask := #{family := Fam, - addr := Mask}} when (Fam =:= inet) orelse - (Fam =:= inet6) -> - Addrs0 = maps:get(addrs, IfOpts0, []), - Flags0 = maps:get(flags, IfOpts0, []), - %% We may also have broadcast or dest addr - BroadAddr = case maps:get(broadaddr, If, undefined) of - undefined -> - []; - #{addr := BA} -> - [{broadaddr, BA}] - end, - DstAddr = case maps:get(dstaddr, If, undefined) of - undefined -> - []; - #{addr := DA} -> - [{dstaddr, DA}] - end, - IfOpts0#{flags => Flags0 ++ (Flags -- Flags0), - addrs => - DstAddr ++ - BroadAddr ++ - [{netmask, Mask}, - {addr, Addr}] ++ - Addrs0}; + case Flags6 of + Flags4 -> + lists:reverse(Addrs6); + [] -> + lists:reverse(Addrs6); + _ -> + [{flags, net_flags_to_inet_flags(Flags6)}] ++ + lists:reverse(Addrs6) + end + end ++ + case {FlagsHw, AddrHw} of + {[], []} -> + []; + {[], _} -> + [{hwaddr, AddrHw}]; + {_, _} when ((FlagsHw =:= Flags4) orelse + (FlagsHw =:= Flags6)) andalso (AddrHw =/= []) -> + [{hwaddr, AddrHw}]; _ -> - IfOpts0 - end, - net_ifs2ifopts(Ifs, IfOpts). + [{flags, net_flags_to_inet_flags(FlagsHw)}] ++ + [{hwaddr, AddrHw}] + end; +net_ifs2ifopts([If|Ifs], IfOpts4_0, IfOpts6_0, IfOptsHw_0) -> + case If of + %% LINK or PACKET + %% - On some platforms LINK is used (FreeBSD for instance) + %% LINK does not include an explicit HW address. Instead + %% its part of the 'data', together with name and possibly + %% link layer selector (the lengths can be used to decode + %% the data).. + %% - On others PACKET is used. + #{flags := Flags, + addr := #{family := packet, + addr := HwAddrBin}} -> + %% This should only come once (per interface) so we + %% do not actually check... + ?DBG("packet entry:" + "~n Flags: ~p" + "~n HwAddrBin: ~p", [Flags, HwAddrBin]), + IfOptsHw = + IfOptsHw_0#{flags => Flags, + addr => binary_to_list(HwAddrBin)}, + net_ifs2ifopts(Ifs, IfOpts4_0, IfOpts6_0, IfOptsHw); + #{flags := Flags, + addr := #{family := link, + nlen := NLen, + alen := ALen, + data := Data}} when (ALen > 0) -> + ?DBG("link entry:" + "~n Flags: ~p" + "~n NLen: ~p" + "~n ALen: ~p" + "~n Data: ~p", [Flags, NLen, ALen, Data]), + IfOptsHw = + case Data of + <<_:NLen/binary, ABin:ALen/binary, _/binary>> -> + IfOptsHw_0#{flags => Flags, + addr => binary_to_list(ABin)}; + _ -> + IfOptsHw_0#{flags => Flags} + end, + net_ifs2ifopts(Ifs, IfOpts4_0, IfOpts6_0, IfOptsHw); + + #{flags := Flags, + addr := #{family := Fam, + addr := Addr}, + netmask := #{family := Fam, + addr := Mask}} when (Fam =:= inet) orelse + (Fam =:= inet6) -> + %% We may also have broadcast or dest addr + BroadAddr = case maps:get(broadaddr, If, undefined) of + undefined -> + []; + #{addr := BA} -> + [{broadaddr, BA}] + end, + DstAddr = case maps:get(dstaddr, If, undefined) of + undefined -> + []; + #{addr := DA} -> + [{dstaddr, DA}] + end, + ?DBG("~w entry:" + "~n Flags: ~p" + "~n Addr: ~p" + "~n Mask: ~p" + "~n Broad Addr: ~p" + "~n Dest Addr: ~p", + [Fam, Flags, Addr, Mask, BroadAddr, DstAddr]), + case Fam of + inet -> + Flags4_0 = maps:get(flags, IfOpts4_0, []), + Flags4 = Flags4_0 ++ (Flags -- Flags4_0), + Addrs4_0 = maps:get(addrs, IfOpts4_0, []), + IfOpts4 = + IfOpts4_0#{flags => Flags4, + addrs => + DstAddr ++ + BroadAddr ++ + [{netmask, Mask}, + {addr, Addr}] ++ + Addrs4_0}, + net_ifs2ifopts(Ifs, IfOpts4, IfOpts6_0, IfOptsHw_0); + inet6 -> + Flags6_0 = maps:get(flags, IfOpts6_0, []), + Flags6 = Flags6_0 ++ (Flags -- Flags6_0), + Addrs6_0 = maps:get(addrs, IfOpts6_0, []), + IfOpts6 = + IfOpts6_0#{flags => Flags6, + addrs => + DstAddr ++ + BroadAddr ++ + [{netmask, Mask}, + {addr, Addr}] ++ + Addrs6_0}, + net_ifs2ifopts(Ifs, IfOpts4_0, IfOpts6, IfOptsHw_0) + end; + + #{flags := Flags} -> + ?DBG("other entry => retain flags" + "~n ~p", [If]), + %% Reuse the IPv4 opts + net_ifs2ifopts(Ifs, + IfOpts4_0#{flags => Flags}, IfOpts6_0, IfOptsHw_0) + end. net_flags_to_inet_flags(Flags) -> net_flags_to_inet_flags(Flags, []). diff --git a/lib/kernel/src/inet6_sctp.erl b/lib/kernel/src/inet6_sctp.erl index b55bfc029811..ef75ec193a35 100644 --- a/lib/kernel/src/inet6_sctp.erl +++ b/lib/kernel/src/inet6_sctp.erl @@ -70,12 +70,29 @@ listen(S, Flag) -> peeloff(S, AssocId) -> case prim_inet:peeloff(S, AssocId) of - {ok, NewS}=Result -> + {ok, NewS} -> inet_db:register_socket(NewS, ?MODULE), - Result; + peeloff_opts(S, NewS); Error -> Error end. +peeloff_opts(S, NewS) -> + InheritOpts = + [active, sctp_nodelay, priority, linger, reuseaddr, + tclass, recvtclass], + case prim_inet:getopts(S, InheritOpts) of + {ok, Opts} -> + case prim_inet:setopts(S, Opts) of + ok -> + {ok, NewS}; + Error1 -> + close(NewS), Error1 + end; + Error2 -> + close(NewS), Error2 + end. + + connect(S, SockAddr, Opts, Timer) -> inet_sctp:connect(S, SockAddr, Opts, Timer). diff --git a/lib/kernel/src/inet_config.erl b/lib/kernel/src/inet_config.erl index 0d8b862f34ef..f352afbc694e 100644 --- a/lib/kernel/src/inet_config.erl +++ b/lib/kernel/src/inet_config.erl @@ -426,17 +426,15 @@ valid_type(win32) -> true; valid_type(_) -> false. read_inetrc() -> - case application:get_env(inetrc) of - {ok,File} -> - try_get_rc(File); - _ -> - case os:getenv("ERL_INETRC") of - false -> - {nofile,[]}; - File -> - try_get_rc(File) - end - end. + File = case application:get_env(inetrc) of + {ok, Value} when is_list(Value) -> Value; + {ok, Value} when is_atom(Value) -> atom_to_list(Value); + undefined -> os:getenv("ERL_INETRC") + end, + case is_list(File) of + true -> try_get_rc(File); + false -> {nofile,[]} + end. try_get_rc(File) -> case get_rc(File) of diff --git a/lib/kernel/src/inet_sctp.erl b/lib/kernel/src/inet_sctp.erl index d5251d9ec68f..2acaf213ab48 100644 --- a/lib/kernel/src/inet_sctp.erl +++ b/lib/kernel/src/inet_sctp.erl @@ -69,12 +69,28 @@ listen(S, Flag) -> peeloff(S, AssocId) -> case prim_inet:peeloff(S, AssocId) of - {ok, NewS}=Result -> + {ok, NewS} -> inet_db:register_socket(NewS, ?MODULE), - Result; + peeloff_opts(S, NewS); Error -> Error end. +peeloff_opts(S, NewS) -> + InheritOpts = + [active, sctp_nodelay, priority, linger, reuseaddr, + tos, ttl, recvtos, recvttl], + case prim_inet:getopts(S, InheritOpts) of + {ok, Opts} -> + case prim_inet:setopts(NewS, Opts) of + ok -> + {ok, NewS}; + Error1 -> + close(NewS), Error1 + end; + Error2 -> + close(NewS), Error2 + end. + %% A non-blocking connect is implemented when the initial call is to %% gen_sctp:connect_init which passes the value nowait as the Timer diff --git a/lib/kernel/src/kernel.erl b/lib/kernel/src/kernel.erl index 021676c33edc..c7ecc855e8c1 100644 --- a/lib/kernel/src/kernel.erl +++ b/lib/kernel/src/kernel.erl @@ -33,6 +33,7 @@ start(_, []) -> %% Setup the logger and configure the kernel logger environment ok = logger:internal_init_logger(), + ok = os:internal_init_cmd_shell(), case supervisor:start_link({local, kernel_sup}, kernel, []) of {ok, Pid} -> ok = erl_signal_handler:start(), @@ -48,6 +49,7 @@ stop(_State) -> %% Some configuration parameters for kernel are changed %%------------------------------------------------------------------- config_change(Changed, New, Removed) -> + ok = os:internal_init_cmd_shell(), do_distribution_change(Changed, New, Removed), do_global_groups_change(Changed, New, Removed), ok. diff --git a/lib/kernel/src/logger.erl b/lib/kernel/src/logger.erl index 5d1ba10d95b7..fb1409c1658c 100644 --- a/lib/kernel/src/logger.erl +++ b/lib/kernel/src/logger.erl @@ -170,7 +170,7 @@ equal to or below the configured log level. -type level() :: emergency | alert | critical | error | warning | notice | info | debug. -doc "A log report.". --type report() :: map() | [{atom(),term()}]. +-type report() :: map() | [{atom(),term()}, ...]. -doc """ A fun which converts a [`report()`](`t:report/0`) to a format string and arguments, or directly to a string. @@ -339,7 +339,7 @@ Handler configuration data for Logger. %%%----------------------------------------------------------------- %%% API --define(LOG_DOC_1(Level), (#{equiv => emergency(StringOrReport, #{})})). +-define(LOG_DOC_1(Level), (#{equiv => Level(StringOrReport, #{})})). -define(LOG_DOC_2(Level), " Create a " Level " log event. diff --git a/lib/kernel/src/logger_formatter.erl b/lib/kernel/src/logger_formatter.erl index 65e56f18ebf1..06337e408418 100644 --- a/lib/kernel/src/logger_formatter.erl +++ b/lib/kernel/src/logger_formatter.erl @@ -83,7 +83,7 @@ following keys can be set as configuration parameters: Defaults to `unlimited`. -- **`report_cb = ``t:logger:report_cb/0`** - A report callback is used by the +- **`report_cb = ` `t:logger:report_cb/0`** - A report callback is used by the formatter to transform log messages on report form to a format string and arguments. The report callback can be specified in the metadata for the log event. If no report callback exists in metadata, `logger_formatter` will use diff --git a/lib/kernel/src/net.erl b/lib/kernel/src/net.erl index 494774e24d4e..5804408bd57c 100644 --- a/lib/kernel/src/net.erl +++ b/lib/kernel/src/net.erl @@ -461,7 +461,10 @@ getifaddrs_filter_map_hwaddr() -> getifaddrs_filter(#{family := FFamily, flags := FFlags} = _FilterMap, #{addr := #{family := EFamily}, flags := EFlags} = _Entry) when (FFamily =:= default) andalso - ((EFamily =:= inet) orelse (EFamily =:= inet6)) -> + ((EFamily =:= inet) orelse + (EFamily =:= inet6) orelse + (EFamily =:= link) orelse + (EFamily =:= packet)) -> getifaddrs_filter_flags(FFlags, EFlags); getifaddrs_filter(#{family := FFamily, flags := FFlags} = _FilterMap, #{addr := #{family := EFamily}, flags := EFlags} = _Entry) diff --git a/lib/kernel/src/net_kernel.erl b/lib/kernel/src/net_kernel.erl index 485a033dc9d4..83a23ba32129 100644 --- a/lib/kernel/src/net_kernel.erl +++ b/lib/kernel/src/net_kernel.erl @@ -2420,11 +2420,27 @@ protocol_childspecs([H|T]) -> -doc false. epmd_module() -> - case init:get_argument(epmd_module) of - {ok,[[Module | _] | _]} -> - list_to_atom(Module); - _ -> - erl_epmd + ModuleParameterResult = + case application:get_env(kernel, epmd_module) of + {ok, Module} when is_atom(Module) -> + {ok, Module}; + {ok, Invalid} -> + error({invalid_parameter_value, epmd_module, Invalid}); + undefined -> + undefined + end, + ModuleArgumentResult = + case init:get_argument(epmd_module) of + {ok,[[Mod | _] | _]} -> + {ok, list_to_atom(Mod)}; + _ -> + undefined + end, + case {ModuleParameterResult, ModuleArgumentResult} of + {undefined, undefined} -> erl_epmd; + {{ok, ModuleParameter}, undefined} -> ModuleParameter; + {undefined, {ok, ModuleArgument}} -> ModuleArgument; + _ -> error({invalid_configuration, "either -epmd_module or kernel epmd_module should be specified, not both"}) end. %% diff --git a/lib/kernel/src/os.erl b/lib/kernel/src/os.erl index adb31bd678f3..76dffe851806 100644 --- a/lib/kernel/src/os.erl +++ b/lib/kernel/src/os.erl @@ -37,6 +37,8 @@ a program to run on most platforms. -export([type/0, version/0, cmd/1, cmd/2, find_executable/1, find_executable/2]). +-export([internal_init_cmd_shell/0]). + -include("file.hrl"). -export_type([env_var_name/0, env_var_value/0, env_var_name_value/0]). @@ -518,6 +520,10 @@ cmd(Cmd) -> Executes `Command` in a command shell of the target OS, captures the standard output and standard error of the command, and returns this result as a string. +The command shell can be set using the +[kernel configuration parameter](kernel_app.md#os_cmd_shell), by default the +shell is detected upon system startup. + _Examples:_ ```erlang @@ -581,35 +587,16 @@ get_option(Opt, Options, Default) -> _ -> throw(badopt) end. -mk_cmd({win32,Wtype}, Cmd) -> - Command = case {os:getenv("COMSPEC"),Wtype} of - {false,windows} -> lists:concat(["command.com /c", Cmd]); - {false,_} -> lists:concat(["cmd /c", Cmd]); - {Cspec,_} -> lists:concat([Cspec," /c",Cmd]) - end, +-define(KERNEL_OS_CMD_SHELL_KEY, kernel_os_cmd_shell). + +mk_cmd({win32,_}, Cmd) -> + Shell = persistent_term:get(?KERNEL_OS_CMD_SHELL_KEY), + Command = lists:concat([Shell, " /c", Cmd]), {Command, [], [], <<>>}; mk_cmd(_,Cmd) -> %% Have to send command in like this in order to make sh commands like %% cd and ulimit available. - %% - %% We use an absolute path here because we do not want the path to be - %% searched in case a stale NFS handle is somewhere in the path before - %% the sh command. - %% - %% Check if the default shell is located in /bin/sh as expected usually - %% or in /system/bin/sh as implemented on Android. The raw option is - %% used to bypass the file server and speed up the file access. - Shell = case file:read_file_info("/bin/sh",[raw]) of - {ok,#file_info{type=regular}} -> - "/bin/sh"; - _ -> - case file:read_file_info("/system/bin/sh",[raw]) of - {ok,#file_info{type=regular}} -> - "/system/bin/sh"; - _ -> - "/bin/sh" - end - end, + Shell = persistent_term:get(?KERNEL_OS_CMD_SHELL_KEY), {Shell ++ " -s unix:cmd", [out], %% We insert a new line after the command, in case the command %% contains a comment character. @@ -628,6 +615,42 @@ mk_cmd(_,Cmd) -> ["(", unicode:characters_to_binary(Cmd), "\n) >}. +-doc false. +internal_init_cmd_shell() -> + Shell = + case application:get_env(kernel, os_cmd_shell) of + undefined -> + internal_init_cmd_shell(os:type()); + {ok, Val} -> + Val + end, + persistent_term:put(?KERNEL_OS_CMD_SHELL_KEY, Shell). +internal_init_cmd_shell({win32,Wtype}) -> + case {os:getenv("COMSPEC"),Wtype} of + {false,windows} -> "command.com"; + {false,_} -> "cmd"; + {Cspec,_} -> Cspec + end; +internal_init_cmd_shell(_) -> + %% We use an absolute path here because we do not want the path to be + %% searched in case a stale NFS handle is somewhere in the path before + %% the sh command. + %% + %% Check if the default shell is located in /bin/sh as expected usually + %% or in /system/bin/sh as implemented on Android. The raw option is + %% used to bypass the file server. + case file:read_file_info("/bin/sh",[raw]) of + {ok,#file_info{type=regular}} -> + "/bin/sh"; + _ -> + case file:read_file_info("/system/bin/sh",[raw]) of + {ok,#file_info{type=regular}} -> + "/system/bin/sh"; + _ -> + "/bin/sh" + end + end. + validate(Term) -> try validate1(Term) catch error:_ -> throw(badarg) diff --git a/lib/kernel/src/socket.erl b/lib/kernel/src/socket.erl index c75dd2d68f30..44b0c40f5d56 100644 --- a/lib/kernel/src/socket.erl +++ b/lib/kernel/src/socket.erl @@ -319,6 +319,7 @@ server(Addr, Port) -> sockaddr_unspec/0, sockaddr_native/0, + interface_type/0, msg_flag/0, level/0, @@ -754,6 +755,15 @@ C: `struct sockaddr_ll` hatype := hatype(), addr := binary()}. +-doc """ +The interface type (of the datalink). We only translate a few values to atoms, +the rest are left as (unsigned) integer values. +""". +-type interface_type() :: 'other' | 'hdh1822' | 'x25ddh' | 'x25' | 'ether' | + 'ppp' | 'loop' | 'ipv4' | 'ipv6' | '6to4' | + 'gif' | 'faith' | 'stf' | 'bridge' | 'cellular' | + non_neg_integer(). + -doc """ C: `struct sockaddr_dl` @@ -762,7 +772,7 @@ Link level address (PF_LINK) on BSD:s. -type sockaddr_dl() :: #{family := 'link', index := non_neg_integer(), - type := non_neg_integer(), + type := interface_type(), nlen := non_neg_integer(), alen := non_neg_integer(), slen := non_neg_integer(), @@ -2649,7 +2659,7 @@ protocol(Proto) -> -doc(#{since => <<"OTP 23.0">>}). -doc "Equivalent to [`open(FD, #{})`](`open/2`).". --spec open(FD :: integer()) -> _. +-spec open(FD :: integer()) -> dynamic(). open(FD) when is_integer(FD) -> open(FD, #{}); @@ -2729,7 +2739,11 @@ The `Opts` argument can provide extra information: Reason :: posix() | 'domain' | 'type' | 'protocol'; - (Domain :: term(), Type :: term()) -> _. + (Domain, Type) -> {'ok', Socket} | {'error', Reason} when + Domain :: domain(), + Type :: type() | integer(), + Socket :: socket(), + Reason :: posix() | protocol. open(FD, Opts) when is_map(Opts) -> if @@ -2759,9 +2773,13 @@ Equivalent to [`open(Domain, Type, Protocol, #{})`](`open/4`). Equivalent to [`open(Domain, Type, default, #{})`](`open/4`). """. --spec open(Domain :: term(), Type :: term(), Opts :: map()) -> _; - (Domain :: term(), Type :: term(), Protocol :: term()) -> _. - +-spec open(Domain, Type, Opts | Protocol) -> {'ok', Socket} | {'error', Reason} when + Domain :: domain() | integer(), + Type :: type() | integer(), + Opts :: map(), + Protocol :: default | protocol() | integer(), + Socket :: socket(), + Reason :: posix() | protocol. open(Domain, Type, Opts) when is_map(Opts) -> open(Domain, Type, 0, Opts); open(Domain, Type, Protocol) -> @@ -2958,7 +2976,7 @@ connect(Socket) -> Equivalent to [`connect(Socket, SockAddr, infinity)`](#connect-infinity). """. --spec connect(Socket :: term(), SockAddr :: term()) -> _. +-spec connect(Socket :: socket(), SockAddr :: sockaddr()) -> 'ok' | {'error', Reason :: dynamic()}. connect(Socket, SockAddr) -> connect(Socket, SockAddr, infinity). @@ -3135,7 +3153,7 @@ Make a socket listen for connections. Equivalent to [`listen(Socket, Backlog)`](`listen/2`) with a default value for `Backlog` (currently `5`). """. --spec listen(Socket :: term()) -> _. +-spec listen(Socket :: socket()) -> 'ok' | {'error', Reason :: posix() | 'closed'}. listen(Socket) -> listen(Socket, ?ESOCK_LISTEN_BACKLOG_DEFAULT). @@ -3154,10 +3172,7 @@ will most probably be perceived as at least that long. > > On _Windows_ the socket has to be _bound_. """. --spec listen(Socket, Backlog) -> 'ok' | {'error', Reason} when - Socket :: socket(), - Backlog :: integer(), - Reason :: posix() | 'closed'. +-spec listen(Socket :: socket(), Backlog :: integer()) -> 'ok' | {'error', Reason :: posix() | 'closed'}. listen(?socket(SockRef), Backlog) when is_reference(SockRef), is_integer(Backlog) -> @@ -3173,7 +3188,17 @@ listen(Socket, Backlog) -> -doc(#{since => <<"OTP 22.0">>}). -doc("Equivalent to [`accept(ListenSocket, infinity)`](`accept/2`)."). --spec accept(ListenSocket :: term()) -> _. +-spec accept(ListenSocket) -> Result when + Result :: {'ok', Socket} | + {'select', SelectInfo} | + {'completion', CompletionInfo} | + {'error', Reason}, + ListenSocket :: socket(), + Socket :: socket(), + SelectInfo :: select_info(), + CompletionInfo :: completion_info(), + Reason :: dynamic(). + accept(ListenSocket) -> accept(ListenSocket, ?ESOCK_ACCEPT_TIMEOUT_DEFAULT). @@ -3330,7 +3355,15 @@ accept_result(LSockRef, AccRef, Result) -> -doc(#{since => <<"OTP 22.0">>}). -doc "Equivalent to [`send(Socket, Data, [], infinity)`](`send/4`).". --spec send(Socket :: term(), Data :: term()) -> _. +-spec send(Socket, Data) -> Result when + Socket :: socket(), + Data :: iodata(), + Result :: 'ok' | + {'ok', RestData :: binary()} | + {'select', SelectInfo :: dynamic()} | + {'completion', CompletionInfo :: dynamic()} | + {'error', Reason :: dynamic()}. + send(Socket, Data) -> send(Socket, Data, ?ESOCK_SEND_FLAGS_DEFAULT, ?ESOCK_SEND_TIMEOUT_DEFAULT). @@ -3689,8 +3722,15 @@ With argument `Dest`; equivalent to With argument `Cont`; equivalent to [`sendto(Socket, Data, Cont, infinity)`](`sendto/4`) *since OTP 24.0*. """. --spec sendto(Socket :: term(), Data :: term(), Cont :: select_info()) -> _; - (Socket :: term(), Data :: term(), Dest :: term()) -> _. +-spec sendto(Socket :: socket(), Data :: iodata(), Cont | Dest) -> Result when + Cont :: select_info(), + Dest :: sockaddr(), + Result :: 'ok' + | {'ok', RestData} + | {'error', Reason} + | {'error', {Reason, RestData}}, + RestData :: binary(), + Reason :: posix() | 'closed' | invalid(). sendto(Socket, Data, ?SELECT_INFO(_, _) = Cont) -> sendto(Socket, Data, Cont, ?ESOCK_SENDTO_TIMEOUT_DEFAULT); @@ -3699,6 +3739,7 @@ sendto(Socket, Data, Dest) -> Socket, Data, Dest, ?ESOCK_SENDTO_FLAGS_DEFAULT, ?ESOCK_SENDTO_TIMEOUT_DEFAULT). + -doc(#{since => <<"OTP 22.0">>}). -doc """ Send data on a socket. @@ -3720,12 +3761,21 @@ and encode message flags in every call but the first. See the last argument (argument 5) of `sendto/5` for an explanation of `TimeoutOrHandle`. """. --spec sendto(Socket :: term(), Data :: term(), - Dest :: term(), Flags :: list()) -> _; - (Socket :: term(), Data :: term(), - Cont :: select_info(), TimeoutOrHandle :: term()) -> _; - (Socket :: term(), Data :: term(), - Dest :: term(), TimeoutOrHandle :: term()) -> _. + +-spec sendto(Socket :: socket(), Data :: iodata(), + Dest :: sockaddr(), Flags :: list()) -> Result when + Result :: 'ok' + | {'ok', RestData :: binary()} + | {'error', Reason} + | {'error', {Reason, RestData :: binary()}}, + Reason :: posix() | 'closed' | invalid(); + (Socket :: socket(), Data :: iodata(), + Cont :: select_info(), TimeoutOrHandle :: dynamic()) -> Result when + Result :: 'ok' + | {'ok', RestData :: binary()} + | {'error', Reason} + | {'error', {Reason, RestData :: binary()}}, + Reason :: posix() | 'closed' | invalid(). sendto(Socket, Data, Dest, Flags) when is_list(Flags) -> sendto(Socket, Data, Dest, Flags, ?ESOCK_SENDTO_TIMEOUT_DEFAULT); @@ -3928,7 +3978,11 @@ sendto_deadline_cont(SockRef, Bin, Cont, Deadline, HasWritten) -> -doc(#{since => <<"OTP 22.0">>}). -doc "Equivalent to [`sendmsg(Socket, Msg, [], infinity)`](`sendmsg/4`).". --spec sendmsg(Socket :: term(), Msg :: term()) -> _. +-spec sendmsg(Socket, Msg) -> Result when + Socket :: socket(), + Msg :: msg_send() | erlang:iovec(), + Result :: dynamic(). + sendmsg(Socket, Msg) -> sendmsg(Socket, Msg, @@ -3948,12 +4002,12 @@ With arguments `Msg` and `Flags`; equivalent to With arguments `Data` and `Cont`; equivalent to [`sendmsg(Socket, Data, Cont, infinity)`](`sendmsg/4`) *since OTP 24.0*. """. --spec sendmsg(Socket :: term(), Msg :: term(), Flags :: list()) - -> _; - (Socket :: term(), Data :: term(), Cont :: select_info()) - -> _; - (Socket :: term(), Msg :: term(), Timeout :: term()) - -> _. +-spec sendmsg(Socket :: socket(), Msg :: msg_send(), Flags :: list()) + -> dynamic(); + (Socket :: socket(), Data :: msg_send() | erlang:iovec(), Cont :: select_info()) + -> dynamic(); + (Socket :: socket(), Msg :: msg_send(), Timeout :: infinity) + -> dynamic(). sendmsg(Socket, Msg, Flags) when is_list(Flags) -> sendmsg(Socket, Msg, Flags, ?ESOCK_SENDMSG_TIMEOUT_DEFAULT); @@ -4475,7 +4529,10 @@ Send a file on a socket. Equivalent to [`sendfile(Socket, FileHandle_or_Continuation, 0, 0, infinity)`](`sendfile/5`). """. --spec sendfile(Socket :: term(), FileHandle_or_Continuation :: term()) -> _. +-spec sendfile(Socket, FileHandle | Continuation) -> dynamic() when + Socket :: socket(), + FileHandle :: file:fd(), + Continuation :: select_info(). sendfile(Socket, FileHandle_Cont) -> sendfile(Socket, FileHandle_Cont, 0, 0, infinity). @@ -4487,9 +4544,14 @@ Send a file on a socket. Equivalent to [`sendfile(Socket, FileHandle_or_Continuation, 0, 0, Timeout_or_Handle)`](`sendfile/5`). """. --spec sendfile(Socket :: term(), - FileHandle_or_Continuation :: term(), - Timeout_or_Handle :: term()) -> _. +-spec sendfile(Socket, + FileHandle | Continuation, + Timeout | Handle) -> dynamic() when + Socket :: socket(), + FileHandle :: file:fd(), + Continuation :: select_info(), + Timeout :: 'infinity' | non_neg_integer(), + Handle :: 'nowait' | select_handle(). sendfile(Socket, FileHandle_Cont, Timeout_Handle) -> sendfile(Socket, FileHandle_Cont, 0, 0, Timeout_Handle). @@ -4500,9 +4562,15 @@ Send a file on a socket. Equivalent to [`sendfile(Socket, FileHandle_or_Continuation, Offset, Count, infinity)`](`sendfile/5`). """. --spec sendfile(Socket :: term(), - FileHandle_or_Continuation :: term(), - Offset :: term(), Count :: term()) -> _. +-spec sendfile(Socket, + FileHandle | Continuation, + Offset, Count) -> dynamic() when + Socket :: socket(), + FileHandle :: file:fd(), + Continuation :: select_info(), + Offset :: integer(), + Count :: non_neg_integer(). + sendfile(Socket, FileHandle_Cont, Offset, Count) -> sendfile(Socket, FileHandle_Cont, Offset, Count, infinity). @@ -4795,7 +4863,7 @@ sendfile_next(BytesSent, Offset, Count) -> -doc """ Equivalent to [`recv(Socket, 0, [], infinity)`](`recv/4`). """. --spec recv(Socket :: term()) -> _. +-spec recv(Socket :: socket()) -> dynamic(). recv(Socket) -> recv(Socket, 0, ?ESOCK_RECV_FLAGS_DEFAULT, ?ESOCK_RECV_TIMEOUT_DEFAULT). @@ -4810,8 +4878,8 @@ With argument `Length`; equivalent to With argument `Flags`; equivalent to [`recv(Socket, 0, Flags, infinity)`](`recv/4`) *(since OTP 24.0)*. """. --spec recv(Socket :: term(), Flags :: list()) -> _; - (Socket :: term(), Length :: non_neg_integer()) -> _. +-spec recv(Socket :: socket(), Flags :: list()) -> dynamic(); + (Socket :: socket(), Length :: non_neg_integer()) -> dynamic(). recv(Socket, Flags) when is_list(Flags) -> recv(Socket, 0, Flags, ?ESOCK_RECV_TIMEOUT_DEFAULT); @@ -4837,12 +4905,14 @@ With arguments `Flags` and `TimeoutOrHandle`; equivalent to [`recv(Socket, 0, Flags, TimeoutOrHandle)`](`recv/4`) *(since OTP 24.0)*. """. --spec recv(Socket :: term(), Flags :: list(), TimeoutOrHandle :: term()) - -> _; - (Socket :: term(), Length :: term(), Flags :: list()) - -> _; - (Socket :: term(), Length :: term(), TimeoutOrHandle :: term()) - -> _. +-spec recv(Socket, Flags, TimeoutOrHandle) -> dynamic() when + Socket :: socket(), + Flags :: list(), + TimeoutOrHandle :: nowait | select_handle() | completion_handle(); + (Socket :: socket(), Length :: non_neg_integer(), Flags :: list()) + -> dynamic(); + (Socket :: socket(), Length :: non_neg_integer(), TimeoutOrHandle :: select_handle() | completion_handle()) + -> dynamic(). recv(Socket, Flags, TimeoutOrHandle) when is_list(Flags) -> recv(Socket, 0, Flags, TimeoutOrHandle); @@ -5177,9 +5247,26 @@ recv_deadline(SockRef, Length, Flags, Deadline, Buf) -> _ = cancel(SockRef, recv, Handle), recv_error(Buf, timeout) end; - %% - {ok, Bin} -> % All requested data + + + %% All requested data + {ok, Bin} when (Length =:= 0) orelse + (Length =:= byte_size(Bin)) -> % All requested data {ok, condense_buffer([Bin | Buf])}; + + {ok, Bin} -> % Only part of the requested data + Timeout = timeout(Deadline), + if + 0 < Timeout -> + %% Recv more + recv_deadline( + SockRef, Length - byte_size(Bin), Flags, + Deadline, [Bin | Buf]); + true -> + recv_error([Bin | Buf], timeout) + end; + + %% {error, Reason} -> recv_error(Buf, Reason) @@ -5207,7 +5294,7 @@ recv_error(Buf, Reason) when is_list(Buf) -> -doc(#{since => <<"OTP 22.0">>}). -doc "Equivalent to [`recvfrom(Socket, 0, [], infinity)`](`recvfrom/4`).". --spec recvfrom(Socket :: term()) -> _. +-spec recvfrom(Socket :: socket()) -> dynamic(). recvfrom(Socket) -> recvfrom( @@ -5223,8 +5310,8 @@ With argument `BufSz`; equivalent to With argument `Flags`; equivalent to [`recvfrom(Socket, 0, Flags, infinity)`](`recvfrom/4`) *(since OTP 24.0)*. """. --spec recvfrom(Socket :: term(), Flags :: list()) -> _; - (Socket :: term(), BufSz :: non_neg_integer()) -> _. +-spec recvfrom(Socket :: socket(), Flags :: list()) -> dynamic(); + (Socket :: socket(), BufSz :: non_neg_integer()) -> dynamic(). recvfrom(Socket, Flags) when is_list(Flags) -> recvfrom(Socket, 0, Flags, ?ESOCK_RECV_TIMEOUT_DEFAULT); @@ -5252,14 +5339,14 @@ With arguments `Flags` and `TimeoutOrHandle`; equivalent to `TimeoutOrHandle :: Handle` has been allowed *since OTP 24.0*. """. --spec recvfrom(Socket :: term(), Flags :: list(), - TimeoutOrHandle :: term()) - -> _; - (Socket :: term(), BufSz :: term(), Flags :: list()) - -> _; - (Socket :: term(), BufSz :: term(), - TimeoutOrHandle :: term()) - -> _. +-spec recvfrom(Socket :: socket(), Flags :: [msg_flag() | integer()], + TimeoutOrHandle :: dynamic()) + -> dynamic(); + (Socket :: socket(), BufSz :: non_neg_integer(), Flags :: [msg_flag() | integer()]) + -> dynamic(); + (Socket :: socket(), BufSz :: non_neg_integer(), + TimeoutOrHandle :: 'nowait' | select_handle() | completion_handle()) + -> dynamic(). recvfrom(Socket, Flags, TimeoutOrHandle) when is_list(Flags) -> recvfrom(Socket, 0, Flags, TimeoutOrHandle); @@ -5442,7 +5529,7 @@ recvfrom_result(Result) -> -doc(#{since => <<"OTP 22.0">>}). -doc "Equivalent to [`recvmsg(Socket, 0, 0, [], infinity)`](`recvmsg/5`).". --spec recvmsg(Socket :: term()) -> _. +-spec recvmsg(Socket :: socket()) -> dynamic(). recvmsg(Socket) -> recvmsg(Socket, 0, 0, @@ -5463,8 +5550,8 @@ With argument `TimeoutOrHandle`; equivalent to `TimeoutOrHandle :: Handle` has been allowed *since OTP 24.0*. """. --spec recvmsg(Socket :: term(), Flags :: list()) -> _; - (Socket :: term(), TimeoutOrHandle :: term()) -> _. +-spec recvmsg(Socket :: socket(), Flags :: list()) -> dynamic(); + (Socket :: socket(), TimeoutOrHandle :: reference() | 'infinity' | 'nowait' | non_neg_integer()) -> dynamic(). recvmsg(Socket, Flags) when is_list(Flags) -> recvmsg(Socket, 0, 0, Flags, ?ESOCK_RECV_TIMEOUT_DEFAULT); @@ -5486,10 +5573,10 @@ With argument `TimeoutOrHandle`; equivalent to `TimeoutOrHandle :: Handle` has been allowed *since OTP 24.0*. """. --spec recvmsg(Socket :: term(), Flags :: list(), TimeoutOrHandle :: term()) - -> _; - (Socket :: term(), BufSz :: integer(), CtrlSz :: integer()) - -> _. +-spec recvmsg(Socket :: dynamic(), Flags :: list(), TimeoutOrHandle :: dynamic()) + -> dynamic(); + (Socket :: dynamic(), BufSz :: integer(), CtrlSz :: integer()) + -> dynamic(). recvmsg(Socket, Flags, TimeoutOrHandle) when is_list(Flags) -> recvmsg(Socket, 0, 0, Flags, TimeoutOrHandle); @@ -5505,9 +5592,9 @@ Equivalent to [`recvmsg(Socket, BufSz, CtrlSz, [], TimeoutOrHandle)`](`recvmsg/5`). """. -spec recvmsg( - Socket :: term(), BufSz :: term(), CtrlSz :: term(), - TimeoutOrHandle :: term()) - -> _. + Socket :: socket(), BufSz :: non_neg_integer(), CtrlSz :: non_neg_integer(), + TimeoutOrHandle :: dynamic()) + -> dynamic(). recvmsg(Socket, BufSz, CtrlSz, TimeoutOrHandle) -> recvmsg( @@ -5814,14 +5901,14 @@ in the User's Guide for more info. when Socket :: socket(), SocketOption :: {Level :: 'otp', Opt :: otp_socket_option()}, - Value :: term(); + Value :: dynamic(); (Socket, SocketOption, Value) -> ok | {'error', posix() | invalid() | 'closed'} when Socket :: socket(), SocketOption :: socket_option(), - Value :: term(). + Value :: dynamic(). setopt(?socket(SockRef), SocketOption, Value) when is_reference(SockRef) -> @@ -6382,7 +6469,7 @@ the `Value` for the request parameter *(since OTP 26.1)*. 'gifmtu' | 'giftxqlen' | 'gifflags' | 'tcp_info', NameOrIndex :: string() | integer(), - Result :: term(), + Result :: dynamic(), Reason :: posix() | 'closed'; (Socket, SetRequest, Value) -> ok | {'error', Reason} when Socket :: socket(), @@ -6497,7 +6584,7 @@ of the interface with the specified name. 'sifnetmask' | 'sifhwaddr' | 'sifmtu' | 'siftxqlen', Name :: string(), - Value :: term(), + Value :: dynamic(), Reason :: posix() | 'closed'. ioctl(?socket(SockRef), sifflags = SetRequest, Name, Flags) diff --git a/lib/kernel/test/code_SUITE.erl b/lib/kernel/test/code_SUITE.erl index 12b2885d510d..17256ea30834 100644 --- a/lib/kernel/test/code_SUITE.erl +++ b/lib/kernel/test/code_SUITE.erl @@ -36,11 +36,13 @@ dir_disappeared/1, ext_mod_dep/1, clash/1, where_is_file/1, purge_stacktrace/1, mult_lib_roots/1, bad_erl_libs/1, - code_archive/1, code_archive2/1, on_load/1, on_load_binary/1, + code_archive/1, code_archive2/1, on_load/1, + on_load_binary/1, on_load_binary_twice/1, on_load_embedded/1, on_load_errors/1, on_load_update/1, on_load_trace_on_load/1, on_load_purge/1, on_load_self_call/1, on_load_pending/1, on_load_deleted/1, on_load_deadlock/1, + on_load_deadlock_load_binary_GH7466/1, on_load_deadlock_ensure_loaded_GH7466/1, big_boot_embedded/1, module_status/1, get_mode/1, code_path_cache/1, @@ -73,10 +75,12 @@ all() -> ext_mod_dep, clash, where_is_file, purge_stacktrace, mult_lib_roots, bad_erl_libs, code_archive, code_archive2, on_load, - on_load_binary, on_load_embedded, on_load_errors, + on_load_binary, on_load_binary_twice, + on_load_embedded, on_load_errors, {group, sequence}, on_load_purge, on_load_self_call, on_load_pending, - on_load_deleted, on_load_deadlock, + on_load_deleted, on_load_deadlock, on_load_deadlock_load_binary_GH7466, + on_load_deadlock_ensure_loaded_GH7466, module_status, big_boot_embedded, get_mode, normalized_paths, mult_embedded_flags]. @@ -1447,11 +1451,11 @@ on_load_binary(_) -> {Pid1,Ref1} = spawn_monitor(fun() -> code:load_binary(Mod, File, Bin), - true = on_load_binary:ok() + true = Mod:ok() end), receive {Mod,OnLoadPid} -> ok end, {Pid2,Ref2} = spawn_monitor(fun() -> - true = on_load_binary:ok() + true = Mod:ok() end), erlang:yield(), OnLoadPid ! go, @@ -1459,8 +1463,49 @@ on_load_binary(_) -> receive {'DOWN',Ref2,process,Pid2,Exit2} -> ok end, normal = Exit1, normal = Exit2, - true = code:delete(on_load_binary), - false = code:purge(on_load_binary), + true = code:delete(Mod), + false = code:purge(Mod), + ok. + +on_load_binary_twice(_) -> + Master = on_load_binary_twice_test_case_process, + register(Master, self()), + + %% Construct, compile and pretty-print. + Mod = ?FUNCTION_NAME, + File = atom_to_list(Mod) ++ ".erl", + Tree = ?Q(["-module('@Mod@').\n", + "-export([ok/0]).\n", + "-on_load({init,0}).\n", + "init() ->\n", + " '@Master@' ! {on_load_binary_twice,self()},\n", + " receive go -> ok end.\n", + "ok() -> true.\n"]), + {ok,Mod,Bin} = merl:compile(Tree), + merl:print(Tree), + + {Pid1,Ref1} = spawn_monitor(fun() -> + code:load_binary(Mod, File, Bin), + true = Mod:ok() + end), + receive {Mod,OnLoadPid1} -> ok end, + {Pid2,Ref2} = spawn_monitor(fun() -> + code:load_binary(Mod, File, Bin), + true = Mod:ok() + end), + erlang:yield(), + + OnLoadPid1 ! go, + receive {'DOWN',Ref1,process,Pid1,Exit1} -> ok end, + normal = Exit1, + + receive {Mod,OnLoadPid2} -> ok end, + OnLoadPid2 ! go, + receive {'DOWN',Ref2,process,Pid2,Exit2} -> ok end, + normal = Exit2, + + false = code:purge(Mod), + true = code:delete(Mod), ok. on_load_embedded(Config) when is_list(Config) -> @@ -1947,6 +1992,78 @@ on_load_deadlock(Config) -> code:del_path(Dir), ok. +on_load_deadlock_load_binary_GH7466(Config) -> + Tree = ?Q(["-module(foo).\n", + "-on_load(init_module/0).\n", + "-export([bar/0]).\n", + "bar() -> ok.\n", + "init_module() ->\n", + " timer:sleep(1000).\n"]), + merl:print(Tree), + + %% Compiles the form, does not load binary + {ok,Mod,Bin} = compile:forms(Tree), + Dir = proplists:get_value(priv_dir, Config), + File = filename:join(Dir, "foo.beam"), + ok = file:write_file(File, Bin), + code:add_path(Dir), + + Self = self(), + LoadBin = fun() -> + _ = code:load_binary(Mod, "foo.beam", Bin), + Self ! {done, self()}, + Self + end, + %% this deadlocks in OTP-26 + PidX = spawn(LoadBin), + PidY = spawn(LoadBin), + Self = LoadBin(), + ok = receiver(PidX), + ok = receiver(PidY), + ok = receiver(Self), + + code:del_path(Dir), + ok. + +on_load_deadlock_ensure_loaded_GH7466(Config) -> + Tree = ?Q(["-module(foo).\n", + "-on_load(init_module/0).\n", + "-export([bar/0]).\n", + "bar() -> ok.\n", + "init_module() ->\n", + " timer:sleep(1000), bar().\n"]), + _ = merl:print(Tree), + + %% Compiles the form, does not load binary + {ok,Mod,Bin} = compile:forms(Tree), + Dir = proplists:get_value(priv_dir, Config), + File = filename:join(Dir, "foo.beam"), + ok = file:write_file(File, Bin), + code:add_path(Dir), + + Self = self(), + EnsureLoaded = fun() -> + _ = code:ensure_loaded(Mod), + Self ! {done, self()}, + Self + end, + Pid = spawn(EnsureLoaded), + Pid2 = spawn(EnsureLoaded), + Self = EnsureLoaded(), + ok = receiver(Pid), + ok = receiver(Pid2), + ok = receiver(Self), + + code:del_path(Dir), + ok. + +receiver(Pid) -> + receive + {done, Pid} -> ok + after 10_000 -> + it_deadlocked + end. + delete_before_reload(Mod, Reload) -> false = check_old_code(Mod), diff --git a/lib/kernel/test/gen_sctp_SUITE.erl b/lib/kernel/test/gen_sctp_SUITE.erl index 9c8663ffbff7..4831f3da9aaf 100644 --- a/lib/kernel/test/gen_sctp_SUITE.erl +++ b/lib/kernel/test/gen_sctp_SUITE.erl @@ -1531,6 +1531,11 @@ peeloff(Config, SockOpts) when is_list(Config) -> Addr = {127,0,0,1}, Stream = 0, Timeout = 333, + InheritOpts = [{priority, 3}, {sctp_nodelay, true}, {linger, {true, 7}}], + %% Verify the last inherit option to make sure no earlier + %% option does a silent bailout + SurelyInheritedOpt = lists:last(InheritOpts), + InheritOptnames = [Opt || {Opt,_} <- InheritOpts], StartTime = timestamp(), {{S1,P1,S1Ai}, {S2,P2,S2Ai}} = socket_pair_open(Addr, StartTime, Timeout), @@ -1551,12 +1556,16 @@ peeloff(Config, SockOpts) when is_list(Config) -> after Timeout -> socket_bailout([S1,S2], StartTime) end, + socket_call(S1, {setopts, InheritOpts}), + InheritedOpts = socket_call(S1, {getopts, InheritOptnames}), + SurelyInheritedOpt = lists:last(InheritedOpts), %% S3 = socket_peeloff(Socket1, S1Ai, SockOpts, Timeout), ?LOGVAR(S3), P3_X = socket_call(S3, get_port), ?LOGVAR(P3_X), P3 = case P3_X of 0 -> P1; _ -> P3_X end, + InheritedOpts = socket_call(S3, {getopts, InheritOptnames}), [{_,#sctp_paddrinfo{assoc_id=S3Ai,state=active}}] = socket_call(S3, {getopts,[{sctp_get_peer_addr_info, diff --git a/lib/kernel/test/inet_SUITE.erl b/lib/kernel/test/inet_SUITE.erl index 8c753f20d61b..912e166cc248 100644 --- a/lib/kernel/test/inet_SUITE.erl +++ b/lib/kernel/test/inet_SUITE.erl @@ -1895,6 +1895,8 @@ check_addr(Addr) -> ok = gen_tcp:close(L). ifaddrs(IfOpts) -> + ?P("~w(~w) -> entry with" + "~n IfOpts: ~p", [?FUNCTION_NAME, ?LINE, IfOpts]), IfMap = collect_ifopts(IfOpts), ChkFun = fun Self({{_,Flags} = Key, Opts}, ok) -> @@ -1936,8 +1938,14 @@ collect_ifopts(IfOpts) -> collect_ifopts(IfOpts, #{}). %% collect_ifopts(IfOpts, IfMap) -> + ?P("~w(~w) -> entry with" + "~n IfMap: ~p", [?FUNCTION_NAME, ?LINE, IfMap]), case IfOpts of [{If,[{flags,Flags}|Opts]}|IfOs] -> + ?P("~w(~w) -> found: " + "~n If: ~p" + "~n Flags: ~p" + "~n Opts: ~p", [?FUNCTION_NAME, ?LINE, If, Flags, Opts]), Key = {If,Flags}, case maps:is_key(Key, IfMap) of true -> @@ -1948,7 +1956,9 @@ collect_ifopts(IfOpts, IfMap) -> [] -> IfMap; _ -> - ct:fail({unexpected_ifopts,IfOpts,IfMap}) + ?P("~w(~w) -> invalid: " + "~n IfOpts: ~p", [?FUNCTION_NAME, ?LINE, IfOpts]), + ct:fail({unexpected_ifopts, IfOpts, IfMap}) end. %% collect_ifopts(IfOpts, IfMap, Opts, Key, R) -> @@ -2067,10 +2077,71 @@ getifaddrs_verify_backends3([{I_IF, _}|_], [{S_IF, _}|_]) -> %% (inet and net versions) because the information %% comes from several sources. And the processing %% is different on inet and net. -%% The info always starts with 'flags' and ends with +%% The info allways starts with 'flags' and ends with %% 'hwaddr'. So deal with those two first and the rest %% can compared after. +%% getifaddrs_verify_backend(IF, +%% [], +%% []) -> +%% io:format("done => " +%% "~n backend(s) equal (enough) for ~p~n", [IF]), +%% ok; +%% getifaddrs_verify_backend(IF, +%% [{flags, Flags}, {hwaddr, HwAddr}], +%% [{flags, Flags}, {hwaddr, HwAddr}]) -> +%% io:format("done when hwaddr (and flags) equal => " +%% "~n backend(s) equal (enough) for ~p~n", [IF]), +%% ok; +%% getifaddrs_verify_backend(IF, +%% [{flags, []}, {hwaddr, HwAddr}], +%% [{flags, Flags}, {hwaddr, HwAddr}]) +%% when (Flags =/= []) -> +%% io:format("done when hwaddr (inet flags empty and socket flags non-empty) " +%% "equal enough => " +%% "~n backend(s) equal (enough) for ~p~n", [IF]), +%% ok; +%% getifaddrs_verify_backend(IF, +%% [{flags, []}, {hwaddr, HwAddr}], +%% [{hwaddr, HwAddr}]) -> +%% io:format("done when hwaddr (inet flags empty and no socket flags) " +%% "equal => " +%% "~n backend(s) equal (enough) for ~p~n", [IF]), +%% ok; +%% getifaddrs_verify_backend(IF, +%% [{hwaddr, HwAddr}], +%% [{hwaddr, HwAddr}]) -> +%% io:format("done when hwaddr equal => " +%% "~n backend(s) equal (enough) for ~p~n", [IF]), +%% ok; + +%% getifaddrs_verify_backend(IF, +%% [{flags, Flags} | I_Info], +%% [{flags, Flags} | S_Info]) -> +%% io:format("flags are equal for ~p => continue~n", [IF]), +%% getifaddrs_verify_backend(IF, I_Info, S_Info); + +%% getifaddrs_verify_backend( +%% IF, +%% [{addr, Addr}, {netmask, Mask}, {broadaddr, BAddr} | I_Info], +%% [{addr, Addr}, {netmask, Mask}, {broadaddr, BAddr} | S_Info]) -> +%% io:format("addr, netmask and bradcast addr equal for ~p => contunue: " +%% "~n Addr: ~p" +%% "~n Mask: ~p" +%% "~n BAddr: ~p" +%% "~n", [IF, Addr, Mask, BAddr]), +%% getifaddrs_verify_backend(IF, I_Info, S_Info); +%% getifaddrs_verify_backend( +%% IF, +%% [{addr, Addr}, {netmask, Mask}, {broadaddr, BAddr} | I_Info], +%% S_Info0) -> +%% io:format("addr, netmask and bradcast addr equal for ~p => contunue: " +%% "~n Addr: ~p" +%% "~n Mask: ~p" +%% "~n BAddr: ~p" +%% "~n", [IF, Addr, Mask, BAddr]), +%% getifaddrs_verify_backend(IF, I_Info, S_Info); + getifaddrs_verify_backend(IF, I_INFO, S_INFO) -> {I_Rest1, S_Rest1} = case {I_INFO, S_INFO} of @@ -2131,6 +2202,26 @@ getifaddrs_verify_backend(IF, I_INFO, S_INFO) -> end, {I_Rest2, S_Rest2} = case {lists:reverse(I_Rest1), lists:reverse(S_Rest1)} of + {[{hwaddr, HWADDR}, {flags, I_Flags2}|IR2], + [{hwaddr, HWADDR}, {flags, S_Flags2}|SR2]} + when I_Flags2 =:= S_Flags2 -> + io:format("hwaddr for ~p *is* equal (and flags are also equal)~n", + [IF]), + {lists:reverse(IR2), lists:reverse(SR2)}; + {[{hwaddr, HWADDR}, {flags, I_Flags2}|_IR2], + [{hwaddr, HWADDR}, {flags, S_Flags2}|_SR2]} + when I_Flags2 =/= S_Flags2 -> + io:format("hwaddr for ~p *is* equal" + "~n But flags not equal: " + "~n Inet Flags: ~p" + "~n Sock Flags: ~p" + "~n", + [IF, I_Flags2, S_Flags2]), + ct:fail(ifaddrs_equal_but_flags_are_not); + {[{hwaddr, HWADDR}, {flags, []}|IR2], [{hwaddr, HWADDR}|SR2]} -> + io:format("hwaddr for ~p *is* equal " + "(empty flags on inet - ignore)~n", [IF]), + {lists:reverse(IR2), lists:reverse(SR2)}; {[{hwaddr, HWADDR}|IR2], [{hwaddr, HWADDR}|SR2]} -> io:format("hwaddr for ~p *is* equal~n", [IF]), {lists:reverse(IR2), lists:reverse(SR2)}; diff --git a/lib/kernel/test/interactive_shell_SUITE.erl b/lib/kernel/test/interactive_shell_SUITE.erl index 1f23f05e72a6..3a4a7e31554e 100644 --- a/lib/kernel/test/interactive_shell_SUITE.erl +++ b/lib/kernel/test/interactive_shell_SUITE.erl @@ -60,7 +60,7 @@ shell_update_window_unicode_wrap/1, shell_receive_standard_out/1, shell_standard_error_nlcr/1, shell_clear/1, - shell_format/1, + shell_format/1, shell_help/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, external_editor/1, external_editor_visual/1, @@ -132,7 +132,7 @@ groups() -> {tty_latin1,[],[{group,tty_tests}]}, {tty_tests, [parallel], [shell_navigation, shell_multiline_navigation, shell_multiline_prompt, - shell_xnfix, shell_delete, shell_format, + shell_xnfix, shell_delete, shell_format, shell_help, shell_transpose, shell_search, shell_insert, shell_update_window, shell_small_window_multiline_navigation, shell_huge_input, shell_support_ansi_input, @@ -1292,12 +1292,19 @@ shell_expand_location_above(Config) -> shell_help(Config) -> Term = start_tty(Config), try - send_stdin(Term, "lists"), - send_stdin(Term, "\^[h"), + send_tty(Term, "application:put_env(kernel, shell_docs_ansi, false).\n"), + send_tty(Term, "lists"), + send_tty(Term, "\^[h"), + %% Check we can see the first line check_content(Term, "List processing functions."), - send_stdin(Term, ":all"), - send_stdin(Term, "\^[h"), - check_content(Term, "-spec all(Pred, List) -> boolean()"), + check_not_in_content(Term, "less than or equal to"), + %% Expand the help area to take up the whole buffer. + send_tty(Term, "\^[h"), + %% Check that we can see the last line (lists help should fit in the window) + check_content(Term, "less than or equal to"), + send_tty(Term, ":all"), + send_tty(Term, "\^[h"), + check_content(Term, ~S"all\(Pred, List\)"), ok after stop_tty(Term), diff --git a/lib/kernel/test/os_SUITE.erl b/lib/kernel/test/os_SUITE.erl index 6d6ed337a0cd..fe3d81d622ae 100644 --- a/lib/kernel/test/os_SUITE.erl +++ b/lib/kernel/test/os_SUITE.erl @@ -28,7 +28,7 @@ find_executable/1, unix_comment_in_command/1, deep_list_command/1, large_output_command/1, background_command/0, background_command/1, message_leak/1, close_stdin/0, close_stdin/1, max_size_command/1, - perf_counter_api/1, error_info/1]). + perf_counter_api/1, error_info/1, os_cmd_shell/1,os_cmd_shell_peer/1]). -include_lib("common_test/include/ct.hrl"). @@ -43,7 +43,7 @@ all() -> find_executable, unix_comment_in_command, deep_list_command, large_output_command, background_command, message_leak, close_stdin, max_size_command, perf_counter_api, - error_info]. + error_info, os_cmd_shell, os_cmd_shell_peer]. groups() -> []. @@ -469,6 +469,30 @@ error_info(Config) -> ], error_info_lib:test_error_info(os, L). +%% Check that is *not* possible to change shell after startup +os_cmd_shell(_Config) -> + + application:set_env(kernel, os_cmd_shell, "broken shell"), + + %% os:cmd should continue to work as normal + comp("hello", os:cmd("echo hello")). + +%% When started with os_cmd_shell set, we make sure that it is used. +os_cmd_shell_peer(Config) -> + DataDir = proplists:get_value(data_dir, Config), + SysShell = "\"" ++ filename:join(DataDir, "sys_shell") ++ "\"", + {ok, Peer, Node} = ?CT_PEER(["-kernel","os_cmd_shell", SysShell]), + try erpc:call(Node, os, cmd, ["ls"], rtnode:timeout(normal)) of + "sys_shell" -> ok; + Other -> ct:fail({unexpected, Other}) + catch + C:R:Stk -> + io:format("~p\n~p\n~p\n", [C,R,Stk]), + ct:fail(failed) + after + peer:stop(Peer) + end. + no_limit_for_opened_files() -> case os:type() of {unix, freebsd} -> diff --git a/lib/kernel/test/os_SUITE_data/Makefile.src b/lib/kernel/test/os_SUITE_data/Makefile.src index f83f781411d9..2141b320bb3d 100644 --- a/lib/kernel/test/os_SUITE_data/Makefile.src +++ b/lib/kernel/test/os_SUITE_data/Makefile.src @@ -3,7 +3,7 @@ LD = @LD@ CFLAGS = @CFLAGS@ -I@erl_include@ @DEFS@ CROSSLDFLAGS = @CROSSLDFLAGS@ -PROGS = my_echo@exe@ my_fds@exe@ +PROGS = my_echo@exe@ my_fds@exe@ sys_shell@exe@ all: $(PROGS) @@ -18,3 +18,9 @@ my_fds@exe@: my_fds@obj@ my_fds@obj@: my_fds.c $(CC) -c -o my_fds@obj@ $(CFLAGS) my_fds.c + +sys_shell@exe@: sys_shell@obj@ + $(LD) $(CROSSLDFLAGS) -o sys_shell sys_shell@obj@ @LIBS@ + +sys_shell@obj@: sys_shell.c + $(CC) -c -o sys_shell@obj@ $(CFLAGS) sys_shell.c diff --git a/lib/kernel/test/os_SUITE_data/sys_shell.c b/lib/kernel/test/os_SUITE_data/sys_shell.c new file mode 100644 index 000000000000..73a8c034501e --- /dev/null +++ b/lib/kernel/test/os_SUITE_data/sys_shell.c @@ -0,0 +1,6 @@ +#include +int main(void) +{ + printf("sys_shell"); + return 0; +} diff --git a/lib/kernel/test/socket_SUITE.erl b/lib/kernel/test/socket_SUITE.erl index aaf997e3d181..34940c69acae 100644 --- a/lib/kernel/test/socket_SUITE.erl +++ b/lib/kernel/test/socket_SUITE.erl @@ -12425,6 +12425,7 @@ do_otp19251(_) -> _ = socket:close(Sock1), ?P("done"), + ok. @@ -12589,23 +12590,6 @@ is_windows() -> skip("Only test on Windows") end. -%% 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. - - -%% unix_domain_socket_host_cond() -> -%% unix_domain_socket_host_cond(os:type(), os:version()). - -%% unix_domain_socket_host_cond({unix, linux}, {M, _, _}) when (M < 3) -> -%% skip("TC may not work on this version"); -%% unix_domain_socket_host_cond(_, _) -> -%% ok. has_support_unix_domain_socket() -> case socket:is_supported(local) of diff --git a/lib/kernel/test/socket_traffic_SUITE.erl b/lib/kernel/test/socket_traffic_SUITE.erl index 215bcdf302f4..28617362909a 100644 --- a/lib/kernel/test/socket_traffic_SUITE.erl +++ b/lib/kernel/test/socket_traffic_SUITE.erl @@ -5367,6 +5367,9 @@ traffic_ping_pong_send_and_receive_stream2(InitState) -> ?SEV_IPRINT("remote client bind failure:" "~n ~p", [Reason]), {skip, Reason}; + {error, no_address = Reason} -> + ?SEV_IPRINT("remote valid address"), + {skip, Reason}; {error, Reason} = ERROR -> ?SEV_EPRINT("remote client failure:" "~n ~p", [Reason]), @@ -7039,14 +7042,6 @@ is_slow_ubuntu(Config) -> end. -is_not_solaris() -> - case os:type() of - {unix, solaris} -> - skip("Solaris"); - _ -> - ok - end. - is_not_windows() -> case os:type() of {win32, nt} -> @@ -7068,7 +7063,7 @@ has_support_sctp() -> {win32, _} -> skip("Not supported"); {unix, netbsd} -> - %% XXX We will have to investigate this later... + %% XYZ We will have to investigate this later... skip("Not supported"); _ -> case socket:is_supported(sctp) of diff --git a/lib/megaco/doc/guides/megaco_debug.md b/lib/megaco/doc/guides/megaco_debug.md index 9aaeda6022cd..02ad95c7bc47 100644 --- a/lib/megaco/doc/guides/megaco_debug.md +++ b/lib/megaco/doc/guides/megaco_debug.md @@ -31,8 +31,8 @@ given external function. Event traces can be viewed in a generic message sequence chart tool, `et`, or as standard output (events are written to stdio). -See [enable_trace](`m:megaco#enable_trace`), -[disable_trace](`m:megaco#disable_trace`) and [set_trace](`m:megaco#set_trace`) +See [enable_trace](`megaco:enable_trace/2`), +[disable_trace](`megaco:disable_trace/0`) and [set_trace](`megaco:set_trace/1`) for more info. ## Measurement and transformation diff --git a/lib/megaco/doc/guides/megaco_encode.md b/lib/megaco/doc/guides/megaco_encode.md index 91767aba5720..e02e3918f0a7 100644 --- a/lib/megaco/doc/guides/megaco_encode.md +++ b/lib/megaco/doc/guides/megaco_encode.md @@ -222,7 +222,7 @@ are two ways to get this working: - Add the `{scanner, flex}` (or similar) directive to an Erlang system config file for the megaco app (see [initial configuration](megaco_run.md#initial_config) chapter for details). - - Retrieve the encoding-config using the [system_info](`m:megaco#system_info`) + - Retrieve the encoding-config using the [system_info](`megaco:system_info/1`) function (with `Item = text_config`). - Update the receive handle with the encoding-config (the `encoding_config` field). @@ -296,8 +296,8 @@ For outgoing messages: - Update the connection info protocol_version. - Override protocol version when sending a message by adding the item - `{protocol_version, integer()}` to the Options. See [call](`m:megaco#call`) or - [cast](`m:megaco#cast`). + `{protocol_version, integer()}` to the Options. See [call](`megaco:call/3`) or + [cast](`megaco:cast/3`). Note that this does not effect the messages that are sent autonomously by the stack. They use the protocol_version of the connection info. diff --git a/lib/megaco/doc/guides/megaco_mib.md b/lib/megaco/doc/guides/megaco_mib.md index 6e4d0a0601fd..6785cc6a1cd3 100644 --- a/lib/megaco/doc/guides/megaco_mib.md +++ b/lib/megaco/doc/guides/megaco_mib.md @@ -35,7 +35,7 @@ The implementation of the statistic counters is lightweight. I.e. the statistic counters are handled separately by different entities of the application. For instance our two transport module(s) (see [megaco_tcp](`megaco_tcp:get_stats/0`) and [megaco_udp](`megaco_udp:get_stats/0`)) maintain their own counters and the -application engine (see [megaco](`m:megaco#stats`)) maintain its own counters. +application engine (see [megaco](`megaco:get_stats/2`)) maintain its own counters. This also means that if a user implement their own transport service then it has to maintain its own statistics. diff --git a/lib/megaco/doc/guides/megaco_run.md b/lib/megaco/doc/guides/megaco_run.md index d9b9e7dfcb64..306f1bd2983b 100644 --- a/lib/megaco/doc/guides/megaco_run.md +++ b/lib/megaco/doc/guides/megaco_run.md @@ -149,17 +149,17 @@ There are three kinds of configuration: A User is an entity identified by a MID, e.g. a MGC or a MG. This information can be retrieved using - [megaco:user_info](`m:megaco#user_info`). + [megaco:user_info](`megaco:user_info/2`). - Connection info - Information regarding connections. Read/Write. This information can be retrieved using - [megaco:conn_info](`m:megaco#conn_info`). + [megaco:conn_info](`megaco:conn_info/2`). - System info - System wide information. Read only. This information can be retrieved using - [megaco:system_info](`m:megaco#system_info`). + [megaco:system_info](`megaco:system_info/1`). [](){: #initial_config } @@ -190,8 +190,8 @@ more info. ## Changing the configuration The configuration can be changed during runtime. This is done with the functions -[megaco:update_user_info](`m:megaco#update_user_info`) and -[megaco:update_conn_info](`m:megaco#update_conn_info`) +[megaco:update_user_info](`megaco:update_user_info/3`) and +[megaco:update_conn_info](`megaco:update_conn_info/3`) [](){: #transaction_sender } @@ -199,8 +199,8 @@ The configuration can be changed during runtime. This is done with the functions The transaction sender is a process (one per connection), which handle all transaction sending, if so configured (see -[megaco:user_info](`m:megaco#user_info`) and -[megaco:conn_info](`m:megaco#conn_info`)). +[megaco:user_info](`megaco:user_info/2`) and +[megaco:conn_info](`megaco:conn_info/2`)). The purpose of the transaction sender is to accumulate transactions for a more efficient message sending. The transactions that are accumulated are transaction @@ -248,25 +248,25 @@ check this. Instead, it is up to the user to configure this properly. This is handled automatically by the megaco application. There is however one thing that need to be configured by the user, the - [segment_recv_timer](`m:megaco#user_info`) option. + [segment_recv_timer](`megaco:user_info/2`) option. Note that the segments are delivered to the user differently depending on which function is used to issue the original request. When issuing the request - using the [megaco:cast](`m:megaco#cast`) function, the segments are delivered - to the user via the [handle_trans_reply](`m:megaco_user#trans_reply`) callback + using the [megaco:cast](`megaco:cast/3`) function, the segments are delivered + to the user via the [handle_trans_reply](`c:megaco_user:handle_trans_reply/5`) callback function one at a time, as they arrive. But this obviously doe not work for - the [megaco:call](`m:megaco#call`) function. In this case, the segments are + the [megaco:call](`megaco:call/3`) function. In this case, the segments are accumulated and then delivered all at once as the function returns. - Sending segmented messages: This is also handled automatically by the megaco application. First of all, segmentation is only attempted if so configured, see the - [segment_send](`m:megaco#user_info`) option. Secondly, megaco relies on the + [segment_send](`megaco:user_info/2`) option. Secondly, megaco relies on the ability of the used codec to encode action replies, which is the smallest component the megaco application handles when segmenting. Thirdly, the reply will be segmented only if the sum of the size of the action replies (plus an arbitrary message header size) are greater then the specified max message size - (see the [max_pdu_size](`m:megaco#user_info`) option). Finally, if + (see the [max_pdu_size](`megaco:user_info/2`) option). Finally, if segmentation is decided, then each action reply will make up its own (segment) message. diff --git a/lib/megaco/examples/meas/megaco_codec_meas.erl b/lib/megaco/examples/meas/megaco_codec_meas.erl index abc1663c830c..b5aa89631e7b 100644 --- a/lib/megaco/examples/meas/megaco_codec_meas.erl +++ b/lib/megaco/examples/meas/megaco_codec_meas.erl @@ -102,7 +102,7 @@ start() -> meas_init(1, ?DEFAULT_OPTS, ?DEFAULT_MESSAGE_PACKAGE, ?MEASURE_CODECS). -doc """ -start(MessagePackage) -> void() +start(MessagePackage) This function runs the measurement on all the _official_ codecs; pretty, compact, ber, per and erlang. diff --git a/lib/megaco/examples/meas/megaco_codec_mstone1.erl b/lib/megaco/examples/meas/megaco_codec_mstone1.erl index 3302920cdbe9..ef91214deadb 100644 --- a/lib/megaco/examples/meas/megaco_codec_mstone1.erl +++ b/lib/megaco/examples/meas/megaco_codec_mstone1.erl @@ -95,7 +95,7 @@ start(Factor) -> start(?DEFAULT_MESSAGE_PACKAGE, ?MSTONE_RUN_TIME, Factor). -doc """ -start(MessagePackage, Factor) -> void() +start(MessagePackage, Factor) This function starts the _mstone1_ performance test with all codec configs. `Factor` (defaults to `1`) processes are started for every supported codec @@ -134,8 +134,6 @@ start_flex(Factor) -> start_flex(?DEFAULT_MESSAGE_PACKAGE, ?MSTONE_RUN_TIME, Factor). -doc """ -start_flex(MessagePackage, Factor) -> void() - This function starts the _mstone1_ performance test with only the flex codec configs (i.e. `pretty` and `compact` with `flex`). The same number of processes are started as when running the standard test (using the `start/0,1` function). @@ -164,8 +162,6 @@ start_only_drv(Factor) -> start_only_drv(?DEFAULT_MESSAGE_PACKAGE, ?MSTONE_RUN_TIME, Factor). -doc """ -start_only_drv(MessagePackage, Factor) -> void() - This function starts the _mstone1_ performance test with only the driver using codec configs (i.e. `pretty` and `compact` with `flex`, and `ber` and `per` with `driver` and `erlang` with `compressed`). The same number of processes are @@ -195,8 +191,6 @@ start_no_drv(Factor) -> start_no_drv(?DEFAULT_MESSAGE_PACKAGE, ?MSTONE_RUN_TIME, Factor). -doc """ -start_no_drv(MessagePackage, Factor) -> void() - This function starts the _mstone1_ performance test with codec configs not using any drivers (i.e. `pretty` and `compact` without `flex`, `ber` and `per` without `driver` and `erlang` without `compressed`). The same number of processes are diff --git a/lib/megaco/examples/meas/megaco_codec_mstone2.erl b/lib/megaco/examples/meas/megaco_codec_mstone2.erl index 16ecf95f2153..34f245a42cc8 100644 --- a/lib/megaco/examples/meas/megaco_codec_mstone2.erl +++ b/lib/megaco/examples/meas/megaco_codec_mstone2.erl @@ -118,7 +118,7 @@ start() -> ?DEFAULT_RUN_TIME, ?DEFAULT_MODE, ?DEFAULT_MESSAGE_PACKAGE). -doc """ -start(MessagePackage) -> void() +start(MessagePackage) This function starts the _mstone2_ performance test with all codec configs. Processes are created dynamically. Each process make _one_ run through their diff --git a/lib/megaco/examples/meas/megaco_codec_transform.erl b/lib/megaco/examples/meas/megaco_codec_transform.erl index bc80e4f6a716..831252c61edd 100644 --- a/lib/megaco/examples/meas/megaco_codec_transform.erl +++ b/lib/megaco/examples/meas/megaco_codec_transform.erl @@ -140,8 +140,6 @@ export_messages() -> export_messages(?DEFAULT_MESSAGE_PACKAGE). -doc """ -export_messages(MessagePackage) -> void() - Export the messages in the `MessagePackage` (default is `time_test`). The output produced by this function is a directory structure with the following diff --git a/lib/megaco/src/app/megaco.erl b/lib/megaco/src/app/megaco.erl index ca741e091334..18212139e40f 100644 --- a/lib/megaco/src/app/megaco.erl +++ b/lib/megaco/src/app/megaco.erl @@ -246,14 +246,14 @@ corresponding value can be of any type.[](){: #ci_control_pid } request-keep-alive timer. This timer is started when the _first_ reply to an asynchronous request - (issued using the [megaco:cast/3](`m:megaco#cast`) function) arrives. As long + (issued using the `megaco:cast/3` function) arrives. As long as this timer is running, replies will be delivered via the - [handle_trans_reply/4,5](`m:megaco_user#trans_reply`) callback function, with + [handle_trans_reply/4,5](`c:megaco_user:handle_trans_reply/5`) callback function, with their "arrival number" (see `UserReply` of the - [handle_trans_reply/4,5](`m:megaco_user#trans_reply`) callback function). + [handle_trans_reply/4,5](`c:megaco_user:handle_trans_reply/5`) callback function). Replies arriving after the timer has expired, will be delivered using the - [handle_unexpected_trans/3,4](`m:megaco_user#unexpected_trans`) callback + [handle_unexpected_trans/3,4](`c:megaco_user:handle_unexpected_trans/4`) callback function. Value type: `plain` | [non_neg_integer()](`t:erlang:non_neg_integer/0`) @@ -301,11 +301,11 @@ corresponding value can be of any type.[](){: #ci_control_pid } - **`call_proxy_gc_timeout`** - Timeout time for the call proxy. - When a request is sent using the [call/3](`m:megaco#call`) function, a proxy + When a request is sent using the `call/3` function, a proxy process is started to handle all replies. When the reply has been received and delivered to the user, the proxy process continue to exist for as long as this option specifies. Any received messages, is passed on to the user via the - [handle_unexpected_trans](`m:megaco_user#handle_unexpected_trans`) callback + [handle_unexpected_trans](`c:megaco_user:handle_unexpected_trans/4`) callback function. The timeout time is in milliseconds. A value of 0 (zero) means that the proxy @@ -429,7 +429,7 @@ corresponding value can be of any type.[](){: #ci_control_pid } package). This parameter specifies how many pending messages that can be sent (for a given received transaction request). When the limit is exceeded, the transaction is aborted (see - [handle_trans_request_abort](`m:megaco_user#request_abort`)) and an error + [handle_trans_request_abort](`c:megaco_user:handle_trans_request_abort/5`)) and an error message is sent to the other side. Note that this has no effect on the actual sending of pending transactions. @@ -546,7 +546,7 @@ corresponding value can be of any type.[](){: #ci_control_pid } - **`segment_reply_ind`** - This option specifies if the user shall be notified of received segment replies or not. - See [handle_segment_reply](`m:megaco_user#segment_reply`) callback function + See [handle_segment_reply](`c:megaco_user:handle_segment_reply/6`) callback function for more information. Value type: [boolean()](`t:erlang:boolean/0`) @@ -562,8 +562,8 @@ corresponding value can be of any type.[](){: #ci_control_pid } When the timer finally expires, a "megaco segments not received" (459) error message is sent to the other side and the user is notified with a `segment timeout` `UserReply` in either the - [handle_trans_reply](`m:megaco_user#trans_reply`) callback function or the - return value of the [call](`m:megaco#call`) function. + [handle_trans_reply](`c:megaco_user:handle_trans_reply/5`) callback function or the + return value of the `call/2` function. Value type: `t:megaco_timer/0` @@ -749,14 +749,14 @@ corresponding value can be of any type.[](){: #ci_control_pid } request-keep-alive timer. This timer is started when the _first_ reply to an asynchronous request - (issued using the [megaco:cast/3](`m:megaco#cast`) function) arrives. As long + (issued using the `megaco:cast/3` function) arrives. As long as this timer is running, replies will be delivered via the - [handle_trans_reply/4,5](`m:megaco_user#trans_reply`) callback function, with + [handle_trans_reply/4,5](`c:megaco_user:handle_trans_reply/5`) callback function, with their "arrival number" (see `UserReply` of the - [handle_trans_reply/4,5](`m:megaco_user#trans_reply`) callback function). + [handle_trans_reply/4,5](`c:megaco_user:handle_trans_reply/5`) callback function). Replies arriving after the timer has expired, will be delivered using the - [handle_unexpected_trans/3,4](`m:megaco_user#unexpected_trans`) callback + [handle_unexpected_trans/3,4](`c:megaco_user:handle_unexpected_trans/4`) callback function. Value type: `plain` | [non_neg_integer()](`t:erlang:non_neg_integer/0`) @@ -767,11 +767,11 @@ corresponding value can be of any type.[](){: #ci_control_pid } - **`call_proxy_gc_timeout`** - Timeout time for the call proxy. - When a request is sent using the [call/3](`m:megaco#call`) function, a proxy + When a request is sent using the `call/3` function, a proxy process is started to handle all replies. When the reply has been received and delivered to the user, the proxy process continue to exist for as long as this option specifies. Any received messages, is passed on to the user via the - [handle_unexpected_trans](`m:megaco_user#handle_unexpected_trans`) callback + [handle_unexpected_trans](`c:megaco_user:handle_unexpected_trans/4`) callback function. The timeout time is in milliseconds. A value of 0 (zero) means that the proxy @@ -897,7 +897,7 @@ corresponding value can be of any type.[](){: #ci_control_pid } package). This parameter specifies how many pending messages that can be sent (for a given received transaction request). When the limit is exceeded, the transaction is aborted (see - [handle_trans_request_abort](`m:megaco_user#request_abort`)) and an error + [handle_trans_request_abort](`c:megaco_user:handle_trans_request_abort/5`)) and an error message is sent to the other side. Note that this has no effect on the actual sending of pending transactions. @@ -1030,7 +1030,7 @@ corresponding value can be of any type.[](){: #ci_control_pid } - **`segment_reply_ind`** - This option specifies if the user shall be notified of received segment replies or not. - See [handle_segment_reply](`m:megaco_user#segment_reply`) callback function + See [handle_segment_reply](`c:megaco_user:handle_segment_reply/6`) callback function for more information. Value type: [boolean()](`t:erlang:boolean/0`) @@ -1046,8 +1046,8 @@ corresponding value can be of any type.[](){: #ci_control_pid } When the timer finally expires, a "megaco segments not received" (459) error message is sent to the other side and the user is notified with a `segment timeout` `UserReply` in either the - [handle_trans_reply](`m:megaco_user#trans_reply`) callback function or the - return value of the [call](`m:megaco#call`) function. + [handle_trans_reply](`c:megaco_user:handle_trans_reply/5`) callback function or the + return value of the `call/3` function. Value type: `t:megaco_timer/0` @@ -1220,7 +1220,6 @@ to file or to stdout after formating). Value type: [\{recv | sent, [\{`t:transaction_id/0`, [non_neg_integer()](`t:erlang:non_neg_integer/0`)\}]\}] -[](){: #start } """. -type system_info_item() :: text_config | connections | @@ -1247,7 +1246,6 @@ statically configured by setting the application environment variable 'users' to a list of \{UserMid, Config\} tuples. See the function megaco:start_user/2 for details. -[](){: #stop } """. -spec start() -> ok | {error, Reason} when Reason :: term(). @@ -1263,7 +1261,6 @@ start() -> -doc """ Stops the Megaco application -[](){: #start_user } """. -spec stop() -> ok | {error, Reason} when Reason :: term(). @@ -1287,7 +1284,6 @@ A user is identified by its UserMid, which must be a legal Megaco MID. Config is a list of \{Item, Value\} tuples. See megaco:user_info/2 about which items and values that are valid. -[](){: #stop_user } """. -spec start_user(UserMid, Config) -> ok | {error, Reason} when UserMid :: mid(), @@ -1309,7 +1305,6 @@ Delete the configuration of a user Requires that the user does not have any active connection. -[](){: #user_info } [](){: #user_info_11 } [](){: #user_info_23 } """. -spec stop_user(UserMid) -> ok | {error, Reason} when UserMid :: mid(), @@ -1339,30 +1334,30 @@ Lookup user information [](){: #user_info_21 } Lookup user information about currently active requests. +Expected input type `Input :: Requests` with expected +output type `Result :: RequestsResult`. [](){: #user_info_22 } Lookup user information about currently active replies. +Expected input type `Input :: Replies` with expected +output type `Result :: RepliesResult`. -[](){: #update_user_info } """. --spec user_info(UserMid, requests) -> [{Conn, [TransId]}] when +-spec user_info(UserMid, Input) -> Result when + Input :: Requests | Replies | Item, + Requests :: requests, + Replies :: replies, + Item :: user_info_item(), UserMid :: mid(), Conn :: conn_handle(), - TransId :: transaction_id(); - - (UserMid, replies) -> - [{Conn, [{TransId, ReplyState, Handler}]}] when - UserMid :: mid(), - Conn :: conn_handle(), - TransId :: transaction_id(), + Result :: RequestsResult | RepliesResult | ItemResult, + RequestsResult :: [{Conn, [TransId]}], + ItemResult :: term(), + RepliesResult :: [{Conn, [{TransId, ReplyState, Handler}]}], + TransId :: transaction_id(), ReplyState :: prepare | eval_request | waiting_for_ack | aborted, - Handler :: undefined | pid(); - - (UserMid, Item) -> Value when - UserMid :: mid(), - Item :: user_info_item(), - Value :: term(). + Handler :: undefined | pid(). user_info(UserMid, requests) -> megaco_messenger:which_requests(UserMid); @@ -1381,7 +1376,6 @@ Update information about a user Requires that the user is started. -[](){: #conn_info } [](){: #conn_info_11 } [](){: #conn_info_24 } """. -spec update_user_info(UserMid, Item, Value) -> ok | {error, Reason} when UserMid :: mid(), @@ -1407,7 +1401,6 @@ conn_info(ConnHandle) -> [{requests, conn_info(ConnHandle, requests)}, {replies, conn_info(ConnHandle, replies)} | conn_info(ConnHandle, all)]. - -doc """ Lookup information about an active connection @@ -1415,51 +1408,10 @@ Requires that the connection is active. Failure: `exit` if, for instance, `ConnHandle` refers to a connection that no longer exists. - -[](){: #conn_info_21 } - -Lookup all connection information about an _active_ connection - -See [conn_info](`m:megaco#conn_info_24`) for more info. - -Failure: `exit` if, for instance, `ConnHandle` refers to a connection that no -longer exists. - -[](){: #conn_info_22 } - -Lookup information about currently active requests for an _active_ connection - -Failure: `exit` if, for instance, `ConnHandle` refers to a connection that no -longer exists. - -[](){: #conn_info_23 } - -Lookup information about currently active replies for an _active_ connection - -Failure: `exit` if, for instance, `ConnHandle` refers to a connection that no -longer exists. - -[](){: #update_conn_info } """. --spec conn_info(ConnHandle, all) -> [{Item, Value}] when - ConnHandle :: conn_handle(), - Item :: conn_info_item(), - Value :: term(); - - (ConnHandle, requests) -> [TransId] when +-spec conn_info(ConnHandle, ConnInfo) -> Value when ConnHandle :: conn_handle(), - TransId :: transaction_id(); - - (ConnHandle, replies) -> - [{TransId, ReplyState, Handler}] when - ConnHandle :: conn_handle(), - TransId :: transaction_id(), - ReplyState :: prepare | eval_request | waiting_for_ack | aborted, - Handler :: undefined | pid(); - - (ConnHandle, Item) -> Value when - ConnHandle :: conn_handle(), - Item :: conn_info_item(), + ConnInfo :: all | requests | replies | conn_info_item(), Value :: term(). conn_info(ConnHandle, all = Item) -> @@ -1485,7 +1437,6 @@ Update information about an active connection Requires that the connection is activated. See `t:conn_info_item/0` about which items and values that are valid. -[](){: #system_info } """. -spec update_conn_info(ConnHandle, Item, Value) -> ok | {error, Reason} when ConnHandle :: conn_handle(), @@ -1506,11 +1457,8 @@ This function produces a list of information about the megaco application. Such as users and their config, connections and their config, statistics and so on. This information can be produced by the functions -[user_info](`m:megaco#user_info`), [conn_info](`m:megaco#conn_info`), -[system_info](`m:megaco#system_info`) and [get_stats](`m:megaco#get_stats`) but +`user_info/2`, `conn_info/2`, `system_info/1` and `get_stats/2` but this is a simple way to get it all at once. - -[](){: #connect } """. -spec info() -> Info when Info :: [{Key, Value}], @@ -1591,7 +1539,6 @@ system_info() -> -doc """ Lookup system information. -[](){: #info } """. -spec system_info(Item) -> Value when Item :: system_info_item(), @@ -1684,7 +1631,7 @@ megaco_udp. Read the documentation about each transport module about the details. The connect is done in two steps: first an internal `connection setup` and then -by calling the user [handle_connect](`m:megaco_user#connect`) callback function. +by calling the user [handle_connect](`c:megaco_user:handle_connect/3`) callback function. The first step could result in an error with `Reason = ConnectReason` and the second an error with `Reason = HandleConnectReason`: @@ -1692,14 +1639,13 @@ second an error with `Reason = HandleConnectReason`: application itself. - **`HandleConnectReason`** - An error with this reason is caused by the user - [handle_connect](`m:megaco_user#connect`) callback function either returning + [handle_connect](`c:megaco_user:handle_connect/3`) callback function either returning an error or an invalid value. `Extra` can be any `t:term/0` except the atom `ignore_extra`. It is passed (back) to the user via the callback function -[handle_connect/3](`m:megaco_user#connect`). +[handle_connect/3](`c:megaco_user:handle_connect/3`). -[](){: #disconnect } """. -spec connect(ReceiveHandle, RemoteMid, SendHandle, ControlPid, Extra) -> {ok, ConnHandle} | {error, Reason} when @@ -1733,7 +1679,6 @@ Tear down a "virtual" connection Causes the `UserMod:handle_disconnect/2` callback function to be invoked. See the megaco_user module for more info about the callback arguments. -[](){: #call } """. -spec disconnect(ConnHandle, DiscoReason) -> ok | {error, ErrReason} when ConnHandle :: conn_handle(), @@ -1779,7 +1724,7 @@ transactionError. A `UserCancelReason`, indicates that the request has been canceled by the user. `ReasonForUserCancel` is the reason given in the call to the -[cancel](`m:megaco#cancel`) function. +`cancel/2` function. A send error (`SendReason`), indicates that the send function of the megaco transport callback module failed to send the request. There are two separate @@ -1794,7 +1739,6 @@ For more info about the 'extra' part of the result (`SuccessExtra` and `ErrorExtra`), see the [note](`m:megaco_user#extra_argument`) in the user callback module documentation. -[](){: #cast } """. -spec call(ConnHandle, ActionRequests, SendOptions) -> {ProtocolVersion, UserReply | [UserReply]} when @@ -1869,7 +1813,6 @@ about the callback arguments. Given as `ReplyData` argument to UserMod:handle_trans_reply/4. -[](){: #encode_actions } """. -spec cast(ConnHandle, ActionRequests, SendOptions) -> ok | {error, Reason} when @@ -1899,13 +1842,12 @@ cast(ConnHandle, ActionRequests, Options) -> Tests if the Actions argument is correctly composed. This function is only intended for testing purposes. It's supposed to have a -same kind of interface as the [call](`m:megaco#call`) or [cast](`m:megaco#cast`) +same kind of interface as the `call/3` or `cast/3` functions (with the additions of the `EncodingMod` and `EncodingConfig` arguments). It composes a complete megaco message end attempts to encode it. The return value, will be a tuple of the composed megaco message and the encode result. -[](){: #test_reply } """. -spec test_request(ConnHandle, Version, EncodingMod, EncodingConfig, @@ -1935,8 +1877,8 @@ Tests if the Reply argument is correctly composed. This function is only intended for testing purposes. It's supposed to test the `actual_reply()` return value of the callback functions -[handle_trans_request](`m:megaco_user#trans_request`) and -[handle_trans_long_request](`m:megaco_user#trans_long_request`) functions (with +[handle_trans_request](`c:megaco_user:handle_trans_request/4`) and +[handle_trans_long_request](`c:megaco_user:handle_trans_long_request/4`) functions (with the additions of the `EncodingMod` and `EncodingConfig` arguments). It composes a complete megaco message end attempts to encode it. The return value, will be a tuple of the composed megaco message and the encode result. @@ -1972,7 +1914,6 @@ The global counters handle events that cannot be attributed to a single connection (e.g. protocol errors that occur before the connection has been properly setup). -[](){: #get_stats_1_1 } """. -spec get_stats() -> {ok, [TotalStats]} | {error, Reason} when TotalStats :: {conn_handle(), [Stats]} | @@ -1996,7 +1937,6 @@ properly setup). Retreive all (SNMP) statistic counters maintained by the megaco application, for a specific connection. -[](){: #get_stats_2 } """. -spec get_stats(GCounter) -> {ok, Value} | {error, Reason} when GCounter :: global_counter(), @@ -2013,7 +1953,6 @@ get_stats(ConnHandleOrGCounter) -> -doc """ Retreive a (SNMP) statistic counter maintained by the megaco application. -[](){: #reset_stats } [](){: #reset_stats_0 } """. -spec get_stats(ConnHandle, Counter) -> {ok, Value} | {error, Reason} when ConnHandle :: conn_handle(), @@ -2033,7 +1972,6 @@ get_stats(ConnHandle, Counter) -> -doc """ Reset all (SNMP) statistics counters. -[](){: #reset_stats_1_1 } """. -spec reset_stats() -> void(). @@ -2047,7 +1985,6 @@ Reset the specified (SNMP) statistics counter. Reset all (SNMP) statistics counters for a connection. -[](){: #test_request } """. -spec reset_stats(GCounter) -> void() when GCounter :: global_counter(); @@ -2069,7 +2006,6 @@ This causes outstanding megaco:call/3 requests to return. The callback functions UserMod:handle_reply/4 and UserMod:handle_trans_ack/4 are also invoked where it applies. See the megaco_user module for more info about the callback arguments. -[](){: #process_received_message } """. -spec cancel(ConnHandle, CancelReason) -> ok | {error, Reason} when ConnHandle :: conn_handle(), @@ -2112,7 +2048,7 @@ arguments. The argument `Extra` is just an opaque data structure passed to the user via the callback functions in the [user callback module](`m:megaco_user`). Note however that if `Extra` has the value `extra_undefined` the argument will be ignored -(same as if [`process_received_message/4`](`process_received_message/4`) had +(same as if `process_received_message/4` had been called). See the documentation for the behaviour of the callback module, `m:megaco_user`, for more info. @@ -2158,7 +2094,6 @@ important the following callback function will be invoked: See the megaco_user module for more info about the callback arguments. -[](){: #receive_message } """. -spec process_received_message(ReceiveHandle, ControlPid, SendHandle, BinMsg, Extra) -> @@ -2195,13 +2130,8 @@ This is a callback function intended to be invoked by some transport modules when get an incoming message. Which transport that actually is used is up to the user to choose. -In principle, this function calls the `process_received_message/4,5` function -via a `spawn` to perform the actual processing. - -For further information see the -[process_received_message/4,5](`m:megaco#process_received_message`) function. - -[](){: #parse_digit_map } +In principle, this function calls the [process_received_message/4,5](`process_received_message/5`) +function via a `spawn` to perform the actual processing. """. -spec receive_message(ReceiveHandle, ControlPid, SendHandle, BinMsg, Extra) -> ok when @@ -2229,7 +2159,6 @@ When encoding action requests for one transaction, `Actions` should be `Actions` should be `[action_reqs()]`. Each element of the list is part of one transaction. -[](){: #token_tag2string } """. -spec encode_actions(ConnHandle, ActionRequests, Options) -> {ok, Result} | {error, Reason} when @@ -2284,7 +2213,6 @@ If no or an unknown version is given, the _best_ version is used (which is v3). If no match is found for `Tag`, `Result` will be the empty string (`[]`). -[](){: #cancel } """. -spec token_tag2string(Tag, EncodingMod, Version) -> Result when Tag :: atom(), @@ -2311,7 +2239,6 @@ Parses a digit map body Parses a digit map body, represented as a list of characters, into a list of state transitions suited to be evaluated by megaco:eval_digit_map/1,2. -[](){: #eval_digit_map } """. -spec parse_digit_map(DigitMapBody) -> {ok, ParsedDigitMap} | {error, Reason} when @@ -2355,7 +2282,6 @@ event is received when the digit map evaluator is expecting some other event). The unexpected events may either be ignored or rejected. The latter means that the evaluation is aborted and an error is returned. -[](){: #report_digit_event } """. -spec eval_digit_map(DigitMap, Timers) -> {ok, MatchResult} | {error, Reason} when @@ -2390,7 +2316,6 @@ process that is executing megaco:eval_digit_map/1,2. Note that the events `$s | $S`, `l | $L` and `$z | $Z` has nothing to do with the timers using the same characters. -[](){: #test_digit_event } """. -spec report_digit_event(DigitMapEvalPid, Events) -> ok | {error, Reason} when DigitMapEvalPid :: pid(), @@ -2412,7 +2337,6 @@ This function starts the evaluation of a digit map with megaco:eval_digit_map/1 and sends a sequence of events to it with megaco:report_digit_event/2 in order to simplify testing of digit maps. -[](){: #encode_sdp } """. -spec test_digit_event(DigitMap, Events) -> {ok, Kind, Letters} | {error, Reason} when @@ -2477,7 +2401,6 @@ This function performs the following transformation: - sdp_property_group() -> property_group() - sdp_property_groups() -> property_groups() -[](){: #decode_sdp } """. -spec encode_sdp(SDP) -> {ok, PP} | {error, Reason} when SDP :: sdp_property_parm() | @@ -2518,7 +2441,6 @@ This function performs the following transformation: - property_group() -> sdp_property_group() - property_groups() -> sdp_property_groups() -[](){: #versions } [](){: #versions1 } [](){: #versions2 } """. -spec decode_sdp(PP) -> {ok, SDP} | {error, Reason} when PP :: property_parm() | @@ -2574,7 +2496,6 @@ Example: {ok, V} = megaco:versions1(), megaco:format_versions(V). ``` -[](){: #enable_trace } """. -spec print_version_info(Versions) -> void() when Versions :: [VersionInfo], @@ -2750,7 +2671,6 @@ The difference between the two functions is in how they get the modules to check. `versions1` uses the app-file and `versions2` uses the function `application:get_key`. -[](){: #print_version_info } """. -spec versions2() -> {ok, VersionInfo} | {error, Reason} when VersionInfo :: list(), @@ -2959,7 +2879,6 @@ be printed on stdout using plain `io:format/2`. See `dbg` for further information. -[](){: #disable_trace } """. -spec enable_trace(Level, Destination) -> void() when Level :: trace_level(), @@ -3001,7 +2920,6 @@ enable_trace(Level, {Fun, _Data} = HandleSpec) when is_function(Fun) -> -doc """ This function is used to stop megaco tracing. -[](){: #set_trace } """. -spec disable_trace() -> void(). @@ -3028,7 +2946,6 @@ This function is used to change the megaco trace level. It is assumed that tracing has already been enabled (see `enable_trace` above). -[](){: #stats } [](){: #get_stats } [](){: #get_stats_0 } """. -spec set_trace(Level) -> void() when Level :: trace_level(). diff --git a/lib/megaco/src/engine/megaco_encoder.erl b/lib/megaco/src/engine/megaco_encoder.erl index 75db093eb304..e80beb050b7a 100644 --- a/lib/megaco/src/engine/megaco_encoder.erl +++ b/lib/megaco/src/engine/megaco_encoder.erl @@ -60,7 +60,6 @@ command_request() = #'CommandRequest'{} error_desc() = #'ErrorDescriptor'{} ``` -[](){: #encode_message } """. -export_type([ @@ -182,7 +181,6 @@ of the protocol we are using. As of version 3, it has two more fields. -doc """ Encode a megaco message. -[](){: #decode_message } """. -callback encode_message(EncodingConfig, Version, @@ -203,7 +201,6 @@ If on the other hand the Version argument is an integer, it means that this is the expected version of the message and the decoder for that version should be used. -[](){: #decode_mini_message } """. -callback decode_message(EncodingConfig, Version, @@ -225,7 +222,6 @@ initiated. This function is used by the megaco_messenger module when the Note again that a successfull decode only returns a partially initiated message. -[](){: #encode_transaction } """. -callback decode_mini_message(EncodingConfig, Version, @@ -244,7 +240,6 @@ This functionality is used both when the transaction sender is used and for segmentation. So, for either of those to work, this function _must_ be fully supported\! -[](){: #encode_action_requests } """. -callback encode_transaction(EncodingConfig, Version, @@ -257,11 +252,10 @@ supported\! -doc """ Encode megaco action requests. This function is called when the user calls the -function [encode_actions/3](`m:megaco#encode_actions`). If that function is +function [encode_actions/3](`megaco:encode_actions/3`). If that function is never used or if the codec cannot support this (the encoding of individual actions), then return with error reason `not_implemented`. -[](){: #encode_action_reply } """. -callback encode_action_requests(EncodingConfig, Version, diff --git a/lib/megaco/src/engine/megaco_transport.erl b/lib/megaco/src/engine/megaco_transport.erl index e21cb96d457a..fa086988a7ec 100644 --- a/lib/megaco/src/engine/megaco_transport.erl +++ b/lib/megaco/src/engine/megaco_transport.erl @@ -30,12 +30,10 @@ Megaco transport behaviour. The following functions should be exported from a `megaco_transport` callback module: -- [send_message/2](`m:megaco_transport#send_message`) [`mandatory`] -- [send_message/3](`m:megaco_transport#send_message`) [`optional`] -- [resend_message/2](`m:megaco_transport#resend_message`) [`optional`] -- +- `c:send_message/2` [`mandatory`] +- `c:send_message/3` [`optional`] +- `c:resend_message/2` [`optional`] -[](){: #send_message } """. -doc(#{equiv => send_message/3}). @@ -55,21 +53,20 @@ depends on what kind of message was sent. In the case of requests, megaco will cancel the message in much the same way as if `megaco:cancel` had been called (after a successfull send). The information will be propagated back to the user differently depending on how the request(s) -where issued: For requests issued using [megaco:call](`m:megaco#call`), the info +where issued: For requests issued using `megaco:call/3`, the info will be delivered in the return value. For requests issued using `megaco:cast` the info will be delivered via a call to the callback function -[handle_trans_reply](`m:megaco_user#trans_reply`). +[handle_trans_reply](`c:megaco_user:handle_trans_reply/5`). In the case of reply, megaco will cancel the reply and information of this will be returned to the user via a call to the callback function -[handle_trans_ack](`m:megaco_user#trans_ack`). +[handle_trans_ack](`c:megaco_user:handle_trans_ack/5`). The function [`send_message/3`](`c:send_message/3`) will only be called if the [resend_indication](`m:megaco#ui_resend_indication`) config option has been set to the value `flag`. The third argument, `Resend` then indicates if the message send is a resend or not. -[](){: #resend_message } """. -callback send_message(Handle, Msg, Resend) -> ok | {cancel, Reason :: term()} | Error when Handle :: term(), @@ -93,14 +90,14 @@ depends on what kind of message was sent. In the case of requests, megaco will cancel the message in much the same way as if `megaco:cancel` had been called (after a successfull send). The information will be propagated back to the user differently depending on how the request(s) -where issued: For requests issued using [megaco:call](`m:megaco#call`), the info +where issued: For requests issued using [megaco:call](`megaco:call/3`), the info will be delivered in the return value. For requests issued using `megaco:cast` the info will be delivered via a call to the callback function -[handle_trans_reply](`m:megaco_user#trans_reply`). +[handle_trans_reply](`c:megaco_user:handle_trans_reply/5`). In the case of reply, megaco will cancel the reply and information of this will be returned to the user via a call to the callback function -[handle_trans_ack](`m:megaco_user#trans_ack`). +[handle_trans_ack](`c:megaco_user:handle_trans_ack/5`). """. -callback resend_message(Handle, Msg) -> ok | {cancel, Reason :: term()} | Error when Handle :: term(), diff --git a/lib/megaco/src/engine/megaco_user.erl b/lib/megaco/src/engine/megaco_user.erl index 59e297cc01f5..f5ac59327ad1 100644 --- a/lib/megaco/src/engine/megaco_user.erl +++ b/lib/megaco/src/engine/megaco_user.erl @@ -40,17 +40,17 @@ Callback module for users of the Megaco application This module defines the callback behaviour of Megaco users. A megaco_user compliant callback module must export the following functions: -- [handle_connect/2,3](`m:megaco_user#connect`) -- [handle_disconnect/3](`m:megaco_user#disconnect`) -- [handle_syntax_error/3,4](`m:megaco_user#syntax_error`) -- [handle_message_error/3,4](`m:megaco_user#message_error`) -- [handle_trans_request/3,4](`m:megaco_user#trans_request`) -- [handle_trans_long_request/3,4](`m:megaco_user#trans_long_request`) -- [handle_trans_reply/4,5](`m:megaco_user#trans_reply`) -- [handle_trans_ack/4,5](`m:megaco_user#trans_ack`) -- [handle_unexpected_trans/3,4](`m:megaco_user#unexpected_trans`) -- [handle_trans_request_abort/4,5](`m:megaco_user#request_abort`) -- [handle_segment_reply/5,6](`m:megaco_user#segment_reply`) +- [handle_connect/2,3](`c:handle_connect/3`) +- [handle_disconnect/3](`c:handle_disconnect/3`) +- [handle_syntax_error/3,4](`c:handle_syntax_error/4`) +- [handle_message_error/3,4](`c:handle_message_error/4`) +- [handle_trans_request/3,4](`c:handle_trans_request/4`) +- [handle_trans_long_request/3,4](`c:handle_trans_long_request/4`) +- [handle_trans_reply/4,5](`c:handle_trans_reply/5`) +- [handle_trans_ack/4,5](`c:handle_trans_ack/5`) +- [handle_unexpected_trans/3,4](`c:handle_unexpected_trans/4`) +- [handle_trans_request_abort/4,5](`c:handle_trans_request_abort/5`) +- [handle_segment_reply/5,6](`c:handle_segment_reply/6`) The semantics of them and their exact signatures are explained below. @@ -58,8 +58,8 @@ The `user_args` configuration parameter which may be used to extend the argument list of the callback functions. For example, the handle_connect function takes by default two arguments: -```text - handle_connect(Handle, Version) +``` +handle_connect(Handle, Version) ``` but if the `user_args` parameter is set to a longer list, such as @@ -67,7 +67,7 @@ but if the `user_args` parameter is set to a longer list, such as this case two) extra arguments last in the argument list: ```erlang - handle_connect(Handle, Version, SomePid, SomeTableRef) +handle_connect(Handle, Version, SomePid, SomeTableRef) ``` [](){: #extra_argument } @@ -75,10 +75,10 @@ this case two) extra arguments last in the argument list: > #### Note {: .info } > > Must of the functions below has an optional `Extra` argument (e.g. -> [handle_unexpected_trans/4](`m:megaco_user#unexpected_trans`)). The functions +> [handle_unexpected_trans/4](`c:handle_unexpected_trans/4`)). The functions > which takes this argument will be called if and only if one of the functions -> [receive_message/5](`m:megaco#receive_message`) or -> [process_received_message/5](`m:megaco#process_received_message`) was called +> [`receive_message/5`](`megaco:receive_message/5`) or +> [`process_received_message/5`](`megaco:process_received_message/5`) was called > with the `Extra` argument different than `ignore_extra`. ## DATA TYPES @@ -114,7 +114,6 @@ connection configuration: - `megaco:conn_info(ConnHandle, protocol_version)`. -[](){: #connect } """. -export_type([ @@ -151,14 +150,12 @@ request (and send a message error reply to the gateway) by returning code 402 (unauthorized) and reason "Connection refused by user" (this is also the case for all unknown results, such as exit signals or throw). -See [note](`m:megaco_user#extra_argument`) above about the `Extra` argument in +See [note](#extra_argument) above about the `Extra` argument in [`handle_message_error/4`](`c:handle_message_error/4`). [`handle_connect/3`](`c:handle_connect/3`) (with `Extra`) can also be called as -a result of a call to the [megaco:connect/5](`m:megaco#connect`) function (if +a result of a call to the `megaco:connect/5` function (if that function is called with the `Extra` argument different than `ignore_extra`. - -[](){: #disconnect } """. -callback handle_connect(ConnHandle, ProtocolVersion, Extra) -> ok | error | {error, ErrorDescr} when @@ -172,8 +169,6 @@ Invoked when a connection is teared down The disconnect may either be made explicitly by a call to megaco:disconnect/2 or implicitly when the control process of the connection dies. - -[](){: #syntax_error } """. -callback handle_disconnect(ConnHandle, ProtocolVersion, Reason) -> megaco:void() when @@ -207,10 +202,9 @@ and `no_reply` respectively. Any other return values (including exit signals or throw) and the `DefaultED` will be used. -See [note](`m:megaco_user#extra_argument`) above about the `Extra` argument in +See [note](#extra_argument) above about the `Extra` argument in [`handle_syntax_error/4`](`c:handle_syntax_error/4`). -[](){: #message_error } """. -callback handle_syntax_error(ReceiveHandle, ProtocolVersion, DefaultED, Extra) -> reply | {reply, ED} | no_reply | {no_reply, ED} when @@ -239,10 +233,9 @@ probably don't want to reply to it, but it may indicate that you have outstanding transactions that not will get any response (request -> reply; reply -> ack). -See [note](`m:megaco_user#extra_argument`) above about the `Extra` argument in +See [note](#extra_argument) above about the `Extra` argument in [`handle_message_error/4`](`c:handle_message_error/4`). -[](){: #trans_request } """. -callback handle_message_error(ConnHandle, ProtocolVersion, ErrorDescr, Extra) -> megaco:void() when @@ -298,7 +291,7 @@ options: If for some reason megaco is unable to deliver the reply, the reason for this will be passed to the user via a call to the callback function - [handle_trans_ack](`m:megaco_user#trans_ack`), unless + [handle_trans_ack](`c:handle_trans_ack/5`), unless `ack_action() = discard_ack`. The ack_action() is either: @@ -331,10 +324,9 @@ Any other return values (including exit signals or throw) will result in an error descriptor with code 500 (internal gateway error) and the module name (of the callback module) as reason. -See [note](`m:megaco_user#extra_argument`) above about the `Extra` argument in +See [note](#extra_argument) above about the `Extra` argument in [`handle_trans_request/4`](`c:handle_trans_request/4`). -[](){: #trans_long_request } """. -callback handle_trans_request(ConnHandle, ProtocolVersion, @@ -394,10 +386,9 @@ Any other return values (including exit signals or throw) will result in an error descriptor with code 500 (internal gateway error) and the module name (of the callback module) as reason. -See [note](`m:megaco_user#extra_argument`) above about the `Extra` argument in +See [note](#extra_argument) above about the `Extra` argument in [`handle_trans_long_request/4`](`c:handle_trans_long_request/4`). -[](){: #trans_reply } """. -callback handle_trans_long_request(ConnHandle, ProtocolVersion, ReqData, Extra) -> Reply when @@ -494,7 +485,7 @@ following: the reply was segmented. - A `user_cancel_reason()`, indicates that the request has been canceled by the user. `reason_for_user_cancel()` is the reason given in the call to the - [cancel](`m:megaco#cancel`) function. + [cancel](`megaco:cancel/2`) function. - A `send_reason()`, indicates that the transport module [send_message](`c:megaco_transport:send_message/3`) function did not send the message. The reason for this can be: @@ -513,10 +504,9 @@ following: - `exceeded_recv_pending_limit` \- the pending limit was exceeded for this request. -See [note](`m:megaco_user#extra_argument`) above about the `Extra` argument in +See [note](#extra_argument) above about the `Extra` argument in [`handle_trans_reply/5`](`c:handle_trans_reply/5`). -[](){: #trans_ack } """. -callback handle_trans_reply(ConnHandle, ProtocolVersion, @@ -604,14 +594,13 @@ happens when: - **`reply_timer`** - The `reply_timer` eventually times out. - **reply send failure** - When megaco fails to send the reply (see - [handle_trans_reply](`m:megaco_user#trans_reply`)), for whatever reason. + [handle_trans_reply](`c:handle_trans_reply/5`)), for whatever reason. - **cancel** - The user has explicitly cancelled the wait (megaco:cancel/2). -See [note](`m:megaco_user#extra_argument`) above about the `Extra` argument in +See [note](#extra_argument) above about the `Extra` argument in [`handle_trans_ack/5`](`c:handle_trans_ack/5`). -[](){: #unexpected_trans } [](){: #handle_unexpected_trans } """. -callback handle_trans_ack(ConnHandle, ProtocolVersion, @@ -651,10 +640,9 @@ been done the app has no way of knowing where to send this message. The message is delivered to the "user" by calling this function on the local node (the node which has the link). -See [note](`m:megaco_user#extra_argument`) above about the `Extra` argument in +See [note](#extra_argument) above about the `Extra` argument in [`handle_unexpected_trans/4`](`c:handle_unexpected_trans/4`). -[](){: #request_abort } """. -callback handle_unexpected_trans(ConnHandle, ProtocolVersion, Trans, Extra) -> ok when @@ -681,10 +669,9 @@ Invoked when a transaction request has been aborted This function is invoked if the originating pending limit has been exceeded. This usually means that a request has taken abnormally long time to complete. -See [note](`m:megaco_user#extra_argument`) above about the `Extra` argument in +See [note](#extra_argument) above about the `Extra` argument in [`handle_trans_request_abort/5`](`c:handle_trans_request_abort/5`). -[](){: #segment_reply } """. -callback handle_trans_request_abort(ConnHandle, ProtocolVersion, @@ -712,11 +699,11 @@ See [note](`m:megaco_user#extra_argument`) above about the `Extra` argument in SegCompl :: asn1_NOVALUE | 'NULL'. -doc """ This function is called when a segment reply has been received if the -[segment_reply_ind](`m:megaco#conn_info`) config option has been set to true. +[segment_reply_ind](`megaco:conn_info/2`) config option has been set to true. This is in effect a progress report. -See [note](`m:megaco_user#extra_argument`) above about the `Extra` argument in +See [note](#extra_argument) above about the `Extra` argument in [`handle_segment_reply/6`](`c:handle_segment_reply/6`). """. -callback handle_segment_reply(ConnHandle, diff --git a/lib/megaco/src/flex/megaco_flex_scanner.erl b/lib/megaco/src/flex/megaco_flex_scanner.erl index 580c923c10d4..ffb1d0551f6e 100644 --- a/lib/megaco/src/flex/megaco_flex_scanner.erl +++ b/lib/megaco/src/flex/megaco_flex_scanner.erl @@ -55,8 +55,6 @@ explicitly disable this even when flex support this. Use -doc """ Return value of a successful (flex) scanner start. - -[](){: #start } """. -type megaco_ports() :: port() | tuple(). @@ -96,11 +94,7 @@ is_enabled() -> -dialyzer({nowarn_function, is_reentrant_enabled/0}). -doc """ -is_reentrant_enabled() -> Boolean - Is the flex scanner reentrant or not. - -[](){: #is_scanner_port } """. -spec is_reentrant_enabled() -> boolean(). is_reentrant_enabled() -> @@ -111,8 +105,6 @@ is_reentrant_enabled() -> -doc """ Checks if a port is a flex scanner port or not (useful when if a port exits). - -[](){: #scan } """. -spec is_scanner_port(Port, PortOrPorts) -> boolean() when Port :: port(), @@ -153,8 +145,6 @@ created (one for each scheduler). Note that the process that calls this function _must_ be permanent. If it dies, the port(s) will exit and the driver unload. - -[](){: #stop } """. -spec start() -> {ok, PortOrPorts} | {error, Reason} when PortOrPorts :: megaco_ports(), @@ -233,8 +223,6 @@ drv_name() -> -doc """ This function is used to stop the flex scanner. It also unloads the driver. - -[](){: #is_reentrant_enabled } """. -spec stop(PortOrPorts) -> stopped when PortOrPorts :: megaco_ports(). diff --git a/lib/megaco/src/tcp/megaco_tcp.erl b/lib/megaco/src/tcp/megaco_tcp.erl index 00931b4003e1..58cfca84eb2c 100644 --- a/lib/megaco/src/tcp/megaco_tcp.erl +++ b/lib/megaco/src/tcp/megaco_tcp.erl @@ -603,8 +603,6 @@ close(Socket) -> %% Description: Returns the inet socket %%----------------------------------------------------------------- -doc """ -socket(Handle) -> Socket - This function is used to convert a socket `handle()` to a inet `socket()`. """. diff --git a/lib/mnesia/src/mnesia_dumper.erl b/lib/mnesia/src/mnesia_dumper.erl index ecdd2f3ce29d..2d56bbd6fc4c 100644 --- a/lib/mnesia/src/mnesia_dumper.erl +++ b/lib/mnesia/src/mnesia_dumper.erl @@ -613,6 +613,7 @@ insert_op(Tid, _, {op, change_table_copy_type, N, FromS, ToS, TabDef}, InPlace, Cs#cstruct.type], mnesia_monitor:mktab(Tab, Args), ok = load_from_logfile(ToS, Tab, Logtmp), + ok = mnesia_log:ets2dcd(Tab), file:delete(Logtmp); disc_only_copies -> %% ok = ensure_rename(Dmp, Dat), diff --git a/lib/mnesia/src/mnesia_frag_hash.erl b/lib/mnesia/src/mnesia_frag_hash.erl index 884dff141d49..1bdbb04467c7 100644 --- a/lib/mnesia/src/mnesia_frag_hash.erl +++ b/lib/mnesia/src/mnesia_frag_hash.erl @@ -66,8 +66,6 @@ nicely when new fragments are added. It is well suited for scalable hash tables. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -doc """ -init_state(Tab, State) -> NewState | abort(Reason) - Starts when a fragmented table is created with the function `mnesia:create_table/2` or when a normal (unfragmented) table is converted to be a fragmented table with `mnesia:change_table_frag/2`. @@ -97,8 +95,6 @@ convert_old_state({hash_state, N, P, L}) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -doc """ -add_frag(State) -> {NewState, IterFrags, AdditionalLockFrags} | abort(Reason) - To scale well, it is a good idea to ensure that the records are evenly distributed over all fragments, including the new one. @@ -138,8 +134,6 @@ add_frag(OldState) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -doc """ -del_frag(State) -> {NewState, IterFrags, AdditionalLockFrags} | abort(Reason) - `NewState` is stored as `hash_state` among the other `frag_properties`. As a part of the `del_frag` procedure, Mnesia iterates over all fragments @@ -181,8 +175,6 @@ del_frag(OldState) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -doc """ -key_to_frag_number(State, Key) -> FragNum | abort(Reason) - Starts whenever Mnesia needs to determine which fragment a certain record belongs to. It is typically started at `read`, `write`, and `delete`. """. @@ -212,8 +204,6 @@ key_to_frag_number(OldState, Key) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -doc """ -match_spec_to_frag_numbers(State, MatchSpec) -> FragNums | abort(Reason) - This function is called whenever Mnesia needs to determine which fragments that need to be searched for a `MatchSpec`. It is typically called by `select` and `match_object`. diff --git a/lib/mnesia/test/Makefile b/lib/mnesia/test/Makefile index c3fbad88ca1b..9e0f19765a6f 100644 --- a/lib/mnesia/test/Makefile +++ b/lib/mnesia/test/Makefile @@ -54,7 +54,8 @@ MODULES= \ mnesia_cost \ mnesia_dbn_meters \ ext_test \ - mnesia_index_plugin_test + mnesia_index_plugin_test \ + mnesia_external_backend_test DocExamplesDir := ../doc/src/ diff --git a/lib/mnesia/test/mnesia_SUITE.erl b/lib/mnesia/test/mnesia_SUITE.erl index 123d16023f11..979108822778 100644 --- a/lib/mnesia/test/mnesia_SUITE.erl +++ b/lib/mnesia/test/mnesia_SUITE.erl @@ -58,7 +58,7 @@ suite() -> [{ct_hooks,[{ts_install_cth,[{nodenames,2}]}]}]. all() -> [app, appup, {group, light}, {group, medium}, {group, heavy}, - clean_up_suite]. + clean_up_suite, {group, external}]. groups() -> %% The 'light' test suite runs a selected set of test suites and is @@ -123,7 +123,8 @@ groups() -> {mnesia_dirty_access_test, dirty_index_update_set_disc_only}, {mnesia_evil_coverage_test, - create_live_table_index_disc_only}]}]. + create_live_table_index_disc_only}]}, + {external, [], [{mnesia_external_backend_test, all}]}]. init_per_group(_GroupName, Config) -> Config. diff --git a/lib/mnesia/test/mnesia_external_backend_test.erl b/lib/mnesia/test/mnesia_external_backend_test.erl new file mode 100644 index 000000000000..1391be7c8816 --- /dev/null +++ b/lib/mnesia/test/mnesia_external_backend_test.erl @@ -0,0 +1,79 @@ +-module(mnesia_external_backend_test). + +-export([init_per_testcase/2, end_per_testcase/2, + init_per_group/2, end_per_group/2, + suite/0, all/0, groups/0]). + +-export([conversion_from_external_to_disc_copies_results_in_data_loss_after_node_restart/1]). + +-include("mnesia_test_lib.hrl"). + +-record(some_rec, {some_id :: atom(), some_int :: number(), some_string :: string()}). + +-define(acquire(N, Config), + mnesia_test_lib:prepare_test_case([{init_test_case, [mnesia]}, + delete_schema], + N, Config, ?FILE, ?LINE)). + +all() -> + [conversion_from_external_to_disc_copies_results_in_data_loss_after_node_restart]. + +groups() -> + []. + +init_per_testcase(Func, Conf) -> + mnesia_test_lib:init_per_testcase(Func, Conf). + +end_per_testcase(Func, Conf) -> + mnesia_test_lib:end_per_testcase(Func, Conf). + +init_per_group(_GroupName, Config) -> + Config. + +end_per_group(_GroupName, Config) -> + Config. + +suite() -> [{ct_hooks,[{ts_install_cth,[{nodenames,1}]}]}]. + +conversion_from_external_to_disc_copies_results_in_data_loss_after_node_restart(Config) when is_list(Config) -> + Node = node(), + Data = [ + #some_rec{some_id = a, some_int = 1, some_string = "something" }, + #some_rec{some_id = b, some_int = 2, some_string = "anything" }, + #some_rec{some_id = c, some_int = 3, some_string = "everything"}, + #some_rec{some_id = d, some_int = 4, some_string = "nothing" } + ], + + [Node] = ?acquire(1, Config), + ok = mnesia:create_schema([Node]), + ok = mnesia:start(), + {atomic, ok} = mnesia:add_backend_type(ext_ets, ext_test), + {atomic, ok} = mnesia:add_backend_type(ext_dets, ext_test), + {atomic, ok} = mnesia:create_table(table, [ + {type, ordered_set}, + {record_name, some_rec}, + {attributes, record_info(fields, some_rec)}, + {disc_copies, [Node]} + ]), + + ok = mnesia:activity(transaction, fun() -> + lists:foreach(fun(Elem) -> mnesia:write(table, Elem, write) end, Data) + end), + + {atomic, ok} = mnesia:change_table_copy_type(table, Node, ext_ets), + Data = mnesia:activity(transaction, fun() -> + mnesia:match_object(table, #some_rec{_ = '_'}, read) end + ), + + {atomic, ok} = mnesia:change_table_copy_type(table, Node, disc_copies), + Data = mnesia:activity(transaction, fun() -> + mnesia:match_object(table, #some_rec{_ = '_'}, read) end + ), + + stopped = mnesia:stop(), + ok = mnesia:start(), + ok = mnesia:wait_for_tables([schema, table], 10000), + + Data = mnesia:activity(transaction, fun() -> + mnesia:match_object(table, #some_rec{_ = '_'}, read) end + ). diff --git a/lib/mnesia/test/mt.erl b/lib/mnesia/test/mt.erl index b5eea3069083..06b76f0e642d 100644 --- a/lib/mnesia/test/mt.erl +++ b/lib/mnesia/test/mt.erl @@ -68,6 +68,7 @@ alias(registry) -> mnesia_registry_test; alias(suite) -> mnesia_SUITE; alias(trans) -> mnesia_trans_access_test; alias(ixp) -> mnesia_index_plugin_test; +alias(external) -> mnesia_external_backend_test; alias(Other) -> Other. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/lib/observer/src/cdv_mem_cb.erl b/lib/observer/src/cdv_mem_cb.erl index d09e5df65989..0f2d51f3a6d8 100644 --- a/lib/observer/src/cdv_mem_cb.erl +++ b/lib/observer/src/cdv_mem_cb.erl @@ -84,5 +84,5 @@ fix_alloc([]) -> []. alloc_columns(Columns) -> - [{"", ?wxLIST_FORMAT_LEFT, 180} | + [{"", ?wxLIST_FORMAT_LEFT, 240} | [{Column, ?wxLIST_FORMAT_RIGHT, 140} || Column <- Columns]]. diff --git a/lib/observer/src/crashdump_viewer.erl b/lib/observer/src/crashdump_viewer.erl index fb734429bbbd..a498aaeb0282 100644 --- a/lib/observer/src/crashdump_viewer.erl +++ b/lib/observer/src/crashdump_viewer.erl @@ -2537,7 +2537,8 @@ sort_allocator_types([],Acc,DoTotal) -> sort_type_data(Type,[?opt_e_false|Data],Acc,_) when Type=/=?sbmbc_alloc-> sort_type_data(Type,Data,Acc,false); -sort_type_data(Type,[{Key,Val0}|Data],Acc,DoTotal) -> +sort_type_data(Type,[{Key0,Val0}|Data],Acc,DoTotal) -> + Key = re:replace(Key0, "([^[]*)(\\[[^]]*\\])(.*)", "\\1\\3", [{return, list}]), case lists:member(Key,?interesting_allocator_info) of true -> Val = list_to_integer(hd(Val0)), diff --git a/lib/observer/src/etop.erl b/lib/observer/src/etop.erl index 677b205571f3..807e7bd8a4cc 100644 --- a/lib/observer/src/etop.erl +++ b/lib/observer/src/etop.erl @@ -96,8 +96,6 @@ For details about Erlang Top, see the [User's Guide](etop_ug.md). -define(change_at_runtime_config,[lines,interval,sort,accumulate]). -doc """ -help() -> ok - Displays the help of `etop` and its options. """. -doc(#{since => <<"OTP R15B01">>}). @@ -130,8 +128,6 @@ help() -> ). -doc """ -stop() -> stop - Terminates `etop`. """. -spec stop() -> stop | not_started. @@ -142,8 +138,6 @@ stop() -> end. -doc """ -config(Key,Value) -> Result - Changes the configuration parameters of the tool during runtime. Allowed parameters are `lines`, `interval`, `accumulate`, and `sort`. """. @@ -169,8 +163,6 @@ check_runtime_config(accumulate,A) when A=:=true; A=:=false -> ok; check_runtime_config(_Key,_Value) -> error. -doc """ -dump(File) -> Result - Dumps the current display to a text file. """. -spec dump(File) -> ok | {error, Reason} when @@ -183,8 +175,6 @@ dump(File) -> end. -doc """ -start() -> ok - Starts `etop`. Notice that `etop` is preferably started with the `etop` script. """. -doc(#{since => <<"OTP R15B01">>}). @@ -193,8 +183,6 @@ start() -> start([]). -doc """ -start(Options) -> ok - Starts `etop`. To view the possible options, use `help/0`. """. -doc(#{since => <<"OTP R15B01">>}). diff --git a/lib/observer/src/observer.erl b/lib/observer/src/observer.erl index bd1d4f7ea40e..41cb30371146 100644 --- a/lib/observer/src/observer.erl +++ b/lib/observer/src/observer.erl @@ -33,8 +33,6 @@ For details about how to get started, see the [`User's Guide`](observer_ug.md). -export([start/0, start/1, start_and_wait/0, start_and_wait/1, stop/0]). -doc """ -start() -> ok - Starts the Observer GUI. To stop the tool, close the window or call `stop/0`. """. -doc(#{since => <<"OTP R15B">>}). @@ -43,12 +41,10 @@ start() -> observer_wx:start(). -doc """ -start(Node) -> ok - Starts the Observer GUI and tries to connect it to `Node`. """. -doc(#{since => <<"OTP 26.0">>}). --spec start(node()|[node()]) -> ok | {error, term()}. +-spec start(Node :: node()|[node()]) -> ok | {error, term()}. start(Node) when is_atom(Node) -> start([Node]); start([Node]) -> @@ -67,8 +63,6 @@ start([Node]) -> end. -doc """ -start_and_wait() -> ok - Starts the Observer GUI and only return when it is either stopped or the window is closed """. @@ -83,13 +77,11 @@ start_and_wait() -> end. -doc """ -start_and_wait(Node) -> ok - Starts the Observer GUI and only return when it is either stopped or the window is closed, connects it directly to `Node` like `start/1`. """. -doc(#{since => <<"OTP 26.0">>}). --spec start_and_wait(node()|[node()]) -> ok. +-spec start_and_wait(Node :: node()|[node()]) -> ok. start_and_wait(Node) when is_atom(Node) -> start_and_wait([Node]); start_and_wait(List) when is_list(List) -> @@ -101,8 +93,6 @@ start_and_wait(List) when is_list(List) -> end. -doc """ -stop() -> ok - Stops the Observer GUI. """. -doc(#{since => <<"OTP 26.0">>}). diff --git a/lib/observer/src/observer_wx.erl b/lib/observer/src/observer_wx.erl index 07833fb50ea5..14276672fce0 100644 --- a/lib/observer/src/observer_wx.erl +++ b/lib/observer/src/observer_wx.erl @@ -776,12 +776,13 @@ get_nodes() -> %% see erl_epmd:(listen_)port_please/2 erl_dist_port() -> - try - erl_epmd = net_kernel:epmd_module(), - {ok, [[StringPort]]} = init:get_argument(erl_epmd_port), - list_to_integer(StringPort) - catch - _:_ -> + case net_kernel:epmd_module() of + erl_epmd -> + case erl_epmd:listen_port_please(nonode, nohost) of + {ok, 0} -> undefined; + {ok, Port} -> Port + end; + _ -> undefined end. @@ -903,5 +904,3 @@ filter_nodedown_messages(Node) -> %% io:format("[owx] " ++ F ++ "~n", A); %% d(_, _, _) -> %% ok. - - diff --git a/lib/observer/src/ttb.erl b/lib/observer/src/ttb.erl index 1c4228fbf9d0..d3e8d20602f8 100644 --- a/lib/observer/src/ttb.erl +++ b/lib/observer/src/ttb.erl @@ -104,8 +104,6 @@ parallel. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Shortcut -doc """ -start_trace(Nodes, Patterns, FlagSpec, Opts) -> Result - This function is a shortcut allowing to start a trace with one command. Each tuple in `Patterns` is converted to a list, which in turn is passed to `ttb:tpl/2,3,4`. @@ -143,15 +141,11 @@ start_trace(Nodes, Patterns, {Procs, Flags}, Options) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Open a trace port on all given nodes and create the meta data file --doc """ -tracer() -> Result - -Equivalent to [`tracer(node())`](`tracer/1`). -""". +-doc #{ equiv => tracer(node()) }. -spec tracer() -> {ok, [node()]} | {error, term()}. tracer() -> tracer(node()). -doc """ -tracer(Nodes) -> Result +tracer(Nodes) Handy shortcuts for common tracing settings. @@ -160,15 +154,13 @@ Handy shortcuts for common tracing settings. `dbg` is equivalent to [`tracer(node(),[{shell, only}])`](`tracer/2`). -Equivalent to [`tracer(Nodes,[])`](`tracer/2`). +`Nodes` is equivalent to [`tracer(Nodes,[])`](`tracer/2`). """. -spec tracer('shell' | 'dbg' | nodes()) -> {ok, [node()]} | {error, term()}. tracer(shell) -> tracer(node(), shell); tracer(dbg) -> tracer(node(), {shell, only}); tracer(Nodes) -> tracer(Nodes,[]). -doc """ -tracer(Nodes,Opts) -> Result - Starts a file trace port on all specified nodes and points the system tracer for sequential tracing to the same port. @@ -484,8 +476,6 @@ store(Func,Args) -> ets:insert(?history_table,{Last+1,{?MODULE,Func,Args}}). -doc """ -list_history() -> History - All calls to `ttb` is stored in the history. This function returns the current content of the history. Any entry can be reexecuted with [`run_history/1`](`run_history/1`) or stored in a configuration file with @@ -501,8 +491,6 @@ list_history() -> end. -doc """ -run_history(N) -> ok | {error, Reason} - Executes the specified entry or entries from the history list. To list history, use `list_history/0`. """. @@ -538,11 +526,7 @@ run_printed({M,F,A},Verbose) -> R = apply(M,F,A), Verbose andalso print_result(R). --doc """ -write_config(ConfigFile,Config) - -Equivalent to [`write_config(ConfigFile,Config,[])`](`write_config/3`). -""". +-doc #{ equiv => write_config(ConfigFile,Config,[]) }. -spec write_config(ConfigFile, Config) -> Result when ConfigFile :: file:filename(), Config :: all | [integer()] | [mfas()], @@ -551,8 +535,6 @@ write_config(ConfigFile,Config) -> write_config(ConfigFile,Config,[]). -doc """ -write_config(ConfigFile,Config,Opts) -> ok | {error,Reason} - Creates or extends a configuration file, which can be used for restoring a specific configuration later. @@ -614,8 +596,6 @@ check_config([Other|_Rest],_Acc) -> {error,{illegal_config,Other}}. -doc """ -list_config(ConfigFile) -> Config | {error,Reason} - Lists all entries in the specified configuration file. """. -spec list_config(ConfigFile) -> Result when @@ -635,8 +615,6 @@ read_config(B,Acc,N) -> read_config(Rest,[{N,{M,F,A}}|Acc],N+1). -doc """ -run_config(ConfigFile) -> ok | {error,Reason} - Executes all entries in the specified configuration file. Notice that the history of the last trace is always available in file `ttb_last_config`. """. @@ -655,8 +633,6 @@ run_config(ConfigFile) -> end. -doc """ -run_config(ConfigFile,NumList) -> ok | {error,Reason} - Executes selected entries from the specified configuration file. `NumList` is a list of integers pointing out the entries to be executed. @@ -701,8 +677,6 @@ arg_list([A1|A],Acc) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Set trace flags on processes -doc """ -p(Item,Flags) -> Return - Sets the specified trace flags on the specified processes or ports. Flag `timestamp` is always turned on. @@ -820,7 +794,7 @@ tpl(A,B,C) -> dbg:tpl(A,B,ms(C)). -doc """ -tpl(Module [, Function [, Arity]], MatchSpec) +tpl(Module, Function, Arity, MatchSpec) These functions are to be used with trace flag `call`, `send`, and `'receive'` for setting and clearing trace patterns. @@ -1037,16 +1011,10 @@ fix_dot(FunStr) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Support for sequential trace --doc """ -seq_trigger_ms() -> MatchSpec - -Equivalent to [`seq_trigger_ms(all)`](`seq_trigger_ms/1`). -""". +-doc #{ equiv => seq_trigger_ms(all) }. -spec seq_trigger_ms() -> match_spec(). seq_trigger_ms() -> seq_trigger_ms(all). -doc """ -seq_trigger_ms(Flags) -> MatchSpec - A match specification can turn on or off sequential tracing. This function returns a match specification, which turns on sequential tracing with the specified `Flags`. @@ -1126,16 +1094,12 @@ no_store_write_trace_info(Key,What) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Stop tracing on all nodes -doc """ -stop() - Equivalent to [`stop([])`](`stop/1`). """. -spec stop() -> stopped | {stopped, Dir::file:filename()}. stop() -> stop([]). -doc """ -stop(Opts) -> stopped | {stopped, Dir} - Stops tracing on all nodes. Logs and trace information files are sent to the trace control node and stored in a directory named `ttb_upload_FileName-Timestamp`, where `Filename` is the one provided with @@ -1563,8 +1527,6 @@ write_info(Nodes,PI,Traci) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Format binary trace logs -doc """ -get_et_handler() - Returns the `et` handler, which can be used with [`format/2`](`format/2`) or [`tracer/2`](`tracer/2`). @@ -1577,18 +1539,12 @@ Example: `ttb:format(Dir, [{handler, ttb:get_et_handler()}])`. get_et_handler() -> {fun ttb_et:handler/4, initial}. --doc """ -format(File) - -Equivalent to [`format(File,[])`](`format/2`). -""". +-doc #{equiv => format(Files, []) }. -spec format(Files) -> ok | {error, term()} when Files :: [file:filename()] | file:filename(). format(Files) -> format(Files,[]). -doc """ -format(File,Options) -> ok | {error, Reason} - Reads the specified binary trace log(s). The logs are processed in the order of their time stamps as long as option `disable_sort` is not specified. diff --git a/lib/observer/test/crashdump_viewer_SUITE.erl b/lib/observer/test/crashdump_viewer_SUITE.erl index 2777e5f99557..701afb38e861 100644 --- a/lib/observer/test/crashdump_viewer_SUITE.erl +++ b/lib/observer/test/crashdump_viewer_SUITE.erl @@ -364,7 +364,7 @@ browse_file(File) -> {ok,Mods,_ModsTW} = crashdump_viewer:loaded_modules(), {ok,_Mem,_MemTW} = crashdump_viewer:memory(), {ok,_AllocAreas,_AreaTW} = crashdump_viewer:allocated_areas(), - {ok,_AllocINfo,_AllocInfoTW} = crashdump_viewer:allocator_info(), + {ok,AllocInfo,_AllocInfoTW} = crashdump_viewer:allocator_info(), {ok,_HashTabs,_HashTabsTW} = crashdump_viewer:hash_tables(), {ok,_IndexTabs,_IndexTabsTW} = crashdump_viewer:index_tables(), {ok,_PTs,_PTsTW} = crashdump_viewer:persistent_terms(), @@ -380,6 +380,9 @@ browse_file(File) -> lookat_all_nodes(Nodes), io:format(" nodes ok",[]), + lookat_alloc_info(AllocInfo,is_truncated(File)), + io:format(" alloc info ok",[]), + Procs. % used as second arg to special/2 is_truncated(File) -> @@ -733,6 +736,32 @@ lookat_all_nodes([#nod{channel=Channel0}|Nodes]) -> {ok,_Node=#nod{},_NodeTW} = crashdump_viewer:node_info(Channel), lookat_all_nodes(Nodes). +lookat_alloc_info(_,true) -> + ok; +lookat_alloc_info([AllocSummary|_],false) -> + {"Allocator Summary", + ["blocks size", "carriers size", "mseg carriers size"], + Data + } = AllocSummary, + + %% All values must be integer. + Filter = filter_alloc_info_fun(), + _ = [list_to_integer(IntStr) || {_,L} <- Data, + IntStr <- Filter(L)], + + ok. + +filter_alloc_info_fun() -> + case os:type() of + {win32,_} -> + fun([A,B,_]) -> + %% The third column is never valid on Windows. + [A,B] + end; + _ -> + fun([_,_,_]=L) -> L end + end. + %%%----------------------------------------------------------------- %%% create_dumps(DataDir,Rels) -> diff --git a/lib/os_mon/c_src/memsup.c b/lib/os_mon/c_src/memsup.c index 96f662da1940..ad4a193d99ba 100644 --- a/lib/os_mon/c_src/memsup.c +++ b/lib/os_mon/c_src/memsup.c @@ -446,9 +446,10 @@ get_extended_mem_apple(memory_ext *me) { } me->free = vm_stat.free_count * mach_page_size; + me->available = (vm_stat.inactive_count + vm_stat.free_count) * mach_page_size; me->total = total_memory_size; me->pagesize = 1; - me->flag = F_MEM_TOTAL | F_MEM_FREE; + me->flag = F_MEM_TOTAL | F_MEM_FREE | F_MEM_AVAIL; } #endif @@ -508,7 +509,11 @@ get_basic_mem(unsigned long *tot, unsigned long *used, unsigned long *pagesize){ } *tot = me.total; *pagesize = me.pagesize; - *used = me.total - me.free; + if (me.flag & F_MEM_AVAIL) { + *used = me.total - me.available; + } else { + *used = me.total - me.free; + } #elif defined(BSD4_4) struct vmtotal vt; long pgsz; @@ -535,9 +540,9 @@ get_basic_mem(unsigned long *tot, unsigned long *used, unsigned long *pagesize){ #elif defined(__APPLE__) { memory_ext me; - me.free = 0; + me.available = 0; get_extended_mem_apple(&me); - *used = me.total - me.free; + *used = me.total - me.available; *tot = total_memory_size; *pagesize = 1; } diff --git a/lib/os_mon/src/memsup.erl b/lib/os_mon/src/memsup.erl index be8188989cfd..6bd6f7df0672 100644 --- a/lib/os_mon/src/memsup.erl +++ b/lib/os_mon/src/memsup.erl @@ -29,7 +29,9 @@ Periodically performs a memory check: - If more than a certain amount of available system memory is allocated, as reported by the underlying operating system, the alarm - `{system_memory_high_watermark, []}` is set. + `{system_memory_high_watermark, []}` is set. How the amount of available + memory is determined depends on the underlying OS and may change as better + values become available. - If any Erlang process `Pid` in the system has allocated more than a certain amount of total system memory, the alarm `{process_memory_high_watermark, Pid}` is set. diff --git a/lib/os_mon/test/memsup_SUITE.erl b/lib/os_mon/test/memsup_SUITE.erl index 1f66ea0afac4..262d3a669625 100644 --- a/lib/os_mon/test/memsup_SUITE.erl +++ b/lib/os_mon/test/memsup_SUITE.erl @@ -758,6 +758,9 @@ improved_system_memory_data(Config) when is_list(Config) -> _ -> {comment, "No available_memory present in result"} end; + {unix,darwin} -> + true = AvailableMemoryPresent, + {comment, "available_memory present in result"}; _ -> ok end. diff --git a/lib/public_key/doc/notes.md b/lib/public_key/doc/notes.md index 4a02110905d2..e9c1de1be5dd 100644 --- a/lib/public_key/doc/notes.md +++ b/lib/public_key/doc/notes.md @@ -131,6 +131,14 @@ limitations under the License. [PR-8026]: https://github.com/erlang/otp/pull/8026 [PR-8233]: https://github.com/erlang/otp/pull/8233 +## Public_Key 1.15.1.3 + +### Improvements and New Features + +* Do not hide crypto badarg reason, this error handling enhancement facilitates debugging. These kind of runtime errors are not documented and should never be relied on for matching, they are intended for catching input errors early. + + Own Id: OTP-19238 Aux Id: PR-8831 + ## Public_Key 1.15.1.2 ### Fixed Bugs and Malfunctions @@ -211,6 +219,22 @@ limitations under the License. Own Id: OTP-18447 +## Public_Key 1.13.3.4 + +### Improvements and New Features + +* Do not hide crypto badarg reason, this error handling enhancement facilitates debugging. These kind of runtime errors are not documented and should never be relied on for matching, they are intended for catching input errors early. + + Own Id: OTP-19238 Aux Id: PR-8831 + +## Public_Key 1.13.3.3 + +### Fixed Bugs and Malfunctions + +* For completeness handle rsa_pss implicit default value, although this will probably not be commonly used as it provides very weak security. + + Own Id: OTP-19179 + ## Public_Key 1.13.3.2 ### Fixed Bugs and Malfunctions diff --git a/lib/public_key/src/pubkey_cert.erl b/lib/public_key/src/pubkey_cert.erl index d26b2b304cac..75b658f3fad1 100644 --- a/lib/public_key/src/pubkey_cert.erl +++ b/lib/public_key/src/pubkey_cert.erl @@ -701,9 +701,20 @@ validate_extensions(Cert, asn1_NOVALUE, ValidationState, ExistBasicCon, validate_extensions(Cert, [], ValidationState, ExistBasicCon, SelfSigned, UserState, VerifyFun); -validate_extensions(_,[], ValidationState, basic_constraint, _SelfSigned, - UserState, _) -> - {ValidationState, UserState}; +validate_extensions(#cert{otp = OtpCert} = Cert,[], ValidationState, basic_constraint, _SelfSigned, + UserState0, VerifyFun) -> + TBSCert = OtpCert#'OTPCertificate'.tbsCertificate, + Extensions = extensions_list(TBSCert#'OTPTBSCertificate'.extensions), + KeyUseExt = pubkey_cert:select_extension(?'id-ce-keyUsage', Extensions), + ExtKeyUseExt = pubkey_cert:select_extension(?'id-ce-extKeyUsage', Extensions), + case compatible_ext_key_usage(KeyUseExt, ExtKeyUseExt) of + true -> + {ValidationState, UserState0}; + false -> + UserState = verify_fun(Cert, {bad_cert, {key_usage_mismatch, {KeyUseExt, ExtKeyUseExt}}}, + UserState0, VerifyFun), + {ValidationState, UserState} + end; validate_extensions(Cert, [], ValidationState = #path_validation_state{max_path_length = Len, last_cert = Last}, @@ -832,15 +843,20 @@ validate_extensions(Cert, [#'Extension'{extnID = ?'id-ce-inhibitAnyPolicy'} = Ex SelfSigned, UserState, VerifyFun); validate_extensions(Cert, [#'Extension'{extnID = ?'id-ce-extKeyUsage', critical = true, - extnValue = KeyUse} = Extension | Rest], + extnValue = ExtKeyUse} = Extension | Rest], #path_validation_state{last_cert = false} = ValidationState, ExistBasicCon, SelfSigned, UserState0, VerifyFun) -> UserState = - case ext_keyusage_includes_any(KeyUse) of + case ext_keyusage_includes_any(ExtKeyUse) of true -> %% CA cert that specifies ?anyExtendedKeyUsage should not be marked critical verify_fun(Cert, {bad_cert, invalid_ext_key_usage}, UserState0, VerifyFun); false -> - verify_fun(Cert, {extension, Extension}, UserState0, VerifyFun) + case ca_known_extend_key_use(ExtKeyUse) of + true -> + UserState0; + false -> + verify_fun(Cert, {extension, Extension}, UserState0, VerifyFun) + end end, validate_extensions(Cert, Rest, ValidationState, ExistBasicCon, SelfSigned, UserState, VerifyFun); @@ -1783,8 +1799,57 @@ is_digitally_sign_cert(Cert) -> lists:member(keyCertSign, KeyUse) end. -missing_basic_constraints(Cert, SelfSigned, ValidationState, VerifyFun, UserState0,Len) -> - UserState = verify_fun(Cert, {bad_cert, missing_basic_constraint}, +compatible_ext_key_usage(_, undefined) -> + true; +compatible_ext_key_usage(#'Extension'{extnValue = KeyUse}, #'Extension'{extnValue = Purposes}) -> + case ext_keyusage_includes_any(Purposes) of + true -> + true; + false -> + is_compatible_purposes(KeyUse, Purposes) + end. + +is_compatible_purposes(_, []) -> + true; +is_compatible_purposes(KeyUse, [?'id-kp-serverAuth'| Rest]) -> + (lists:member(digitalSignature, KeyUse) orelse + lists:member(keyAgreement, KeyUse)) andalso + is_compatible_purposes(KeyUse, Rest); +is_compatible_purposes(KeyUse, [?'id-kp-clientAuth'| Rest]) -> + (lists:member(digitalSignature, KeyUse) + orelse + (lists:member(keyAgreement, KeyUse) orelse lists:member(keyEncipherment, KeyUse))) + andalso is_compatible_purposes(KeyUse, Rest); +is_compatible_purposes(KeyUse, [?'id-kp-codeSigning'| Rest]) -> + lists:member(digitalSignature, KeyUse) andalso + is_compatible_purposes(KeyUse, Rest); +is_compatible_purposes(KeyUse, [?'id-kp-emailProtection'| Rest]) -> + ((lists:member(digitalSignature, KeyUse) orelse + lists:member(nonRepudiation, KeyUse)) + orelse + (lists:member(keyAgreement, KeyUse) orelse lists:member(keyEncipherment, KeyUse))) + andalso is_compatible_purposes(KeyUse, Rest); +is_compatible_purposes(KeyUse, [Id| Rest]) when Id == ?'id-kp-timeStamping'; + Id == ?'id-kp-OCSPSigning'-> + (lists:member(digitalSignature, KeyUse) orelse + lists:member(nonRepudiation, KeyUse)) andalso + is_compatible_purposes(KeyUse, Rest); +is_compatible_purposes(KeyUse, [_| Rest]) -> %% Unknown purposes are for user verify_fun to care about + is_compatible_purposes(KeyUse, Rest). + +ca_known_extend_key_use(ExtKeyUse) -> + CAExtSet = ca_known_ext_key_usage(), + Intersertion = sets:intersection(CAExtSet, sets:from_list(ExtKeyUse)), + not sets:is_empty(Intersertion). + +ca_known_ext_key_usage() -> + %% Following extended key usages are known + sets:from_list([?'id-kp-serverAuth', ?'id-kp-clientAuth', + ?'id-kp-codeSigning', ?'id-kp-emailProtection', + ?'id-kp-timeStamping', ?'id-kp-OCSPSigning']). + +missing_basic_constraints(OtpCert, SelfSigned, ValidationState, VerifyFun, UserState0,Len) -> + UserState = verify_fun(OtpCert, {bad_cert, missing_basic_constraint}, UserState0, VerifyFun), case SelfSigned of true -> diff --git a/lib/public_key/src/pubkey_os_cacerts.erl b/lib/public_key/src/pubkey_os_cacerts.erl index 6fa5fdb9a669..234abd1cf452 100644 --- a/lib/public_key/src/pubkey_os_cacerts.erl +++ b/lib/public_key/src/pubkey_os_cacerts.erl @@ -37,7 +37,15 @@ get() -> case persistent_term:get(?MODULE, not_loaded) of not_loaded -> - case load() of + _ = application:load(public_key), + + Result = + case application:get_env(public_key, cacerts_path) of + {ok, EnvVar} -> load([EnvVar]); + undefined -> load() + end, + + case Result of ok -> persistent_term:get(?MODULE); {error, Reason} -> diff --git a/lib/public_key/src/public_key.erl b/lib/public_key/src/public_key.erl index 88761a74e60f..243e5548d3b3 100644 --- a/lib/public_key/src/public_key.erl +++ b/lib/public_key/src/public_key.erl @@ -308,6 +308,7 @@ The reason that a certifcate gets rejected by the certificate path validation. """. -type bad_cert_reason() :: cert_expired | invalid_issuer | invalid_signature | name_not_permitted | missing_basic_constraint | invalid_key_usage | duplicate_cert_in_path | + {key_usage_mismatch, term()} | {'policy_requirement_not_met', term()} | {'invalid_policy_mapping', term()} | {revoked, crl_reason()} | invalid_validity_dates | {revocation_status_undetermined, term()} | atom(). @@ -421,7 +422,7 @@ pem_entry_decode({'SubjectPublicKeyInfo', Der, _}) -> {params, DssParams} = der_decode('DSAParams', Params), {der_decode(KeyType, Key0), DssParams}; 'ECPoint' -> - ECCParams = der_decode('EcpkParameters', Params), + ECCParams = ec_decode_params(AlgId, Params), {#'ECPoint'{point = Key0}, ECCParams} end; pem_entry_decode({Asn1Type, Der, not_encrypted}) when is_atom(Asn1Type), @@ -2228,7 +2229,20 @@ cacerts_get() -> %%-------------------------------------------------------------------- -doc(#{title => <<"Certificate API">>, since => <<"OTP 25.0">>}). --doc "Loads the OS supplied trusted CA certificates.". +-doc """ +Loads the OS supplied trusted CA certificates. + +This can be overridden by setting the `cacerts_path` +environment key of the `public_key` application with +the location of an alternative certificate. +You can set it via the command line as: + + erl -public_key cacerts_path '"/path/to/certs.pem"' + +Use it with care. It is your responsibility to ensure +that the certificates found in this alternative path +can be trusted by the running system. +""". -spec cacerts_load() -> ok | {error, Reason::term()}. %%-------------------------------------------------------------------- @@ -2257,6 +2271,12 @@ cacerts_clear() -> %%-------------------------------------------------------------------- %%% Internal functions %%-------------------------------------------------------------------- +ec_decode_params(AlgId, _) when AlgId == ?'id-Ed25519'; + AlgId == ?'id-Ed448' -> + {namedCurve, AlgId}; +ec_decode_params(_, Params) -> + der_decode('EcpkParameters', Params). + default_options([]) -> [{rsa_padding, rsa_pkcs1_padding}]; default_options(Opts) -> diff --git a/lib/public_key/test/public_key_SUITE.erl b/lib/public_key/test/public_key_SUITE.erl index a57e5b26e226..a85a5d4b017a 100644 --- a/lib/public_key/test/public_key_SUITE.erl +++ b/lib/public_key/test/public_key_SUITE.erl @@ -61,6 +61,8 @@ eddsa_priv_pkcs8/1, eddsa_priv_rfc5958/0, eddsa_priv_rfc5958/1, + eddsa_pub/0, + eddsa_pub/1, eddsa_sign_verify_24_compat/1, init_ec_pem_encode_generated/1, ec_pem_encode_generated/0, @@ -103,6 +105,8 @@ pkix_path_validation_root_expired/1, pkix_ext_key_usage/0, pkix_ext_key_usage/1, + pkix_ext_key_usage_any/0, + pkix_ext_key_usage_any/1, pkix_path_validation_bad_date/0, pkix_path_validation_bad_date/1, pkix_verify_hostname_cn/1, @@ -170,6 +174,7 @@ all() -> pkix_path_validation, pkix_path_validation_root_expired, pkix_ext_key_usage, + pkix_ext_key_usage_any, pkix_path_validation_bad_date, pkix_iso_rsa_oid, pkix_iso_dsa_oid, @@ -492,6 +497,20 @@ eddsa_priv_rfc5958(Config) when is_list(Config) -> ECPemNoEndNewLines = strip_superfluous_newlines(ECPrivPem), ECPemNoEndNewLines = strip_superfluous_newlines(public_key:pem_encode([PrivEntry0])). +eddsa_pub() -> + [{doc, "EDDSA PKCS8 public key decode/encode"}]. +eddsa_pub(Config) when is_list(Config) -> + Datadir = proplists:get_value(data_dir, Config), + {ok, EDDSAPubPem} = file:read_file(filename:join(Datadir, "public_eddsa.pem")), + [{'SubjectPublicKeyInfo', _, not_encrypted} = Key] = PemEntry = + public_key:pem_decode(EDDSAPubPem), + EDDSAPubKey = public_key:pem_entry_decode(PemEntry), + true = check_entry_type(EDDSAPubKey, 'ECPoint'), + {_, {namedCurve, ?'id-Ed25519'}} = EDDSAPubKey, + PrivEntry0 = public_key:pem_entry_encode('SubjectPublicKeyInfo', EDDSAPubKey), + ECPemNoEndNewLines = strip_superfluous_newlines(EDDSAPubPem), + ECPemNoEndNewLines = strip_superfluous_newlines(public_key:pem_encode([PemEntry])). + eddsa_sign_verify_24_compat(_Config) -> Key = {'ECPrivateKey',1, @@ -1006,11 +1025,75 @@ pkix_path_validation_root_expired(Config) when is_list(Config) -> {error, {bad_cert, cert_expired}} = public_key:pkix_path_validation(Root, [ICA, Peer], []). pkix_ext_key_usage() -> - [{doc, "Extended key usage is usually in end entity certs, may be in CA but should not be critical in such case"}]. + [{doc, "If extended key usage is a critical extension in a CA (usually not included) make sure it is compatible with keyUsage extension"}]. pkix_ext_key_usage(Config) when is_list(Config) -> SRootSpec = public_key:pkix_test_root_cert("OTP test server ROOT", []), CRootSpec = public_key:pkix_test_root_cert("OTP test client ROOT", []), + CAExtServer = [#'Extension'{extnID = ?'id-ce-keyUsage', + extnValue = [digitalSignature, keyCertSign, cRLSign], + critical = false}, + #'Extension'{extnID = ?'id-ce-extKeyUsage', + extnValue = [?'id-kp-OCSPSigning', ?'id-kp-emailProtection', ?'id-kp-serverAuth'], + critical = true}], + + CAExtClient = [#'Extension'{extnID = ?'id-ce-keyUsage', + extnValue = [digitalSignature, keyCertSign, cRLSign], + critical = false}, + #'Extension'{extnID = ?'id-ce-extKeyUsage', + extnValue = [?'id-kp-codeSigning', ?'id-kp-emailProtection', ?'id-kp-clientAuth'], + critical = true}], + #{server_config := SConf, + client_config := CConf} = public_key:pkix_test_data(#{server_chain => #{root => SRootSpec, + intermediates => [[{extensions, CAExtServer}]], + peer => []}, + client_chain => #{root => CRootSpec, + intermediates => [[{extensions, CAExtClient}]], + peer => []}}), + [_STRoot, SICA, SRoot] = proplists:get_value(cacerts, SConf), + [_CTRoot, CICA, CRoot] = proplists:get_value(cacerts, CConf), + SPeer = proplists:get_value(cert, SConf), + CPeer = proplists:get_value(cert, CConf), + + {ok, _} = public_key:pkix_path_validation(SRoot, [SICA, SPeer], []), + {ok, _} = public_key:pkix_path_validation(CRoot, [CICA, CPeer], []), + + CAExtServerFail = [#'Extension'{extnID = ?'id-ce-keyUsage', + extnValue = [keyAgreement, keyCertSign, cRLSign], + critical = false}, + #'Extension'{extnID = ?'id-ce-extKeyUsage', + extnValue = [?'id-kp-serverAuth', ?'id-kp-timeStamping'], + critical = true}], + + CAExtClient1 = [#'Extension'{extnID = ?'id-ce-keyUsage', + extnValue = [keyEncipherment, keyCertSign, cRLSign], + critical = false}, + #'Extension'{extnID = ?'id-ce-extKeyUsage', + extnValue = [?'id-kp-emailProtection', ?'id-kp-clientAuth'], + critical = true}], + + #{server_config := SConf1, + client_config := CConf1} = public_key:pkix_test_data(#{server_chain => #{root => SRootSpec, + intermediates => [[{extensions, CAExtServerFail}]], + peer => []}, + client_chain => #{root => CRootSpec, + intermediates => [[{extensions, CAExtClient1}]], + peer => []}}), + [_, SICA1, SRoot1] = proplists:get_value(cacerts, SConf1), + SPeer1 = proplists:get_value(cert, SConf1), + + {error, {bad_cert,{key_usage_mismatch, _}}} = public_key:pkix_path_validation(SRoot1, [SICA1, SPeer1], []), + + [_, CICA1, CRoot1] = proplists:get_value(cacerts, CConf1), + CPeer1 = proplists:get_value(cert, CConf1), + {ok, _} = public_key:pkix_path_validation(CRoot1, [CICA1, CPeer1], []). + +pkix_ext_key_usage_any() -> + [{doc, "Extended key usage is usually in end entity certs, may be in CA but should not be critical in such case"}]. +pkix_ext_key_usage_any(Config) when is_list(Config) -> + SRootSpec = public_key:pkix_test_root_cert("OTP test server ROOT", []), + CRootSpec = public_key:pkix_test_root_cert("OTP test client ROOT", []), + FailCAExt = [#'Extension'{extnID = ?'id-ce-extKeyUsage', extnValue = [?'anyExtendedKeyUsage'], critical = true}], @@ -1625,6 +1708,12 @@ cacerts_load(Config) -> ok end, + %% Load from application environment + application:set_env(public_key, cacerts_path, filename:join(Datadir, "cacerts.pem")), + 2 = length(public_key:cacerts_get()), + application:unset_env(public_key, cacerts_path), + true = public_key:cacerts_clear(), + %% Load default OS certs %% there is no default installed OS certs on netbsd %% can be installed with 'pkgin install mozilla-rootcerts' @@ -1642,7 +1731,7 @@ cacerts_load(Config) -> ok = public_key:cacerts_load(filename:join(Datadir, "cacerts.pem")), [_TestCert1, _TestCert2] = public_key:cacerts_get(), - %% Re-Load default OS certs + %% Reload default OS certs try process_flag(trap_exit, true), flush(), diff --git a/lib/public_key/test/public_key_SUITE_data/public_eddsa.pem b/lib/public_key/test/public_key_SUITE_data/public_eddsa.pem new file mode 100644 index 000000000000..43db3af730e8 --- /dev/null +++ b/lib/public_key/test/public_key_SUITE_data/public_eddsa.pem @@ -0,0 +1,3 @@ +-----BEGIN PUBLIC KEY----- +MCowBQYDK2VwAyEAzVMFUvlbihtNisegppBVAct8qRH2Ql3KZ57JAxt8Gms= +-----END PUBLIC KEY----- diff --git a/lib/snmp/src/agent/snmp_community_mib.erl b/lib/snmp/src/agent/snmp_community_mib.erl index f0c0a0f18d6d..d093e7bcb0f7 100644 --- a/lib/snmp/src/agent/snmp_community_mib.erl +++ b/lib/snmp/src/agent/snmp_community_mib.erl @@ -26,7 +26,6 @@ SNMP-COMMUNITY-MIB, and functions for configuring the database. The configuration files are described in the SNMP User's Manual. -[](){: #configure } """. %% Avoid warning for local function error/1 clashing with autoimported BIF. @@ -115,7 +114,6 @@ files are found. The configuration file read is: `community.conf`. -[](){: #reconfigure } """. -spec configure(ConfDir) -> snmp:void() when ConfDir :: string(). @@ -169,7 +167,6 @@ files are found. The configuration file read is: `community.conf`. -[](){: #add_community } """. -spec reconfigure(ConfDir) -> snmp:void() when ConfDir :: string(). @@ -294,7 +291,6 @@ Adds a community to the agent config. Equivalent to one line in the With the `EngineId` argument it is possible to override the configured engine-id (SNMP-FRAMEWORK-MIB). -[](){: #delete_community } """. -doc(#{since => <<"OTP R14B03">>}). -spec add_community(Idx, CommName, SecName, EngineId, CtxName, TransportTag) -> diff --git a/lib/snmp/src/agent/snmp_framework_mib.erl b/lib/snmp/src/agent/snmp_framework_mib.erl index abd3f749c45a..4e73c2ad038d 100644 --- a/lib/snmp/src/agent/snmp_framework_mib.erl +++ b/lib/snmp/src/agent/snmp_framework_mib.erl @@ -227,7 +227,6 @@ This function is called from the supervisor at system start-up. Creates the necessary objects in the database if they do not exist. It does not destroy any old values. -[](){: #add_context } """. -spec init() -> snmp:void(). @@ -642,7 +641,6 @@ table_del_row(Tab, Key) -> Adds a context to the agent config. Equivalent to one line in the `context.conf` file. -[](){: #delete_context } """. -spec add_context(Ctx) -> {ok, Key} | {error, Reason} when Ctx :: string(), diff --git a/lib/snmp/src/agent/snmp_generic.erl b/lib/snmp/src/agent/snmp_generic.erl index 827ec4d348d2..5adab4d477df 100644 --- a/lib/snmp/src/agent/snmp_generic.erl +++ b/lib/snmp/src/agent/snmp_generic.erl @@ -21,8 +21,6 @@ -moduledoc """ Generic Functions for Implementing SNMP Objects in a Database -[](){: #description } - The module `snmp_generic` contains generic functions for implementing tables (and variables) using the SNMP built-in database or Mnesia. These default functions are used if no instrumentation function is provided for a managed @@ -332,7 +330,7 @@ table_set_element(NameDb, RowIndex, Col, NewVal) -> snmpa_local_db:table_set_elements(NameDb, RowIndex, [{Col, NewVal}]). -doc """ -table_set_elements(NameDb, RowIndex, Cols) -> bool() +table_set_elements(NameDb, RowIndex, Cols) Sets the elements in `Cols` to the row specified by `RowIndex`. No checks are performed on the new values. @@ -348,7 +346,7 @@ table_set_elements(NameDb, RowIndex, Cols) -> % ret true snmpa_local_db:table_set_elements(NameDb, RowIndex, Cols). -doc """ -table_next(NameDb, RestOid) -> RowIndex | endOfTable +table_next(NameDb, RestOid) Finds the indices of the next row in the table. `RestOid` does not have to specify an existing row. @@ -1019,10 +1017,7 @@ collect_length(N, [El | Rest], Rts) -> %% Returns true or false. %%------------------------------------------------------------------ -doc """ -table_row_exists(NameDb, RowIndex) -> bool() - Checks if a row in a table exists. - """. table_row_exists(NameDb, RowIndex) -> case table_get_element(NameDb, RowIndex, 1) of diff --git a/lib/snmp/src/agent/snmp_view_based_acm_mib.erl b/lib/snmp/src/agent/snmp_view_based_acm_mib.erl index 27650c344021..f9f5ca7639c2 100644 --- a/lib/snmp/src/agent/snmp_view_based_acm_mib.erl +++ b/lib/snmp/src/agent/snmp_view_based_acm_mib.erl @@ -294,7 +294,7 @@ called, is the data from the configuration files. All `snmp` counters are set to zero. If an error is found in the configuration file, it is reported using the -function [config_err/2](`m:snmpa_error#config_err`) of the error report module, +function [config_err/2](`snmpa_error:config_err/2`) of the error report module, and the function fails with the reason `configuration_error`. `ConfDir` is a string which points to the directory where the configuration diff --git a/lib/snmp/src/agent/snmpa.erl b/lib/snmp/src/agent/snmpa.erl index c9bd08512027..efad460d303e 100644 --- a/lib/snmp/src/agent/snmpa.erl +++ b/lib/snmp/src/agent/snmpa.erl @@ -261,38 +261,30 @@ symbolic_store, local_db and master_agent (and sub-agents). - **`local_db`** - Sets verbosity for the local-db process. -- **`master_agent | pid()`** when `Verbosity = {subagents,` [`snmp:verbosity()`](`t:snmp:verbosity/0`)`}` - +- **`master_agent | pid()`** when `Verbosity = {subagents,` [`snmp:verbosity()`](`t:snmp:verbosity/0`)`}` - Sets verbosity for all sub-agent(s) controlled by this (master) agent. -- **`master_agent | pid()`** - Sets verbosity for the agent process. +- **`master_agent | pid() | atom()`** - Sets verbosity for the agent process. + +The following text documents expected input-output relations + +- If `Target :: all | net_if | note_store | mib_server | symbolic_store | local_db`, + then `Verbosity :: snmp:verbosity()`. + +- If `Target :: master_agent`, + then `Verbosity :: {subagents, snmp:verbosity()}` + +- If `Target :: pid() | atom()`, + then `Verbosity :: snmp:verbosity() | {subagents, snmp:verbosity()}`. """. -spec verbosity(Target, Verbosity) -> snmp:void() when - Target :: all, - Verbosity :: snmp:verbosity(); - (Target, Verbosity) -> snmp:void() when - Target :: net_if, - Verbosity :: snmp:verbosity(); - (Target, Verbosity) -> snmp:void() when - Target :: note_store, - Verbosity :: snmp:verbosity(); - (Target, Verbosity) -> snmp:void() when - Target :: mib_server, - Verbosity :: snmp:verbosity(); - (Target, Verbosity) -> snmp:void() when - Target :: symbolic_store, - Verbosity :: snmp:verbosity(); - (Target, Verbosity) -> snmp:void() when - Target :: local_db, - Verbosity :: snmp:verbosity(); - (Target, Verbosity) -> snmp:void() when - Target :: master_agent | Agent, - Agent :: pid() | AgentName, - AgentName :: atom(), - Verbosity :: {subagents, snmp:verbosity()}; - (Agent, Verbosity) -> snmp:void() when - Agent :: pid() | AgentName, - AgentName :: atom(), - Verbosity :: snmp:verbosity(). + Target :: 'all' | LogicalName | PidOrAgentName, + LogicalName :: 'net_if' | 'note_store' | 'mib_server' + | 'symbolic_store' | 'local_db', + PidOrAgentName :: pid() | 'master_agent' | atom(), + Verbosity :: SNMPVerb | SubAgent, + SNMPVerb :: snmp:verbosity(), + SubAgent :: {subagents, snmp:verbosity()}. verbosity(all = _Target, Verbosity) when is_atom(Verbosity) -> catch snmpa_agent:verbosity(sub_agents, Verbosity), @@ -1401,19 +1393,20 @@ register_notification_filter(Id, Mod, Data) when is_atom(Mod) -> register_notification_filter(snmp_master_agent, Id, Mod, Data, last). -doc(#{equiv => register_notification_filter/5}). --spec register_notification_filter(Agent, Id, Mod, Data) -> +-doc """ +Accepted type specifications are: +``` +-spec register_notification_filter(Agent, Id, Mod, Data) -> ok | {error, Reason}. +-spec register_notification_filter(Id, Mod, Data, Where) -> ok | {error, Reason}. +``` +""". +-spec register_notification_filter(Agent | Id, Id | Mod, Mod | Data, Data | Where) -> ok | {error, Reason} when Agent :: pid() | AgentName, AgentName :: atom(), Id :: nfilter_id(), Mod :: module(), Data :: term(), - Reason :: term(); - (Id, Mod, Data, Where) -> - ok | {error, Reason} when - Id :: nfilter_id(), - Mod :: module(), - Data :: term(), Where :: nfilter_position(), Reason :: term(). @@ -1987,19 +1980,17 @@ discovery(TargetName, Notification) -> Varbinds = [], discovery(TargetName, Notification, Varbinds). +-dialyzer({no_contracts, discovery/3}). -doc(#{equiv => discovery/6}). -spec discovery(TargetName, Notification, Varbinds) -> {ok, ManagerEngineID} | {error, Reason} when TargetName :: string(), Notification :: atom(), Varbinds :: [Varbind], - Varbind :: {Variable, Value} | - {Column, RowIndex, Value} | - {OID, Value}, - Variable :: atom(), - Column :: atom(), - RowIndex :: snmp:row_index(), - OID :: snmp:oid(), + Varbind :: {Variable :: atom(), Value} + | {OID :: snmp:oid(), Value} + | { Column :: atom(), + RowIndex :: snmp:row_index(), Value}, Value :: term(), ManagerEngineID :: snmp_framework_mib:engine_id(), Reason :: term(); @@ -2437,21 +2428,14 @@ log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile) -> -doc(#{equiv => log_to_txt/8}). --spec log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Block) -> - snmp:void() when - LogDir :: snmp:dir(), - Mibs :: [snmp:mib_name()], - OutFile :: file:filename(), - LogName :: string(), - LogFile :: string(), - Block :: boolean(); - (LogDir, Mibs, OutFile, LogName, LogFile, Start) -> +-spec log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Block | Start) -> snmp:void() when LogDir :: snmp:dir(), Mibs :: [snmp:mib_name()], OutFile :: file:filename(), LogName :: string(), LogFile :: string(), + Block :: boolean(), Start :: null | snmp:log_time(). log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Block) diff --git a/lib/snmp/src/agent/snmpa_conf.erl b/lib/snmp/src/agent/snmpa_conf.erl index 6dc34d3d0409..0b1a63d35d62 100644 --- a/lib/snmp/src/agent/snmpa_conf.erl +++ b/lib/snmp/src/agent/snmpa_conf.erl @@ -1359,7 +1359,6 @@ call: See [Target Parameters Definitions](snmp_agent_config_files.md#target_params) for more info. -[](){: #target_params_entry_2 } """. -spec target_params_entry(Name, Vsn) -> TargetParamsEntry when Name :: snmp_target_mib:name(), @@ -1396,7 +1395,6 @@ Where `MPModel` and `SecModel` is mapped from `Vsn`, see above. See [Target Parameters Definitions](snmp_agent_config_files.md#target_params) for more info. -[](){: #target_params_entry_4 } """. -spec target_params_entry(Name, Vsn, SecName, SecLevel) -> TargetParamsEntry when @@ -1875,7 +1873,6 @@ Create an (access) entry for the agent vacm config file, `vacm.conf`. See [MIB Views for VACM](snmp_agent_config_files.md#vacm) for more info. -[](){: #vacm_s2g_entry } """. -spec vacm_acc_entry(GroupName, Prefix, SecModel, SecLevel, Match, RV, WV, NV) -> VacmAccEntry when diff --git a/lib/snmp/src/agent/snmpa_error.erl b/lib/snmp/src/agent/snmpa_error.erl index 97c8fbc0e2c8..43e662d49fab 100644 --- a/lib/snmp/src/agent/snmpa_error.erl +++ b/lib/snmp/src/agent/snmpa_error.erl @@ -55,7 +55,6 @@ if a user defined instrumentation function returns erroneous. `Format` and `Args` are as in `io:format(Format, Args)`. -[](){: #user_err } """. -spec user_err(Format, Args) -> snmp:void() when Format :: string(), @@ -77,7 +76,6 @@ example if a syntax error is found in a configuration file. `Format` and `Args` are as in `io:format(Format, Args)`. -[](){: #config_err } """. -spec config_err(Format, Args) -> snmp:void() when Format :: string(), diff --git a/lib/snmp/src/compile/snmpc.erl b/lib/snmp/src/compile/snmpc.erl index 088106c2b4b5..9cbae2d3cbf4 100644 --- a/lib/snmp/src/compile/snmpc.erl +++ b/lib/snmp/src/compile/snmpc.erl @@ -152,14 +152,11 @@ make_options(#options{includes = Incs, %%---------------------------------------------------------------------- -doc(#{equiv => compile/2}). --spec compile([AtomFileName]) -> {ok, BinFileName} | {error, Reason} when - AtomFileName :: atom(), - BinFileName :: string(), - Reason :: term(); - (FileName) -> {ok, BinFileName} | {error, Reason} when - FileName :: string(), - BinFileName :: string(), - Reason :: term(). +-spec compile(AtomFileNames | FileName) -> {ok, BinFileName} | {error, Reason} when + AtomFileNames :: [atom()], + FileName :: string(), + BinFileName :: string(), + Reason :: term(). %% Returns: {ok, File}|{error, Reason} compile([AtomFileName]) when is_atom(AtomFileName) -> diff --git a/lib/snmp/test/snmp_manager_SUITE.erl b/lib/snmp/test/snmp_manager_SUITE.erl index fba9b527d71e..63a57ec49f4e 100644 --- a/lib/snmp/test/snmp_manager_SUITE.erl +++ b/lib/snmp/test/snmp_manager_SUITE.erl @@ -1218,11 +1218,19 @@ simulate_crash(NumKills, _) -> %%====================================================================== notify_started01(Config) when is_list(Config) -> - ?TC_TRY(notify_started01, - fun() -> do_notify_started01(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> ok end, + TC = fun(_) -> do_notify_started01(Config) end, + Post = fun(_) -> + ?IPRINT("[post] ensure snmpm not running"), + ?ENSURE_NOT_RUNNING(snmpm_supervisor, + fun() -> snmpm:stop() end, + 1000) + end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). do_notify_started01(Config) -> - ?IPRINT("starting with Config: " + ?IPRINT("[tc] starting with Config: " "~n ~p", [Config]), SCO = ?config(socket_create_opts, Config), @@ -1236,11 +1244,11 @@ do_notify_started01(Config) -> {note_store, [{verbosity, silence}]}, {config, [{verbosity, log}, {dir, ConfDir}, {db_dir, DbDir}]}], - ?IPRINT("request start notification (1)"), + ?IPRINT("[tc] request start notification (1)"), Pid1 = snmpm:notify_started(10000), receive {snmpm_start_timeout, Pid1} -> - ?IPRINT("received expected start timeout"), + ?IPRINT("[tc] received expected start timeout"), ok; Any1 -> ?FAIL({unexpected_message, Any1}) @@ -1248,25 +1256,41 @@ do_notify_started01(Config) -> ?FAIL({unexpected_timeout, Pid1}) end, - ?IPRINT("request start notification (2)"), + ?IPRINT("[tc] request start notification (2)"), Pid2 = snmpm:notify_started(10000), - ?IPRINT("start the snmpm starter"), - Pid = snmpm_starter(Opts, 5000), + ?IPRINT("[tc] start the snmpm starter"), + StarterPid = snmpm_starter(Opts, 5000), - ?IPRINT("await the start notification"), + ?IPRINT("[tc] await the start notification"), Ref = receive {snmpm_started, Pid2} -> - ?IPRINT("received started message -> create the monitor"), + ?IPRINT("[tc] received start notification message -> " + "create the monitor"), snmpm:monitor(); + {snmpm_start_timeout, StarterPid} -> + ?EPRINT("[tc] Start Timeout: " + "~n Starter Process (~p) Info: ~p", + [StarterPid, (catch erlang:process_info(StarterPid))]), + ?FAIL(start_timeout); Any2 -> + ?EPRINT("[tc] Unexpected Message: " + "~n Notify Process Info: ~p" + "~n Starter Process info: ~p", + [(catch erlang:process_info(Pid2)), + (catch erlang:process_info(StarterPid))]), ?FAIL({unexpected_message, Any2}) after 15000 -> - ?FAIL({unexpected_timeout, Pid2}) + ?EPRINT("[tc] Unexpected Start Timeout: " + "~n Notify Process Info: ~p" + "~n Starter Process info: ~p", + [(catch erlang:process_info(Pid2)), + (catch erlang:process_info(StarterPid))]), + ?FAIL(unexpected_start_timeout) end, - ?IPRINT("[~p] make sure it has not already crashed...", [Ref]), + ?IPRINT("[tc] make sure it (~p) has not already crashed...", [Ref]), receive {'DOWN', Ref, process, Obj1, Reason1} -> ?FAIL({unexpected_down, Obj1, Reason1}) @@ -1274,13 +1298,14 @@ do_notify_started01(Config) -> ok end, - ?IPRINT("stop the manager"), - Pid ! {stop, self()}, %ok = snmpm:stop(), + ?IPRINT("[tc] stop the manager (send stop to starter process ~p)", + [StarterPid]), + StarterPid ! {stop, self()}, %ok = snmpm:stop(), - ?IPRINT("await the down-message"), + ?IPRINT("[tc] await the down-message"), receive {'DOWN', Ref, process, Obj2, Reason2} -> - ?IPRINT("received expected down-message: " + ?IPRINT("[tc] received expected down-message: " "~n Obj2: ~p" "~n Reason2: ~p", [Obj2, Reason2]), @@ -1289,27 +1314,34 @@ do_notify_started01(Config) -> ?FAIL(down_timeout) end, - ?IPRINT("end"), + ?IPRINT("[tc] end"), ok. snmpm_starter(Opts, To) -> Parent = self(), spawn( - fun() -> - ?SLEEP(To), - ok = snmpm:start(Opts), + fun() -> + ?IPRINT("[snmpm-starter] wait ~w msec", [To]), + ?SLEEP(To), + ?IPRINT("[snmpm-starter] try start snmpm"), + ok = ?PCALL(fun() -> snmpm:start(Opts) end, + To, 1000, {error, timeout}), + ?IPRINT("[snmpm-starter] snmpm started - await stop command"), receive {stop, Parent} -> + ?IPRINT("[snmpm-starter] received stop command"), snmpm:stop() - end + end, + ?IPRINT("[snmpm-starter] done"), + ok end). %%====================================================================== notify_started02(Config) when is_list(Config) -> - ?TC_TRY(notify_started02, + ?TC_TRY(?FUNCTION_NAME, fun() -> notify_started02_cond(Config) end, fun() -> do_notify_started02(Config) end). @@ -1344,9 +1376,12 @@ do_notify_started02(Config) -> write_manager_conf(ConfDir), Opts = [{server, [{verbosity, log}]}, - {net_if, [{verbosity, silence}, {options, SCO}]}, + {net_if, [{verbosity, silence}, + {options, SCO}]}, {note_store, [{verbosity, silence}]}, - {config, [{verbosity, debug}, {dir, ConfDir}, {db_dir, DbDir}]}], + {config, [{verbosity, debug}, + {dir, ConfDir}, + {db_dir, DbDir}]}], ?IPRINT("start snmpm client process"), NumIterations = 5, diff --git a/lib/snmp/test/snmp_test_lib.erl b/lib/snmp/test/snmp_test_lib.erl index 49df6db0ee79..6e354d551089 100644 --- a/lib/snmp/test/snmp_test_lib.erl +++ b/lib/snmp/test/snmp_test_lib.erl @@ -25,7 +25,7 @@ -export([tc_try/2, tc_try/3, tc_try/4, tc_try/5]). --export([proxy_call/3]). +-export([proxy_call/3, proxy_call/4]). -export([hostname/0, hostname/1, localhost/0, localhost/1, sz/1, display_suite_info/1]). -export([non_pc_tc_maybe_skip/4, @@ -294,18 +294,89 @@ test_inet_backends() -> -proxy_call(F, Timeout, Default) - when is_function(F, 0) andalso is_integer(Timeout) andalso (Timeout > 0) -> - {P, M} = erlang:spawn_monitor(fun() -> exit(F()) end), +proxy_call(F, Timeout, Default) -> + proxy_call(F, Timeout, infinity, Default). + +proxy_call(F, Timeout, PollTimeout, Default) + when is_function(F, 0) andalso + is_integer(Timeout) andalso (Timeout > 0) andalso + ((PollTimeout =:= infinity) orelse + (is_integer(PollTimeout) andalso (PollTimeout > 0))) -> + PollTimer = poll_timer_start(Timeout, PollTimeout), + iprint("[proxy-init] create proxy", []), + {P, M} = erlang:spawn_monitor(fun() -> exit(F()) end), + pc_loop(P, M, Timeout, PollTimer, Default). + +pc_loop(P, M, Timeout, PollTimer, Default) -> + T0 = t(), receive {'DOWN', M, process, P, Reply} -> - Reply + iprint("[proxy-loop] received result: " + "~n ~p", [Reply]), + Reply; + {?MODULE, poll, PollTimeout} -> + iprint("[proxy-loop] Poll proxy: " + "~n Current Function: ~p" + "~n Current Stacktrace: ~p" + "~n Reductions: ~p" + "~n Memory: ~p" + "~n Heap Size: ~p" + "~n Max Heap Size: ~p" + "~n Total Heap Size: ~p" + "~n Status: ~p", + [pi(P, current_function), + pi(P, current_stacktrace), + pi(P, reductions), + pi(P, memory), + pi(P, heap_size), + pi(P, max_heap_size), + pi(P, total_heap_size), + pi(P, status)]), + Timeout2 = t(T0, Timeout), + PollTimer2 = poll_timer_start(Timeout2, PollTimeout), + pc_loop(P, M, Timeout2, PollTimer2, Default) + after Timeout -> + wprint("[proxy-loop] timeout: " + "~n Current Function: ~p" + "~n Current Stacktrace: ~p" + "~n Reductions: ~p" + "~n Memory: ~p" + "~n Heap Size: ~p" + "~n Max Heap Size: ~p" + "~n Total Heap Size: ~p" + "~n Status: ~p", + [pi(P, current_function), + pi(P, current_stacktrace), + pi(P, reductions), + pi(P, memory), + pi(P, heap_size), + pi(P, max_heap_size), + pi(P, total_heap_size), + pi(P, status)]), + poll_timer_stop(PollTimer), erlang:demonitor(M, [flush]), exit(P, kill), Default end. +poll_timer_start(_Timeout, PollTimeout) + when (PollTimeout =:= infinity) -> + undefined; +poll_timer_start(Timeout, PollTimeout) + when (Timeout > PollTimeout) -> + erlang:send_after(PollTimeout, self(), {?MODULE, poll, PollTimeout}); +poll_timer_start(_, _) -> + undefined. + +poll_timer_stop(TRef) when is_reference(TRef) -> + erlang:cancel_timer(TRef); +poll_timer_stop(_) -> + ok. + +t(T0, T) -> T - (t() - T0). +t() -> snmp_misc:now(ms). + hostname() -> hostname(node()). @@ -3345,6 +3416,12 @@ del_file_or_dir(FileOrDir) -> end. +%% ---------------------------------------------------------------------- + +pi(P, Key) -> + {Key, Value} = erlang:process_info(P, Key), + Value. + %% ---------------------------------------------------------------------- %% (debug) Print functions %% diff --git a/lib/snmp/test/snmp_test_lib.hrl b/lib/snmp/test/snmp_test_lib.hrl index f57f2b0e35c5..4e85b5e28a4c 100644 --- a/lib/snmp/test/snmp_test_lib.hrl +++ b/lib/snmp/test/snmp_test_lib.hrl @@ -61,6 +61,7 @@ -define(HAS_SUPPORT_IPV6(), ?LIB:has_support_ipv6()). -define(PCALL(F, T, D), ?LIB:proxy_call(F, T, D)). +-define(PCALL(F, T, PT, D), ?LIB:proxy_call(F, T, PT, D)). %% - Time macros - diff --git a/lib/ssh/doc/docs.exs b/lib/ssh/doc/docs.exs index 5be009769193..da49fb1cf7b2 100644 --- a/lib/ssh/doc/docs.exs +++ b/lib/ssh/doc/docs.exs @@ -1,4 +1,12 @@ [ + annotations_for_docs: fn + md -> + if md[:rfc] do + [md[:rfc]] + else + [] + end + end, ## The order of these items determine ## how they are listed in the docs extras: [ diff --git a/lib/ssh/doc/notes.md b/lib/ssh/doc/notes.md index 076c85f0244f..fb069ed689fb 100644 --- a/lib/ssh/doc/notes.md +++ b/lib/ssh/doc/notes.md @@ -99,6 +99,28 @@ limitations under the License. [PR-7845]: https://github.com/erlang/otp/pull/7845 [PR-8026]: https://github.com/erlang/otp/pull/8026 +## Ssh 5.1.4.4 + +### Fixed Bugs and Malfunctions + +* With this change, ssh connection does not crash upon receiving exit-signal message for an already terminated channel. + + Own Id: OTP-19326 Aux Id: PR-8995, GH-8929 + +## Ssh 5.1.4.3 + +### Fixed Bugs and Malfunctions + +* With this change, a race condition is removed from ssh client connection setup procedure. + + Own Id: OTP-19124 Aux Id: GH-7550, PR-8766 +* With this change, ssh:connect is not affected by presence of EXIT message in queue. + + Own Id: OTP-19246 Aux Id: GH-8223, PR-8854 +* With this change, ssh appends \{active, false\} option after socket options received from user - so that false value is always used. + + Own Id: OTP-19247 Aux Id: PR-8226 + ## Ssh 5.1.4.2 ### Fixed Bugs and Malfunctions @@ -236,6 +258,31 @@ limitations under the License. Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843 +## Ssh 4.15.3.7 + +### Fixed Bugs and Malfunctions + +* With this change, a race condition is removed from ssh client connection setup procedure. + + Own Id: OTP-19124 Aux Id: GH-7550, PR-8766 +* With this change, ssh:connect is not affected by presence of EXIT message in queue. + + Own Id: OTP-19246 Aux Id: GH-8223, PR-8854 +* With this change, ssh appends \{active, false\} option after socket options received from user - so that false value is always used. + + Own Id: OTP-19247 Aux Id: PR-8226 + +## Ssh 4.15.3.6 + +### Fixed Bugs and Malfunctions + +* The SSh daemon started with a TCP port number argument will now re-try obtaining a listen socket before returning an error to the user. + + Own Id: OTP-19170 Aux Id: GH-7746 +* Robustness has been improved by monitoring the connection handler process before casting the socket control notification. + + Own Id: OTP-19173 Aux Id: PR-8310 + ## Ssh 4.15.3.5 ### Fixed Bugs and Malfunctions diff --git a/lib/ssh/src/ssh.erl b/lib/ssh/src/ssh.erl index 4b078a7b8901..1914f11119f1 100644 --- a/lib/ssh/src/ssh.erl +++ b/lib/ssh/src/ssh.erl @@ -61,7 +61,7 @@ To write your own client channel handler, use the behaviour `m:ssh_client_channel`. For server channel handlers use `m:ssh_server_channel` behaviour (replaces ssh_daemon_channel). -Both clients and daemons accepts options that controls the exact behaviour. Some +Both clients and daemons accept options that control the exact behaviour. Some options are common to both. The three sets are called [Client Options](`t:client_options/0`), [Daemon Options](`t:daemon_options/0`) and [Common Options](`t:common_options/0`). @@ -133,7 +133,7 @@ The directory could be changed with the option """. -moduledoc(#{titles => [{type,<<"Client Options">>}, - {type,<<"Daemon Options (Server Options)">>}, + {type,<<"Daemon Options">>}, {type,<<"Common Options">>}, {type,<<"Other data types">>}]}). @@ -322,8 +322,6 @@ connect(_HostOrSocket, PortOrOptions, OptionsOrTimeout) -> bad_arg(PortOrOptions, OptionsOrTimeout). -doc """ -connect(Host, Port, Options, NegotiationTimeout) -> Result - Connects to an SSH server at the `Host` on `Port`. As an alternative, an already open TCP socket could be passed to the function in @@ -429,13 +427,13 @@ close(ConnectionRef) -> %%-------------------------------------------------------------------- %% Description: Retrieves information about a connection. %%--------------------------------------------------------------------- --doc(#{title => <<"Other data types">>,equiv => conn_info_channels/0}). +-doc(#{title => <<"Other data types">>}). -type version() :: {protocol_version(), software_version()}. --doc(#{title => <<"Other data types">>,equiv => conn_info_channels/0}). +-doc(#{title => <<"Other data types">>}). -type protocol_version() :: {Major::pos_integer(), Minor::non_neg_integer()}. --doc(#{title => <<"Other data types">>,equiv => conn_info_channels/0}). +-doc(#{title => <<"Other data types">>}). -type software_version() :: string(). --doc(#{title => <<"Other data types">>,equiv => conn_info_channels/0}). +-doc(#{title => <<"Other data types">>}). -type conn_info_algs() :: [{kex, kex_alg()} | {hkey, pubkey_alg()} | {encrypt, cipher_alg()} @@ -456,7 +454,7 @@ default values. -doc(#{title => <<"Other data types">>}). -type conn_info_channels() :: [proplists:proplist()]. --doc(#{title => <<"Other data types">>,equiv => conn_info_channels/0}). +-doc(#{title => <<"Other data types">>}). -type connection_info_tuple() :: {client_version, version()} | {server_version, version()} @@ -560,7 +558,7 @@ daemon(Socket, UserOptions) -> -doc """ -daemon(HostAddress, Port, Options) -> Result +daemon(HostAddress, Port, Options) Starts a server listening for SSH connections on the given port. If the `Port` is 0, a random free port is selected. See `daemon_info/1` about how to find the @@ -894,8 +892,6 @@ shell_socket(Socket, Options) -> -doc """ -shell(Host, Port, Options) -> Result - Connects to an SSH server at `Host` and `Port` (defaults to 22) and starts an interactive shell on that remote host. diff --git a/lib/ssh/src/ssh.hrl b/lib/ssh/src/ssh.hrl index f78a6e4cea88..46d93a166212 100644 --- a/lib/ssh/src/ssh.hrl +++ b/lib/ssh/src/ssh.hrl @@ -150,22 +150,19 @@ If the subsystems option is not present, the value of default. The option can be set to the empty list if you do not want the daemon to run any subsystems. """. --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type subsystem_spec() :: {Name::string(), mod_args()} . --doc(#{title => <<"Common Options">>, - equiv => double_algs/1}). +-doc(#{title => <<"Common Options">>}). -type algs_list() :: list( alg_entry() ). --doc(#{title => <<"Common Options">>, - equiv => double_algs/1}). +-doc(#{title => <<"Common Options">>}). -type alg_entry() :: {kex, [kex_alg()]} | {public_key, [pubkey_alg()]} | {cipher, double_algs(cipher_alg())} | {mac, double_algs(mac_alg())} | {compression, double_algs(compression_alg())} . --doc(#{title => <<"Common Options">>, - equiv => double_algs/1}). +-doc(#{title => <<"Common Options">>}). -type kex_alg() :: 'curve25519-sha256' | 'curve25519-sha256@libssh.org' | 'curve448-sha512' | @@ -181,8 +178,7 @@ to run any subsystems. 'diffie-hellman-group1-sha1' . --doc(#{title => <<"Common Options">>, - equiv => double_algs/1}). +-doc(#{title => <<"Common Options">>}). -type pubkey_alg() :: 'ssh-ed25519' | 'ssh-ed448' | 'ecdsa-sha2-nistp521' | @@ -194,8 +190,7 @@ to run any subsystems. 'ssh-dss' . --doc(#{title => <<"Common Options">>, - equiv => double_algs/1}). +-doc(#{title => <<"Common Options">>}). -type cipher_alg() :: 'aes256-gcm@openssh.com' | 'aes256-ctr' | 'aes192-ctr' | @@ -210,8 +205,7 @@ to run any subsystems. '3des-cbc' . --doc(#{title => <<"Common Options">>, - equiv => double_algs/1}). +-doc(#{title => <<"Common Options">>}). -type mac_alg() :: 'hmac-sha2-512-etm@openssh.com' | 'hmac-sha2-256-etm@openssh.com' | 'hmac-sha2-512' | @@ -223,8 +217,7 @@ to run any subsystems. 'AEAD_AES_128_GCM' . --doc(#{title => <<"Common Options">>, - equiv => double_algs/1}). +-doc(#{title => <<"Common Options">>}). -type compression_alg() :: 'none' | 'zlib' | 'zlib@openssh.com' @@ -324,23 +317,20 @@ For background and more examples see the -type internal_options() :: ssh_options:private_options(). -type socket_options() :: [gen_tcp:connect_option() | gen_tcp:listen_option()]. - --doc(#{title => <<"Client Options">>,equiv => client_option/0}). + +-doc(#{title => <<"Client Options">>}). -type client_options() :: [ client_option() ] . --doc(#{title => <<"Daemon Options (Server Options)">>, - equiv => daemon_option/0}). +-doc(#{title => <<"Daemon Options">>}). -type daemon_options() :: [ daemon_option() ]. - --doc(#{title => <<"Common Options">>, - equiv => common_option/0}). +-doc(#{title => <<"Common Options">>}). -type common_options() :: [ common_option() ]. -doc """ The options above can be used both in clients and in daemons (servers). They are further explained below. """. -doc(#{title => <<"Common Options">>}). --type common_option() :: +-type common_option() :: ssh_file:user_dir_common_option() | profile_common_option() | max_idle_time_common_option() @@ -383,8 +373,7 @@ For more information about timeouts, see the """. -doc(#{title => <<"Common Options">>}). -type max_idle_time_common_option() :: {idle_time, timeout()}. --doc(#{title => <<"Common Options">>, - equiv => limit_time/0}). +-doc(#{title => <<"Common Options">>}). -type rekey_limit_common_option() :: {rekey_limit, Bytes::limit_bytes() | {Minutes::limit_time(), Bytes::limit_bytes()} }. @@ -395,8 +384,7 @@ and the value defaults to 500. -doc(#{title => <<"Common Options">>}). -type max_log_item_len_common_option() :: {max_log_item_len, limit_bytes()} . --doc(#{title => <<"Common Options">>, - equiv => limit_time/0}). +-doc(#{title => <<"Common Options">>}). -type limit_bytes() :: non_neg_integer() | infinity . % non_neg_integer due to compatibility -doc """ Sets the limit when rekeying is to be initiated. Both the max time and max @@ -497,11 +485,9 @@ specifying the path to the user's keys. """. -doc(#{title => <<"Common Options">>}). -type pref_public_key_algs_common_option() :: {pref_public_key_algs, [pubkey_alg()] } . --doc(#{title => <<"Common Options">>, - equiv => double_algs/1}). +-doc(#{title => <<"Common Options">>}). -type preferred_algorithms_common_option():: {preferred_algorithms, algs_list()}. --doc(#{title => <<"Common Options">>, - equiv => modify_algs_list/0}). +-doc(#{title => <<"Common Options">>}). -type modify_algorithms_common_option() :: {modify_algorithms, modify_algs_list()}. -doc """ Comma-separated string that determines which authentication methods that the @@ -561,8 +547,7 @@ risk. | gen_tcp:connect_option() | ?COMMON_OPTION . --doc(#{title => <<"Other data types">>, - equiv => opaque_common_options/0}). +-doc(#{title => <<"Other data types">>}). -type opaque_client_options() :: {keyboard_interact_fun, fun((Name::iodata(), Instruction::iodata(), @@ -572,25 +557,6 @@ risk. )} | opaque_common_options(). --doc(#{title => <<"Client Options">>,equiv => fingerprint/0}). --type host_accepting_client_options() :: - {silently_accept_hosts, accept_hosts()} - | {user_interaction, boolean()} - | {save_accepted_host, boolean()} - | {quiet_mode, boolean()} . - --doc(#{title => <<"Client Options">>,equiv => fingerprint/0}). --type accept_hosts() :: boolean() - | accept_callback() - | {HashAlgoSpec::fp_digest_alg(), accept_callback()}. - --doc(#{title => <<"Client Options">>,equiv => fingerprint/0}). --type fp_digest_alg() :: 'md5' | crypto:sha1() | crypto:sha2() . - --doc(#{title => <<"Client Options">>,equiv => fingerprint/0}). --type accept_callback() :: fun((PeerName::string(), fingerprint() ) -> boolean()) % Old style - | fun((PeerName::string(), Port::inet:port_number(), fingerprint() ) -> boolean()) % New style - . -doc """ - **`silently_accept_hosts`{: #hardening_client_options-silently_accept_hosts }** - This option guides the `connect` function on how to act when the @@ -650,6 +616,26 @@ risk. Defaults to `false` """. +-doc(#{title => <<"Client Options">>}). +-type host_accepting_client_options() :: + {silently_accept_hosts, accept_hosts()} + | {user_interaction, boolean()} + | {save_accepted_host, boolean()} + | {quiet_mode, boolean()} . + +-doc(#{title => <<"Client Options">>}). +-type accept_hosts() :: boolean() + | accept_callback() + | {HashAlgoSpec::fp_digest_alg(), accept_callback()}. + +-doc(#{title => <<"Client Options">>}). +-type fp_digest_alg() :: 'md5' | crypto:sha1() | crypto:sha2() . + +-doc(#{title => <<"Client Options">>}). +-type accept_callback() :: fun((PeerName::string(), fingerprint() ) -> boolean()) % Old style + | fun((PeerName::string(), Port::inet:port_number(), fingerprint() ) -> boolean()) % New style + . + -doc(#{title => <<"Client Options">>}). -type fingerprint() :: string() | [string()]. @@ -712,7 +698,7 @@ Also note that setting a `t:gen_tcp:listen_option/0` could change the socket in a way that impacts the ssh deamon's behaviour negatively. You use it on your own risk. """. --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type daemon_option() :: subsystem_daemon_option() | shell_daemon_option() @@ -732,23 +718,20 @@ risk. | gen_tcp:listen_option() | ?COMMON_OPTION . --doc(#{title => <<"Daemon Options (Server Options)">>, - equiv => subsystem_spec/0}). +-doc(#{title => <<"Daemon Options">>}). -type subsystem_daemon_option() :: {subsystems, subsystem_specs()}. --doc(#{title => <<"Daemon Options (Server Options)">>, - equiv => subsystem_spec/0}). +-doc(#{title => <<"Daemon Options">>}). -type subsystem_specs() :: [ subsystem_spec() ]. --doc(#{title => <<"Daemon Options (Server Options)">>, +-doc(#{title => <<"Daemon Options">>, equiv => 'shell_fun/2'/0}). -type shell_daemon_option() :: {shell, shell_spec()} . --doc(#{title => <<"Daemon Options (Server Options)">>, - equiv => 'shell_fun/2'/0}). +-doc(#{title => <<"Daemon Options">>}). -type shell_spec() :: mod_fun_args() | shell_fun() | disabled . --doc(#{title => <<"Daemon Options (Server Options)">>, +-doc(#{title => <<"Daemon Options">>, equiv => 'shell_fun/2'/0}). -type shell_fun() :: 'shell_fun/1'() | 'shell_fun/2'() . --doc(#{title => <<"Daemon Options (Server Options)">>, +-doc(#{title => <<"Daemon Options">>, equiv => 'shell_fun/2'/0}). -type 'shell_fun/1'() :: fun((User::string()) -> pid()) . -doc """ @@ -759,23 +742,20 @@ See the option [`exec-option`](`t:exec_daemon_option/0`) for a description of how the daemon executes shell-requests and exec-requests depending on the shell- and exec-options. """. --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type 'shell_fun/2'() :: fun((User::string(), PeerAddr::inet:ip_address()) -> pid()). --doc(#{title => <<"Daemon Options (Server Options)">>, - equiv => exec_spec/0}). +-doc(#{title => <<"Daemon Options">>}). -type exec_daemon_option() :: {exec, exec_spec()} . --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type exec_spec() :: {direct, exec_fun()} | disabled | deprecated_exec_opt(). --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type exec_fun() :: 'exec_fun/1'() | 'exec_fun/2'() | 'exec_fun/3'(). --doc(#{title => <<"Daemon Options (Server Options)">>, - equiv => 'exec_fun/3'/0}). +-doc(#{title => <<"Daemon Options">>}). -type 'exec_fun/1'() :: fun((Cmd::string()) -> exec_result()) . --doc(#{title => <<"Daemon Options (Server Options)">>, - equiv => 'exec_fun/3'/0}). +-doc(#{title => <<"Daemon Options">>}). -type 'exec_fun/2'() :: fun((Cmd::string(), User::string()) -> exec_result()) . --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type 'exec_fun/3'() :: fun((Cmd::string(), User::string(), ClientAddr::ip_port()) -> exec_result()) . -doc """ This option changes how the daemon executes exec-requests from clients. The term @@ -847,13 +827,13 @@ implied by the custom CLI. > retained but obey the rules 1-6 above if conflicting. The old and undocumented > style should not be used in new programs. """. --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type exec_result() :: {ok,Result::term()} | {error,Reason::term()} . -doc """ Old-style exec specification that are kept for compatibility, but should not be used in new programs """. --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type deprecated_exec_opt() :: fun() | mod_fun_args() . -doc """ @@ -866,20 +846,20 @@ own CLI channel. If `ssh_cli` is set to `no_cli`, the CLI channels like [`shell`](`t:shell_daemon_option/0`) and [`exec`](`t:exec_daemon_option/0`) are disabled and only subsystem channels are allowed. """. --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type ssh_cli_daemon_option() :: {ssh_cli, mod_args() | no_cli }. -doc """ Enables (`true`) or disables (`false`) the possibility to tunnel a TCP/IP connection out of a [server](`daemon/2`). Disabled per default. """. --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type tcpip_tunnel_out_daemon_option() :: {tcpip_tunnel_out, boolean()} . -doc """ Enables (`true`) or disables (`false`) the possibility to tunnel a TCP/IP connection in to a [server](`daemon/2`). Disabled per default. """. --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type tcpip_tunnel_in_daemon_option() :: {tcpip_tunnel_in, boolean()} . -doc """ @@ -892,11 +872,10 @@ extensions. Default value is `true` which is compatible with other implementations not supporting ext-info. """. --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type send_ext_info_daemon_option() :: {send_ext_info, boolean()} . --doc(#{title => <<"Daemon Options (Server Options)">>, - equiv => pwdfun_4/0}). +-doc(#{title => <<"Daemon Options">>}). -type authentication_daemon_options() :: ssh_file:system_dir_daemon_option() | {auth_method_kb_interactive_data, prompt_texts() } @@ -904,28 +883,22 @@ supporting ext-info. | {pk_check_user, boolean()} | {password, string()} | {pwdfun, pwdfun_2() | pwdfun_4()} - | {no_auth_needed, boolean()} - . + | {no_auth_needed, boolean()}. --doc(#{title => <<"Daemon Options (Server Options)">>, - equiv => pwdfun_4/0}). +-doc(#{title => <<"Daemon Options">>}). -type prompt_texts() :: kb_int_tuple() | kb_int_fun_3() - | kb_int_fun_4() - . + | kb_int_fun_4(). --doc(#{title => <<"Daemon Options (Server Options)">>, - equiv => pwdfun_4/0}). +-doc(#{title => <<"Daemon Options">>}). -type kb_int_fun_3() :: fun((Peer::ip_port(), User::string(), Service::string()) -> kb_int_tuple()). --doc(#{title => <<"Daemon Options (Server Options)">>, - equiv => pwdfun_4/0}). +-doc(#{title => <<"Daemon Options">>}). -type kb_int_fun_4() :: fun((Peer::ip_port(), User::string(), Service::string(), State::any()) -> kb_int_tuple()). --doc(#{title => <<"Daemon Options (Server Options)">>, - equiv => pwdfun_4/0}). +-doc(#{title => <<"Daemon Options">>}). -type kb_int_tuple() :: {Name::string(), Instruction::string(), Prompt::string(), Echo::boolean()}. --doc(#{title => <<"Daemon Options (Server Options)">>, +-doc(#{title => <<"Daemon Options">>, equiv => pwdfun_4/0}). -type pwdfun_2() :: fun((User::string(), Password::string()|pubkey) -> boolean()) . -doc """ @@ -1025,7 +998,7 @@ supporting ext-info. The default value is `false`. """. --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type pwdfun_4() :: fun((User::string(), Password::string()|pubkey, PeerAddress::ip_port(), @@ -1033,17 +1006,14 @@ supporting ext-info. boolean() | disconnect | {boolean(),NewState::any()} ) . --doc(#{title => <<"Daemon Options (Server Options)">>, - equiv => ssh_moduli_file/0}). +-doc(#{title => <<"Daemon Options">>}). -type diffie_hellman_group_exchange_daemon_option() :: {dh_gex_groups, [explicit_group()] | explicit_group_file() | ssh_moduli_file()} | {dh_gex_limits, {Min::pos_integer(), Max::pos_integer()} } . --doc(#{title => <<"Daemon Options (Server Options)">>, - equiv => ssh_moduli_file/0}). +-doc(#{title => <<"Daemon Options">>}). -type explicit_group() :: {Size::pos_integer(),G::pos_integer(),P::pos_integer()} . --doc(#{title => <<"Daemon Options (Server Options)">>, - equiv => ssh_moduli_file/0}). +-doc(#{title => <<"Daemon Options">>}). -type explicit_group_file() :: {file,string()} . -doc """ - **`dh_gex_groups`** - Defines the groups the server may choose among when @@ -1078,7 +1048,7 @@ supporting ext-info. See [RFC 4419](https://tools.ietf.org/html/rfc4419) for the function of the Max and Min values. """. --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type ssh_moduli_file() :: {ssh_moduli_file,string()}. -doc """ @@ -1089,7 +1059,7 @@ For more information about timeouts, see the [Timeouts section ](hardening.md#timeouts)in the User's Guide [Hardening](hardening.md) chapter. """. --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type max_initial_idle_time_daemon_option() :: {max_initial_idle_time, timeout()} . -doc """ Maximum time in milliseconds for the authentication negotiation. Defaults to @@ -1100,7 +1070,7 @@ For more information about timeouts, see the [Timeouts section ](hardening.md#timeouts)in the User's Guide [Hardening](hardening.md) chapter. """. --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type negotiation_timeout_daemon_option() :: {negotiation_timeout, timeout()} . -doc """ Maximum time in milliseconds for the first part of the ssh session setup, the @@ -1111,7 +1081,7 @@ For more information about timeouts, see the [Timeouts section ](hardening.md#timeouts)in the User's Guide [Hardening](hardening.md) chapter. """. --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type hello_timeout_daemon_option() :: {hello_timeout, timeout()} . -doc """ @@ -1160,7 +1130,7 @@ in the User's Guide chapter. maximum packet size that the daemon will accept in channel open requests from the client. The default value is 0. """. --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type hardening_daemon_options() :: {max_sessions, pos_integer()} | {max_channels, pos_integer()} @@ -1174,13 +1144,12 @@ in the User's Guide chapter. - **`failfun`** - Provides a fun to implement your own logging when a user fails to authenticate. """. --doc(#{title => <<"Daemon Options (Server Options)">>}). +-doc(#{title => <<"Daemon Options">>}). -type callbacks_daemon_options() :: {failfun, fun((User::string(), PeerAddress::inet:ip_address(), Reason::term()) -> _)} | {connectfun, fun((User::string(), PeerAddress::inet:ip_address(), Method::string()) ->_)} . --doc(#{title => <<"Other data types">>, - equiv => opaque_common_options/0}). +-doc(#{title => <<"Other data types">>}). -type opaque_daemon_options() :: {infofun, fun()} | opaque_common_options(). @@ -1202,7 +1171,7 @@ in the User's Guide chapter. -record(ssh, { - role :: client | role(), + role :: role(), peer :: undefined | {inet:hostname(),ip_port()}, %% string version of peer address diff --git a/lib/ssh/src/ssh_agent.erl b/lib/ssh/src/ssh_agent.erl index f8713a544519..5b1d0a00d7c0 100644 --- a/lib/ssh/src/ssh_agent.erl +++ b/lib/ssh/src/ssh_agent.erl @@ -58,7 +58,7 @@ option can be set. """. -moduledoc(#{since => "OTP 23.0", titles => - [{type,<<"Options for the ssh_agent callback module">>}]}). + [{type,<<"Options">>}]}). -behaviour(ssh_client_key_api). @@ -72,19 +72,19 @@ option can be set. Sets the [socket path](`m:ssh_agent#SOCKET_PATH`) for the communication with the agent. """. --doc(#{title => <<"Options for the ssh_agent callback module">>}). +-doc(#{title => <<"Options">>}). -type socket_path_option() :: {socket_path, string()}. -doc """ Sets the time-out in milliseconds when communicating with the agent via the socket. The default value is `1000`. """. --doc(#{title => <<"Options for the ssh_agent callback module">>}). +-doc(#{title => <<"Options">>}). -type timeout_option() :: {timeout, integer()}. -doc """ The module which the `add_host_key` and `is_host_key` callbacks are delegated to. Defaults to the `m:ssh_file` module. """. --doc(#{title => <<"Options for the ssh_agent callback module">>}). +-doc(#{title => <<"Options">>}). -type call_ssh_file_option() :: {call_ssh_file, atom()}. %% ssh_client_key_api implementation diff --git a/lib/ssh/src/ssh_client_channel.erl b/lib/ssh/src/ssh_client_channel.erl index 01f265c1103a..bcc2848b50ef 100644 --- a/lib/ssh/src/ssh_client_channel.erl +++ b/lib/ssh/src/ssh_client_channel.erl @@ -22,16 +22,6 @@ -module(ssh_client_channel). -moduledoc """ -\-behaviour(ssh_client_channel). (Replaces ssh_channel) - -> #### Note {: .info } -> -> This module replaces ssh_channel. -> -> The old module is still available for compatibility, but should not be used -> for new programs. The old module will not be maintained except for some error -> corrections - SSH services (clients and servers) are implemented as channels that are multiplexed over an SSH connection and communicates over the [SSH Connection Protocol](http://www.ietf.org/rfc/rfc4254.txt). This module @@ -43,6 +33,14 @@ be part of a supervisor tree. This is a requirement of channel processes implementing a subsystem that will be added to the `ssh` applications supervisor tree. +> #### Note {: .info } +> +> This module replaces ssh_channel. +> +> The old module is still available for compatibility, but should not be used +> for new programs. The old module will not be maintained except for some error +> corrections + > #### Note {: .info } > > When implementing a `ssh` subsystem for daemons, use @@ -60,8 +58,7 @@ The timeout values that can be returned by the callback functions have the same semantics as in a `m:gen_server`. If the time-out occurs, `c:handle_msg/2` is called as handle_msg(timeout, State). """. --moduledoc(#{since => "OTP 21.0", - titles => [{callback,<<"Callback Functions">>}]}). +-moduledoc(#{since => "OTP 21.0"}). -include("ssh.hrl"). -include("ssh_connect.hrl"). @@ -73,7 +70,7 @@ initializations succeed. For more detailed information on time-outs, see Section [Callback timeouts](`m:ssh_client_channel#module-callback-timeouts`). """. --doc(#{title => <<"Callback Functions">>,since => <<"OTP 21.0">>}). +-doc(#{since => <<"OTP 21.0">>}). -callback init(Args :: term()) -> {ok, State :: term()} | {ok, State :: term(), timeout() | hibernate} | {stop, Reason :: term()} | ignore. @@ -83,7 +80,7 @@ Handles messages sent by calling [call/2,3](`call/2`) For more detailed information on time-outs,, see Section [Callback timeouts](`m:ssh_client_channel#module-callback-timeouts`). """. --doc(#{title => <<"Callback Functions">>,since => <<"OTP 21.0">>}). +-doc(#{since => <<"OTP 21.0">>}). -callback handle_call(Request :: term(), From :: {pid(), Tag :: term()}, State :: term()) -> {reply, Reply :: term(), NewState :: term()} | @@ -98,7 +95,7 @@ Handles messages sent by calling [`cast/2`](`cast/2`). For more detailed information on time-outs, see Section [Callback timeouts](`m:ssh_client_channel#module-callback-timeouts`). """. --doc(#{title => <<"Callback Functions">>,since => <<"OTP 21.0">>}). +-doc(#{since => <<"OTP 21.0">>}). -callback handle_cast(Request :: term(), State :: term()) -> {noreply, NewState :: term()} | {noreply, NewState :: term(), timeout() | hibernate} | @@ -112,7 +109,7 @@ called earlier. This function does any necessary cleaning up. When it returns, the channel process terminates with reason `Reason`. The return value is ignored. """. --doc(#{title => <<"Callback Functions">>,since => <<"OTP 21.0">>}). +-doc(#{since => <<"OTP 21.0">>}). -callback terminate(Reason :: (normal | shutdown | {shutdown, term()} | term()), State :: term()) -> @@ -136,7 +133,7 @@ Handling Instructions in the > handle two versions of the state, but this function cannot be used in the > normal way. """. --doc(#{title => <<"Callback Functions">>,since => <<"OTP 21.0">>}). +-doc(#{since => <<"OTP 21.0">>}). -callback code_change(OldVsn :: (term() | {down, term()}), State :: term(), Extra :: term()) -> {ok, NewState :: term()} | {error, Reason :: term()}. @@ -148,14 +145,14 @@ to the channel. Possible Erlang 'EXIT' messages is to be handled by this function and all channels are to handle the following message. -- **`{ssh_channel_up, ``t:ssh:channel_id/0``, ``t:ssh:connection_ref/0``}`** - +- **`{ssh_channel_up,` `t:ssh:channel_id/0` `,` `t:ssh:connection_ref/0` `}`** - This is the first message that the channel receives. It is sent just before the `init/1` function returns successfully. This is especially useful if the server wants to send a message to the client without first receiving a message from it. If the message is not useful for your particular scenario, ignore it by immediately returning `{ok, State}`. """. --doc(#{title => <<"Callback Functions">>,since => <<"OTP 21.0">>}). +-doc(#{since => <<"OTP 21.0">>}). -callback handle_msg(Msg ::term(), State :: term()) -> {ok, State::term()} | {stop, ChannelId::ssh:channel_id(), State::term()}. @@ -165,11 +162,11 @@ attention. For details, see `t:ssh_connection:event/0`. The following message is taken care of by the `ssh_client_channel` behavior. -- **`{closed, ``t:ssh:channel_id/0``}`** - The channel behavior sends a close +- **`{closed,` `t:ssh:channel_id/0` `}`** - The channel behavior sends a close message to the other side, if such a message has not already been sent. Then it terminates the channel with reason `normal`. """. --doc(#{title => <<"Callback Functions">>,since => <<"OTP 21.0">>}). +-doc(#{since => <<"OTP 21.0">>}). -callback handle_ssh_msg(ssh_connection:event(), State::term()) -> {ok, State::term()} | {stop, ChannelId::ssh:channel_id(), @@ -216,8 +213,6 @@ call(ChannelPid, Msg) -> call(ChannelPid, Msg, infinity). -doc """ -call(ChannelRef, Msg, Timeout) -> Reply | {error, Reason} - Makes a synchronous call to the channel process by sending a message and waiting until a reply arrives, or a time-out occurs. The channel calls [Module:handle_call/3](`c:handle_call/3`) to handle the message. If the channel @@ -248,8 +243,6 @@ call(ChannelPid, Msg, TimeOute) -> end. -doc """ -cast(ChannelRef, Msg) -> ok - Sends an asynchronous message to the channel process and returns ok immediately, ignoring if the destination node or channel process does not exist. The channel calls [Module:handle_cast/2](`c:handle_cast/2`) to handle the message. @@ -263,8 +256,6 @@ cast(ChannelRef, Msg) -> -opaque client() :: term(). -doc """ -reply(Client, Reply) -> \_ - This function can be used by a channel to send a reply to a client that called `call/[2,3]` when the reply cannot be defined in the return value of [Module:handle_call/3](`c:handle_call/3`). @@ -307,9 +298,6 @@ start(ConnectionManager, ChannelId, CallBack, CbInitArgs, Exec) -> gen_server:start(?MODULE, [Options], []). -doc """ -start_link(SshConnection, ChannelId, ChannelCb, CbInitArgs) -> {ok, ChannelRef} -| {error, Reason} - Starts a process that handles an SSH channel. It is called internally, by the `ssh` daemon, or explicitly by the `ssh` client implementations. The behavior sets the `trap_exit` flag to `true`. @@ -336,10 +324,10 @@ start_link(ConnectionManager, ChannelId, CallBack, CbInitArgs, Exec) -> gen_server:start_link(?MODULE, [Options], []). -doc """ -enter*loop(State) -> * - Makes an existing process an `ssh_client_channel` (replaces ssh_channel) -process. Does not return, instead the calling process enters the +process. + +Does not return, instead the calling process enters the `ssh_client_channel` (replaces ssh_channel) process receive loop and become an `ssh_client_channel` process. The process must have been started using one of the start functions in `proc_lib`, see the `m:proc_lib` manual page in STDLIB. @@ -363,7 +351,7 @@ enter_loop(State) -> %% Description: Initiates the server %%-------------------------------------------------------------------- -doc """ -init(Options) -> {ok, State} | {ok, State, Timeout} | {stop, Reason} +Initiates a client channel. The following options must be present: @@ -372,10 +360,10 @@ The following options must be present: - **`{init_args(), list()}`** - The list of arguments to the `init` function of the callback module. -- **`{cm, ``t:ssh:connection_ref/0``}`** - Reference to the `ssh` connection as +- **`{cm,` `t:ssh:connection_ref/0` `}`** - Reference to the `ssh` connection as returned by `ssh:connect/3`. -- **`{channel_id, ``t:ssh:channel_id/0``}`** - Id of the `ssh` channel as +- **`{channel_id,` `t:ssh:channel_id/0` `}`** - Id of the `ssh` channel as returned by [ssh_connection:session_channel/2,4](`ssh_connection:session_channel/2`). diff --git a/lib/ssh/src/ssh_connection.erl b/lib/ssh/src/ssh_connection.erl index 424a6e25837c..cef81e56a57d 100644 --- a/lib/ssh/src/ssh_connection.erl +++ b/lib/ssh/src/ssh_connection.erl @@ -29,29 +29,29 @@ This module provides API functions to send SSH Connection Protocol events to the other side of an SSH channel. -The [SSH Connection Protocol](http://www.ietf.org/rfc/rfc4254.txt) is used by +The [SSH Connection Protocol (RFC 4254)](http://www.ietf.org/rfc/rfc4254.txt) is used by clients and servers, that is, SSH channels, to communicate over the SSH connection. The API functions in this module send SSH Connection Protocol events, which are received as messages by the remote channel handling the remote channel. The Erlang format of thoose messages is (see also [below](`t:event/0`)): -`{ssh_cm, ``t:ssh:connection_ref/0``, ``t:channel_msg/0``}` +`{ssh_cm,` `t:ssh:connection_ref/0` `,` `t:channel_msg/0` `}` If the `m:ssh_client_channel` behavior is used to implement the channel process, these messages are handled by [handle_ssh_msg/2](`c:ssh_client_channel:handle_ssh_msg/2`). """. -moduledoc(#{titles => - [{type,<<"SSH Connection Protocol: General">>}, - {type,<<"Data Transfer (RFC 4254, section 5.2)">>}, - {type,<<"Closing a Channel (RFC 4254, section 5.3)">>}, - {type,<<"Requesting a Pseudo-Terminal (RFC 4254, section 6.2)">>}, - {type,<<"Environment Variable Passing (RFC 4254, section 6.4)">>}, - {type,<<"Starting a Shell or Command (RFC 4254, section 6.5)">>}, - {type,<<"Window Dimension Change Message (RFC 4254, section 6.7)">>}, - {type,<<"Signals (RFC 4254, section 6.9)">>}, - {type,<<"Returning Exit Status (RFC 4254, section 6.10)">>}]}). + [{type,<<"General">>}, + {type,<<"Data Transfer">>}, + {type,<<"Closing a Channel">>}, + {type,<<"Pseudo-Terminal">>}, + {type,<<"Environment Variable">>}, + {type,<<"Shell or Command">>}, + {type,<<"Window Change">>}, + {type,<<"Signals">>}, + {type,<<"Exit Status">>}]}). -include("ssh.hrl"). -include("ssh_connect.hrl"). @@ -122,7 +122,7 @@ If not, the `t:reason/0` indicates what went wrong: """. -type reason() :: closed | timeout . --doc(#{equiv => reason/0}). +-doc(#{}). -type result() :: req_status() | {error, reason()} . -doc """ @@ -150,8 +150,7 @@ The valid values are `0` ("normal") and `1` ("stderr"), see exec_ch_msg/0 ]). --doc(#{title => <<"SSH Connection Protocol: General">>, - equiv => channel_msg/0}). +-doc(#{title => <<"General">>}). -type event() :: {ssh_cm, ssh:connection_ref(), channel_msg()}. -doc """ As mentioned in the introduction, the @@ -160,7 +159,7 @@ handled as messages. When writing a channel handling process without using the support by the `m:ssh_client_channel` behavior the process must handle thoose messages. """. --doc(#{title => <<"SSH Connection Protocol: General">>}). +-doc(#{title => <<"General">>}). -type channel_msg() :: data_ch_msg() | eof_ch_msg() | closed_ch_msg() @@ -179,14 +178,15 @@ Messages that include a `WantReply` expect the channel handling process to call [ssh_connection:reply_request/4](`reply_request/4`) with the boolean value of `WantReply` as the second argument. """. --doc(#{title => <<"SSH Connection Protocol: General">>}). +-doc(#{title => <<"General">>}). -type want_reply() :: boolean(). -doc """ Data has arrived on the channel. This event is sent as a result of calling [ssh_connection:send/3,4,5](`send/3`). """. --doc(#{title => <<"Data Transfer (RFC 4254, section 5.2)">>}). +-doc(#{title => <<"Data Transfer">>, + rfc => ~"RFC 4254, section 5.2"}). -type data_ch_msg() :: {data, ssh:channel_id(), ssh_data_type_code(), @@ -196,7 +196,8 @@ Data has arrived on the channel. This event is sent as a result of calling Indicates that the other side sends no more data. This event is sent as a result of calling [ssh_connection:send_eof/2](`send_eof/2`). """. --doc(#{title => <<"Closing a Channel (RFC 4254, section 5.3)">>}). +-doc(#{title => <<"Closing a Channel">>, + rfc => ~"RFC 4254, section 5.3"}). -type eof_ch_msg() :: {eof, ssh:channel_id() } . @@ -207,7 +208,8 @@ this message. There is currently no function to generate this event as the signals referred to are on OS-level and not something generated by an Erlang program. """. --doc(#{title => <<"Signals (RFC 4254, section 6.9)">>}). +-doc(#{title => <<"Signals">>, + rfc => ~"RFC 4254, section 6.9"}). -type signal_ch_msg() :: {signal, ssh:channel_id(), SignalName :: string() @@ -218,7 +220,8 @@ message can be received. For details on valid string values, see [RFC 4254](https://tools.ietf.org/html/rfc4254#section-6.10) Section 6.10, which shows a special case of these signals. """. --doc(#{title => <<"Returning Exit Status (RFC 4254, section 6.10)">>}). +-doc(#{title => <<"Exit Status">>, + rfc => ~"RFC 4254, section 6.10"}). -type exit_signal_ch_msg() :: {exit_signal, ssh:channel_id(), ExitSignal :: string(), ErrorMsg :: string(), @@ -229,7 +232,8 @@ be sent to return the exit status of the command. A zero `exit_status` usually means that the command terminated successfully. This event is sent as a result of calling [ssh_connection:exit_status/3](`exit_status/3`). """. --doc(#{title => <<"Returning Exit Status (RFC 4254, section 6.10)">>}). +-doc(#{title => <<"Exit Status">>, + rfc => ~"RFC 4254, section 6.10"}). -type exit_status_ch_msg() :: {exit_status, ssh:channel_id(), ExitStatus :: non_neg_integer() @@ -239,7 +243,8 @@ This event is sent as a result of calling [ssh_connection:close/2](`close/2`). Both the handling of this event and sending it are taken care of by the `m:ssh_client_channel` behavior. """. --doc(#{title => <<"Closing a Channel (RFC 4254, section 5.3)">>}). +-doc(#{title => <<"Closing a Channel">>, + rfc => ~"RFC 4254, section 5.3"}). -type closed_ch_msg() :: {closed, ssh:channel_id() } . @@ -247,15 +252,16 @@ Both the handling of this event and sending it are taken care of by the Environment variables can be passed to the shell/command to be started later. This event is sent as a result of calling [ssh_connection:setenv/5](`setenv/5`). """. --doc(#{title => <<"Environment Variable Passing (RFC 4254, section 6.4)">>}). +-doc(#{title => <<"Environment Variable">>, + rfc => ~"RFC 4254, section 6.4"}). -type env_ch_msg() :: {env, ssh:channel_id(), want_reply(), Var :: string(), Value :: string() } . --doc(#{title => <<"Requesting a Pseudo-Terminal (RFC 4254, section 6.2)">>, - equiv => term_mode/0}). +-doc(#{title => <<"Pseudo-Terminal">>, + rfc => ~"RFC 4254, section 6.2"}). -type pty_ch_msg() :: {pty, ssh:channel_id(), want_reply(), @@ -280,7 +286,8 @@ also be an `Opcode` if the mnemonic name is not listed in the RFC. Example: `OP code: 53, mnemonic name ECHO erlang atom: echo`. This event is sent as a result of calling [ssh_connection:ptty_alloc/4](`ptty_alloc/4`). """. --doc(#{title => <<"Requesting a Pseudo-Terminal (RFC 4254, section 6.2)">>}). +-doc(#{title => <<"Pseudo-Terminal">>, + rfc => ~"RFC 4254, section 6.2"}). -type term_mode() :: {Opcode :: atom() | byte(), Value :: non_neg_integer()} . @@ -288,7 +295,8 @@ result of calling [ssh_connection:ptty_alloc/4](`ptty_alloc/4`). This message requests that the user default shell is started at the other end. This event is sent as a result of calling [ssh_connection:shell/2](`shell/2`). """. --doc(#{title => <<"Starting a Shell or Command (RFC 4254, section 6.5)">>}). +-doc(#{title => <<"Shell or Command">>, + rfc => ~"RFC 4254, section 6.5"}). -type shell_ch_msg() :: {shell, ssh:channel_id(), want_reply() @@ -298,7 +306,8 @@ When the window (terminal) size changes on the client side, it _can_ send a message to the server side to inform it of the new dimensions. No API function generates this event. """. --doc(#{title => <<"Window Dimension Change Message (RFC 4254, section 6.7)">>}). +-doc(#{title => <<"Window Change">>, + rfc => ~"RFC 4254, section 6.7"}). -type window_change_ch_msg() :: {window_change, ssh:channel_id(), CharWidth :: non_neg_integer(), @@ -310,7 +319,8 @@ generates this event. This message requests that the server starts execution of the given command. This event is sent as a result of calling [ssh_connection:exec/4 ](`exec/4`). """. --doc(#{title => <<"Starting a Shell or Command (RFC 4254, section 6.5)">>}). +-doc(#{title => <<"Shell or Command">>, + rfc => ~"RFC 4254, section 6.5"}). -type exec_ch_msg() :: {exec, ssh:channel_id(), want_reply(), @@ -340,8 +350,8 @@ dummy(_) -> false. Timeout :: timeout(), Result :: {ok, ssh:channel_id()} | {error, reason()} . -session_channel(ConnectionHandler, Timeout) -> - session_channel(ConnectionHandler, undefined, undefined, Timeout). +session_channel(ConnectionRef, Timeout) -> + session_channel(ConnectionRef, undefined, undefined, Timeout). -doc """ @@ -355,8 +365,8 @@ is the id used as input to the other functions in this module. Timeout :: timeout(), Result :: {ok, ssh:channel_id()} | {error, reason()} . -session_channel(ConnectionHandler, InitialWindowSize, MaxPacketSize, Timeout) -> - open_channel(ConnectionHandler, "session", <<>>, +session_channel(ConnectionRef, InitialWindowSize, MaxPacketSize, Timeout) -> + open_channel(ConnectionRef, "session", <<>>, InitialWindowSize, MaxPacketSize, Timeout). @@ -365,11 +375,11 @@ session_channel(ConnectionHandler, InitialWindowSize, MaxPacketSize, Timeout) -> %% Description: Opens a channel for the given type. %% -------------------------------------------------------------------- -doc false. -open_channel(ConnectionHandler, Type, ChanData, Timeout) -> - open_channel(ConnectionHandler, Type, ChanData, undefined, undefined, Timeout). +open_channel(ConnectionRef, Type, ChanData, Timeout) -> + open_channel(ConnectionRef, Type, ChanData, undefined, undefined, Timeout). -open_channel(ConnectionHandler, Type, ChanData, InitialWindowSize, MaxPacketSize, Timeout) -> - case ssh_connection_handler:open_channel(ConnectionHandler, Type, ChanData, +open_channel(ConnectionRef, Type, ChanData, InitialWindowSize, MaxPacketSize, Timeout) -> + case ssh_connection_handler:open_channel(ConnectionRef, Type, ChanData, InitialWindowSize, MaxPacketSize, Timeout) of {open, Channel} -> @@ -414,8 +424,8 @@ See the User's Guide section on Command :: string(), Timeout :: timeout(). -exec(ConnectionHandler, ChannelId, Command, TimeOut) -> - ssh_connection_handler:request(ConnectionHandler, self(), ChannelId, "exec", +exec(ConnectionRef, ChannelId, Command, TimeOut) -> + ssh_connection_handler:request(ConnectionRef, self(), ChannelId, "exec", true, [?string(Command)], TimeOut). %%-------------------------------------------------------------------- @@ -437,8 +447,8 @@ would break a large number of existing software. ChannelId :: ssh:channel_id(), Result :: ok | success | failure | {error, timeout} . -shell(ConnectionHandler, ChannelId) -> - ssh_connection_handler:request(ConnectionHandler, self(), ChannelId, +shell(ConnectionRef, ChannelId) -> + ssh_connection_handler:request(ConnectionRef, self(), ChannelId, "shell", false, <<>>, 0). %%-------------------------------------------------------------------- %% @@ -457,8 +467,8 @@ The function [`subsystem/4`](`subsystem/4`) and subsequent calls of Subsystem :: string(), Timeout :: timeout(). -subsystem(ConnectionHandler, ChannelId, SubSystem, TimeOut) -> - ssh_connection_handler:request(ConnectionHandler, self(), +subsystem(ConnectionRef, ChannelId, SubSystem, TimeOut) -> + ssh_connection_handler:request(ConnectionRef, self(), ChannelId, "subsystem", true, [?string(SubSystem)], TimeOut). %%-------------------------------------------------------------------- @@ -466,51 +476,51 @@ subsystem(ConnectionHandler, ChannelId, SubSystem, TimeOut) -> %%-------------------------------------------------------------------- -doc(#{equiv => send/5}). -spec send(connection_ref(), channel_id(), iodata()) -> - ok | {error, timeout | closed}. + ok | {error, reason()}. -send(ConnectionHandler, ChannelId, Data) -> - send(ConnectionHandler, ChannelId, 0, Data, infinity). +send(ConnectionRef, ChannelId, Data) -> + send(ConnectionRef, ChannelId, 0, Data, infinity). -doc """ send(ConnectionRef, ChannelId, Type, Data) +Depending on input arguments equivalent to one of `send/5` calls specified below. + Equivalent to [send(ConnectionRef, ChannelId, 0, Data, TimeOut)](`send/5`) if called with TimeOut being integer. Equivalent to [send(ConnectionRef, ChannelId, 0, Data, infinity)](`send/5`) if called with TimeOut being infinity atom. -Equivalent to [send(ConnectionHandler, ChannelId, Type, Data, infinity)](`send/5`) if +Equivalent to [send(ConnectionRef, ChannelId, Type, Data, infinity)](`send/5`) if called with last argument which is not integer or infinity atom. """. --spec send(connection_ref(), channel_id(), iodata(), timeout()) -> ok | {error, reason()}; - (connection_ref(), channel_id(), ssh_data_type_code(), iodata()) -> ok | {error, reason()}. +-spec send(connection_ref(), channel_id(), iodata(), timeout()) -> ok | {error, reason()}; + (connection_ref(), channel_id(), ssh_data_type_code(), iodata()) -> ok | {error, reason()}. -send(ConnectionHandler, ChannelId, Data, TimeOut) when is_integer(TimeOut) -> - send(ConnectionHandler, ChannelId, 0, Data, TimeOut); +send(ConnectionRef, ChannelId, Data, TimeOut) when is_integer(TimeOut) -> + send(ConnectionRef, ChannelId, 0, Data, TimeOut); -send(ConnectionHandler, ChannelId, Data, infinity) -> - send(ConnectionHandler, ChannelId, 0, Data, infinity); +send(ConnectionRef, ChannelId, Data, infinity) -> + send(ConnectionRef, ChannelId, 0, Data, infinity); -send(ConnectionHandler, ChannelId, Type, Data) -> - send(ConnectionHandler, ChannelId, Type, Data, infinity). +send(ConnectionRef, ChannelId, Type, Data) -> + send(ConnectionRef, ChannelId, Type, Data, infinity). -doc """ -send(ConnectionRef, ChannelId, Type, Data, TimeOut) -> ok | Error - Is to be called by client- and server-channel processes to send data to each other. The function `subsystem/4` and subsequent calls of `send/3,4,5` must be executed in the same process. """. --spec send(connection_ref(), channel_id(), ssh_data_type_code(), iodata(), timeout()) -> ok | {error, reason()}. +-spec send(connection_ref(), channel_id(), ssh_data_type_code(), iodata(), timeout()) -> ok | {error, reason()}. -send(ConnectionHandler, ChannelId, Type, Data, TimeOut) -> - ssh_connection_handler:send(ConnectionHandler, ChannelId, +send(ConnectionRef, ChannelId, Type, Data, TimeOut) -> + ssh_connection_handler:send(ConnectionRef, ChannelId, Type, Data, TimeOut). %%-------------------------------------------------------------------- -doc "Sends EOF on channel `ChannelId`.". @@ -521,8 +531,8 @@ send(ConnectionHandler, ChannelId, Type, Data, TimeOut) -> %% %% Description: Sends eof on the channel . %%-------------------------------------------------------------------- -send_eof(ConnectionHandler, Channel) -> - ssh_connection_handler:send_eof(ConnectionHandler, Channel). +send_eof(ConnectionRef, Channel) -> + ssh_connection_handler:send_eof(ConnectionRef, Channel). %%-------------------------------------------------------------------- -doc """ @@ -545,8 +555,8 @@ server-side channel processes. %% %% Description: Adjusts the ssh flowcontrol window. %%-------------------------------------------------------------------- -adjust_window(ConnectionHandler, Channel, Bytes) -> - ssh_connection_handler:adjust_window(ConnectionHandler, Channel, Bytes). +adjust_window(ConnectionRef, Channel, Bytes) -> + ssh_connection_handler:adjust_window(ConnectionRef, Channel, Bytes). %%-------------------------------------------------------------------- -doc """ @@ -563,11 +573,11 @@ called by a client channel processes. %% %% Description: Environment variables may be passed to the shell/command to be %% started later. -setenv(ConnectionHandler, ChannelId, Var, Value, TimeOut) -> - setenv(ConnectionHandler, ChannelId, true, Var, Value, TimeOut). +setenv(ConnectionRef, ChannelId, Var, Value, TimeOut) -> + setenv(ConnectionRef, ChannelId, true, Var, Value, TimeOut). -setenv(ConnectionHandler, ChannelId, WantReply, Var, Value, TimeOut) -> - case ssh_connection_handler:request(ConnectionHandler, ChannelId, +setenv(ConnectionRef, ChannelId, WantReply, Var, Value, TimeOut) -> + case ssh_connection_handler:request(ConnectionRef, ChannelId, "env", WantReply, [?string(Var), ?string(Value)], TimeOut) of ok when WantReply == false -> @@ -593,8 +603,8 @@ a close event. %% %% Description: Sends a close message on the channel . %%-------------------------------------------------------------------- -close(ConnectionHandler, ChannelId) -> - ssh_connection_handler:close(ConnectionHandler, ChannelId). +close(ConnectionRef, ChannelId) -> + ssh_connection_handler:close(ConnectionRef, ChannelId). %%-------------------------------------------------------------------- -doc """ @@ -612,8 +622,8 @@ Protocol message containing a `WantReply` boolean value. %% %% Description: Send status replies to requests that want such replies. %%-------------------------------------------------------------------- -reply_request(ConnectionHandler, true, Status, ChannelId) -> - ssh_connection_handler:reply_request(ConnectionHandler, Status, ChannelId); +reply_request(ConnectionRef, true, Status, ChannelId) -> + ssh_connection_handler:reply_request(ConnectionRef, Status, ChannelId); reply_request(_,false, _, _) -> ok. @@ -627,8 +637,8 @@ reply_request(_,false, _, _) -> ChannelId :: ssh:channel_id(), Options :: proplists:proplist(). -ptty_alloc(ConnectionHandler, Channel, Options) -> - ptty_alloc(ConnectionHandler, Channel, Options, infinity). +ptty_alloc(ConnectionRef, Channel, Options) -> + ptty_alloc(ConnectionRef, Channel, Options, infinity). -doc """ @@ -659,11 +669,11 @@ Options: Options :: proplists:proplist(), Timeout :: timeout(). -ptty_alloc(ConnectionHandler, Channel, Options0, TimeOut) -> +ptty_alloc(ConnectionRef, Channel, Options0, TimeOut) -> TermData = backwards_compatible(Options0, []), % FIXME {Width, PixWidth} = pty_default_dimensions(width, TermData), {Height, PixHeight} = pty_default_dimensions(height, TermData), - pty_req(ConnectionHandler, Channel, + pty_req(ConnectionRef, Channel, proplists:get_value(term, TermData, os:getenv("TERM", ?DEFAULT_TERMINAL)), proplists:get_value(width, TermData, Width), proplists:get_value(height, TermData, Height), @@ -678,19 +688,19 @@ ptty_alloc(ConnectionHandler, Channel, Options0, TimeOut) -> %% Should they be documented and tested? %%-------------------------------------------------------------------- -doc false. -window_change(ConnectionHandler, Channel, Width, Height) -> - window_change(ConnectionHandler, Channel, Width, Height, 0, 0). +window_change(ConnectionRef, Channel, Width, Height) -> + window_change(ConnectionRef, Channel, Width, Height, 0, 0). -doc false. -window_change(ConnectionHandler, Channel, Width, Height, +window_change(ConnectionRef, Channel, Width, Height, PixWidth, PixHeight) -> - ssh_connection_handler:request(ConnectionHandler, Channel, + ssh_connection_handler:request(ConnectionRef, Channel, "window-change", false, [?uint32(Width), ?uint32(Height), ?uint32(PixWidth), ?uint32(PixHeight)], 0). -doc false. -signal(ConnectionHandler, Channel, Sig) -> - ssh_connection_handler:request(ConnectionHandler, Channel, +signal(ConnectionRef, Channel, Sig) -> + ssh_connection_handler:request(ConnectionRef, Channel, "signal", false, [?string(Sig)], 0). @@ -702,8 +712,8 @@ to the client. ConnectionRef :: ssh:connection_ref(), ChannelId :: ssh:channel_id(), Status :: integer(). -exit_status(ConnectionHandler, Channel, Status) -> - ssh_connection_handler:request(ConnectionHandler, Channel, +exit_status(ConnectionRef, Channel, Status) -> + ssh_connection_handler:request(ConnectionRef, Channel, "exit-status", false, [?uint32(Status)], 0). %%-------------------------------------------------------------------- @@ -1019,21 +1029,25 @@ handle_msg(#ssh_msg_channel_request{recipient_channel = ChannelId, handle_msg(#ssh_msg_channel_request{recipient_channel = ChannelId, request_type = "exit-signal", want_reply = false, - data = Data}, + data = Data}, #connection{channel_cache = Cache} = Connection0, _, _SSH) -> <> = Data, - Channel = ssh_client_channel:cache_lookup(Cache, ChannelId), - RemoteId = Channel#channel.remote_id, - {Reply, Connection} = reply_msg(Channel, Connection0, - {exit_signal, ChannelId, - binary_to_list(SigName), - binary_to_list(Err), - binary_to_list(Lang)}), - CloseMsg = channel_close_msg(RemoteId), - {[{connection_reply, CloseMsg}|Reply], Connection}; + case ssh_client_channel:cache_lookup(Cache, ChannelId) of + #channel{remote_id = RemoteId} = Channel -> + {Reply, Connection} = reply_msg(Channel, Connection0, + {exit_signal, ChannelId, + binary_to_list(SigName), + binary_to_list(Err), + binary_to_list(Lang)}), + ChannelCloseMsg = channel_close_msg(RemoteId), + {[{connection_reply, ChannelCloseMsg}|Reply], Connection}; + _ -> + %% Channel already closed by peer + {[], Connection0} + end; handle_msg(#ssh_msg_channel_request{recipient_channel = ChannelId, request_type = "xon-xoff", @@ -1551,9 +1565,9 @@ flow_control(_,_,_) -> %%% Pseudo terminal stuff %%% -pty_req(ConnectionHandler, Channel, Term, Width, Height, +pty_req(ConnectionRef, Channel, Term, Width, Height, PixWidth, PixHeight, PtyOpts, TimeOut) -> - ssh_connection_handler:request(ConnectionHandler, + ssh_connection_handler:request(ConnectionRef, Channel, "pty-req", true, [?string(Term), ?uint32(Width), ?uint32(Height), @@ -1863,14 +1877,14 @@ request_reply_or_data(#channel{local_id = ChannelId, user = ChannelPid}, %%%---------------------------------------------------------------- -doc false. -send_environment_vars(ConnectionHandler, Channel, VarNames) -> +send_environment_vars(ConnectionRef, Channel, VarNames) -> lists:foldl( fun(Var, success) -> case os:getenv(Var) of false -> success; Value -> - setenv(ConnectionHandler, Channel, false, + setenv(ConnectionRef, Channel, false, Var, Value, infinity) end end, success, VarNames). diff --git a/lib/ssh/src/ssh_file.erl b/lib/ssh/src/ssh_file.erl index 403973dc81f0..582058e988d2 100644 --- a/lib/ssh/src/ssh_file.erl +++ b/lib/ssh/src/ssh_file.erl @@ -170,7 +170,7 @@ Clients uses all files stored in the [USERDIR](`m:ssh_file#USERDIR`) directory. """. -moduledoc(#{since => "OTP 21.2", titles => - [{type,<<"Options for the default ssh_file callback module">>}]}). + [{type,<<"Options">>}]}). -include_lib("public_key/include/public_key.hrl"). -include_lib("kernel/include/file.hrl"). @@ -186,7 +186,7 @@ Clients uses all files stored in the [USERDIR](`m:ssh_file#USERDIR`) directory. -export([host_key/2, is_auth_key/3]). -export_type([system_dir_daemon_option/0]). -doc "Sets the [system directory](`m:ssh_file#SYSDIR`).". --doc(#{title => <<"Options for the default ssh_file callback module">>}). +-doc(#{title => <<"Options">>}). -type system_dir_daemon_option() :: {system_dir, string()}. %%%--------------------- client exports --------------------------- @@ -199,7 +199,7 @@ supplied with thoose options. Note that EdDSA passhrases (Curves 25519 and 448) are not implemented. """. --doc(#{title => <<"Options for the default ssh_file callback module">>}). +-doc(#{title => <<"Options">>}). -type pubkey_passphrase_client_options() :: {dsa_pass_phrase, string()} | {rsa_pass_phrase, string()} %% Not yet implemented: | {ed25519_pass_phrase, string()} @@ -218,16 +218,15 @@ Note that EdDSA passhrases (Curves 25519 and 448) are not implemented. ]). -doc "Sets the [user directory](`m:ssh_file#USERDIR`).". --doc(#{title => <<"Options for the default ssh_file callback module">>}). +-doc(#{title => <<"Options">>}). -type user_dir_common_option() :: {user_dir, string()}. --doc(#{title => <<"Options for the default ssh_file callback module">>, - equiv => user2dir/0}). +-doc(#{title => <<"Options">>}). -type user_dir_fun_common_option() :: {user_dir_fun, user2dir()}. -doc """ Sets the [user directory](`m:ssh_file#USERDIR`) dynamically by evaluating the `user2dir` function. """. --doc(#{title => <<"Options for the default ssh_file callback module">>}). +-doc(#{title => <<"Options">>}). -type user2dir() :: fun((RemoteUserName::string()) -> UserDir :: string()) . -doc """ @@ -239,17 +238,16 @@ To set it, set the option `{key_cb, {ssh_file, [{optimize,TimeOrSpace}]}` in the call of ["ssh:connect/3](`ssh:connect/3`), `ssh:daemon/2` or similar function call that initiates an ssh connection. """. --doc(#{title => <<"Options for the default ssh_file callback module">>}). +-doc(#{title => <<"Options">>}). -type optimize_key_lookup() :: {optimize, time|space} . -doc "The key representation". --doc(#{title => <<"Options for the default ssh_file callback module">>}). +-doc(#{title => <<"Options">>}). -type key() :: public_key:public_key() | public_key:private_key() . --doc(#{title => <<"Options for the default ssh_file callback module">>, - equiv => openssh_key_v1_attributes/0}). +-doc(#{title => <<"Options">>}). -type experimental_openssh_key_v1() :: [{key(), openssh_key_v1_attributes()}]. -doc "Types for the experimental implementaition of the `openssh_key_v1` format.". --doc(#{title => <<"Options for the default ssh_file callback module">>}). +-doc(#{title => <<"Options">>}). -type openssh_key_v1_attributes() :: [{atom(),term()}]. %%%================================================================ diff --git a/lib/ssh/src/ssh_info.erl b/lib/ssh/src/ssh_info.erl index 10ea51ecf63a..e2f9d2ad2604 100644 --- a/lib/ssh/src/ssh_info.erl +++ b/lib/ssh/src/ssh_info.erl @@ -274,6 +274,7 @@ local_addr(Pid) -> _:_ -> "?" end. + format_address(#address{address=Addr, port=Port, profile=Prof}) -> io_lib:format("~s (profile ~p)", [ssh_lib:format_address_port({Addr,Port}),Prof]); format_address(A) -> diff --git a/lib/ssh/src/ssh_server_channel.erl b/lib/ssh/src/ssh_server_channel.erl index d355a13b27b3..955b34537dec 100644 --- a/lib/ssh/src/ssh_server_channel.erl +++ b/lib/ssh/src/ssh_server_channel.erl @@ -51,8 +51,7 @@ tree. > When implementing a client subsystem handler, use > [\-behaviour(ssh_client_channel)](`m:ssh_client_channel`) instead. """. --moduledoc(#{since => "OTP 21.0", - titles => [{callback,<<"Callback Functions">>}]}). +-moduledoc(#{since => "OTP 21.0"}). %% API to server side channel that can be plugged into the erlang ssh daemeon -doc """ @@ -63,7 +62,7 @@ The time-out values that can be returned have the same semantics as in a `m:gen_server`. If the time-out occurs, `c:handle_msg/2` is called as [`handle_msg(timeout, State)`](`c:handle_msg/2`). """. --doc(#{title => <<"Callback Functions">>,since => <<"OTP 21.0">>}). +-doc(#{since => <<"OTP 21.0">>}). -callback init(Args :: term()) -> {ok, State :: term()} | {ok, State :: term(), timeout() | hibernate} | {stop, Reason :: term()} | ignore. @@ -76,7 +75,7 @@ called earlier. This function does any necessary cleaning up. When it returns, the channel process terminates with reason `Reason`. The return value is ignored. """. --doc(#{title => <<"Callback Functions">>,since => <<"OTP 21.0">>}). +-doc(#{since => <<"OTP 21.0">>}). -callback terminate(Reason :: (normal | shutdown | {shutdown, term()} | term()), State :: term()) -> @@ -89,13 +88,13 @@ to the channel. Possible Erlang 'EXIT' messages is to be handled by this function and all channels are to handle the following message. -- **`{ssh_channel_up, ``t:ssh:channel_id/0``, ``t:ssh:connection_ref/0``}`** - +- **`{ssh_channel_up,` `t:ssh:channel_id/0` `,` `t:ssh:connection_ref/0` `}`** - This is the first message that the channel receives. This is especially useful if the server wants to send a message to the client without first receiving a message from it. If the message is not useful for your particular scenario, ignore it by immediately returning `{ok, State}`. """. --doc(#{title => <<"Callback Functions">>,since => <<"OTP 21.0">>}). +-doc(#{since => <<"OTP 21.0">>}). -callback handle_msg(Msg ::term(), State :: term()) -> {ok, State::term()} | {stop, ChannelId::ssh:channel_id(), State::term()}. -doc """ @@ -104,11 +103,11 @@ attention. For details, see `t:ssh_connection:event/0`. The following message is taken care of by the `ssh_server_channel` behavior. -- **`{closed, ``t:ssh:channel_id/0``}`** - The channel behavior sends a close +- **`{closed,` `t:ssh:channel_id/0` `}`** - The channel behavior sends a close message to the other side, if such a message has not already been sent. Then it terminates the channel with reason `normal`. """. --doc(#{title => <<"Callback Functions">>,since => <<"OTP 21.0">>}). +-doc(#{since => <<"OTP 21.0">>}). -callback handle_ssh_msg(ssh_connection:event(), State::term()) -> {ok, State::term()} | {stop, ChannelId::ssh:channel_id(), diff --git a/lib/ssh/src/ssh_sftp.erl b/lib/ssh/src/ssh_sftp.erl index 31d3013e1f9f..e2ce584f2d34 100644 --- a/lib/ssh/src/ssh_sftp.erl +++ b/lib/ssh/src/ssh_sftp.erl @@ -30,8 +30,7 @@ This module implements an SSH FTP (SFTP) client. SFTP is a secure, encrypted file transfer service available for SSH. """. -moduledoc(#{titles => - [{type,<<"Error cause">>}, - {type,<<"Crypto operations for open_tar">>}]}). + [{type,<<"Crypto open_tar">>}]}). -behaviour(ssh_client_channel). @@ -125,7 +124,7 @@ exit-signal. If that information is empty, the reason is the exit signal name. The `t:tuple/0` reason are other errors like for example `{exit_status,1}`. """. --doc(#{title => <<"Error cause">>}). +-doc(#{}). -type reason() :: atom() | string() | tuple() . %%==================================================================== @@ -318,12 +317,10 @@ open(Pid, File, Mode, FileOpTimeout) -> call(Pid, {open, false, File, Mode}, FileOpTimeout). --doc(#{title => <<"Crypto operations for open_tar">>, - equiv => decrypt_spec/0}). +-doc(#{title => <<"Crypto open_tar">>}). -type tar_crypto_spec() :: encrypt_spec() | decrypt_spec() . --doc(#{title => <<"Crypto operations for open_tar">>, - equiv => decrypt_spec/0}). +-doc(#{title => <<"Crypto open_tar">>}). -type encrypt_spec() :: {init_fun(), crypto_fun(), final_fun()} . -doc """ Specifies the encryption or decryption applied to tar files when using @@ -336,16 +333,14 @@ For code examples see Section [Example with encryption](using_ssh.md#example-with-encryption) in the ssh Users Guide. """. --doc(#{title => <<"Crypto operations for open_tar">>}). +-doc(#{title => <<"Crypto open_tar">>}). -type decrypt_spec() :: {init_fun(), crypto_fun()} . --doc(#{title => <<"Crypto operations for open_tar">>, - equiv => crypto_state/0}). +-doc(#{title => <<"Crypto open_tar">>}). -type init_fun() :: fun(() -> {ok,crypto_state()}) | fun(() -> {ok,crypto_state(),chunk_size()}) . --doc(#{title => <<"Crypto operations for open_tar">>, - equiv => crypto_result/0}). +-doc(#{title => <<"Crypto open_tar">>}). -type crypto_fun() :: fun((TextIn::binary(), crypto_state()) -> crypto_result()) . -doc """ The initial `t:crypto_state/0` returned from the `t:init_fun/0` is folded into @@ -357,7 +352,7 @@ next call of the `t:crypto_fun/0`. If the `t:crypto_fun/0` reurns a `t:chunk_size/0`, that value is as block size for further blocks in calls to `t:crypto_fun/0`. """. --doc(#{title => <<"Crypto operations for open_tar">>}). +-doc(#{title => <<"Crypto open_tar">>}). -type crypto_result() :: {ok,TextOut::binary(),crypto_state()} | {ok,TextOut::binary(),crypto_state(),chunk_size()} . @@ -367,11 +362,10 @@ If doing encryption, the `t:final_fun/0` in the The `t:final_fun/0` is responsible for padding (if needed) and encryption of that last piece. """. --doc(#{title => <<"Crypto operations for open_tar">>}). +-doc(#{title => <<"Crypto open_tar">>}). -type final_fun() :: fun((FinalTextIn::binary(),crypto_state()) -> {ok,FinalTextOut::binary()}) . --doc(#{title => <<"Crypto operations for open_tar">>, - equiv => crypto_state/0}). +-doc(#{title => <<"Crypto open_tar">>}). -type chunk_size() :: undefined | pos_integer(). -doc """ The `t:init_fun/0` in the [tar_crypto_spec](`t:tar_crypto_spec/0`) is applied @@ -388,7 +382,7 @@ stream crypto, whereas a fixed `t:chunk_size/0` is intended for block crypto. A `t:chunk_size/0` can be changed in the return from the `t:crypto_fun/0`. The value can be changed between `t:pos_integer/0` and `undefined`. """. --doc(#{title => <<"Crypto operations for open_tar">>}). +-doc(#{title => <<"Crypto open_tar">>}). -type crypto_state() :: any() . @@ -414,7 +408,7 @@ For code examples see Section in the ssh Users Guide. The `crypto` mode option is explained in the data types section above, see -[Crypto operations for open_tar](`m:ssh_sftp#types-crypto-operations-for-open_tar`). +[Crypto operations for open_tar](`m:ssh_sftp#types-crypto-open_tar`). Encryption is assumed if the `Mode` contains `write`, and decryption if the `Mode` contains `read`. """. diff --git a/lib/ssl/doc/notes.md b/lib/ssl/doc/notes.md index 0004417ec35b..3d978d6bbb09 100644 --- a/lib/ssl/doc/notes.md +++ b/lib/ssl/doc/notes.md @@ -147,7 +147,7 @@ This document describes the changes made to the SSL application. - Improved error checking on the API functions. - Own Id: OTP-18992 Aux Id: [GH-8066] [PR-8156] + Own Id: OTP-18992 Aux Id: [GH-8066], [PR-8156] [GH-7493]: https://github.com/erlang/otp/issues/7493 [PR-7918]: https://github.com/erlang/otp/pull/7918 @@ -207,6 +207,37 @@ This document describes the changes made to the SSL application. [PR-8250]: https://github.com/erlang/otp/pull/8250 [PR-8255]: https://github.com/erlang/otp/pull/8255 +## SSL 11.1.4.5 + +### Fixed Bugs and Malfunctions + +* Avoid generating an internal alert for case that should have been an orderly shutdown by the supervisor. + + Own Id: OTP-19311 Aux Id: PR-8980 + +### Improvements and New Features + +* Back port certificate_authorities option for TLS-1.3 servers to pre TLS-1.3 servers to enable them to disable the sending of certificate authorities in their certificate request. This will have same affect as the the TLS-1.3 server option although it is handled by a different mechanism in these versions, where the functionality is described to be more of a guidance, although some pre TLS clients have proven to make it mandatory as in TLS-1.3 extension handling. + + Own Id: OTP-19325 Aux Id: PR-9001, ERIERL-1147 + +## SSL 11.1.4.4 + +### Fixed Bugs and Malfunctions + +* Starting from TLS-1.3 some server handshake alerts might arrive after ssl:connection/2,3,4 has returned. If the socket is in active mode the controlling process will get the alert message, but passive sockets would only get \{error, closed\} on next call to ssl:recv/2,3 or ssl/setopts/2. Passive sockets calls will now return \{error, error_alert()\} instead. + + Own Id: OTP-19236 Aux Id: PR-8261 +* Refactor trying to also make some optimizations introduced a bug in signature algorithms checks in OTP-26.2.1. This could manifest itself in not being able to negotiate connections using certificates needing to use some TLS-1.2 compatibility legacy signature schemes. + + Own Id: OTP-19249 Aux Id: ERIERL-1137, PR-8866 +* Servers configured to support only version (pre TLS-1.2) should ignore hello version extension, as it is an unknown extension to them, this will result in that new clients that do not support the old server version will get an insufficient security alert from the server and not a protocol version alert, this is consistent with how old servers not able to support higher protocol versions work. + + Own Id: OTP-19257 Aux Id: ERIERL-1131 +* Correct timeout handling for termination code run for own alerts, so that intended timeout is used instead of falling back to OS TCP-stack timeout that is unreasonably long on some platforms. + + Own Id: OTP-19274 Aux Id: PR-8901 + ## SSL 11.1.4.3 ### Fixed Bugs and Malfunctions @@ -564,6 +595,20 @@ This document describes the changes made to the SSL application. Own Id: OTP-18572 +## SSL 10.9.1.6 + +### Fixed Bugs and Malfunctions + +* Starting from TLS-1.3 some server handshake alerts might arrive after ssl:connection/2,3,4 has returned. If the socket is in active mode the controlling process will get the alert message, but passive sockets would only get \{error, closed\} on next call to ssl:recv/2,3 or ssl/setopts/2. Passive sockets calls will now return \{error, error_alert()\} instead. + + Own Id: OTP-19236 Aux Id: PR-8261 +* Servers configured to support only version (pre TLS-1.2) should ignore hello version extension, as it is an unknown extension to them, this will result in that new clients that do not support the old server version will get an insufficient security alert from the server and not a protocol version alert, this is consistent with how old servers not able to support higher protocol versions work. + + Own Id: OTP-19257 Aux Id: ERIERL-1131 +* Correct timeout handling for termination code run for own alerts, so that intended timeout is used instead of falling back to OS TCP-stack timeout that is unreasonably long on some platforms. + + Own Id: OTP-19274 Aux Id: PR-8901 + ## SSL 10.9.1.5 ### Fixed Bugs and Malfunctions diff --git a/lib/ssl/doc/ssl_app.md b/lib/ssl/doc/ssl_app.md index 1848ce040570..5e24e28c2b6b 100644 --- a/lib/ssl/doc/ssl_app.md +++ b/lib/ssl/doc/ssl_app.md @@ -51,13 +51,13 @@ The environment parameters can be set on the command line, for example: `erl -ssl protocol_version "['tlsv1.2', 'tlsv1.1']"` -- **`protocol_version = ``t:ssl:tls_version/0` | [`t:ssl:tls_version/0`] +- **`protocol_version = ` `t:ssl:tls_version/0` | [`t:ssl:tls_version/0`] ``** - Protocol supported by started clients and servers. If this option is not set, it defaults to all TLS protocols currently supported, more might be configurable, by the SSL application. This option can be overridden by the version option to `ssl:connect/2,3` and `ssl:listen/2`. -- **`dtls_protocol_version = ``t:ssl:dtls_version/0` | [`t:ssl:dtls_version/0`] +- **`dtls_protocol_version = ` `t:ssl:dtls_version/0` | [`t:ssl:dtls_version/0`] ``** - Protocol supported by started clients and servers. If this option is not set, it defaults to all DTLS protocols currently supported, more might be configurable, by the SSL application. This option can be overridden diff --git a/lib/ssl/src/ssl.erl b/lib/ssl/src/ssl.erl index 6d00dd39364d..0bfa317cac07 100644 --- a/lib/ssl/src/ssl.erl +++ b/lib/ssl/src/ssl.erl @@ -1776,6 +1776,11 @@ Certificate related options for a server. certificate request message that is sent when the option `verify` is set to `verify_peer`. Defaults to `true`. + If set to `false` for older TLS versions its corresponding certificate authorities + definition in its certificate request will be set to the empty list instead of + including the appropriate certificate authorities. This has the same affect + as excluding the TLS-1.3 extension. + A reason to exclude the extension would be if the server wants to communicate with clients incapable of sending complete certificate chains that adhere to the extension, but the server still has the capability to recreate a chain that it @@ -4080,8 +4085,12 @@ opt_cacerts(UserOpts, #{verify := Verify, log_level := LogLevel, versions := Ver [{verify, verify_peer}, {cacerts, undefined}]), {Where2, CA} = get_opt_bool(certificate_authorities, Role =:= server, UserOpts, Opts), - assert_version_dep(Where2 =:= new, certificate_authorities, Versions, ['tlsv1.3']), - + case Role of + server -> + assert_version_dep(Where2 =:= new, certificate_authorities, Versions, ['tlsv1.3', 'tlsv1.2', 'tlsv1.1', 'tlsv1']); + client -> + assert_version_dep(Where2 =:= new, certificate_authorities, Versions, ['tlsv1.3']) + end, Opts1 = set_opt_new(new, cacertfile, <<>>, CaCertFile, Opts), Opts2 = set_opt_new(Where2, certificate_authorities, Role =:= server, CA, Opts1), Opts2#{cacerts => CaCerts}. diff --git a/lib/ssl/src/ssl_gen_statem.erl b/lib/ssl/src/ssl_gen_statem.erl index 17c5e37bb7bc..cd6ba4fdc28f 100644 --- a/lib/ssl/src/ssl_gen_statem.erl +++ b/lib/ssl/src/ssl_gen_statem.erl @@ -1880,11 +1880,12 @@ log_alert(Level, Role, ProtocolName, StateName, Alert) -> statename => StateName, alert => Alert, alerter => peer}, Alert#alert.where). -terminate_alert(normal) -> - ?ALERT_REC(?WARNING, ?CLOSE_NOTIFY); -terminate_alert({Reason, _}) when Reason == close; - Reason == shutdown -> +terminate_alert(Reason) when Reason == normal; + Reason == shutdown; + Reason == close -> ?ALERT_REC(?WARNING, ?CLOSE_NOTIFY); +terminate_alert({Reason, _}) -> + terminate_alert(Reason); terminate_alert(_) -> ?ALERT_REC(?FATAL, ?INTERNAL_ERROR). diff --git a/lib/ssl/src/ssl_handshake.erl b/lib/ssl/src/ssl_handshake.erl index 519bec936f42..1b7033be2d44 100644 --- a/lib/ssl/src/ssl_handshake.erl +++ b/lib/ssl/src/ssl_handshake.erl @@ -63,7 +63,7 @@ server_hello_done/0, certificate/4, client_certificate_verify/6, - certificate_request/4, + certificate_request/5, key_exchange/3, finished/5, next_protocol/1, @@ -219,19 +219,25 @@ client_certificate_verify([OwnCert|_], MasterSecret, Version, %%-------------------------------------------------------------------- -spec certificate_request(ssl_manager:db_handle(), - ssl_manager:certdb_ref(), #hash_sign_algos{}, ssl_record:ssl_version()) -> - #certificate_request{}. + ssl_manager:certdb_ref(), #hash_sign_algos{}, + ssl_record:ssl_version(), boolean()) -> + #certificate_request{}. %% %% Description: Creates a certificate_request message, called by the server. %%-------------------------------------------------------------------- -certificate_request(CertDbHandle, CertDbRef, HashSigns, Version) -> +certificate_request(CertDbHandle, CertDbRef, HashSigns, Version, IncludeCertAuths) -> Types = certificate_types(Version), - Authorities = certificate_authorities(CertDbHandle, CertDbRef), + Authorities = case IncludeCertAuths of + true -> + certificate_authorities(CertDbHandle, CertDbRef); + false -> + [] + end, #certificate_request{ - certificate_types = Types, - hashsign_algorithms = HashSigns, - certificate_authorities = Authorities - }. + certificate_types = Types, + hashsign_algorithms = HashSigns, + certificate_authorities = Authorities + }. %%-------------------------------------------------------------------- -spec key_exchange(client | server, ssl_record:ssl_version(), {premaster_secret, binary(), public_key_info()} | diff --git a/lib/ssl/src/tls_dtls_server_connection.erl b/lib/ssl/src/tls_dtls_server_connection.erl index 4950cd5df306..d34eead9c8ae 100644 --- a/lib/ssl/src/tls_dtls_server_connection.erl +++ b/lib/ssl/src/tls_dtls_server_connection.erl @@ -660,8 +660,9 @@ request_client_cert(#state{static_env = #static_env{cert_db = CertDbHandle, TLSVersion = ssl:tls_version(Version), HashSigns = ssl_handshake:available_signature_algs(SupportedHashSigns, TLSVersion), + IncludeCertAuths = maps:get(certificate_authorities, Opts, true), Msg = ssl_handshake:certificate_request(CertDbHandle, CertDbRef, - HashSigns, TLSVersion), + HashSigns, TLSVersion, IncludeCertAuths), #state{handshake_env = HsEnv0} = State = Connection:queue_handshake(Msg, State0), HsEnv = HsEnv0#handshake_env{client_certificate_status = requested}, State#state{handshake_env = HsEnv}; diff --git a/lib/ssl/test/ssl_api_SUITE.erl b/lib/ssl/test/ssl_api_SUITE.erl index 121ae9c6d897..9a5e1bd2fa87 100644 --- a/lib/ssl/test/ssl_api_SUITE.erl +++ b/lib/ssl/test/ssl_api_SUITE.erl @@ -2772,6 +2772,7 @@ options_certificate_authorities(_Config) -> ?OK(#{certificate_authorities := true}, [{certificate_authorities, true}], client), ?OK(#{}, [{certificate_authorities, false}], client, [certificate_authorities]), ?OK(#{certificate_authorities := false}, [{certificate_authorities, false}], server), + ?OK(#{certificate_authorities := false}, [{certificate_authorities, false}, {versions, ['tlsv1.2']}], server), ?OK(#{}, [{certificate_authorities, true}], server, [certificate_authorities]), %% Errors diff --git a/lib/ssl/test/ssl_cert_SUITE.erl b/lib/ssl/test/ssl_cert_SUITE.erl index 2b6ea0d434ce..bd37e0831a57 100644 --- a/lib/ssl/test/ssl_cert_SUITE.erl +++ b/lib/ssl/test/ssl_cert_SUITE.erl @@ -131,6 +131,8 @@ signature_algorithms_bad_curve_secp521r1/1, server_certificate_authorities_disabled/0, server_certificate_authorities_disabled/1, + legacy_server_certificate_authorities_disabled/0, + legacy_server_certificate_authorities_disabled/1, cert_auth_in_first_ca/0, cert_auth_in_first_ca/1 ]). @@ -207,7 +209,8 @@ tls_1_3_tests() -> pre_tls_1_3_rsa_tests() -> [ - key_auth_ext_sign_only + key_auth_ext_sign_only, + legacy_server_certificate_authorities_disabled ]. rsa_tests() -> @@ -1405,6 +1408,19 @@ server_certificate_authorities_disabled(Config) -> ssl_test_lib:basic_alert(ClientOpts, ServerOpts, Config, certificate_required), ssl_test_lib:basic_test(ClientOpts, [{certificate_authorities, false} | ServerOpts], Config). +%%-------------------------------------------------------------------- +legacy_server_certificate_authorities_disabled() -> + [{doc,"Test that code pre TLS-1.3 can send an empty list for certificate authorities in the certificate request" + "will be run and not fail, black box verification is not possible without strict legacy client, but code coverage will show that right thing happens"}]. + +legacy_server_certificate_authorities_disabled(Config) -> + Version = proplists:get_value(version,Config), + ClientOpts = ssl_test_lib:ssl_options(client_cert_opts, Config), + ServerOpts = ssl_test_lib:ssl_options(server_cert_opts, Config), + ssl_test_lib:basic_test([{versions, [Version]} | ClientOpts], [{versions, [Version]}, {verify, verify_peer}, + {fail_if_no_peer_cert, true}, + {certificate_authorities, false} | ServerOpts], Config). + %%-------------------------------------------------------------------- %% Internal functions ----------------------------------------------- %%-------------------------------------------------------------------- diff --git a/lib/ssl/test/ssl_gh.spec b/lib/ssl/test/ssl_gh.spec index 2daea557749b..5b00c662ac20 100644 --- a/lib/ssl/test/ssl_gh.spec +++ b/lib/ssl/test/ssl_gh.spec @@ -2,6 +2,7 @@ {alias,dir,"../ssl_test"}. {suites,dir,all}. +{skip_suites,dir,[ssl_upgrade_SUITE], "Versions not always correct"}. {skip_groups,all_nodes, dir, openssl_session_ticket_SUITE, 'openssl_server', {cases,[openssl_server_hrr]},"Unstable testcases"}. {skip_groups,dir,ssl_bench_SUITE,setup,"Benchmarks run separately"}. diff --git a/lib/ssl/test/ssl_trace_SUITE.erl b/lib/ssl/test/ssl_trace_SUITE.erl index d4cd4abf1aeb..af3b37ec2311 100644 --- a/lib/ssl/test/ssl_trace_SUITE.erl +++ b/lib/ssl/test/ssl_trace_SUITE.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2022-2023. All Rights Reserved. +%% Copyright Ericsson AB 2022-2024. 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. @@ -203,9 +203,12 @@ tc_api_profile(Config) -> check_trace_map(Ref, TracesAfterConnect, UnhandledTraceCnt1), ssl_test_lib:close(Server), ssl_test_lib:close(Client), + %% terminate_alert will get called twice by both client and + %% server to strip away Details from {shutdown::Reason, Detatils} + %% before matching the Reason UnhandledTraceCnt2 = - #{call => 0, processed => no_trace_received, exception_from => 0, - return_from => 0}, + #{call => 2, processed => no_trace_received, exception_from => 0, + return_from => 2}, check_trace_map(Ref, TracesAfterDisconnect, UnhandledTraceCnt2), ssl_trace:stop(), ok. diff --git a/lib/ssl/test/tls_1_3_version_SUITE.erl b/lib/ssl/test/tls_1_3_version_SUITE.erl index e8349a0ef91c..7f841681744f 100644 --- a/lib/ssl/test/tls_1_3_version_SUITE.erl +++ b/lib/ssl/test/tls_1_3_version_SUITE.erl @@ -584,6 +584,7 @@ tls13_client_tls11_server(Config) when is_list(Config) -> ServerOpts = [{versions, ['tlsv1']} | ssl_test_lib:ssl_options(server_cert_opts, Config)], ssl_test_lib:basic_alert(ClientOpts, ServerOpts, Config, insufficient_security). + %%-------------------------------------------------------------------- %% Internal functions and callbacks ----------------------------------- %%-------------------------------------------------------------------- diff --git a/lib/ssl/test/tls_api_SUITE.erl b/lib/ssl/test/tls_api_SUITE.erl index a2f4e1d5a777..0e8da54b6c57 100644 --- a/lib/ssl/test/tls_api_SUITE.erl +++ b/lib/ssl/test/tls_api_SUITE.erl @@ -63,6 +63,8 @@ tls_shutdown_both/1, tls_shutdown_error/0, tls_shutdown_error/1, + tls_sup_shutdown/0, + tls_sup_shutdown/1, tls_client_closes_socket/0, tls_client_closes_socket/1, tls_closed_in_active_once/0, @@ -164,6 +166,7 @@ api_tests() -> tls_shutdown_write, tls_shutdown_both, tls_shutdown_error, + tls_sup_shutdown, tls_password_correct, tls_password_incorrect, tls_password_badarg, @@ -797,6 +800,36 @@ tls_tcp_error_propagation_in_active_mode(Config) when is_list(Config) -> ssl_test_lib:check_result(Client, {ssl_closed, SslSocket}). +%%-------------------------------------------------------------------- +tls_sup_shutdown() -> + [{doc,"Test that terminate behaves correctly for exit(shutdown) as done by supervisor at application shutdown"}]. +tls_sup_shutdown(Config) when is_list(Config) -> + ClientOpts = ssl_test_lib:ssl_options(client_rsa_opts, Config), + ServerOpts = ssl_test_lib:ssl_options(server_rsa_opts, Config), + + {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config), + + Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0}, + {from, self()}, + {mfa, {?MODULE, receive_msg, []}}, + {options, ServerOpts}]), + Port = ssl_test_lib:inet_port(Server), + + {_, #sslsocket{pid=[Pid|_]}} = ssl_test_lib:start_client([return_socket, + {node, ClientNode}, {port, Port}, + {host, Hostname}, + {from, self()}, + {mfa, {ssl_test_lib, no_result, []}}, + {options, [{active, false} | ClientOpts]}]), + exit(Pid, shutdown), + + receive + {Server, {ssl_closed, _}} -> + ok; + Msg -> + ct:fail(Msg) + end. + %%-------------------------------------------------------------------- tls_reject_warning_alert_in_initial_hs() -> [{doc,"Test sending warning ALERT instead of client hello"}]. diff --git a/lib/stdlib/doc/notes.md b/lib/stdlib/doc/notes.md index 6544b8fab6ff..6d56f7030820 100644 --- a/lib/stdlib/doc/notes.md +++ b/lib/stdlib/doc/notes.md @@ -63,7 +63,7 @@ This document describes the changes made to the STDLIB application. - The help printout for incorrect `t:io:format/0` strings now handles the `k` modifier correctly. - Own Id: OTP-19146 Aux Id: [PR-8611] [GH-8568] + Own Id: OTP-19146 Aux Id: [PR-8611], [GH-8568] - Fixed a bug that caused the shell completion to crash when keyword and tuple appeared on the same line. @@ -161,7 +161,7 @@ This document describes the changes made to the STDLIB application. - Fixed `m:json` bugs, `json:encode_key_value_list/2` did not generate arrays and `json:decode/3` did not invoke the user callback for `0`. - Own Id: OTP-19106 Aux Id: [PR-8581] [GH-8580] [PR-8519] + Own Id: OTP-19106 Aux Id: [PR-8581], [GH-8580], [PR-8519] [PR-8542]: https://github.com/erlang/otp/pull/8542 [PR-8581]: https://github.com/erlang/otp/pull/8581 @@ -210,7 +210,7 @@ This document describes the changes made to the STDLIB application. - Fix shell expansion to not crash when expanding a map with non-atom keys and to not list zero arity functions when an argument has been given. - Own Id: OTP-19073 Aux Id: [PR-8375] [GH-8366] [GH-8365] [GH-8364] + Own Id: OTP-19073 Aux Id: [PR-8375], [GH-8366], [GH-8365], [GH-8364] [PR-7481]: https://github.com/erlang/otp/pull/7481 [PR-7607]: https://github.com/erlang/otp/pull/7607 @@ -357,7 +357,7 @@ This document describes the changes made to the STDLIB application. - Functions `shell:default_multiline_prompt/1`, `shell:inverted_space_prompt/1`, and `shell:prompt_width/1` have been exported to help with custom prompt implementations. - Own Id: OTP-18834 Aux Id: [PR-7675] [PR-7816] + Own Id: OTP-18834 Aux Id: [PR-7675], [PR-7816] - The shell now pages long output from the documentation help command ([`h(Module)`](`c:h/1`)), auto completions and the search command. @@ -521,6 +521,17 @@ This document describes the changes made to the STDLIB application. [PR-8205]: https://github.com/erlang/otp/pull/8205 [PR-8111]: https://github.com/erlang/otp/pull/8111 +## STDLIB 5.2.3.2 + +### Fixed Bugs and Malfunctions + +* With this change, shutdown procedure handles a race condition between supervisor executing a shutdown and child process termination from other reason. + + Own Id: OTP-19256 Aux Id: PR-8780 +* With this change, uri_string:normalize assumes empty path (do not crash) when no path is provided in the URI map. + + Own Id: OTP-19266 Aux Id: ERIERL-1127, PR-8890 + ## STDLIB 5.2.3.1 ### Fixed Bugs and Malfunctions @@ -1121,6 +1132,17 @@ This document describes the changes made to the STDLIB application. Own Id: OTP-18575 Aux Id: PR-7169 +## STDLIB 4.3.1.5 + +### Fixed Bugs and Malfunctions + +* With this change, shutdown procedure handles a race condition between supervisor executing a shutdown and child process termination from other reason. + + Own Id: OTP-19256 Aux Id: PR-8780 +* With this change, uri_string:normalize assumes empty path (do not crash) when no path is provided in the URI map. + + Own Id: OTP-19266 Aux Id: ERIERL-1127, PR-8890 + ## STDLIB 4.3.1.4 ### Fixed Bugs and Malfunctions diff --git a/lib/stdlib/src/c.erl b/lib/stdlib/src/c.erl index a0f84e1e4929..eb935688a41c 100644 --- a/lib/stdlib/src/c.erl +++ b/lib/stdlib/src/c.erl @@ -585,8 +585,6 @@ purge_and_load(Mod, File, Opts) -> -type cmd_line_arg() :: atom() | string(). -doc """ -lc(Files) -> ok - Compiles a list of files by calling `compile:file(File, [report_errors, report_warnings])` for each `File` in `Files`. @@ -1367,21 +1365,17 @@ get_uptime() -> %% Cross Reference Check %% -doc """ -xm(ModSpec) -> term() - Finds undefined functions, unused functions, and calls to deprecated functions in a module by calling `xref:m/1`. """. -spec xm(module() | file:filename()) -> XRefMRet :: term(). % xref:m/1 return -xm(M) -> - appcall(tools, xref, m, [M]). +xm(ModSpec) -> + appcall(tools, xref, m, [ModSpec]). %% %% Call yecc %% -doc """ -y(File) -> YeccRet - Generates an LALR-1 parser. Equivalent to: ```text @@ -1395,8 +1389,6 @@ For information about `File = name()`, see `m:filename`. For information about y(File) -> y(File, []). -doc """ -y(File, Options) -> YeccRet - Generates an LALR-1 parser. Equivalent to: ```text @@ -1407,8 +1399,8 @@ For information about `File = name()`, see `m:filename`. For information about `Options` and `YeccRet`, see [`yecc:file/2`](`yecc:file/1`). """. -spec y(file:name(), [yecc:option()]) -> YeccFileRet :: yecc:yecc_ret(). % yecc:file/2 return -y(File, Opts) -> - appcall(parsetools, yecc, file, [File, Opts]). +y(File, Options) -> + appcall(parsetools, yecc, file, [File, Options]). %% %% Avoid creating strong components in xref and dialyzer by making calls diff --git a/lib/stdlib/src/dets.erl b/lib/stdlib/src/dets.erl index c07f43bf8945..7f2e382a83ae 100644 --- a/lib/stdlib/src/dets.erl +++ b/lib/stdlib/src/dets.erl @@ -504,11 +504,11 @@ from_ets_fun(LC, ETab) -> Returns information about table `Name` as a list of tuples: - `{file_size, integer() >= 0}}` \- The file size, in bytes. -- `{filename, ``t:file:name/0``}` \- The name of the file where objects are +- `{filename,` `t:file:name/0` `}` \- The name of the file where objects are stored. -- `{keypos, ``t:keypos/0``}` \- The key position. +- `{keypos,` `t:keypos/0` `}` \- The key position. - `{size, integer() >= 0}` \- The number of objects stored in the table. -- `{type, ``t:type/0``}` \- The table type. +- `{type,` `t:type/0` `}` \- The table type. """. -spec info(Name) -> InfoList | 'undefined' when Name :: tab_name(), @@ -531,8 +531,8 @@ info(Tab) -> Returns the information associated with `Item` for table `Name`. In addition to the `{Item, Value}` pairs defined for `info/1`, the following items are allowed: -- `{access, ``t:access/0``}` \- The access mode. -- `{auto_save, ``t:auto_save/0``}` \- The autosave interval. +- `{access,` `t:access/0` `}` \- The access mode. +- `{auto_save,` `t:auto_save/0` `}` \- The autosave interval. - `{bchunk_format, binary()}` \- An opaque binary describing the format of the objects returned by [`bchunk/2`](`bchunk/2`). The binary can be used as argument to @@ -1045,28 +1045,28 @@ second user closes it. Argument `Args` is a list of `{Key, Val}` tuples, where the following values are allowed: -- `{access, ``t:access/0``}` \- Existing tables can be opened in read-only mode. +- `{access,` `t:access/0` `}` \- Existing tables can be opened in read-only mode. A table that is opened in read-only mode is not subjected to the automatic file reparation algorithm if it is later opened after a crash. Defaults to `read_write`. -- `{auto_save, ``t:auto_save/0``}` \- The autosave interval. If the interval is +- `{auto_save,` `t:auto_save/0` `}` \- The autosave interval. If the interval is an integer `Time`, the table is flushed to disk whenever it is not accessed for `Time` milliseconds. A table that has been flushed requires no reparation when reopened after an uncontrolled emulator halt. If the interval is the atom `infinity`, autosave is disabled. Defaults to 180000 (3 minutes). -- `{estimated_no_objects, ``t:no_slots/0``}` \- Equivalent to option +- `{estimated_no_objects,` `t:no_slots/0` `}` \- Equivalent to option `min_no_slots`. -- `{file, ``t:file:name/0``}` \- The name of the file to be opened. Defaults to +- `{file,` `t:file:name/0` `}` \- The name of the file to be opened. Defaults to the table name. -- `{max_no_slots, ``t:no_slots/0``}` \- The maximum number of slots to be used. +- `{max_no_slots,` `t:no_slots/0` `}` \- The maximum number of slots to be used. Defaults to 32 M, which is the maximal value. Notice that a higher value can increase the table fragmentation, and a smaller value can decrease the fragmentation, at the expense of execution time. -- `{min_no_slots, ``t:no_slots/0``}` \- Application performance can be enhanced +- `{min_no_slots,` `t:no_slots/0` `}` \- Application performance can be enhanced with this flag by specifying, when the table is created, the estimated number of different keys to be stored in the table. Defaults to 256, which is the minimum value. -- `{keypos, ``t:keypos/0``}` \- The position of the element of each object to be +- `{keypos,` `t:keypos/0` `}` \- The position of the element of each object to be used as key. Defaults to 1. The ability to explicitly state the key position is most convenient when we want to store Erlang records in which the first position of the record is the name of the record type. @@ -1086,7 +1086,7 @@ allowed: Option `repair` is ignored if the table is already open. -- `{type, ``t:type/0``}` \- The table type. Defaults to `set`. +- `{type,` `t:type/0` `}` \- The table type. Defaults to `set`. """. -spec open_file(Name, Args) -> {'ok', Name} | {'error', Reason} when Name :: tab_name(), @@ -1379,7 +1379,7 @@ the whole table is traversed. Option `traverse` determines how this is done: [`select/3`](`select/3`) given a match specification that matches all objects. -- `{select, ``t:match_spec/0``}` \- As for `select`, the table is traversed by +- `{select,` `t:match_spec/0` `}` \- As for `select`, the table is traversed by calling `dets:select/3` and `dets:select/1`. The difference is that the match specification is specified explicitly. This is how to state match specifications that cannot easily be expressed within the syntax provided by diff --git a/lib/stdlib/src/edlin.erl b/lib/stdlib/src/edlin.erl index 8ff8f5ecdc20..567e47835b54 100644 --- a/lib/stdlib/src/edlin.erl +++ b/lib/stdlib/src/edlin.erl @@ -109,6 +109,9 @@ supports multiple lines. - **`help`** - Display help for the module or function closest on the left of the cursor. +- **`help_full`** - Display the whole help text for the module or function closest on the left of + the cursor. + - **`history_down`** - Move to the next item in the history. - **`history_up`** - Move to the previous item in the history. @@ -260,7 +263,7 @@ keymap() -> {done, continuation(), Rest :: unicode:chardata(), [user_drv:request()]} | {open_editor | format_expression | history_up | history_down | search, Cs :: unicode:chardata(), continuation(), [user_drv:request()]} | - {help | expand | expand_full, + {help | help_full | expand | expand_full, Before :: unicode:chardata(), Cs :: unicode:chardata(), continuation(), [user_drv:request()]} | @@ -382,6 +385,9 @@ edit(Buf, P, {LB, {Bef,Aft}, LA}=MultiLine, {ShellMode1, EscapePrefix}, Rs0) -> help -> {help, chars_before(MultiLine), Cs,{line, P, MultiLine, {help, none}}, reverse(Rs0)}; + help_full -> + {help_full, chars_before(MultiLine), Cs,{line, P, MultiLine, {help, none}}, + reverse(Rs0)}; tab_expand -> {expand, chars_before(MultiLine), Cs, {line, P, MultiLine, {tab_expand, none}}, diff --git a/lib/stdlib/src/edlin_context.erl b/lib/stdlib/src/edlin_context.erl index b4b62339f44b..df84bcf742f3 100644 --- a/lib/stdlib/src/edlin_context.erl +++ b/lib/stdlib/src/edlin_context.erl @@ -114,6 +114,7 @@ get_context([$(|Bef], CR) -> {Bef1, Fun} = edlin_expand:over_word(Bef), case Fun of [] -> {term}; % parenthesis + "fun" -> {fun_}; _ -> case erl_scan:string(Fun) of {ok, [{var, _, _}], _} -> {term}; diff --git a/lib/stdlib/src/edlin_key.erl b/lib/stdlib/src/edlin_key.erl index eecf44ab2e93..504859883179 100644 --- a/lib/stdlib/src/edlin_key.erl +++ b/lib/stdlib/src/edlin_key.erl @@ -188,6 +188,7 @@ key_map() -> #{ "\^[[B" => move_expand_down, "\^[[6~" => scroll_expand_down, "\^[[5~" => scroll_expand_up, + "\^[h" => help_full, default => tab_expand_quit %% go to normal mode and evaluate key input again } }. diff --git a/lib/stdlib/src/erl_eval.erl b/lib/stdlib/src/erl_eval.erl index 0989f43ed9c7..560c56136c8e 100644 --- a/lib/stdlib/src/erl_eval.erl +++ b/lib/stdlib/src/erl_eval.erl @@ -489,9 +489,24 @@ expr({'fun',_Anno,{function,Mod0,Name0,Arity0}}, Bs0, Lf, Ef, RBs, FUVs) -> {[Mod,Name,Arity],Bs} = expr_list([Mod0,Name0,Arity0], Bs0, Lf, Ef, FUVs), F = erlang:make_fun(Mod, Name, Arity), ret_expr(F, Bs, RBs); -expr({'fun',Anno,{function,Name,Arity}}, Bs0, _Lf, Ef, RBs, _FUVs) -> % R8 - %% Don't know what to do... - apply_error(undef, [{?MODULE,Name,Arity}|?STACKTRACE], Anno, Bs0, Ef, RBs); +expr({'fun',Anno,{function,Name,Arity}}, Bs0, Lf, Ef, RBs, FUVs) -> % R8 + case erl_internal:bif(Name, Arity) of + true -> + %% Auto-imported BIF. Create an external fun. + ret_expr(fun erlang:Name/Arity, Bs0, RBs); + false -> + %% A local function assumed to be defined in the shell. + %% Create a wrapper fun that will call the local fun. + %% Calling the fun will succeed if the local fun is + %% defined when the call is made. + Args = [{var,Anno,list_to_atom("@arg" ++ [V])} || + V <- lists:seq($a, $a+Arity-1)], + H = Args, + G = [{atom,Anno,true}], + B = [{call,Anno,{atom,Anno,Name},Args}], + Cs = [{clause,Anno,H,G,B}], + expr({'fun',Anno,{clauses,Cs}}, Bs0, Lf, Ef, RBs, FUVs) + end; expr({'fun',Anno,{clauses,Cs}} = Ex, Bs, Lf, Ef, RBs, FUVs) -> {En,NewFUVs} = fun_used_bindings(Ex, Cs, Bs, FUVs), Info = {Anno,En,Lf,Ef,NewFUVs,Cs}, diff --git a/lib/stdlib/src/ets.erl b/lib/stdlib/src/ets.erl index 86999f426ccd..4f92e3cf053d 100644 --- a/lib/stdlib/src/ets.erl +++ b/lib/stdlib/src/ets.erl @@ -1446,13 +1446,10 @@ select(_) -> -doc """ Matches the objects in table `Table` using a -[match specification](`m:ets#match_spec`). If the match specification returns -`true` for an object, that object considered a match and is counted. For any -other result from the match specification the object is not considered a match -and is therefore not counted. - -This function can be described as a `select_delete/2` function that does not -delete any elements, but only counts them. +[match specification](`m:ets#match_spec`). If and only if the match specification +returns `true` for an object, that object is considered a match and is counted. +For any other result from the match specification the object is not considered a +match and is therefore not counted. The function returns the number of objects matched. """. @@ -1466,10 +1463,10 @@ select_count(_, _) -> -doc """ Matches the objects in table `Table` using a -[match specification](`m:ets#match_spec`). If the match specification returns -`true` for an object, that object is removed from the table. For any other -result from the match specification the object is retained. This is a more -general call than the `match_delete/2` call. +[match specification](`m:ets#match_spec`). If and only if the match +specification returns `true` for an object, that object is removed from the +table. For any other result from the match specification the object is +retained. This is a more general function than `match_delete/2`. The function returns the number of objects deleted from the table. diff --git a/lib/stdlib/src/eval_bits.erl b/lib/stdlib/src/eval_bits.erl index ccd144ad71bf..ca80451949a9 100644 --- a/lib/stdlib/src/eval_bits.erl +++ b/lib/stdlib/src/eval_bits.erl @@ -258,6 +258,23 @@ bin_gen_field_string([C|Cs], Bin0, Bs0, BBs0, Fun) -> done end. +bin_gen_field1(Bin, float, Size, Unit, Sign, Endian, NewV, Bs0, BBs0, Mfun) -> + case catch get_value(Bin, float, Size, Unit, Sign, Endian) of + {Val,<<_/bitstring>>=Rest} -> + case catch Mfun(match, {NewV,Val,Bs0}) of + {match,Bs} -> + BBs = add_bin_binding(Mfun, NewV, Bs, BBs0), + {match,Bs,BBs,Rest}; + _ -> + {nomatch,Rest} + end; + _ -> + case catch get_value(Bin, integer, Size, Unit, Sign, Endian) of + {_,<<_/bitstring>>=Rest} -> + {nomatch,Rest}; + _ -> done + end + end; bin_gen_field1(Bin, Type, Size, Unit, Sign, Endian, NewV, Bs0, BBs0, Mfun) -> case catch get_value(Bin, Type, Size, Unit, Sign, Endian) of {Val,<<_/bitstring>>=Rest} -> diff --git a/lib/stdlib/src/io.erl b/lib/stdlib/src/io.erl index 068c99e996a1..f7e959fcf5a2 100644 --- a/lib/stdlib/src/io.erl +++ b/lib/stdlib/src/io.erl @@ -142,10 +142,10 @@ handled by `user`. """. -type user() :: user. -doc """ -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`). +An I/O device, either `t:standard_io/0`, `t:standard_error/0`, `t:user/0`, a `t:file:io_server/0`, +a registered name, or any pid handling I/O protocols. """. --type device() :: atom() | pid() | standard_io() | standard_error() | user(). +-type device() :: atom() | pid() | file:io_server() | standard_io() | standard_error() | user(). -type prompt() :: atom() | unicode:chardata(). %% ErrorDescription is whatever the I/O-server sends. @@ -494,8 +494,8 @@ The options and values supported by the OTP I/O devices are as follows: functions can handle any of these modes and so should other, user-written, modules behaving as clients to I/O servers. - This option is supported by the standard shell (`group.erl`), the 'oldshell' - (`user.erl`), and the file I/O servers. + This option is supported by the `t:standard_io/0`, `t:user/0` and `t:file:io_server/0` + I/O servers. - **`{echo, boolean()}`** - Denotes if the terminal is to echo input. Only supported for the standard shell I/O server (`group.erl`) diff --git a/lib/stdlib/src/json.erl b/lib/stdlib/src/json.erl index 29c83bcd7bfc..7e1efed9b630 100644 --- a/lib/stdlib/src/json.erl +++ b/lib/stdlib/src/json.erl @@ -51,7 +51,9 @@ standards. The decoder is tested using [JSONTestSuite](https://github.com/nst/JS -export([ format/1, format/2, format/3, - format_value/3 + format_value/3, + format_key_value_list/3, + format_key_value_list_checked/3 ]). -export_type([formatter/0]). @@ -694,17 +696,67 @@ format_tail([Head|Tail], Enc, State, IndentAll, IndentRow) -> format_tail([], _, _, _, _) -> []. +-doc """ +Format function for lists of key-value pairs as JSON objects. + +Accepts lists with atom, binary, integer, or float keys. +""". +-doc(#{since => <<"OTP 27.2">>}). + +-spec format_key_value_list([{term(), term()}], Encode::formatter(), State::map()) -> iodata(). format_key_value_list(KVList, UserEnc, #{level := Level} = State) -> {_,Indent} = indent(State), NextState = State#{level := Level+1}, {KISize, KeyIndent} = indent(NextState), EncKeyFun = fun(KeyVal, _Fun) -> UserEnc(KeyVal, UserEnc, NextState) end, - Entry = fun(Key, Value) -> - EncKey = key(Key, EncKeyFun), - ValState = NextState#{col := KISize + 2 + erlang:iolist_size(EncKey)}, - [$, , KeyIndent, EncKey, ": " | UserEnc(Value, UserEnc, ValState)] - end, - format_object([Entry(Key,Value) || {Key, Value} <- KVList], Indent). + EntryFun = fun({Key, Value}) -> + EncKey = key(Key, EncKeyFun), + ValState = NextState#{col := KISize + 2 + erlang:iolist_size(EncKey)}, + [$, , KeyIndent, EncKey, ": " | UserEnc(Value, UserEnc, ValState)] + end, + format_object(lists:map(EntryFun, KVList), Indent). + +-doc """ +Format function for lists of key-value pairs as JSON objects. + +Accepts lists with atom, binary, integer, or float keys. +Verifies that no duplicate keys will be produced in the +resulting JSON object. + +## Errors + +Raises `error({duplicate_key, Key})` if there are duplicates. +""". +-doc(#{since => <<"OTP 27.2">>}). + +-spec format_key_value_list_checked([{term(), term()}], Encoder::formatter(), State::map()) -> iodata(). +format_key_value_list_checked(KVList, UserEnc, State) when is_function(UserEnc, 3) -> + {_,Indent} = indent(State), + format_object(do_format_checked(KVList, UserEnc, State), Indent). + +do_format_checked([], _, _) -> + []; + +do_format_checked(KVList, UserEnc, #{level := Level} = State) -> + NextState = State#{level := Level + 1}, + {KISize, KeyIndent} = indent(NextState), + EncKeyFun = fun(KeyVal, _Fun) -> UserEnc(KeyVal, UserEnc, NextState) end, + EncListFun = + fun({Key, Value}, {Acc, Visited0}) -> + EncKey = iolist_to_binary(key(Key, EncKeyFun)), + case is_map_key(EncKey, Visited0) of + true -> + error({duplicate_key, Key}); + false -> + Visited1 = Visited0#{EncKey => true}, + ValState = NextState#{col := KISize + 2 + erlang:iolist_size(EncKey)}, + EncEntry = [$, , KeyIndent, EncKey, ": " + | UserEnc(Value, UserEnc, ValState)], + {[EncEntry | Acc], Visited1} + end + end, + {EncKVList, _} = lists:foldl(EncListFun, {[], #{}}, KVList), + lists:reverse(EncKVList). format_object([], _) -> <<"{}">>; format_object([[_Comma,KeyIndent|Entry]], Indent) -> diff --git a/lib/stdlib/src/shell.erl b/lib/stdlib/src/shell.erl index 45d04eddc5a0..8075e658cd76 100644 --- a/lib/stdlib/src/shell.erl +++ b/lib/stdlib/src/shell.erl @@ -1938,8 +1938,6 @@ results(L) when is_integer(L), L >= 0 -> set_env(stdlib, shell_saved_results, L, ?DEF_RESULTS). -doc """ -catch_exception(Bool) -> boolean() - Sets the exception handling of the evaluator process. The previous exception handling is returned. The default (`false`) is to kill the evaluator process when an exception occurs, which causes the shell to create a new evaluator diff --git a/lib/stdlib/src/shell_docs.erl b/lib/stdlib/src/shell_docs.erl index 99d372b8b323..dd9b3680eec1 100644 --- a/lib/stdlib/src/shell_docs.erl +++ b/lib/stdlib/src/shell_docs.erl @@ -75,6 +75,7 @@ be rendered as is. -export_type([chunk_elements/0, chunk_element_attr/0]). -record(config, { docs, + module, encoding, ansi, io_opts = io:getopts(), @@ -442,7 +443,7 @@ get_doc(Module) -> -doc false. -spec get_doc(Module :: module(), Function, Arity) -> - [{{Function,Arity}, Anno, Signature, chunk_elements(), Metadata}] when + [{{function, Function,Arity}, Anno, Signature, chunk_elements(), Metadata}] when Function :: atom(), Arity :: arity(), Anno :: erl_anno:anno(), @@ -450,14 +451,8 @@ get_doc(Module) -> Metadata :: map(). get_doc(Module, Function, Arity) -> {ok, #docs_v1{ docs = Docs } = D} = code:get_doc(Module), - FnFunctions = - lists:filter(fun({{function, F, A},_Anno,_Sig,_Doc,_Meta}) -> - F =:= Function andalso A =:= Arity; - (_) -> - false - end, Docs), - - [{F,A,S,get_local_doc(F,Dc,D),M} || {F,A,S,Dc,M} <- FnFunctions]. + Map = fun ({F,A,S,Dc,M}) -> {F,A,S,get_local_doc(F, Dc, D),M} end, + filtermap_mfa({function, Function, Arity}, Map, Docs). -doc(#{equiv => render(Module, Docs, #{})}). -doc(#{since => <<"OTP 23.0">>}). @@ -467,6 +462,11 @@ get_doc(Module, Function, Arity) -> render(Module, #docs_v1{ } = D) when is_atom(Module) -> render(Module, D, #{}). +config_module(Module, Config) when is_map(Config) -> + Config#{module => Module}; +config_module(Module, #config{}=Config) -> + Config#config{module = Module}. + -doc """ render(Module, DocsOrFunction, ConfigOrDocs) @@ -490,8 +490,9 @@ as `render(Module, Function, Docs)`. Res :: unicode:chardata() | {error,function_missing}. render(Module, #docs_v1{module_doc = ModuleDoc} = D, Config) when is_atom(Module), is_map(Config) -> + Config0 = config_module(Module, Config), render_headers_and_docs([[{h2,[],[<<"\t",(atom_to_binary(Module))/binary>>]}]], - get_local_doc(Module, ModuleDoc, D), D, Config); + get_local_doc(Module, ModuleDoc, D), D, Config0); render(_Module, Function, #docs_v1{ } = D) -> render(_Module, Function, D, #{}). @@ -519,16 +520,11 @@ as `render(Module, Function, Arity, Docs)`. Arity :: arity(), Docs :: docs_v1(), Res :: unicode:chardata() | {error,function_missing}. -render(Module, Function, #docs_v1{docs = Docs} = D, Config) - when is_atom(Module), is_atom(Function), is_map(Config) -> - render_function( - lists:filter(fun({{function, F, _},_Anno,_Sig,_Doc,_Meta}) -> - F =:= Function; - (_) -> - false - end, Docs), D, Config); -render(_Module, Function, Arity, #docs_v1{ } = D) -> - render(_Module, Function, Arity, D, #{}). +render(Module, Function, D, Config) + when is_atom(Module), is_atom(Function), is_map(Config) -> + render_fn(Module, Function, none, D, Config); +render(_Module, Function, Arity, D) -> + render_fn(_Module, Function, Arity, D, #{}). -doc "Render the documentation for a function.". -doc(#{since => <<"OTP 23.2">>}). @@ -539,21 +535,41 @@ render(_Module, Function, Arity, #docs_v1{ } = D) -> Docs :: docs_v1(), Config :: config(), Res :: unicode:chardata() | {error,function_missing}. -render(Module, Function, Arity, #docs_v1{ docs = Docs }=DocV1, Config) - when is_atom(Module), is_atom(Function), is_integer(Arity), is_map(Config) -> - render_function( - lists:filter(fun({{function, F, A},_Anno,_Sig,_Doc,_Meta}) -> - F =:= Function andalso A =:= Arity; - (_) -> - false - end, Docs), DocV1, Config). +render(Module, Function, Arity, #docs_v1{ }=DocV1, Config) + when is_atom(Module), is_atom(Function), is_integer(Arity), is_map(Config) -> + render_fn(Module, Function, Arity, DocV1, Config). + +%% this function resembles render/5 except that the type allows +%% 'Arity :: arity() | none()'. The reason for doing this is to +%% not change existing type specs and to cascade calls from render/2, render/3, +%% and render/4 into a general function that performs all the work. +-spec render_fn(Module, Function, Arity, Docs, Config) -> Res when + Module :: module(), + Function :: atom(), + Arity :: arity() | none, + Docs :: docs_v1(), + Config :: config(), + Res :: unicode:chardata() | {error,function_missing}. +render_fn(Module, Function, Arity, DocV1, Config) -> + renderer(Config, {Module, function, Function, Arity}, DocV1). + +%% general funtion that performs rendering of functions, types, and callback +renderer(Config0, {Module, Kind, Name, Arity}, #docs_v1{ docs = Docs }=DocV1) -> + Config = config_module(Module, Config0), + FnFunctions = filter_mfa({Kind, Name, Arity}, Docs), + Fn = dispatch_renderer(Kind), + Fn(FnFunctions, DocV1, Config). + +dispatch_renderer(function) -> fun render_function/3; +dispatch_renderer(type) -> fun render_typecb_docs/3; +dispatch_renderer(callback) -> fun render_typecb_docs/3. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% API function for dealing with the type documentation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -doc false. -spec get_type_doc(Module :: module(), Type :: atom(), Arity :: arity()) -> - [{{Type,Arity}, Anno, Signature, chunk_elements(), Metadata}] when + [{{type, Type,Arity}, Anno, Signature, chunk_elements(), Metadata}] when Type :: atom(), Arity :: arity(), Anno :: erl_anno:anno(), @@ -561,13 +577,8 @@ render(Module, Function, Arity, #docs_v1{ docs = Docs }=DocV1, Config) Metadata :: map(). get_type_doc(Module, Type, Arity) -> {ok, #docs_v1{ docs = Docs } = D} = code:get_doc(Module), - FnFunctions = - lists:filter(fun({{type, T, A},_Anno,_Sig,_Doc,_Meta}) -> - T =:= Type andalso A =:= Arity; - (_) -> - false - end, Docs), - [{F,A,S,get_local_doc(F, Dc, D),M} || {F,A,S,Dc,M} <- FnFunctions]. + Map = fun ({F,A,S,Dc,M}) -> {F,A,S,get_local_doc(F, Dc, D),M} end, + filtermap_mfa({type, Type, Arity}, Map, Docs). -doc(#{equiv => render_type(Module, Docs, #{})}). -doc(#{since => <<"OTP 23.0">>}). @@ -575,7 +586,58 @@ get_type_doc(Module, Type, Arity) -> Module :: module(), Docs :: docs_v1(). render_type(Module, D) -> - render_type(Module, D, #{}). + render_type(Module, D, #{}). + +%% extract AST raw type specifications. +extract_type_specs(Module) -> + maybe + Path = find_path(Module), + true ?= non_existing =/= Path, + {ok, {_ModName, + [{debug_info, + {debug_info_v1,erl_abstract_code, + {AST, _Opts}}}]}} ?= beam_lib:chunks(Path, [debug_info]), + + %% the mapping keys 'type', 'function', and 'callback' correspond + %% to existing EEP-48 {**Kind**, Name, Arity} format, where Kind + %% ranges over these values. This is needed to differentiate + %% function, callback, and types when looking up their type specs + Acc = #{type => #{}, 'function' => #{}, 'callback' => #{}}, + lists:foldl(fun filter_exported_types/2, Acc, AST) + else + false -> #{}; % when non_existing =/= Path, + {error,beam_lib,{file_error,_,_}} -> #{} % from beam_lib:chunks/1 + end. + +-spec find_path(Mod :: module()) -> non_existing | file:filename_all(). +find_path(Module) -> + maybe + preloaded ?= code:which(Module), + PreloadedPath = filename:join(code:lib_dir(erts),"ebin"), + filename:join(PreloadedPath, atom_to_list(Module) ++ ".beam") + else + Other -> Other + end. + +%% +%% Raw Abstract syntax tree maps: +%% - type => type, +%% - opaque => type, +%% - spec => function +%% - callback => callback +%% +filter_exported_types({attribute, _An, Type, {Name,_Rhs,Lhs}}=Spec, #{type := Types}=Acc) + when Type =:= type; Type =:= opaque -> + Acc#{type => Types#{{Name, length(Lhs)} => Spec}}; +filter_exported_types({attribute, _An, spec, {{Name,Arity}, _}}=Spec, #{function := Types}=Acc) -> + Acc#{function => Types#{{Name, Arity} => Spec}}; +filter_exported_types({attribute, _An, spec, {{_Mod,Name,_Arity}, Args}}, Acc) -> + filter_exported_types({attribute, _An, spec, {{Name,_Arity}, Args}}, Acc); +filter_exported_types({attribute, _An, callback, {{Name,Arity}, _}}=Spec, #{callback := Types}=Acc) -> + Acc#{function => Types#{{Name, Arity} => Spec}}; +filter_exported_types(_, Acc) -> + Acc. + -doc """ render_type(Module, DocsOrType, ConfigOrDocs) @@ -621,15 +683,10 @@ as `render_type(Module, Type, Arity, Docs)`. Module :: module(), Type :: atom(), Arity :: arity(), Docs :: docs_v1(), Res :: unicode:chardata() | {error, type_missing}. -render_type(_Module, Type, #docs_v1{ docs = Docs } = D, Config) -> - render_typecb_docs( - lists:filter(fun({{type, T, _},_Anno,_Sig,_Doc,_Meta}) -> - T =:= Type; - (_) -> - false - end, Docs), D, Config); +render_type(_Module, Type, #docs_v1{ } = D, Config) -> + render_typecb(_Module, Type, none, D, Config); render_type(_Module, Type, Arity, #docs_v1{ } = D) -> - render_type(_Module, Type, Arity, D, #{}). + render_typecb(_Module, Type, Arity, D, #{}). -doc "Render the documentation of a type in a module.". -doc(#{since => <<"OTP 23.2">>}). @@ -638,20 +695,18 @@ render_type(_Module, Type, Arity, #docs_v1{ } = D) -> Docs :: docs_v1(), Config :: config(), Res :: unicode:chardata() | {error, type_missing}. -render_type(_Module, Type, Arity, #docs_v1{ docs = Docs } = D, Config) -> - render_typecb_docs( - lists:filter(fun({{type, T, A},_Anno,_Sig,_Doc,_Meta}) -> - T =:= Type andalso A =:= Arity; - (_) -> - false - end, Docs), D, Config). +render_type(_Module, Type, Arity, #docs_v1{ } = D, Config) -> + render_typecb(_Module, Type, Arity, D, Config). + +render_typecb(_Module, Type, Arity, #docs_v1{ } = D, Config) -> + renderer(Config, {_Module, type, Type, Arity}, D). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% API function for dealing with the callback documentation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -doc false. -spec get_callback_doc(Module :: module(), Callback :: atom(), Arity :: arity()) -> - [{{Callback,Arity}, Anno, Signature, chunk_elements(), Metadata}] when + [{{callback,Callback,Arity}, Anno, Signature, chunk_elements(), Metadata}] when Callback :: atom(), Arity :: arity(), Anno :: erl_anno:anno(), @@ -659,13 +714,8 @@ render_type(_Module, Type, Arity, #docs_v1{ docs = Docs } = D, Config) -> Metadata :: map(). get_callback_doc(Module, Callback, Arity) -> {ok, #docs_v1{ docs = Docs } = D} = code:get_doc(Module), - FnFunctions = - lists:filter(fun({{callback, T, A},_Anno,_Sig,_Doc,_Meta}) -> - T =:= Callback andalso A =:= Arity; - (_) -> - false - end, Docs), - [{F,A,S,get_local_doc(F, Dc, D),M} || {F,A,S,Dc,M} <- FnFunctions]. + Map = fun ({F,A,S,Dc,M}) -> {F,A,S,get_local_doc(F, Dc, D),M} end, + filtermap_mfa({callback, Callback, Arity}, Map, Docs). -doc(#{equiv => render_callback(Module, Docs, #{})}). -doc(#{since => <<"OTP 23.0">>}). @@ -720,14 +770,9 @@ as `render_callback(Module, Callback, Arity, Docs)`. Docs :: docs_v1(), Res :: unicode:chardata() | {error, callback_missing}. render_callback(_Module, Callback, Arity, #docs_v1{ } = D) -> - render_callback(_Module, Callback, Arity, D, #{}); -render_callback(_Module, Callback, #docs_v1{ docs = Docs } = D, Config) -> - render_typecb_docs( - lists:filter(fun({{callback, T, _},_Anno,_Sig,_Doc,_Meta}) -> - T =:= Callback; - (_) -> - false - end, Docs), D, Config). + render_cb(_Module, Callback, Arity, D, #{}); +render_callback(_Module, Callback, #docs_v1{ } = D, Config) -> + render_cb(_Module, Callback, none, D, Config). -doc "Render the documentation of a callback in a module.". -doc(#{since => <<"OTP 23.2">>}). @@ -736,13 +781,12 @@ render_callback(_Module, Callback, #docs_v1{ docs = Docs } = D, Config) -> Docs :: docs_v1(), Config :: config(), Res :: unicode:chardata() | {error, callback_missing}. -render_callback(_Module, Callback, Arity, #docs_v1{ docs = Docs } = D, Config) -> - render_typecb_docs( - lists:filter(fun({{callback, T, A},_Anno,_Sig,_Doc,_Meta}) -> - T =:= Callback andalso A =:= Arity; - (_) -> - false - end, Docs), D, Config). +render_callback(_Module, Callback, Arity, #docs_v1{ } = D, Config) -> + render_cb(_Module, Callback, Arity, D, Config). + +render_cb(_Module, Type, Arity, #docs_v1{ } = D, Config) -> + renderer(Config, {_Module, callback, Type, Arity}, D). + %% Get the docs in the correct locale if it exists. -spec get_local_doc(atom() | tuple() | binary(), Docs, D) -> term() when @@ -780,65 +824,60 @@ render_function([], _D, _Config) -> {error,function_missing}; render_function(FDocs, D, Config) when is_map(Config) -> render_function(FDocs, D, init_config(D, Config)); -render_function(FDocs, #docs_v1{ docs = Docs } = DocV1, Config) -> +render_function(FDocs, #docs_v1{ docs = Docs } = D, Config) -> + GlobalSpecs = extract_type_specs(Config#config.module), Grouping = - lists:foldl( + lists:foldr( 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] + false -> [{Group, [Func], render_signature(Func, GlobalSpecs)} | Acc]; + {value, {Group, Members, Sigs}, NewAcc} -> + [{Group, [Func | Members], render_signature(Func, GlobalSpecs) ++ Sigs} | NewAcc] end; ({Group, _Anno, _Sig, _Doc, _Meta} = Func, Acc) -> - [{Group, [Func]} | Acc] + [{Group, [Func], render_signature(Func, GlobalSpecs)} | 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)), - case lists:search(fun({_,_,_,Doc,_}) -> - Doc =/= #{} - end, Members) of - {value, {_,_,_,Doc,_Meta}} -> - render_headers_and_docs( - Signatures, get_local_doc(Group, Doc, DocV1), DocV1, Config); - false -> - case lists:keyfind(Group, 1, Docs) of + fun({Group, Members, Signatures}) -> + Docs0 = case lists:search(fun({_,_,_,Doc,_}) -> + Doc =/= #{} + end, Members) of + {value, {_,_,_,Doc,_Meta}} -> Doc; false -> - render_headers_and_docs( - Signatures, get_local_doc(Group, none, DocV1), DocV1, Config); - {_,_,_,Doc,_} -> - render_headers_and_docs( - Signatures, get_local_doc(Group, Doc, DocV1), DocV1, Config) - end - end - end, lists:reverse(Grouping)). + case lists:keyfind(Group, 1, Docs) of + false -> none; + {_,_,_,Doc,_} -> Doc + end + end, + render_headers_and_docs( + Signatures, get_local_doc(Group, Docs0, D), D, Config) + end, Grouping). %% Render the signature of either function, type, or anything else really. -render_signature({{_Type,_F,_A},_Anno,_Sigs,_Docs,#{ signature := Specs } = Meta}) -> - lists:flatmap( - fun(ASTSpec) -> - PPSpec = erl_pp:attribute(ASTSpec,[{encoding,unicode}]), - Spec = - case ASTSpec of - {_Attribute, _Line, opaque, _} -> - %% We do not want show the internals of the opaque type - hd(string:split(PPSpec,"::")); - _ -> - PPSpec - end, - BinSpec = - unicode:characters_to_binary( - string:trim(Spec, trailing, "\n")), - [{pre,[],[{strong,[],BinSpec}]}|render_meta(Meta)] - end, Specs); -render_signature({{_Type,_F,_A},_Anno,Sigs,_Docs,Meta}) -> - lists:flatmap( - fun(Sig) -> - [{h2,[],[<<"  "/utf8,Sig/binary>>]}|render_meta(Meta)] - end, Sigs). +render_signature({{_Type,_F,_A},_Anno,_Sigs,_Docs,#{ signature := Specs } = Meta}, _ASTSpecs) -> + lists:map( fun render_ast/1,Specs) ++ [render_meta(Meta)]; +render_signature({{Type,F,A},_Anno,Sigs,_Docs,Meta}, Specs) -> + case maps:find({F, A}, maps:get(Type, Specs, #{})) of + {ok, Spec} -> + [render_ast(Spec) | render_meta(Meta)]; + error -> + lists:map(fun(Sig) -> {h2,[],[<<"  "/utf8,Sig/binary>>]} end, Sigs) ++ [render_meta(Meta)] + end. + +render_ast(AST) -> + PPSpec = erl_pp:attribute(AST,[{encoding,unicode}]), + Spec = case AST of + {_Attribute, _Line, opaque, _} -> + %% We do not want show the internals of the opaque type + hd(string:split(PPSpec,"::")); + _ -> + PPSpec + end, + BinSpec = unicode:characters_to_binary(string:trim(Spec, trailing, "\n")), + {pre,[],[{strong,[],BinSpec}]}. render_meta(M) -> case render_meta_(M) of @@ -869,33 +908,36 @@ render_headers_and_docs(Headers, DocContents, #config{} = Config) -> %%% Functions for rendering type/callback documentation render_signature_listing(Module, Type, D, Config) when is_map(Config) -> render_signature_listing(Module, Type, D, init_config(D, Config)); -render_signature_listing(Module, Type, #docs_v1{ docs = Docs } = D, Config) -> +render_signature_listing(Module, Type, #docs_v1{ docs = Docs, module_doc = MD } = D, #config{}=Config) -> + Config0 = config_module(Module, Config), Slogan = [{h2,[],[<<"\t",(atom_to_binary(Module))/binary>>]},{br,[],[]}], case lists:filter(fun({{T, _, _},_Anno,_Sig,_Doc,_Meta}) -> - Type =:= T + Type =:= T andalso is_map(MD) end, Docs) of [] -> render_docs( Slogan ++ [<<"There are no ",(atom_to_binary(Type))/binary,"s " - "in this module">>], D, Config); + "in this module">>], D, Config0); Headers -> + Specs = extract_type_specs(Module), Hdr = lists:flatmap( fun(Header) -> - [{br,[],[]},render_signature(Header)] + [{br,[],[]},render_signature(Header, Specs)] end,Headers), render_docs( Slogan ++ [{p,[],[<<"These ",(atom_to_binary(Type))/binary,"s " "are documented in this module:">>]}, - {br,[],[]}, Hdr], D, Config) + {br,[],[]}, Hdr], D, Config0) end. render_typecb_docs([], _C) -> {error,type_missing}; render_typecb_docs(TypeCBs, #config{} = C) when is_list(TypeCBs) -> [render_typecb_docs(TypeCB, C) || TypeCB <- TypeCBs]; -render_typecb_docs({F,_,_Sig,Docs,_Meta} = TypeCB, #config{docs = D} = C) -> - render_headers_and_docs(render_signature(TypeCB), get_local_doc(F,Docs,D), C). +render_typecb_docs({F,_,_Sig,Docs,_Meta} = TypeCB, #config{docs = D, module=Mod} = C) -> + Specs = extract_type_specs(Mod), + render_headers_and_docs(render_signature(TypeCB, Specs), get_local_doc(F,Docs,D), C). render_typecb_docs(Docs, D, Config) -> render_typecb_docs(Docs, init_config(D, Config)). @@ -931,7 +973,8 @@ init_config(D, Config) when is_map(Config) -> #config{ docs = D, encoding = maps:get(encoding, Config, DefaultEncoding), ansi = maps:get(ansi, Config, undefined), - columns = Columns + columns = Columns, + module = maps:get(module, Config, undefined) }; init_config(D, Config) -> Config#config{ docs = D }. @@ -1267,3 +1310,21 @@ ansi(Curr) -> [bold,underline] -> "\033[;1;4m" end. + +filtermap_mfa({MetaKind, Function, none}, Map, Docs) -> + [Map(D) || {{MK, F, _},_Anno,_Sig,_Doc,_Meta}=D <- Docs, MK =:= MetaKind andalso F =:= Function]; +filtermap_mfa({MetaKind, Function, Arity}, Map, Docs) -> + [Map(D) || {{MK, F, A},_Anno,_Sig,_Doc,_Meta}=D <- Docs, MK =:= MetaKind andalso F =:= Function andalso Arity =:= A]. + + +%% +%% This function is necessary for a single case. +%% shell_docs_SUITE:render_smoke is 40 seconds faster if we use this one, +%% instead of using a filermap_mfa(_, IdentityFunction, Docs) where +%% IdentityFunction = fun(X) -> X end. +%% Removes one more pointer. +%% +filter_mfa({MetaKind, Function, none}, Docs) -> + [D || {{MK, F, _},_Anno,_Sig,_Doc,_Meta}=D <- Docs, MK =:= MetaKind andalso F =:= Function]; +filter_mfa({MetaKind, Function, Arity}, Docs) -> + [D || {{MK, F, A},_Anno,_Sig,_Doc,_Meta}=D <- Docs, MK =:= MetaKind andalso F =:= Function andalso Arity =:= A]. diff --git a/lib/stdlib/src/timer.erl b/lib/stdlib/src/timer.erl index 999bb23965ed..e8c1a78e9c48 100644 --- a/lib/stdlib/src/timer.erl +++ b/lib/stdlib/src/timer.erl @@ -38,6 +38,11 @@ module has been improved in OTP 25, making it more efficient and less susceptible to being overloaded. See [the Timer Module section in the Efficiency Guide](`e:system:commoncaveats.md#timer-module`). +For more information on timers in Erlang in general, see the +[*Timers*](`e:erts:time_correction.md#timers`) section of the +[*Time and Time Correction in Erlang*](`e:erts:time_correction.md`) +ERTS User's guide. + ## Examples _Example 1_ diff --git a/lib/stdlib/test/edlin_context_SUITE.erl b/lib/stdlib/test/edlin_context_SUITE.erl index 9c50978c9d6f..524874830cc7 100644 --- a/lib/stdlib/test/edlin_context_SUITE.erl +++ b/lib/stdlib/test/edlin_context_SUITE.erl @@ -192,4 +192,6 @@ get_context(_Config) -> {term} = edlin_context:get_context(lists:reverse("Foo/")), {term} = edlin_context:get_context(lists:reverse("a/")), {term} = edlin_context:get_context(lists:reverse("Foo(")), + {fun_} = edlin_context:get_context(lists:reverse("fun(")), + {fun_} = edlin_context:get_context(lists:reverse("maps:map(fun(")), ok. \ No newline at end of file diff --git a/lib/stdlib/test/erl_eval_SUITE.erl b/lib/stdlib/test/erl_eval_SUITE.erl index e28dd788bb9b..e1486dba246b 100644 --- a/lib/stdlib/test/erl_eval_SUITE.erl +++ b/lib/stdlib/test/erl_eval_SUITE.erl @@ -56,7 +56,8 @@ otp_16865/1, eep49/1, binary_and_map_aliases/1, - eep58/1]). + eep58/1, + binary_skip/1]). %% %% Define to run outside of test server @@ -68,6 +69,7 @@ -export([count_down/2, count_down_fun/0, do_apply/2, local_func/3, local_func_value/2]). -export([simple/0]). +-export([my_div/2]). -ifdef(STANDALONE). -define(config(A,B),config(A,B)). @@ -97,7 +99,7 @@ all() -> otp_8133, otp_10622, otp_13228, otp_14826, funs, custom_stacktrace, try_catch, eval_expr_5, zero_width, eep37, eep43, otp_15035, otp_16439, otp_14708, otp_16545, otp_16865, - eep49, binary_and_map_aliases, eep58]. + eep49, binary_and_map_aliases, eep58, binary_skip]. groups() -> []. @@ -1217,8 +1219,6 @@ custom_stacktrace(Config) when is_list(Config) -> backtrace_check("#unknown.index.", {undef_record,unknown}, [erl_eval, mystack(1)], none, EFH), - backtrace_check("fun foo/2.", undef, - [{erl_eval, foo, 2}, erl_eval, mystack(1)], none, EFH), backtrace_check("foo(1, 2).", undef, [{erl_eval, foo, 2}, erl_eval, mystack(1)], none, EFH), @@ -1369,7 +1369,6 @@ funs(Config) when is_list(Config) -> error_check("begin F = fun(T) -> timer:sleep(T) end,F(1) end.", got_it, none, AnnEFH), - error_check("fun c/1.", undef), error_check("fun a:b/0().", undef), MaxArgs = 20, @@ -1387,8 +1386,36 @@ funs(Config) when is_list(Config) -> %% Test that {M,F} is not accepted as a fun. error_check("{" ?MODULE_STRING ",module_info}().", {badfun,{?MODULE,module_info}}), + + %% Test defining and calling a fun based on an auto-imported BIF. + check(fun() -> + F = fun is_binary/1, + true = F(<<>>), + false = F(a) + end, + ~S""" + F = fun is_binary/1, + true = F(<<>>), + false = F(a). + """, + false, ['F'], lfh(), none), + + %% Test defining and calling a local fun defined in the shell. + check(fun() -> + D = fun my_div/2, + 3 = D(15, 5) + end, + ~S""" + D = fun my_div/2, + 3 = D(15, 5). + """, + 3, ['D'], lfh(), efh()), + ok. +my_div(A, B) -> + A div B. + run_many_args({S, As}) -> apply(eval_string(S), As) =:= As. @@ -2030,6 +2057,18 @@ eep58(Config) when is_list(Config) -> ok. +binary_skip(Config) when is_list(Config) -> + check(fun() -> X = 32, [X || <> <= <<-1:64, 0:64, 0:64, 0:64>>] end, + "begin X = 32, [X || <> <= <<-1:64, 0:64, 0:64, 0:64>>] end.", + [+0.0,+0.0,+0.0]), + check(fun() -> X = 32, [X || <> <= <<0:64, -1:64, 0:64, 0:64>>] end, + "begin X = 32, [X || <> <= <<0:64, -1:64, 0:64, 0:64>>] end.", + [+0.0,+0.0,+0.0]), + check(fun() -> [a || <<0:64/float>> <= <<0:64, 1:64, 0:64, 0:64>> ] end, + "begin [a || <<0:64/float>> <= <<0:64, 1:64, 0:64, 0:64>> ] end.", + [a,a,a]), + ok. + %% Check the string in different contexts: as is; in fun; from compiled code. check(F, String, Result) -> check1(F, String, Result), diff --git a/lib/stdlib/test/json_SUITE.erl b/lib/stdlib/test/json_SUITE.erl index 3ac56f1ed284..70f92848fe19 100644 --- a/lib/stdlib/test/json_SUITE.erl +++ b/lib/stdlib/test/json_SUITE.erl @@ -39,6 +39,7 @@ test_encode_proplist/1, test_encode_escape_all/1, test_format_list/1, + test_format_proplist/1, test_format_map/1, test_format_fun/1, test_decode_atoms/1, @@ -91,6 +92,7 @@ groups() -> ]}, {format, [parallel], [ test_format_list, + test_format_proplist, test_format_map, test_format_fun ]}, @@ -367,6 +369,186 @@ test_format_list(_Config) -> ?assertEqual(ListString, format([~"foo", ~"bar", ~"baz"], #{indent => 3})), ok. +test_format_proplist(_Config) -> + Formatter = fun({kvlist, KVList}, Fun, State) -> + json:format_key_value_list(KVList, Fun, State); + ({kvlist_checked, KVList}, Fun, State) -> + json:format_key_value_list_checked(KVList, Fun, State); + (Other, Fun, State) -> + json:format_value(Other, Fun, State) + end, + + ?assertEqual(~""" + { + "a": 1, + "b": "str" + } + + """, format({kvlist, [{a, 1}, {b, ~"str"}]}, Formatter)), + + ?assertEqual(~""" + { + "a": 1, + "b": "str" + } + + """, format({kvlist_checked, [{a, 1}, {b, ~"str"}]}, Formatter)), + + ?assertEqual(~""" + { + "10": 1.0, + "1.0": 10, + "a": "αβ", + "αβ": "a" + } + + """, format({kvlist, [{10, 1.0}, + {1.0, 10}, + {a, ~"αβ"}, + {~"αβ", a} + ]}, Formatter)), + + ?assertEqual(~""" + { + "10": 1.0, + "1.0": 10, + "a": "αβ", + "αβ": "a" + } + + """, format({kvlist_checked, [{10, 1.0}, + {1.0, 10}, + {a, ~"αβ"}, + {~"αβ", a} + ]}, Formatter)), + + ?assertEqual(~""" + { + "a": 1, + "b": { + "aa": 10, + "bb": 20 + }, + "c": "str" + } + + """, format({kvlist, [{a, 1}, + {b, {kvlist, [{aa, 10}, {bb, 20}]}}, + {c, ~"str"} + ]}, Formatter)), + + ?assertEqual(~""" + [{ + "a1": 1, + "b1": [{ + "a11": 1, + "b11": 2 + },{ + "a12": 3, + "b12": 4 + }], + "c1": "str1" + }, + { + "a2": 2, + "b2": [{ + "a21": 5, + "b21": 6 + },{ + "a22": 7, + "b22": 8 + }], + "c2": "str2" + }] + + """, format([{kvlist, [{a1, 1}, + {b1, [{kvlist, [{a11, 1}, {b11, 2}]}, + {kvlist, [{a12, 3}, {b12, 4}]} + ]}, + {c1, ~"str1"} + ]}, + {kvlist, [{a2, 2}, + {b2, [{kvlist, [{a21, 5}, {b21, 6}]} + ,{kvlist, [{a22, 7}, {b22, 8}]} + ]}, + {c2, ~"str2"} + ]} + ], Formatter)), + + ?assertEqual(~""" + { + "a": 1, + "b": { + "aa": 10, + "bb": 20 + }, + "c": "str" + } + + """, format({kvlist_checked, [{a, 1}, + {b, {kvlist_checked, [{aa, 10}, {bb,20}]}}, + {c, ~"str"} + ]}, Formatter)), + + ?assertEqual(~""" + [{ + "a1": 1, + "b1": [{ + "a11": 1, + "b11": 2 + },{ + "a12": 3, + "b12": 4 + }], + "c1": "str1" + }, + { + "a2": 2, + "b2": [{ + "a21": 5, + "b21": 6 + },{ + "a22": 7, + "b22": 8 + }], + "c2": "str2" + }] + + """, format([{kvlist_checked, + [{a1, 1}, + {b1, [{kvlist_checked, [{a11, 1}, {b11, 2}]}, + {kvlist_checked, [{a12, 3}, {b12, 4}]} + ]}, + {c1, ~"str1"} + ]}, + {kvlist_checked, + [{a2, 2}, + {b2, [{kvlist_checked, [{a21, 5}, {b21, 6}]} + ,{kvlist_checked, [{a22, 7}, {b22, 8}]} + ]}, + {c2, ~"str2"} + ]} + ], Formatter)), + + + ?assertError({duplicate_key, a}, + format({kvlist_checked, [{a, 1}, {b, ~"str"}, {a, 2}]}, Formatter)), + + %% on invalid input exact error is not specified + ?assertError(_, format({kvlist, [{a, 1}, b]}, Formatter)), + + ?assertError(_, format({kvlist, x}, Formatter)), + + ?assertError(_, format({kvlist, [{#{}, 1}]}, Formatter)), + + ?assertError(_, format({kvlist_checked, [{a, 1}, b]}, Formatter)), + + ?assertError(_, format({kvlist_checked, x}, Formatter)), + + ?assertError(_, format({kvlist_checked, [{#{}, 1}]}, Formatter)), + + ok. + test_format_map(_Config) -> ?assertEqual(~'{}\n', format(#{})), ?assertEqual(~'{ "key": "val" }\n', format(#{key => val})), diff --git a/lib/stdlib/test/shell_SUITE.erl b/lib/stdlib/test/shell_SUITE.erl index 6d41b002dc56..9b50f8cee370 100644 --- a/lib/stdlib/test/shell_SUITE.erl +++ b/lib/stdlib/test/shell_SUITE.erl @@ -3318,7 +3318,8 @@ whereis(_Config) -> %% Test that shell:whereis() works with JCL in newshell rtnode:run( - [{expect,"1> $"}, + [{putline, ""}, + {expect,"1> $"}, {putline,"shell:whereis()."}, {expect,"2> $"}, {eval,fun() -> diff --git a/lib/stdlib/test/shell_docs_SUITE.erl b/lib/stdlib/test/shell_docs_SUITE.erl index dd613d15eb91..4f4745085c77 100644 --- a/lib/stdlib/test/shell_docs_SUITE.erl +++ b/lib/stdlib/test/shell_docs_SUITE.erl @@ -17,26 +17,37 @@ %% %% %CopyrightEnd% %% + -module(shell_docs_SUITE). +-moduledoc false. + -export([all/0, suite/0, groups/0, init_per_suite/1, end_per_suite/1, init_per_group/2, end_per_group/2]). --export([render/1, render_smoke/1, links/1, normalize/1, render_prop/1, - render_non_native/1]). +-export([render/1, links/1, normalize/1, render_prop/1,render_non_native/1]). +-export([render_function/1, render_type/1, render_callback/1]). -export([render_all/1, update_render/0, update_render/1]). +-export([execute/3]). + -include_lib("kernel/include/eep48.hrl"). -include_lib("stdlib/include/assert.hrl"). suite() -> - [{timetrap,{minutes,20}}]. + [{timetrap,{minutes,30}}]. all() -> - [render_smoke, render, render_non_native, links, normalize, {group, prop}]. + [ {group, render}, + {group, prop}, + {group, render_smoke} + ]. groups() -> - [{prop,[],[render_prop]}]. + [ {prop,[],[render_prop]}, + {render, [], [render, render_non_native, links, normalize]}, + {render_smoke, [], [render_function, render_type, render_callback]} + ]. %% Include a spec here in order to test that specs of undocumented functions %% is rendered correctly. @@ -79,7 +90,6 @@ render(Config) -> lists:foreach( fun(Module) -> - {ok, [D]} = file:consult(filename:join(DataDir, atom_to_list(Module) ++ ".docs_v1")), maps:map( fun(FName, Current) -> case file:read_file(filename:join(DataDir,FName)) of @@ -95,7 +105,7 @@ render(Config) -> %% available on windows. ok end - end, render_module(Module, D)) + end, render_module(Module, DataDir)) end, ?RENDER_MODULES). update_render() -> @@ -106,76 +116,192 @@ update_render(DataDir) -> lists:foreach( fun(Module) -> case code:get_doc(Module) of - {ok, D} -> + {ok, Docs} -> + NewEntries = + case beam_lib:chunks(find_path(Module),[abstract_code]) of + {ok,{Module,[{abstract_code,{raw_abstract_v1,AST}}]}} -> + lists:map(fun({{Type, F, A}, Anno, Sig, #{} = Doc, Meta} = E) -> + + case lists:search( + fun({attribute, _, spec, {FA, _}}) when Type =:= function -> + FA =:= {F,A}; + ({attribute, _, What, {Name, _, Args}}) when What =:= Type; What =:= opaque andalso Type =:= type -> + {Name,length(Args)} =:= {F,A}; + (_) -> + false + end, AST) of + {value, Signature} -> + {{Type, F, A}, Anno, Sig, Doc, Meta#{ specification => [Signature] }}; + _ -> throw({did_not_find, E}) + end; + (E) -> E + + end, Docs#docs_v1.docs); + {ok,{shell_docs_SUITE,[{abstract_code,no_abstract_code}]}} -> + Docs#docs_v1.docs + end, + ok = file:write_file( filename:join(DataDir, atom_to_list(Module) ++ ".docs_v1"), - io_lib:format("~w.",[D])), - maps:map( - fun(FName, Output) -> - ok = file:write_file(filename:join(DataDir, FName), Output) - end, render_module(Module, D)); - E -> - io:format("Error processing: ~p ~p",[Module, E]) - end + io_lib:format("~w.",[Docs#docs_v1{ docs = NewEntries }])); + {error, _} -> + ok + end, + maps:map( + fun(FName, Output) -> + ok = file:write_file(filename:join(DataDir, FName), Output) + end, render_module(Module, DataDir)) end, ?RENDER_MODULES). -render_smoke(_Config) -> +find_path(Module) -> + maybe + preloaded ?= code:which(Module), + PreloadedPath = filename:join(code:lib_dir(erts),"ebin"), + filename:join(PreloadedPath, atom_to_list(Module) ++ ".beam") + else + Other -> Other + end. + +handle_error({error,_}) -> + ok; +handle_error(Doc) -> + unicode:characters_to_binary(Doc). + +only_if_smp(Func) -> + only_if_smp(4, Func). +only_if_smp(Schedulers, Func) -> + case erlang:system_info(schedulers_online) of + N when N < Schedulers -> {skip,"Too few schedulers online"}; + _ -> Func() + end. + +%% +%% Render function +%% +%% This function tests that OTP code base can print its documentation +%% in the shell. It is a time consuming operation that can take +%% up-to 40 - 50 min if run in a single processor (1 scheduler config) machine. +%% +%% Skip the test case when running in a machine with not enough SMP. +%% +%% OBS. render_type/render_callback have shorter times and do not need +%% to be skipped, regardless of the number of available schedulers. +%% +render_function(_Config) -> + only_if_smp(fun render_function_do/0). + +render_function_do() -> docsmap( - fun(Mod, #docs_v1{ docs = Docs } = D) -> - lists:foreach( + fun(Mod, D) -> + DHTML = markdown_to_shelldoc(D), + Exports = try Mod:module_info(exports) + catch _:undef -> [] + end, %% nif file not available on this platform + pmap( fun(Config) -> try - E = fun({error,_}) -> - ok; - (Doc) -> - unicode:characters_to_binary(Doc) - end, - E(shell_docs:render(Mod, D, Config)), - E(shell_docs:render_type(Mod, D, Config)), - E(shell_docs:render_callback(Mod, D, Config)), - - Exports = try Mod:module_info(exports) - catch _:undef -> [] - end, %% nif file not available on this platform - - DHTML = markdown_to_shelldoc(D), + handle_error(shell_docs:render(Mod, D, Config)), [try - E(shell_docs:render(Mod, F, A, DHTML, Config)) + handle_error(shell_docs:render(Mod, F, A, DHTML, Config)) catch _E:R:ST -> io:format("Failed to render ~p:~p/~p~n~p:~p~n~p~n", [Mod,F,A,R,ST,shell_docs:get_doc(Mod,F,A)]), erlang:raise(error,R,ST) - end || {F,A} <- Exports], - - [try - E(shell_docs:render_type(Mod, T, A, DHTML, Config)) - catch _E:R:ST -> - io:format("Failed to render type ~p:~p/~p~n~p:~p~n~p~n", - [Mod,T,A,R,ST,shell_docs:get_type_doc(Mod,T,A)]), - erlang:raise(error,R,ST) - end || {{type,T,A},_,_,_,_} <- Docs], - - [try - E(shell_docs:render_callback(Mod, T, A, DHTML, Config)) - catch _E:R:ST -> - io:format("Failed to render callback ~p:~p/~p~n~p:~p~n~p~n", - [Mod,T,A,R,ST,shell_docs:get_callback_doc(Mod,T,A)]), - erlang:raise(error,R,ST) - end || {{callback,T,A},_,_,_,_} <- Docs] + end || {F,A} <- Exports] catch throw:R:ST -> io:format("Failed to render ~p~n~p:~p~n",[Mod,R,ST]), exit(R) end - end, [#{}, - #{ ansi => false }, - #{ ansi => true }, - #{ columns => 5 }, - #{ columns => 150 }, - #{ encoding => unicode }, - #{ encoding => latin1 }]) + end, format_configurations()) + end), + ok. + +render_type(_Config) -> + docsmap( + fun(Mod, #docs_v1{ docs = Docs } = D) -> + DHTML = markdown_to_shelldoc(D), + pmap( + fun(Config) -> + try + handle_error(shell_docs:render_type(Mod, D, Config)), + [try + handle_error(shell_docs:render_type(Mod, T, A, DHTML, Config)) + catch _E:R:ST -> + io:format("Failed to render type ~p:~p/~p~n~p:~p~n~p~n", + [Mod,T,A,R,ST,shell_docs:get_type_doc(Mod,T,A)]), + erlang:raise(error,R,ST) + end || {{type,T,A},_,_,_,_} <- Docs] + catch throw:R:ST -> + io:format("Failed to render ~p~n~p:~p~n",[Mod,R,ST]), + exit(R) + end + end, format_configurations()) + end), + ok. + +render_callback(_Config) -> + docsmap( + fun(Mod, #docs_v1{ docs = Docs } = D) -> + DHTML = markdown_to_shelldoc(D), + pmap( + fun(Config) -> + try + handle_error(shell_docs:render_callback(Mod, D, Config)), + [try + handle_error(shell_docs:render_callback(Mod, T, A, DHTML, Config)) + catch _E:R:ST -> + io:format("Failed to render callback ~p:~p/~p~n~p:~p~n~p~n", + [Mod,T,A,R,ST,shell_docs:get_callback_doc(Mod,T,A)]), + erlang:raise(error,R,ST) + end || {{callback,T,A},_,_,_,_} <- Docs] + catch throw:R:ST -> + io:format("Failed to render ~p~n~p:~p~n",[Mod,R,ST]), + exit(R) + end + end, format_configurations()) end), ok. +docsmap(Fun) -> + F = fun F({Mod,_,_}) -> + F(Mod); + F(Mod) when is_list(Mod) -> + F(list_to_atom(Mod)); + F(Mod) -> + case code:get_doc(Mod) of + {error, missing} -> + ok; + {error, cover_compiled} -> + ok; + {error, E} when E =:= eperm; E =:= eacces; E =:= eio -> + %% This can happen in BSD's for some reason... + ok; + {error, eisdir} -> + %% Uhm? + ok; + {ok, Docs} -> + try + _ = Fun(Mod, Docs), + {ok, self(), Mod} + catch E:R:ST -> + io:format("Failed to render ~p~n~p:~p:~p~n",[Mod,E,R,ST]), + erlang:raise(E,R,ST) + end + end + end, + lists:foreach(F, code:all_available()), + ok. + + +format_configurations() -> + [#{}, + #{ ansi => false }, + #{ ansi => true }, + #{ columns => 5 }, + #{ columns => 150 }, + #{ encoding => unicode }, + #{ encoding => latin1 }]. + markdown_to_shelldoc(#docs_v1{format = Format}=Docs) -> DefaultFormat = <<"text/markdown">>, DFormat = binary_to_list(DefaultFormat), @@ -367,7 +493,10 @@ render_module(Mod, #docs_v1{ docs = Docs } = D) -> FName = SMod ++ "_"++atom_to_list(Name)++"_"++integer_to_list(Arity)++"_cb.txt", Acc#{ sanitize(FName) => unicode:characters_to_binary(shell_docs:render_callback(Mod, Name, Arity, D, Opts))} - end, Files, Docs). + end, Files, Docs); +render_module(Mod, Datadir) -> + {ok, [Docs]} = file:consult(filename:join(Datadir, atom_to_list(Mod) ++ ".docs_v1")), + render_module(Mod, Docs). sanitize(FName) -> lists:foldl( @@ -376,30 +505,35 @@ sanitize(FName) -> end, FName, [{"/","slash"},{":","colon"}, {"\\*","star"},{"<","lt"},{">","gt"},{"=","eq"}]). -docsmap(Fun) -> - lists:map( - fun F({Mod,_,_}) -> - F(Mod); - F(Mod) when is_list(Mod) -> - F(list_to_atom(Mod)); - F(Mod) -> - case code:get_doc(Mod) of - {error, missing} -> - ok; - {error, cover_compiled} -> - ok; - {error, E} when E =:= eperm; E =:= eacces; E =:= eio -> - %% This can happen in BSD's for some reason... - ok; - {error, eisdir} -> - %% Uhm? - ok; - {ok, Docs} -> - try - Fun(Mod, Docs) - catch E:R:ST -> - io:format("Failed to render ~p~n~p:~p:~p~n",[Mod,E,R,ST]), - erlang:raise(E,R,ST) - end - end - end, code:all_available()). +%% +%% Parallel map function. +%% +%% Parallel map function that discards the result of the function +%% `F` applied to each of the items in `Ls`. It spawns as many +%% processes as items there are in `Ls`. If the list is large, +%% consider adding a set of working processes that round-robin on +%% the job to do be done. +%% +%% - `F` is the function to perform +%% - `Ls` the list of items to iterate on +%% +pmap(F, Ls) when is_function(F), + is_list(Ls) -> + _ = lists:foreach(fun(Config) -> + spawn_link(?MODULE, execute,[Config, F, self()]) + end, Ls), + ResponseCounter = length(Ls), + ok = sync(ResponseCounter), + ok. + +execute(Item, F, Pid) -> + _ = F(Item), + Pid ! ok. + +sync(0) -> + ok; +sync(N) -> + receive + ok -> + sync(N-1) + end. 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 9d5ad9d8889a..abe984d9f6d0 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,[],[<<84,104,101,32,69,114,108,97,110,103,32,66,73,70,115,32,97,110,100,32,112,114,101,100,101,102,105,110,101,100,32,116,121,112,101,115,46>>]},{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 => #{{nonempty_binary,0} => {attribute,{109,2},type,{nonempty_binary,{type,{109,28},binary,[{integer,{109,32},8},{integer,{109,39},8}]},[]}},{char,0} => {attribute,{88,2},type,{char,{type,{88,17},range,[{integer,{88,17},0},{integer,{88,20},1114111}]},[]}},{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,[]}]},[]}},{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}]}]}]},[]}},{dynamic,0} => {attribute,{89,2},type,{dynamic,{type,{89,20},dynamic,[]},[]}},{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,[]}]}]}]},[]}},{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,[]}]},[]}},{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}]},[]}},{string,0} => {attribute,{122,2},type,{string,{type,{122,19},list,[{type,{122,20},char,[]}]},[]}},{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}]},[]}},{nonempty_bitstring,0} => {attribute,{110,2},type,{nonempty_bitstring,{type,{110,31},binary,[{integer,{110,35},1},{integer,{110,42},1}]},[]}},{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,[]}]},[]}},{none,0} => {attribute,{108,2},type,{none,{type,{108,17},none,[]},[]}},{atom,0} => {attribute,{82,2},type,{atom,{type,{82,17},atom,[]},[]}},{no_return,0} => {attribute,{105,2},type,{no_return,{type,{105,22},none,[]},[]}},{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,[]}]}]},[]}},{ext_binary,0} => {attribute,{156,2},type,{ext_binary,{type,{156,23},binary,[]},[]}},{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,[]}]}]},[]}},{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,[]}]}]},[]}},{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,[]}]}]}]},[]}},{ext_iovec,0} => {attribute,{157,2},type,{ext_iovec,{user_type,{157,22},iovec,[]},[]}},{match_variable,0} => {attribute,{3006,2},type,{match_variable,{type,{3006,27},atom,[]},[]}},{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',[]},[]}},{dist_handle,0} => {attribute,{185,2},opaque,{dist_handle,{type,{185,26},atom,[]},[]}},{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,[]}]}]},[]}},{identifier,0} => {attribute,{92,2},type,{identifier,{type,{92,23},union,[{type,{92,23},pid,[]},{type,{92,31},port,[]},{type,{92,40},reference,[]}]},[]}},{reference,0} => {attribute,{121,2},type,{reference,{type,{121,22},reference,[]},[]}},{nonempty_string,0} => {attribute,{116,2},type,{nonempty_string,{type,{116,28},nonempty_list,[{type,{116,42},char,[]}]},[]}},{byte,0} => {attribute,{87,2},type,{byte,{type,{87,17},range,[{integer,{87,17},0},{integer,{87,20},255}]},[]}},{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}]},[]}},{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'}]}},{info_list,0} => {attribute,{3070,2},type,{info_list,{type,{3070,22},nil,[]},[]}},{bool,0} => {attribute,{85,2},type,{bool,{type,{85,17},boolean,[]},[]}},{iovec,0} => {attribute,{188,2},type,{iovec,{type,{188,18},list,[{type,{188,19},binary,[]}]},[]}},{integer,0} => {attribute,{93,2},type,{integer,{type,{93,20},integer,[]},[]}},{non_neg_integer,0} => {attribute,{107,2},type,{non_neg_integer,{type,{107,28},non_neg_integer,[]},[]}},{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}]},[]}},{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,[]}]}]}]}]},[]}},{prepared_code,0} => {attribute,{179,2},opaque,{prepared_code,{type,{179,28},reference,[]},[]}},{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}]},[]}},{boolean,0} => {attribute,{86,2},type,{boolean,{type,{86,20},union,[{atom,{86,20},true},{atom,{86,27},false}]},[]}},{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,[]}]},[]}},{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,[]}]},[]}},{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}]},[]}},{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}]},[]}},{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,[]}]}]},[]}},{node,0} => {attribute,{106,2},type,{node,{type,{106,17},atom,[]},[]}},{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,[]}]}]}]},[]}},{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}]},[]}},{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'}]}},{list,0} => {attribute,{96,2},type,{list,{type,{96,17},list,[{type,{96,18},any,[]}]},[]}},{nonempty_list,0} => {attribute,{112,2},type,{nonempty_list,{type,{112,26},nonempty_list,[{type,{112,40},any,[]}]},[]}},{pid,0} => {attribute,{118,2},type,{pid,{type,{118,16},pid,[]},[]}},{term,0} => {attribute,{123,2},type,{term,{type,{123,17},any,[]},[]}},{registered_name,0} => {attribute,{1685,2},type,{registered_name,{type,{1685,28},atom,[]},[]}},{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}]},[]}},{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,[]}]}]},[]}},{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,[]}]}]}]},[]}},{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,[]}]}]},[]}},{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}]},[]}},{number,0} => {attribute,{117,2},type,{number,{type,{117,19},union,[{type,{117,19},integer,[]},{type,{117,31},float,[]}]},[]}},{arity,0} => {attribute,{81,2},type,{arity,{type,{81,18},arity,[]},[]}},{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,[]}]}]}]}]}]}]},[]}},{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,[]}]}]}]}]},[]}},{pos_integer,0} => {attribute,{120,2},type,{pos_integer,{type,{120,24},pos_integer,[]},[]}},{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,[]}]}]},[]}},{nil,0} => {attribute,{104,2},type,{nil,{type,{104,16},nil,[]},[]}},{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,[]}]}]}]},[]}},{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}]},[]}},{tuple,0} => {attribute,{125,2},type,{tuple,{type,{125,18},tuple,any},[]}},{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,[]}]}]},[]}},{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,[]}]}]}]},[]}},{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}]}]}]},[]}},{neg_integer,0} => {attribute,{103,2},type,{neg_integer,{type,{103,24},neg_integer,[]},[]}},{bitstring,0} => {attribute,{84,2},type,{bitstring,{type,{84,22},binary,[{integer,84,0},{integer,{84,28},1}]},[]}},{module,0} => {attribute,{102,2},type,{module,{type,{102,19},atom,[]},[]}},{float,0} => {attribute,{90,2},type,{float,{type,{90,18},float,[]},[]}},{timeout,0} => {attribute,{124,2},type,{timeout,{type,{124,20},union,[{atom,{124,20},infinity},{type,{124,33},non_neg_integer,[]}]},[]}},{nif_resource,0} => {attribute,{182,2},opaque,{nif_resource,{type,{182,27},reference,[]},[]}},{nonempty_list,1} => {attribute,{113,2},type,{nonempty_list,{type,{113,37},nonempty_list,[{var,{113,38},'ContentType'}]},[{var,{113,21},'ContentType'}]}},{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}]},[]}},{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}]},[]}},{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,[]}]}]},[]}},{binary,0} => {attribute,{83,2},type,{binary,{type,{83,19},binary,[{integer,83,0},{integer,{83,25},8}]},[]}},{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,[]}]},[]}},{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'}]}},{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}]},[]}},{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,[]}]},[]}},{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,[]}]}]}]}]}]},[]}},{mfa,0} => {attribute,{101,2},type,{mfa,{type,{101,16},tuple,[{type,{101,17},module,[]},{type,{101,26},atom,[]},{type,{101,33},arity,[]}]},[]}}}},[{{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,54>>}},{{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,51>>}},{{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,50>>}},{{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,57>>}},{{function,alias,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,994}],[<<97,108,105,97,115,47,49>>],#{<<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,{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,56>>,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>>],#{},#{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,56>>,equiv => {function,alias,1},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,55>>}},{{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,52>>}},{{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,50>>}},{{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,50>>,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,50>>}},{{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,55>>}},{{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,53>>,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,53,48>>,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,54,48>>,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,55,48>>}},{{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,57>>,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,50,48>>}},{{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,52>>,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,50>>,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,57>>,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,55>>}},{{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,54>>}},{{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,56>>}},{{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,55>>,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,52,48>>}},{{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,53>>}},{{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,50>>}},{{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,57,48>>}},{{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,55>>}},{{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,55>>,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,57>>,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,50>>,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,51>>}},{{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,52>>,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,55>>,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,53>>}},{{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,52>>}},{{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,49>>}},{{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,53,48,48>>}},{{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,53>>}},{{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,49>>,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,52>>}},{{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,50>>}},{{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,49,48>>}},{{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,56>>}},{{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,55>>}},{{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,49>>,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,50>>,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,49>>,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,55>>,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,53,48>>,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,51>>,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,50>>}},{{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,54>>}},{{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,54,48>>}},{{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,49>>}},{{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,55>>}},{{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,52>>,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,51>>}},{{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,53>>}},{{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,55>>,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,54>>,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,54>>}},{{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,56>>,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,55>>,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,52>>}},{{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,51>>,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,51>>,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,55>>}},{{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,49>>}},{{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,49>>}},{{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,49,48>>}},{{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,50>>}},{{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,56>>}},{{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,56>>,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,51>>}},{{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,51,48>>}},{{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,53,48>>}},{{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,49>>,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,50>>,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,57>>}},{{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>>]},{p,[],[<<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,32,68,117,114,105,110,103,32,116,104,101,32,98,111,111,116,32,111,102,32,97,32,115,121,115,116,101,109,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,102,111,114,32,112,114,111,99,101,115,115,101,115,32,119,105,108,108,32,98,101,32,99,104,97,110,103,101,100,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,110,101,101,100,32,111,102,32,116,104,101,32,115,121,115,116,101,109,46,32,83,111,109,101,32,101,120,97,109,112,108,101,115,32,119,104,101,114,101,32,116,104,105,115,32,105,115,32,100,111,110,101,32,97,114,101,58>>]},{ul,[],[{li,[],[<<87,104,101,110,32,97,110,32,97,112,112,108,105,99,97,116,105,111,110,32,105,115,32,115,116,97,114,116,101,100,44,32,116,104,101,32,116,111,112,32,115,117,112,101,114,118,105,115,111,114,32,111,102,32,116,104,97,116,32,97,112,112,108,105,99,97,116,105,111,110,32,119,105,108,108,32,104,97,118,101,32,105,116,115,32,103,114,111,117,112,32,108,101,97,100,101,114,32,115,101,116,32,116,111,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,109,97,115,116,101,114,46,32,83,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,97,112,112,108,105,99,97,116,105,111,110,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,[],[<<97,112,112,108,105,99,97,116,105,111,110,58,115,116,97,114,116,47,50>>]}]},<<32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46>>]},{li,[],[<<87,104,101,110,32,114,117,110,110,105,110,103,32,116,101,115,116,115,44,32,98,111,116,104,32>>,{a,[{href,<<99,111,109,109,111,110,95,116,101,115,116,58,105,110,100,101,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,97,112,112>>}],[{code,[],[<<99,111,109,109,111,110,95,116,101,115,116>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,117,110,105,116,58,101,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,[],[<<101,117,110,105,116>>]}]},<<32,115,101,116,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,105,110,32,111,114,100,101,114,32,116,111,32,99,97,112,116,117,114,101,32,97,110,121,32,73,47,79,32,102,114,111,109,32,116,104,101,32,116,101,115,116,99,97,115,101,46>>]},{li,[],[<<84,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,104,101,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>>}],[<<105,110,116,101,114,97,99,116,105,118,101,32,115,104,101,108,108>>]},<<32,115,101,116,115,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,116,111,32,105,110,116,101,114,99,101,112,116,32,73,47,79,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,57>>}},{{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,51,57>>}},{{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,55,48>>}},{{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,56,51>>}},{{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,57,56>>,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,51,48,49,48>>}},{{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,50,52>>,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,57,51>>,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,49,49,49>>,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,53,50>>}},{{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,55,50>>}},{{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,49,54>>,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,51,52>>,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,52,54>>,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,53,57>>}},{{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,55,49>>}},{{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,56,52>>}},{{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,57,55>>}},{{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,51,49,53>>,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,53,50>>}},{{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,55,49>>}},{{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,56,49>>}},{{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,57,50>>}},{{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,52,48,50>>}},{{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,52,49,51>>}},{{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,50,52>>}},{{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,51,52>>}},{{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,52,52>>}},{{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,53,54>>}},{{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,54,54>>}},{{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,55,54>>,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,56,54>>,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,53,48,55>>}},{{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,49,55>>}},{{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,50,55>>}},{{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,51,55>>}},{{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,54,57>>}},{{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,57,48>>}},{{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,54,48,57>>}},{{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,49,57>>}},{{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,50,57>>}},{{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,52,49>>}},{{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,51,49>>}},{{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,54,52>>}},{{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,56,50>>}},{{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,56,48,51>>}},{{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,50,54>>}},{{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,52,52>>}},{{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,54,57>>}},{{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,57,57>>}},{{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,49,55>>,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,51,53>>,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,53,51>>}},{{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,54,54>>}},{{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,52,48,49,49>>}},{{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,55,48>>}},{{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,56,49>>}},{{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,57,56>>}},{{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,49,49,53>>}},{{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,52,49>>}},{{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,53,56>>}},{{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,55,48>>}},{{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,56,56>>,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,50,48,56>>,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,50,49>>,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,53,57>>}},{{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,57,48>>}},{{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,51,48,56>>}},{{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,49,56>>}},{{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,50,55>>}},{{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,51,56>>}},{{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,55,51>>}},{{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,53,49,51>>}},{{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,52,52>>}},{{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,53,56>>,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,52,48>>,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,57,48,54>>}},{{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,51,54>>}},{{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,54,50>>,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,57,54>>,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,53,48,49,52>>,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,50,55>>,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,52,48>>}},{{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,53,48>>}},{{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,54,51>>}},{{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,55,53>>}},{{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,49,56>>,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,50,48,51>>}},{{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,51,50>>}},{{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,51,56>>}},{{function,phash2,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1784}],[<<112,104,97,115,104,50,47,50>>],#{<<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,{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,54,48>>}},{{function,phash2,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1777}],[<<112,104,97,115,104,50,47,49>>],#{},#{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,54,48>>,equiv => {function,phash2,2}}},{{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,56,53>>}},{{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,55,48,52>>}},{{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,53,54>>}},{{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,57,54>>}},{{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,52,56>>}},{{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,57,49,50>>}},{{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,56,49>>}},{{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,50,53>>}},{{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,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,[],[<<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,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,[],[<<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,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,[],[<<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,49,48,52>>}},{{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,50,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>> => [{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,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,[],[<<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,54,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,[],[<<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,55,54>>,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,57,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,[],[<<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,50,48,56>>,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,50,55>>}},{{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,52,54>>,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,53,55>>,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,55,52>>}},{{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,57,49>>}},{{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,51,48,48>>}},{{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,51,49,48>>}},{{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,50,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,[],[<<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,51,54>>,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,57,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,[],[<<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,85,115,101,32,116,104,105,115,32,102,108,97,103,32,119,105,116,104,32,115,117,98,115,116,97,110,116,105,97,108,32,99,97,117,116,105,111,110,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,49,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,[],[<<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,51,48>>,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,52,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,[],[<<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,53,50>>,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,54,51>>,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,54,50>>,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,54,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>> => [{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,55,55>>}},{{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,55,48,56>>}},{{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,52,50>>}},{{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,53,55>>}},{{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,56,48,56>>}},{{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,55,49>>}},{{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,56,56>>}},{{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,50,49,51>>}},{{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,51,57>>}},{{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,56,57>>}},{{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,57,57>>,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,53,53>>}},{{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,54,56>>}},{{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,52,48,52>>}},{{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,49,55>>}},{{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,53,56>>}},{{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,56,57>>}},{{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,53,48,50>>}},{{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,50,54>>}},{{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,54,51>>}},{{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,55,52>>,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,56,55>>}},{{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,51,54>>}},{{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,54,56>>,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,56,55>>}},{{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,55,48,54>>}},{{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,50,51>>}},{{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,52,54>>}},{{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,53,55>>}},{{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,55,49>>}},{{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,57,54>>}},{{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,56,49,49>>}},{{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,50,53>>}},{{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,52,50>>}},{{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,53,54>>}},{{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,55,52>>}},{{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,56,56>>,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,57,48,53>>}},{{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,49,57>>,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,51,54>>}},{{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,53,52>>}},{{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,55,55>>}},{{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,52,48>>}},{{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,54,52>>,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,55,54>>,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,56,56>>,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,50,48,48>>,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,50,48>>,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,51,50>>,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,52,52>>,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,53,54>>,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,50,52>>,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,57,48>>}},{{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,54,49,52>>}},{{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,50,53>>,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,56,53>>,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,55,48,48>>,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,52,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,[],[<<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,53,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,[],[<<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,54,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>>,{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,55,56>>}},{{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,56,57>>,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,51,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,[],[<<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,53,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,[],[<<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,54,55>>,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,56,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,[],[<<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,50,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,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,52,51>>,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,56,56>>,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,49,54>>,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,50,55>>,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,51,56>>,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,52,57>>,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,54,48>>}},{{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,55,49>>}},{{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,56,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,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,51,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,<<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,52,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>> => [{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,57,50>>,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,50,49>>,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,51,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,[],[<<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,53,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,[],[<<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,55,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,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,56,54>>,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,54,48,51>>,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,50,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,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,56,50>>,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,50,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,[],[<<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,53,51>>,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,57,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,[],[<<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,50,49>>,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,53,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,[],[<<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,54,55>>,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,57,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>> => [{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,51,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>> => [{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,56,50>>,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,52,56>>,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,54,56>>,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,52,56>>,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,55,54>>,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,55,54>>,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,53,57>>,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,55,55>>}},{{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,57,49>>}},{{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,54,48,57>>}},{{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,53,51>>}},{{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,54,56>>}},{{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,52,50>>,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,54,52>>,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,56,54>>}},{{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,57,49,52>>}},{{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,49,49,50>>,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,51,55>>,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,54,53>>}},{{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,57,51>>}},{{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,50,48,56>>,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,52,48>>,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,53,57>>,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,57,56>>}},{{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,50,52>>}},{{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,56,52>>}},{{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,51,57>>}},{{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,57,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,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,50,48,56>>,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,57,53>>,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,56,51>>}},{{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,54,48,52>>}},{{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,51,53>>}},{{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,52,56>>}},{{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,54,49>>,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,56,55>>,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,55,48,48>>,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,56,50>>}},{{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,56,48,49>>}},{{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,50,48>>}},{{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,57,55>>}},{{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,49,56>>}},{{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,51,53>>}},{{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,[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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',[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]}]}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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'}]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]}]}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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'}]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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'}]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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'}]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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'}]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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,[]}]},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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},[]}}],title => <<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>}},{{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 +{docs_v1,{21,2},erlang,<<116,101,120,116,47,109,97,114,107,100,111,119,110>>,#{<<101,110>> => <<84,104,101,32,69,114,108,97,110,103,32,66,73,70,115,32,97,110,100,32,112,114,101,100,101,102,105,110,101,100,32,116,121,112,101,115,46,10,10,66,121,32,99,111,110,118,101,110,116,105,111,110,44,32,109,111,115,116,32,91,66,117,105,108,116,45,73,110,32,70,117,110,99,116,105,111,110,115,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,102,117,110,99,116,105,111,110,115,46,109,100,35,98,117,105,108,116,45,105,110,45,102,117,110,99,116,105,111,110,115,45,98,105,102,115,96,41,10,40,66,73,70,115,41,32,97,110,100,32,97,108,108,32,91,112,114,101,100,101,102,105,110,101,100,32,116,121,112,101,115,93,40,96,101,58,115,121,115,116,101,109,58,116,121,112,101,115,112,101,99,46,109,100,35,112,114,101,100,101,102,105,110,101,100,96,41,32,97,114,101,32,105,110,99,108,117,100,101,100,10,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,10,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,95,97,117,116,111,45,105,109,112,111,114,116,101,100,95,46,10,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,10,91,96,97,116,111,109,95,116,111,95,108,105,115,116,40,101,114,108,97,110,103,41,96,93,40,96,97,116,111,109,95,116,111,95,108,105,115,116,47,49,96,41,32,97,110,100,32,91,96,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,96,93,40,96,97,116,111,109,95,116,111,95,108,105,115,116,47,49,96,41,10,97,114,101,32,105,100,101,110,116,105,99,97,108,46,10,10,65,117,116,111,45,105,109,112,111,114,116,101,100,32,66,73,70,115,32,97,114,101,32,97,110,110,111,116,97,116,101,100,32,119,105,116,104,32,96,97,117,116,111,45,105,109,112,111,114,116,101,100,96,32,97,110,100,32,112,114,101,100,101,102,105,110,101,100,32,116,121,112,101,115,32,97,114,101,10,97,110,110,111,116,97,116,101,100,32,119,105,116,104,32,96,112,114,101,100,101,102,105,110,101,100,96,46,10,10,83,111,109,101,32,97,117,116,111,45,105,109,112,111,114,116,101,100,32,66,73,70,115,32,97,114,101,32,97,108,115,111,32,97,108,108,111,119,101,100,32,105,110,32,91,103,117,97,114,100,32,101,120,112,114,101,115,115,105,111,110,93,40,96,101,58,115,121,115,116,101,109,58,101,120,112,114,101,115,115,105,111,110,115,46,109,100,35,103,117,97,114,100,45,101,120,112,114,101,115,115,105,111,110,115,96,41,46,10,83,117,99,104,32,66,73,70,115,32,97,114,101,32,97,110,110,111,116,101,100,32,119,105,116,104,32,98,111,116,104,32,96,97,117,116,111,45,105,109,112,111,114,116,101,100,96,32,97,110,100,32,96,103,117,97,114,100,45,98,105,102,96,46,10,10,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,96,98,97,100,97,114,103,96,32,105,102,32,116,104,101,121,10,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,10,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>>},#{otp_doc_vsn => {1,0,0}},[{{type,memory_type,0},{12185,2},[<<109,101,109,111,114,121,95,116,121,112,101,40,41>>],none,#{exported => false}},{{type,send_destination,0},{11024,2},[<<115,101,110,100,95,100,101,115,116,105,110,97,116,105,111,110,40,41>>],#{<<101,110>> => <<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,46,10,10,84,104,105,115,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,10,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,96,123,82,101,103,78,97,109,101,44,32,78,111,100,101,125,96,10,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>>},#{exported => true,specification => [{attribute,{11031,2},type,{send_destination,{type,{11031,29},union,[{type,{11031,29},pid,[]},{type,{11032,29},reference,[]},{type,{11033,29},port,[]},{ann_type,{11034,30},[{var,{11034,30},'RegName'},{type,{11034,41},atom,[]}]},{type,{11035,29},tuple,[{ann_type,{11035,30},[{var,{11035,30},'RegName'},{type,{11035,41},atom,[]}]},{ann_type,{11035,49},[{var,{11035,49},'Node'},{type,{11035,57},node,[]}]}]}]},[]}}]}},{{type,spawn_opt_option,0},{9997,2},[<<115,112,97,119,110,95,111,112,116,95,111,112,116,105,111,110,40,41>>],#{<<101,110>> => <<79,112,116,105,111,110,115,32,102,111,114,32,91,96,115,112,97,119,110,95,111,112,116,40,41,96,93,40,96,115,112,97,119,110,95,111,112,116,47,52,96,41,46>>},#{exported => true,specification => [{attribute,{9998,2},type,{spawn_opt_option,{type,{9999,2},union,[{atom,{9999,2},link},{atom,{10000,9},monitor},{type,{10001,9},tuple,[{atom,{10001,10},monitor},{ann_type,{10001,19},[{var,{10001,19},'MonitorOpts'},{type,{10001,34},list,[{user_type,{10001,35},monitor_option,[]}]}]}]},{type,{10002,9},tuple,[{atom,{10002,10},priority},{ann_type,{10002,20},[{var,{10002,20},'Level'},{user_type,{10002,29},priority_level,[]}]}]},{type,{10003,9},tuple,[{atom,{10003,10},fullsweep_after},{ann_type,{10003,27},[{var,{10003,27},'Number'},{type,{10003,37},non_neg_integer,[]}]}]},{type,{10004,9},tuple,[{atom,{10004,10},min_heap_size},{ann_type,{10004,25},[{var,{10004,25},'Size'},{type,{10004,33},non_neg_integer,[]}]}]},{type,{10005,9},tuple,[{atom,{10005,10},min_bin_vheap_size},{ann_type,{10005,30},[{var,{10005,30},'VSize'},{type,{10005,39},non_neg_integer,[]}]}]},{type,{10006,9},tuple,[{atom,{10006,10},max_heap_size},{ann_type,{10006,25},[{var,{10006,25},'Size'},{user_type,{10006,33},max_heap_size,[]}]}]},{type,{10007,9},tuple,[{atom,{10007,10},message_queue_data},{ann_type,{10007,30},[{var,{10007,30},'MQD'},{user_type,{10007,37},message_queue_data,[]}]}]},{type,{10008,9},tuple,[{atom,{10008,10},async_dist},{ann_type,{10008,22},[{var,{10008,22},'Enabled'},{type,{10008,33},boolean,[]}]}]}]},[]}}]}},{{type,max_heap_size,0},{9985,2},[<<109,97,120,95,104,101,97,112,95,115,105,122,101,40,41>>],#{<<101,110>> => <<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,10,91,96,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,96,93,40,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,41>>},#{exported => true,specification => [{attribute,{9989,2},type,{max_heap_size,{ann_type,{9990,9},[{var,{9990,9},'Size'},{type,{9990,17},union,[{type,{9990,17},non_neg_integer,[]},{type,{9992,9},map,[{type,{9992,17},map_field_assoc,[{atom,{9992,12},size},{type,{9992,20},non_neg_integer,[]}]},{type,{9993,17},map_field_assoc,[{atom,{9993,12},kill},{type,{9993,20},boolean,[]}]},{type,{9994,25},map_field_assoc,[{atom,{9994,12},error_logger},{type,{9994,28},boolean,[]}]},{type,{9995,36},map_field_assoc,[{atom,{9995,12},include_shared_binaries},{type,{9995,39},boolean,[]}]}]}]}]},[]}}]}},{{type,garbage_collection_defaults,0},{9667,2},[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,95,100,101,102,97,117,108,116,115,40,41>>],#{<<101,110>> => <<65,32,108,105,115,116,32,119,105,116,104,32,116,104,101,32,115,121,115,116,101,109,32,119,105,100,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,100,101,102,97,117,108,116,115,46>>},#{exported => false,specification => [{attribute,{9668,2},type,{garbage_collection_defaults,{type,{9668,40},list,[{type,{9668,41},union,[{type,{9668,41},tuple,[{atom,{9668,42},max_heap_size},{type,{9668,57},non_neg_integer,[]}]},{type,{9669,41},tuple,[{atom,{9669,42},min_bin_vheap_size},{type,{9669,62},non_neg_integer,[]}]},{type,{9670,41},tuple,[{atom,{9670,42},min_heap_size},{type,{9670,57},non_neg_integer,[]}]},{type,{9671,41},tuple,[{atom,{9671,42},fullsweep_after},{type,{9671,59},non_neg_integer,[]}]}]}]},[]}}]}},{{type,info_list,0},{9664,2},[<<105,110,102,111,95,108,105,115,116,40,41>>],#{<<101,110>> => <<>>},#{exported => false,specification => [{attribute,{9665,2},type,{info_list,{type,{9665,22},nil,[]},[]}}]}},{{type,sub_level,0},{9661,2},[<<115,117,98,95,108,101,118,101,108,40,41>>],#{<<101,110>> => <<>>},#{exported => false,specification => [{attribute,{9662,2},type,{sub_level,{type,{9662,22},union,[{type,{9662,22},list,[{ann_type,{9662,23},[{var,{9662,23},'LevelEntry'},{user_type,{9662,37},level_entry,[]}]}]},{ann_type,{9663,23},[{var,{9663,23},'LogicalCpuId'},{type,{9663,39},tuple,[{atom,{9663,40},logical},{type,{9663,49},non_neg_integer,[]}]}]}]},[]}}]}},{{type,level_tag,0},{9659,2},[<<108,101,118,101,108,95,116,97,103,40,41>>],#{<<101,110>> => <<>>},#{exported => false,specification => [{attribute,{9660,2},type,{level_tag,{type,{9660,22},union,[{atom,{9660,22},core},{atom,{9660,29},node},{atom,{9660,36},processor},{atom,{9660,48},thread}]},[]}}]}},{{type,level_entry,0},{9653,2},[<<108,101,118,101,108,95,101,110,116,114,121,40,41>>],#{<<101,110>> => <<>>},#{exported => false,specification => [{attribute,{9654,2},type,{level_entry,{type,{9655,9},union,[{type,{9655,9},tuple,[{ann_type,{9655,10},[{var,{9655,10},'LevelTag'},{user_type,{9655,22},level_tag,[]}]},{ann_type,{9655,35},[{var,{9655,35},'SubLevel'},{user_type,{9655,47},sub_level,[]}]}]},{type,{9656,9},tuple,[{ann_type,{9656,10},[{var,{9656,10},'LevelTag'},{user_type,{9656,22},level_tag,[]}]},{ann_type,{9657,10},[{var,{9657,10},'InfoList'},{user_type,{9657,22},info_list,[]}]},{ann_type,{9658,10},[{var,{9658,10},'SubLevel'},{user_type,{9658,22},sub_level,[]}]}]}]},[]}}]}},{{type,cpu_topology,0},{9633,2},[<<99,112,117,95,116,111,112,111,108,111,103,121,40,41>>],#{<<101,110>> => <<84,104,101,32,99,117,114,114,101,110,116,32,99,112,117,32,116,111,112,111,108,111,103,121,46,10,10,96,110,111,100,101,96,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,96,116,104,114,101,97,100,96,32,114,101,102,101,114,115,10,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,10,10,65,32,108,101,118,101,108,32,105,110,32,116,101,114,109,32,96,67,112,117,84,111,112,111,108,111,103,121,96,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,10,96,73,110,102,111,76,105,115,116,96,32,105,115,32,101,109,112,116,121,46,10,10,96,116,104,114,101,97,100,96,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,96,99,111,114,101,96,46,32,96,99,111,114,101,96,32,99,97,110,32,98,101,32,97,32,115,117,98,108,101,118,101,108,32,116,111,10,96,112,114,111,99,101,115,115,111,114,96,32,111,114,32,96,110,111,100,101,96,46,32,96,112,114,111,99,101,115,115,111,114,96,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,10,96,110,111,100,101,96,46,32,96,110,111,100,101,96,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,96,112,114,111,99,101,115,115,111,114,96,46,32,84,104,97,116,10,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,10,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,10,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,95,111,110,101,95,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,10,110,111,116,32,112,97,114,116,32,111,102,32,116,104,101,32,96,67,112,117,84,111,112,111,108,111,103,121,96,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,10,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,10,116,104,101,32,96,67,112,117,84,111,112,111,108,111,103,121,96,32,116,121,112,101,32,116,111,32,99,104,97,110,103,101,46>>},#{exported => false,specification => [{attribute,{9651,2},type,{cpu_topology,{type,{9652,9},union,[{type,{9652,9},list,[{ann_type,{9652,10},[{var,{9652,10},'LevelEntry'},{user_type,{9652,24},level_entry,[]}]}]},{atom,{9652,41},undefined}]},[]}}]}},{{type,trace_pattern_flag,0},{9567,2},[<<116,114,97,99,101,95,112,97,116,116,101,114,110,95,102,108,97,103,40,41>>],none,#{exported => false}},{{type,trace_match_spec,0},{9546,2},[<<116,114,97,99,101,95,109,97,116,99,104,95,115,112,101,99,40,41>>],none,#{exported => false}},{{type,trace_pattern_mfa,0},{9544,2},[<<116,114,97,99,101,95,112,97,116,116,101,114,110,95,109,102,97,40,41>>],none,#{exported => false}},{{type,match_variable,0},{9543,2},[<<109,97,116,99,104,95,118,97,114,105,97,98,108,101,40,41>>],none,#{exported => false}},{{type,scheduler_bind_type,0},{8751,2},[<<115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101,40,41>>],#{<<101,110>> => <<84,104,101,32,114,101,113,117,101,115,116,101,100,32,115,99,104,101,100,117,108,101,114,32,98,105,110,100,32,116,121,112,101,46>>},#{exported => false,specification => [{attribute,{8752,2},type,{scheduler_bind_type,{type,{8753,7},union,[{atom,{8753,7},no_node_processor_spread},{atom,{8754,7},no_node_thread_spread},{atom,{8755,7},no_spread},{atom,{8756,7},processor_spread},{atom,{8757,7},spread},{atom,{8758,7},thread_spread},{atom,{8759,7},thread_no_node_processor_spread},{atom,{8760,7},unbound}]},[]}}]}},{{type,stack_item,0},{7793,2},[<<115,116,97,99,107,95,105,116,101,109,40,41>>],none,#{exported => false}},{{type,process_info_result_item,0},{7743,2},[<<112,114,111,99,101,115,115,95,105,110,102,111,95,114,101,115,117,108,116,95,105,116,101,109,40,41>>],none,#{exported => false}},{{type,process_info_item,0},{7705,2},[<<112,114,111,99,101,115,115,95,105,110,102,111,95,105,116,101,109,40,41>>],none,#{exported => false}},{{type,message_queue_data,0},{7359,2},[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,40,41>>],#{<<101,110>> => <<83,101,101,10,91,96,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,96,93,40,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,41,46,10,10,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,10,91,96,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,96,93,40,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,41>>},#{exported => true,specification => [{attribute,{7366,2},type,{message_queue_data,{type,{7367,2},union,[{atom,{7367,2},off_heap},{atom,{7367,13},on_heap}]},[]}}]}},{{type,priority_level,0},{7352,2},[<<112,114,105,111,114,105,116,121,95,108,101,118,101,108,40,41>>],#{<<101,110>> => <<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,10,91,96,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,96,93,40,35,112,114,111,99,101,115,115,95,102,108,97,103,95,112,114,105,111,114,105,116,121,41>>},#{exported => true,specification => [{attribute,{7356,2},type,{priority_level,{type,{7357,7},union,[{atom,{7357,7},low},{atom,{7357,13},normal},{atom,{7357,22},high},{atom,{7357,29},max}]},[]}}]}},{{type,monitor_option,0},{4195,2},[<<109,111,110,105,116,111,114,95,111,112,116,105,111,110,40,41>>],#{<<101,110>> => <<83,101,101,32,96,109,111,110,105,116,111,114,47,51,96,46>>},#{exported => true,specification => [{attribute,{4196,2},type,{monitor_option,{type,{4196,27},union,[{type,{4196,27},tuple,[{atom,{4196,28},alias},{type,{4196,37},union,[{atom,{4196,37},explicit_unalias},{atom,{4196,58},demonitor},{atom,{4196,72},reply_demonitor}]}]},{type,{4197,27},tuple,[{atom,{4197,28},tag},{type,{4197,35},term,[]}]}]},[]}}]}},{{type,monitor_port_identifier,0},{4194,2},[<<109,111,110,105,116,111,114,95,112,111,114,116,95,105,100,101,110,116,105,102,105,101,114,40,41>>],none,#{exported => false}},{{type,monitor_process_identifier,0},{4193,2},[<<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,40,41>>],none,#{exported => false}},{{type,registered_process_identifier,0},{4192,2},[<<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,40,41>>],none,#{exported => false}},{{type,registered_name,0},{4191,2},[<<114,101,103,105,115,116,101,114,101,100,95,110,97,109,101,40,41>>],none,#{exported => false}},{{type,halt_options,0},{3186,2},[<<104,97,108,116,95,111,112,116,105,111,110,115,40,41>>],none,#{exported => false}},{{type,trace_info_return,0},{633,2},[<<116,114,97,99,101,95,105,110,102,111,95,114,101,116,117,114,110,40,41>>],none,#{exported => false}},{{type,trace_info_flag,0},{617,2},[<<116,114,97,99,101,95,105,110,102,111,95,102,108,97,103,40,41>>],none,#{exported => false}},{{type,trace_info_item_result,0},{607,2},[<<116,114,97,99,101,95,105,110,102,111,95,105,116,101,109,95,114,101,115,117,108,116,40,41>>],none,#{exported => false}},{{type,trace_flag,0},{581,2},[<<116,114,97,99,101,95,102,108,97,103,40,41>>],none,#{exported => false}},{{type,bitstring_list,0},{578,2},[<<98,105,116,115,116,114,105,110,103,95,108,105,115,116,40,41>>],none,#{exported => false}},{{type,raise_stacktrace,0},{569,2},[<<114,97,105,115,101,95,115,116,97,99,107,116,114,97,99,101,40,41>>],#{<<101,110>> => <<65,32,101,120,116,101,110,100,101,100,32,96,116,58,115,116,97,99,107,116,114,97,99,101,47,48,96,32,116,104,97,116,32,99,97,110,32,98,101,32,112,97,115,115,101,100,32,116,111,32,96,114,97,105,115,101,47,51,96,46>>},#{exported => true,specification => [{attribute,{572,2},type,{raise_stacktrace,{type,{573,7},union,[{type,{573,7},list,[{type,{573,8},union,[{type,{573,8},tuple,[{type,{573,9},module,[]},{type,{573,19},atom,[]},{type,{573,27},union,[{type,{573,27},arity,[]},{type,{573,37},list,[{type,{573,38},term,[]}]}]}]},{type,{574,8},tuple,[{type,{574,9},function,[]},{type,{574,21},union,[{type,{574,21},arity,[]},{type,{574,31},list,[{type,{574,32},term,[]}]}]}]}]}]},{user_type,{575,9},stacktrace,[]}]},[]}}]}},{{type,system_monitor_option,0},{560,2},[<<115,121,115,116,101,109,95,109,111,110,105,116,111,114,95,111,112,116,105,111,110,40,41>>],none,#{exported => false}},{{type,system_profile_option,0},{551,2},[<<115,121,115,116,101,109,95,112,114,111,102,105,108,101,95,111,112,116,105,111,110,40,41>>],none,#{exported => false}},{{type,fun_info_item,0},{533,2},[<<102,117,110,95,105,110,102,111,95,105,116,101,109,40,41>>],none,#{exported => false}},{{type,iovec,0},{396,2},[<<105,111,118,101,99,40,41>>],#{<<101,110>> => <<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,10,91,96,101,110,105,102,95,105,110,115,112,101,99,116,95,105,111,118,101,99,96,93,40,101,114,108,95,110,105,102,46,109,100,35,101,110,105,102,95,105,110,115,112,101,99,116,95,105,111,118,101,99,41,46>>},#{exported => true,specification => [{attribute,{400,2},type,{iovec,{type,{400,18},list,[{type,{400,19},binary,[]}]},[]}}]}},{{type,dist_handle,0},{392,2},[<<100,105,115,116,95,104,97,110,100,108,101,40,41>>],#{<<101,110>> => <<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>>},#{exported => true,specification => [{attribute,{393,2},opaque,{dist_handle,{type,{393,26},atom,[]},[]}}]}},{{type,nif_resource,0},{385,2},[<<110,105,102,95,114,101,115,111,117,114,99,101,40,41>>],#{<<101,110>> => <<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,10,91,78,73,70,32,114,101,115,111,117,114,99,101,32,111,98,106,101,99,116,32,93,40,101,114,108,95,110,105,102,46,109,100,35,114,101,115,111,117,114,99,101,95,111,98,106,101,99,116,115,41,46>>},#{exported => true,specification => [{attribute,{389,2},opaque,{nif_resource,{type,{389,27},reference,[]},[]}}]}},{{type,prepared_code,0},{382,2},[<<112,114,101,112,97,114,101,100,95,99,111,100,101,40,41>>],none,#{exported => true}},{{type,deprecated_time_unit,0},{364,2},[<<100,101,112,114,101,99,97,116,101,100,95,116,105,109,101,95,117,110,105,116,40,41>>],#{<<101,110>> => <<84,104,101,32,96,116,58,116,105,109,101,95,117,110,105,116,47,48,96,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,95,100,101,112,114,101,99,97,116,101,100,95,32,115,121,109,98,111,108,105,99,10,116,105,109,101,32,117,110,105,116,115,58,10,10,45,32,42,42,96,115,101,99,111,110,100,115,96,42,42,32,45,32,83,97,109,101,32,97,115,32,91,96,115,101,99,111,110,100,96,93,40,96,116,58,116,105,109,101,95,117,110,105,116,47,48,96,41,46,10,10,45,32,42,42,96,109,105,108,108,105,95,115,101,99,111,110,100,115,96,42,42,32,45,32,83,97,109,101,32,97,115,32,91,96,109,105,108,108,105,115,101,99,111,110,100,96,93,40,96,116,58,116,105,109,101,95,117,110,105,116,47,48,96,41,46,10,10,45,32,42,42,96,109,105,99,114,111,95,115,101,99,111,110,100,115,96,42,42,32,45,32,83,97,109,101,32,97,115,32,91,96,109,105,99,114,111,115,101,99,111,110,100,96,93,40,96,116,58,116,105,109,101,95,117,110,105,116,47,48,96,41,46,10,10,45,32,42,42,96,110,97,110,111,95,115,101,99,111,110,100,115,96,42,42,32,45,32,83,97,109,101,32,97,115,32,91,96,110,97,110,111,115,101,99,111,110,100,96,93,40,96,116,58,116,105,109,101,95,117,110,105,116,47,48,96,41,46>>},#{exported => true,specification => [{attribute,{376,2},type,{deprecated_time_unit,{type,{377,7},union,[{atom,{377,7},seconds},{atom,{378,9},milli_seconds},{atom,{379,9},micro_seconds},{atom,{380,9},nano_seconds}]},[]}}]}},{{type,time_unit,0},{295,2},[<<116,105,109,101,95,117,110,105,116,40,41>>],#{<<101,110>> => <<84,104,101,32,116,105,109,101,32,117,110,105,116,32,117,115,101,100,32,98,121,32,101,114,108,97,110,103,32,116,105,109,101,32,65,80,73,115,46,10,10,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,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,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,96,49,47,80,97,114,116,115,80,101,114,83,101,99,111,110,100,96,32,115,101,99,111,110,100,46,10,10,45,32,42,42,96,115,101,99,111,110,100,96,42,42,32,45,32,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,10,32,32,105,110,116,101,103,101,114,32,96,49,96,46,10,10,45,32,42,42,96,109,105,108,108,105,115,101,99,111,110,100,96,42,42,32,45,32,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,10,32,32,116,104,101,32,105,110,116,101,103,101,114,32,96,49,48,48,48,96,46,10,10,45,32,42,42,96,109,105,99,114,111,115,101,99,111,110,100,96,42,42,32,45,32,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,10,32,32,116,104,101,32,105,110,116,101,103,101,114,32,96,49,48,48,48,95,48,48,48,96,46,10,10,45,32,42,42,96,110,97,110,111,115,101,99,111,110,100,96,42,42,32,45,32,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,10,32,32,105,110,116,101,103,101,114,32,96,49,48,48,48,95,48,48,48,95,48,48,48,96,46,10,10,45,32,42,42,96,110,97,116,105,118,101,96,42,42,32,45,32,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,10,32,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,10,10,32,32,84,104,101,32,96,110,97,116,105,118,101,96,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,10,32,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,10,32,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,96,110,97,116,105,118,101,96,32,116,105,109,101,32,117,110,105,116,32,111,102,32,116,104,101,10,32,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,96,110,97,116,105,118,101,96,32,116,105,109,101,32,117,110,105,116,32,111,102,32,116,104,101,32,111,108,100,10,32,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,10,10,32,32,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,96,110,97,116,105,118,101,96,32,116,105,109,101,32,117,110,105,116,32,98,121,32,99,97,108,108,105,110,103,10,32,32,91,96,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,96,93,40,96,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51,96,41,46,32,84,104,101,10,32,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,96,110,97,116,105,118,101,96,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,10,32,32,110,117,109,98,101,114,32,111,102,32,96,110,97,116,105,118,101,96,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,10,32,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,10,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,84,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,96,110,97,116,105,118,101,96,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,10,32,32,62,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,10,32,32,62,32,91,114,101,115,111,108,117,116,105,111,110,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,116,105,109,101,45,114,101,115,111,108,117,116,105,111,110,41,32,97,110,100,32,102,111,114,32,116,104,101,10,32,32,62,32,91,112,114,101,99,105,115,105,111,110,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,116,105,109,101,45,112,114,101,99,105,115,105,111,110,41,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,10,32,32,62,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,91,97,99,99,117,114,97,99,121,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,116,105,109,101,45,97,99,99,117,114,97,99,121,41,32,111,102,10,32,32,62,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,96,110,97,116,105,118,101,96,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,10,32,32,62,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,10,10,45,32,42,42,96,112,101,114,102,95,99,111,117,110,116,101,114,96,42,42,32,45,32,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,10,32,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,10,10,32,32,84,104,101,32,96,112,101,114,102,95,99,111,117,110,116,101,114,96,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,96,110,97,116,105,118,101,96,32,116,105,109,101,10,32,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,10,32,32,116,121,112,101,44,32,99,97,108,108,32,96,111,115,58,112,101,114,102,95,99,111,117,110,116,101,114,47,48,96,46,10,10,45,32,42,42,96,116,58,100,101,112,114,101,99,97,116,101,100,95,116,105,109,101,95,117,110,105,116,47,48,96,42,42,32,45,10,32,32,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,10,10,84,104,101,32,96,116,58,116,105,109,101,95,117,110,105,116,47,48,96,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,10,117,110,105,116,115,44,32,117,115,101,32,91,96,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,96,93,40,96,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51,96,41,46>>},#{exported => true,specification => [{attribute,{353,2},type,{time_unit,{type,{354,2},union,[{type,{354,2},pos_integer,[]},{atom,{355,9},second},{atom,{356,9},millisecond},{atom,{357,9},microsecond},{atom,{358,9},nanosecond},{atom,{359,9},native},{atom,{360,9},perf_counter},{user_type,{361,9},deprecated_time_unit,[]}]},[]}}]}},{{type,timestamp,0},{290,2},[<<116,105,109,101,115,116,97,109,112,40,41>>],#{<<101,110>> => <<83,101,101,32,91,96,101,114,108,97,110,103,58,116,105,109,101,115,116,97,109,112,47,48,96,93,40,96,116,105,109,101,115,116,97,109,112,47,48,96,41,46>>},#{exported => true,specification => [{attribute,{291,2},type,{timestamp,{type,{291,22},tuple,[{ann_type,{291,23},[{var,{291,23},'MegaSecs'},{type,{291,35},non_neg_integer,[]}]},{ann_type,{292,23},[{var,{292,23},'Secs'},{type,{292,31},non_neg_integer,[]}]},{ann_type,{293,23},[{var,{293,23},'MicroSecs'},{type,{293,36},non_neg_integer,[]}]}]},[]}}]}},{{type,ext_iovec,0},{285,2},[<<101,120,116,95,105,111,118,101,99,40,41>>],#{<<101,110>> => <<65,32,116,101,114,109,32,111,102,32,116,121,112,101,32,96,116,58,105,111,118,101,99,47,48,96,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,10,102,111,114,109,97,116,46>>},#{exported => false,specification => [{attribute,{289,2},type,{ext_iovec,{user_type,{289,22},iovec,[]},[]}}]}},{{type,ext_binary,0},{283,2},[<<101,120,116,95,98,105,110,97,114,121,40,41>>],#{<<101,110>> => <<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>>},#{exported => false,specification => [{attribute,{284,2},type,{ext_binary,{type,{284,23},binary,[]},[]}}]}},{{type,stacktrace,0},{274,2},[<<115,116,97,99,107,116,114,97,99,101,40,41>>],#{<<101,110>> => <<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,10,91,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,93,40,96,101,58,115,121,115,116,101,109,58,101,114,114,111,114,115,46,109,100,35,115,116,97,99,107,116,114,97,99,101,96,41,32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,10,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,46>>},#{exported => true,specification => [{attribute,{279,2},type,{stacktrace,{type,{279,23},list,[{type,{279,24},union,[{type,{279,24},tuple,[{type,{279,25},module,[]},{type,{279,35},atom,[]},{type,{279,43},union,[{type,{279,43},arity,[]},{type,{279,53},list,[{type,{279,54},term,[]}]}]},{type,{280,25},list,[{user_type,{280,26},stacktrace_extrainfo,[]}]}]},{type,{281,24},tuple,[{type,{281,25},function,[]},{type,{281,37},union,[{type,{281,37},arity,[]},{type,{281,47},list,[{type,{281,48},term,[]}]}]},{type,{281,57},list,[{user_type,{281,58},stacktrace_extrainfo,[]}]}]}]}]},[]}}]}},{{type,stacktrace_extrainfo,0},{269,2},[<<115,116,97,99,107,116,114,97,99,101,95,101,120,116,114,97,105,110,102,111,40,41>>],none,#{exported => false}},{{type,tuple,0},{246,2},[<<116,117,112,108,101,40,41>>],#{<<101,110>> => <<65,110,32,69,114,108,97,110,103,32,91,116,117,112,108,101,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,116,117,112,108,101,96,41,46>>},#{exported => true,specification => [{attribute,{247,2},type,{tuple,{type,{247,18},tuple,any},[]}}]}},{{type,timeout,0},{241,2},[<<116,105,109,101,111,117,116,40,41>>],#{<<101,110>> => <<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,10,91,114,101,99,101,105,118,101,32,101,120,112,114,101,115,115,105,111,110,93,40,96,101,58,115,121,115,116,101,109,58,101,120,112,114,101,115,115,105,111,110,115,46,109,100,35,114,101,99,101,105,118,101,96,41,46>>},#{exported => true,specification => [{attribute,{245,2},type,{timeout,{type,{245,20},union,[{atom,{245,20},infinity},{type,{245,33},non_neg_integer,[]}]},[]}}]}},{{type,term,0},{239,2},[<<116,101,114,109,40,41>>],#{<<101,110>> => <<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,96,116,58,97,110,121,47,48,96,46>>},#{exported => true,specification => [{attribute,{240,2},type,{term,{type,{240,17},any,[]},[]}}]}},{{type,string,0},{234,2},[<<115,116,114,105,110,103,40,41>>],#{<<101,110>> => <<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,10,99,111,100,101,112,111,105,110,116,115,46>>},#{exported => true,specification => [{attribute,{238,2},type,{string,{type,{238,19},list,[{type,{238,20},char,[]}]},[]}}]}},{{type,reference,0},{232,2},[<<114,101,102,101,114,101,110,99,101,40,41>>],#{<<101,110>> => <<65,110,32,69,114,108,97,110,103,32,91,114,101,102,101,114,101,110,99,101,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,114,101,102,101,114,101,110,99,101,96,41,46>>},#{exported => true,specification => [{attribute,{233,2},type,{reference,{type,{233,22},reference,[]},[]}}]}},{{type,pos_integer,0},{230,2},[<<112,111,115,95,105,110,116,101,103,101,114,40,41>>],#{<<101,110>> => <<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>>},#{exported => true,specification => [{attribute,{231,2},type,{pos_integer,{type,{231,24},pos_integer,[]},[]}}]}},{{type,port,0},{228,2},[<<112,111,114,116,40,41>>],#{<<101,110>> => <<65,110,32,69,114,108,97,110,103,32,91,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,112,111,114,116,45,105,100,101,110,116,105,102,105,101,114,96,41,46>>},#{exported => true,specification => [{attribute,{229,2},type,{port,{type,{229,17},port,[]},[]}}]}},{{type,pid,0},{226,2},[<<112,105,100,40,41>>],#{<<101,110>> => <<65,110,32,69,114,108,97,110,103,32,91,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,112,105,100,96,41,46>>},#{exported => true,specification => [{attribute,{227,2},type,{pid,{type,{227,16},pid,[]},[]}}]}},{{type,number,0},{224,2},[<<110,117,109,98,101,114,40,41>>],#{<<101,110>> => <<65,110,32,69,114,108,97,110,103,32,91,110,117,109,98,101,114,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,110,117,109,98,101,114,96,41,46>>},#{exported => true,specification => [{attribute,{225,2},type,{number,{type,{225,19},union,[{type,{225,19},integer,[]},{type,{225,31},float,[]}]},[]}}]}},{{type,nonempty_string,0},{222,2},[<<110,111,110,101,109,112,116,121,95,115,116,114,105,110,103,40,41>>],#{<<101,110>> => <<65,32,96,116,58,115,116,114,105,110,103,47,48,96,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>>},#{exported => true,specification => [{attribute,{223,2},type,{nonempty_string,{type,{223,28},nonempty_list,[{type,{223,42},char,[]}]},[]}}]}},{{type,nonempty_maybe_improper_list,2},{217,2},[<<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,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>>],#{<<101,110>> => <<65,32,91,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,93,40,96,116,58,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,47,48,96,41,10,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>>},#{exported => true,specification => [{attribute,{221,2},type,{nonempty_maybe_improper_list,{type,{221,69},nonempty_maybe_improper_list,[{var,{221,98},'ContentType'},{var,{221,111},'TerminationType'}]},[{var,{221,36},'ContentType'},{var,{221,49},'TerminationType'}]}}]}},{{type,nonempty_maybe_improper_list,0},{215,2},[<<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>>],#{<<101,110>> => <<65,32,96,116,58,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,47,48,96,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>>},#{exported => true,specification => [{attribute,{216,2},type,{nonempty_maybe_improper_list,{type,{216,41},nonempty_maybe_improper_list,[{type,{216,70},any,[]},{type,{216,77},any,[]}]},[]}}]}},{{type,nonempty_list,1},{213,2},[<<110,111,110,101,109,112,116,121,95,108,105,115,116,40,67,111,110,116,101,110,116,84,121,112,101,41>>],#{<<101,110>> => <<65,32,91,108,105,115,116,40,67,111,110,116,101,110,116,84,121,112,101,41,93,40,96,116,58,108,105,115,116,47,48,96,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>>},#{exported => true,specification => [{attribute,{214,2},type,{nonempty_list,{type,{214,37},nonempty_list,[{var,{214,38},'ContentType'}]},[{var,{214,21},'ContentType'}]}}]}},{{type,nonempty_list,0},{211,2},[<<110,111,110,101,109,112,116,121,95,108,105,115,116,40,41>>],#{<<101,110>> => <<65,32,96,116,58,108,105,115,116,47,48,96,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>>},#{exported => true,specification => [{attribute,{212,2},type,{nonempty_list,{type,{212,26},nonempty_list,[{type,{212,40},any,[]}]},[]}}]}},{{type,nonempty_improper_list,2},{208,2},[<<110,111,110,101,109,112,116,121,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>>],#{<<101,110>> => <<65,32,91,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,47,50,93,40,96,116,58,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,47,48,96,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>>},#{exported => true,specification => [{attribute,{209,2},type,{nonempty_improper_list,{type,{210,9},nonempty_improper_list,[{var,{210,32},'ContentType'},{var,{210,45},'TerminationType'}]},[{var,{209,30},'ContentType'},{var,{209,43},'TerminationType'}]}}]}},{{type,nonempty_bitstring,0},{206,2},[<<110,111,110,101,109,112,116,121,95,98,105,116,115,116,114,105,110,103,40,41>>],#{<<101,110>> => <<65,32,96,116,58,98,105,116,115,116,114,105,110,103,47,48,96,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>>},#{exported => true,specification => [{attribute,{207,2},type,{nonempty_bitstring,{type,{207,31},binary,[{integer,{207,35},1},{integer,{207,42},1}]},[]}}]}},{{type,nonempty_binary,0},{204,2},[<<110,111,110,101,109,112,116,121,95,98,105,110,97,114,121,40,41>>],#{<<101,110>> => <<65,32,96,116,58,98,105,110,97,114,121,47,48,96,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>>},#{exported => true,specification => [{attribute,{205,2},type,{nonempty_binary,{type,{205,28},binary,[{integer,{205,32},8},{integer,{205,39},8}]},[]}}]}},{{type,none,0},{197,2},[<<110,111,110,101,40,41>>],#{<<101,110>> => <<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,95,110,101,118,101,114,95,32,114,101,116,117,114,110,32,97,32,118,97,108,117,101,59,32,116,104,97,116,32,105,115,10,105,116,32,119,105,108,108,32,95,97,108,119,97,121,115,95,32,116,104,114,111,119,32,97,110,32,101,120,99,101,112,116,105,111,110,46,10,10,73,110,32,97,32,115,112,101,99,44,32,117,115,101,32,96,116,58,110,111,95,114,101,116,117,114,110,47,48,96,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>>},#{exported => true,specification => [{attribute,{203,2},type,{none,{type,{203,17},none,[]},[]}}]}},{{type,non_neg_integer,0},{195,2},[<<110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41>>],#{<<101,110>> => <<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>>},#{exported => true,specification => [{attribute,{196,2},type,{non_neg_integer,{type,{196,28},non_neg_integer,[]},[]}}]}},{{type,node,0},{193,2},[<<110,111,100,101,40,41>>],#{<<101,110>> => <<65,110,32,69,114,108,97,110,103,32,91,110,111,100,101,93,40,96,101,58,115,121,115,116,101,109,58,100,105,115,116,114,105,98,117,116,101,100,46,109,100,35,110,111,100,101,115,96,41,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,110,32,97,116,111,109,46>>},#{exported => true,specification => [{attribute,{194,2},type,{node,{type,{194,17},atom,[]},[]}}]}},{{type,no_return,0},{188,2},[<<110,111,95,114,101,116,117,114,110,40,41>>],#{<<101,110>> => <<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,95,110,101,118,101,114,95,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,10,119,105,108,108,32,95,97,108,119,97,121,115,95,32,116,104,114,111,119,32,97,110,32,101,120,99,101,112,116,105,111,110,46>>},#{exported => true,specification => [{attribute,{192,2},type,{no_return,{type,{192,22},none,[]},[]}}]}},{{type,nil,0},{186,2},[<<110,105,108,40,41>>],#{<<101,110>> => <<84,104,101,32,101,109,112,116,121,32,96,116,58,108,105,115,116,47,48,96,46>>},#{exported => true,specification => [{attribute,{187,2},type,{nil,{type,{187,16},nil,[]},[]}}]}},{{type,neg_integer,0},{184,2},[<<110,101,103,95,105,110,116,101,103,101,114,40,41>>],#{<<101,110>> => <<65,32,110,101,103,97,116,105,118,101,32,105,110,116,101,103,101,114,46>>},#{exported => true,specification => [{attribute,{185,2},type,{neg_integer,{type,{185,24},neg_integer,[]},[]}}]}},{{type,module,0},{182,2},[<<109,111,100,117,108,101,40,41>>],#{<<101,110>> => <<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>>},#{exported => true,specification => [{attribute,{183,2},type,{module,{type,{183,19},atom,[]},[]}}]}},{{type,mfa,0},{180,2},[<<109,102,97,40,41>>],#{<<101,110>> => <<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,96,77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,47,65,114,105,116,121,96,32,102,117,110,99,116,105,111,110,32,115,105,103,110,97,116,117,114,101,46>>},#{exported => true,specification => [{attribute,{181,2},type,{mfa,{type,{181,16},tuple,[{type,{181,17},module,[]},{type,{181,26},atom,[]},{type,{181,33},arity,[]}]},[]}}]}},{{type,maybe_improper_list,2},{173,2},[<<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>>],#{<<101,110>> => <<65,110,32,69,114,108,97,110,103,32,91,108,105,115,116,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,108,105,115,116,96,41,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,10,119,105,116,104,32,97,32,91,96,91,93,96,93,40,96,116,58,110,105,108,47,48,96,41,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,10,96,67,111,110,116,101,110,116,84,121,112,101,96,46>>},#{exported => true,specification => [{attribute,{178,2},type,{maybe_improper_list,{type,{179,9},maybe_improper_list,[{var,{179,29},'ContentType'},{var,{179,42},'TerminationType'}]},[{var,{178,27},'ContentType'},{var,{178,40},'TerminationType'}]}}]}},{{type,maybe_improper_list,0},{168,2},[<<109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,40,41>>],#{<<101,110>> => <<65,110,32,69,114,108,97,110,103,32,91,108,105,115,116,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,108,105,115,116,96,41,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,10,119,105,116,104,32,97,32,91,96,91,93,96,93,40,96,116,58,110,105,108,47,48,96,41,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>>},#{exported => true,specification => [{attribute,{172,2},type,{maybe_improper_list,{type,{172,32},maybe_improper_list,[{type,{172,52},any,[]},{type,{172,59},any,[]}]},[]}}]}},{{type,map,0},{163,2},[<<109,97,112,40,41>>],#{<<101,110>> => <<65,110,32,69,114,108,97,110,103,32,91,109,97,112,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,109,97,112,96,41,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,10,118,97,108,117,101,32,97,115,115,111,99,105,97,116,105,111,110,115,46>>},#{exported => true,specification => [{attribute,{167,2},type,{map,{type,{167,16},map,[{type,{167,25},map_field_assoc,[{type,{167,19},any,[]},{type,{167,28},any,[]}]}]},[]}}]}},{{type,list,1},{158,2},[<<108,105,115,116,40,67,111,110,116,101,110,116,84,121,112,101,41>>],#{<<101,110>> => <<65,110,32,69,114,108,97,110,103,32,91,108,105,115,116,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,108,105,115,116,96,41,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,10,96,67,111,110,116,101,110,116,84,121,112,101,96,46>>},#{exported => true,specification => [{attribute,{162,2},type,{list,{type,{162,28},list,[{var,{162,29},'ContentType'}]},[{var,{162,12},'ContentType'}]}}]}},{{type,list,0},{156,2},[<<108,105,115,116,40,41>>],#{<<101,110>> => <<65,110,32,69,114,108,97,110,103,32,91,108,105,115,116,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,108,105,115,116,96,41,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>>},#{exported => true,specification => [{attribute,{157,2},type,{list,{type,{157,17},list,[{type,{157,18},any,[]}]},[]}}]}},{{type,iolist,0},{147,2},[<<105,111,108,105,115,116,40,41>>],#{<<101,110>> => <<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,10,10,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,10,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,96,102,105,108,101,58,119,114,105,116,101,47,50,96,32,111,114,32,96,103,101,110,95,116,99,112,58,115,101,110,100,47,50,96,46,10,10,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,96,116,58,105,111,100,97,116,97,47,48,96,32,105,110,115,116,101,97,100,32,111,102,32,116,104,105,115,32,116,121,112,101,46>>},#{exported => true,specification => [{attribute,{155,2},type,{iolist,{type,{155,19},maybe_improper_list,[{type,{155,39},union,[{type,{155,39},byte,[]},{type,{155,48},binary,[]},{type,{155,59},iolist,[]}]},{type,{155,69},union,[{type,{155,69},binary,[]},{type,{155,80},nil,[]}]}]},[]}}]}},{{type,iodata,0},{136,2},[<<105,111,100,97,116,97,40,41>>],#{<<101,110>> => <<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,10,10,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,10,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,96,102,105,108,101,58,119,114,105,116,101,47,50,96,32,111,114,32,96,103,101,110,95,116,99,112,58,115,101,110,100,47,50,96,46,10,10,84,111,32,99,111,110,118,101,114,116,32,97,110,32,96,116,58,105,111,100,97,116,97,47,48,96,32,116,101,114,109,32,116,111,32,96,116,58,98,105,110,97,114,121,47,48,96,32,121,111,117,32,99,97,110,32,117,115,101,10,91,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,50,93,40,96,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49,96,41,46,32,84,111,32,116,114,97,110,115,99,111,100,101,32,97,32,96,116,58,115,116,114,105,110,103,47,48,96,32,111,114,10,96,116,58,117,110,105,99,111,100,101,58,99,104,97,114,100,97,116,97,47,48,96,32,116,111,32,96,116,58,105,111,100,97,116,97,47,48,96,32,121,111,117,32,99,97,110,32,117,115,101,32,96,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,96,46>>},#{exported => true,specification => [{attribute,{146,2},type,{iodata,{type,{146,19},union,[{type,{146,19},iolist,[]},{type,{146,30},binary,[]}]},[]}}]}},{{type,integer,0},{134,2},[<<105,110,116,101,103,101,114,40,41>>],#{<<101,110>> => <<65,110,32,69,114,108,97,110,103,32,91,105,110,116,101,103,101,114,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,110,117,109,98,101,114,96,41,46>>},#{exported => true,specification => [{attribute,{135,2},type,{integer,{type,{135,20},integer,[]},[]}}]}},{{type,identifier,0},{128,2},[<<105,100,101,110,116,105,102,105,101,114,40,41>>],#{<<101,110>> => <<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,10,91,112,114,111,99,101,115,115,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,96,41,44,32,91,112,111,114,116,93,40,96,101,58,115,121,115,116,101,109,58,112,111,114,116,115,46,109,100,35,112,111,114,116,115,96,41,32,111,114,10,91,109,111,110,105,116,111,114,93,40,96,109,111,110,105,116,111,114,47,50,96,41,46>>},#{exported => true,specification => [{attribute,{133,2},type,{identifier,{type,{133,23},union,[{type,{133,23},pid,[]},{type,{133,31},port,[]},{type,{133,40},reference,[]}]},[]}}]}},{{type,function,0},{126,2},[<<102,117,110,99,116,105,111,110,40,41>>],#{<<101,110>> => <<65,110,32,69,114,108,97,110,103,32,91,102,117,110,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,102,117,110,96,41,46>>},#{exported => true,specification => [{attribute,{127,2},type,{function,{type,{127,21},'fun',[]},[]}}]}},{{type,float,0},{124,2},[<<102,108,111,97,116,40,41>>],#{<<101,110>> => <<65,110,32,69,114,108,97,110,103,32,91,102,108,111,97,116,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,110,117,109,98,101,114,96,41,46>>},#{exported => true,specification => [{attribute,{125,2},type,{float,{type,{125,18},float,[]},[]}}]}},{{type,dynamic,0},{122,2},[<<100,121,110,97,109,105,99,40,41>>],#{<<101,110>> => <<84,104,101,32,91,100,121,110,97,109,105,99,93,40,96,101,58,115,121,115,116,101,109,58,116,121,112,101,115,112,101,99,46,109,100,35,100,121,110,97,109,105,99,96,41,32,116,121,112,101,46>>},#{exported => true,specification => [{attribute,{123,2},type,{dynamic,{type,{123,20},dynamic,[]},[]}}]}},{{type,char,0},{120,2},[<<99,104,97,114,40,41>>],#{<<101,110>> => <<65,110,32,65,83,67,73,73,32,99,104,97,114,97,99,116,101,114,32,111,114,32,97,32,96,109,58,117,110,105,99,111,100,101,96,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>>},#{exported => true,specification => [{attribute,{121,2},type,{char,{type,{121,17},range,[{integer,{121,17},0},{integer,{121,20},1114111}]},[]}}]}},{{type,byte,0},{118,2},[<<98,121,116,101,40,41>>],#{<<101,110>> => <<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>>},#{exported => true,specification => [{attribute,{119,2},type,{byte,{type,{119,17},range,[{integer,{119,17},0},{integer,{119,20},255}]},[]}}]}},{{type,boolean,0},{116,2},[<<98,111,111,108,101,97,110,40,41>>],#{<<101,110>> => <<65,32,91,98,111,111,108,101,97,110,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,98,111,111,108,101,97,110,96,41,32,118,97,108,117,101,46>>},#{exported => true,specification => [{attribute,{117,2},type,{boolean,{type,{117,20},union,[{atom,{117,20},true},{atom,{117,27},false}]},[]}}]}},{{type,bool,0},{114,2},[<<98,111,111,108,40,41>>],hidden,#{exported => true}},{{type,bitstring,0},{112,2},[<<98,105,116,115,116,114,105,110,103,40,41>>],#{<<101,110>> => <<65,110,32,69,114,108,97,110,103,32,91,98,105,116,115,116,114,105,110,103,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,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,96,41,46>>},#{exported => true,specification => [{attribute,{113,2},type,{bitstring,{type,{113,22},binary,[{integer,113,0},{integer,{113,28},1}]},[]}}]}},{{type,binary,0},{107,2},[<<98,105,110,97,114,121,40,41>>],#{<<101,110>> => <<65,110,32,69,114,108,97,110,103,32,91,98,105,110,97,114,121,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,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,96,41,44,32,116,104,97,116,32,105,115,44,10,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>>},#{exported => true,specification => [{attribute,{111,2},type,{binary,{type,{111,19},binary,[{integer,111,0},{integer,{111,25},8}]},[]}}]}},{{type,atom,0},{105,2},[<<97,116,111,109,40,41>>],#{<<101,110>> => <<65,110,32,69,114,108,97,110,103,32,91,97,116,111,109,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,97,116,111,109,96,41,46>>},#{exported => true,specification => [{attribute,{106,2},type,{atom,{type,{106,17},atom,[]},[]}}]}},{{type,arity,0},{103,2},[<<97,114,105,116,121,40,41>>],#{<<101,110>> => <<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>>},#{exported => true,specification => [{attribute,{104,2},type,{arity,{type,{104,18},arity,[]},[]}}]}},{{type,any,0},{101,2},[<<97,110,121,40,41>>],#{<<101,110>> => <<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,96,116,58,116,101,114,109,47,48,96,46>>},#{exported => true,specification => [{attribute,{102,2},type,{any,{type,{102,16},any,[]},[]}}]}},{{function,'!',2},{12744,2},[<<39,33,39,40,68,115,116,44,32,77,115,103,41>>],hidden,#{}},{{function,'not',1},{12739,2},[<<39,110,111,116,39,40,65,41>>],hidden,#{}},{{function,'xor',2},{12735,2},[<<39,120,111,114,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'or',2},{12730,2},[<<39,111,114,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'and',2},{12726,2},[<<39,97,110,100,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'++',2},{12721,2},[<<39,43,43,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'--',2},{12717,2},[<<39,45,45,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'bnot',1},{12712,2},[<<39,98,110,111,116,39,40,65,41>>],hidden,#{}},{{function,'bxor',2},{12708,2},[<<39,98,120,111,114,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'band',2},{12704,2},[<<39,98,97,110,100,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'bor',2},{12700,2},[<<39,98,111,114,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'bsr',2},{12696,2},[<<39,98,115,114,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'bsl',2},{12692,2},[<<39,98,115,108,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'rem',2},{12688,2},[<<39,114,101,109,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'div',2},{12684,2},[<<39,100,105,118,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'*',2},{12680,2},[<<39,42,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'/',2},{12676,2},[<<39,47,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'+',2},{12672,2},[<<39,43,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'-',2},{12668,2},[<<39,45,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'+',1},{12664,2},[<<39,43,39,40,65,41>>],hidden,#{}},{{function,'-',1},{12660,2},[<<39,45,39,40,65,41>>],hidden,#{}},{{function,'>',2},{12655,2},[<<39,62,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'<',2},{12651,2},[<<39,60,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'>=',2},{12647,2},[<<39,62,61,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'=<',2},{12643,2},[<<39,61,60,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'=/=',2},{12639,2},[<<39,61,47,61,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'/=',2},{12635,2},[<<39,47,61,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'=:=',2},{12631,2},[<<39,61,58,61,39,40,65,44,32,66,41>>],hidden,#{}},{{function,'==',2},{12627,2},[<<39,61,61,39,40,65,44,32,66,41>>],hidden,#{}},{{function,gather_gc_info_result,1},{12610,2},[<<103,97,116,104,101,114,95,103,99,95,105,110,102,111,95,114,101,115,117,108,116,40,82,101,102,41>>],hidden,#{}},{{function,alloc_sizes,1},{12563,2},[<<97,108,108,111,99,95,115,105,122,101,115,40,65,108,108,111,99,115,41>>],hidden,#{}},{{function,alloc_info,1},{12559,2},[<<97,108,108,111,99,95,105,110,102,111,40,65,108,108,111,99,115,41>>],hidden,#{}},{{function,memory,1},{12319,2},[<<109,101,109,111,114,121,47,49>>],#{<<101,110>> => <<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,96,84,121,112,101,96,46,32,84,104,101,10,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,96,116,58,109,101,109,111,114,121,95,116,121,112,101,47,48,96,32,97,116,111,109,115,44,32,105,110,32,119,104,105,99,104,32,99,97,115,101,10,97,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,108,105,115,116,32,111,102,32,96,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,96,32,116,117,112,108,101,115,32,105,115,10,114,101,116,117,114,110,101,100,46,10,10,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,65,115,32,102,114,111,109,32,69,82,84,83,32,53,46,54,46,52,44,32,96,101,114,108,97,110,103,58,109,101,109,111,114,121,47,49,96,32,114,101,113,117,105,114,101,115,32,116,104,97,116,32,97,108,108,10,62,32,91,96,101,114,116,115,95,97,108,108,111,99,40,51,41,96,93,40,101,114,116,115,95,97,108,108,111,99,46,109,100,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,10,10,70,97,105,108,117,114,101,115,58,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,84,121,112,101,96,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,10,32,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,91,96,101,114,108,97,110,103,58,109,101,109,111,114,121,47,48,96,93,40,96,109,101,109,111,114,121,47,48,96,41,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,109,97,120,105,109,117,109,96,32,105,115,32,112,97,115,115,101,100,32,97,115,32,96,84,121,112,101,96,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,10,32,32,105,110,115,116,114,117,109,101,110,116,101,100,32,109,111,100,101,46,10,10,45,32,42,42,96,110,111,116,115,117,112,96,42,42,32,45,32,73,102,32,97,110,32,91,96,101,114,116,115,95,97,108,108,111,99,40,51,41,96,93,40,101,114,116,115,95,97,108,108,111,99,46,109,100,41,32,97,108,108,111,99,97,116,111,114,32,104,97,115,32,98,101,101,110,10,32,32,100,105,115,97,98,108,101,100,46,10,10,83,101,101,32,97,108,115,111,32,91,96,101,114,108,97,110,103,58,109,101,109,111,114,121,47,48,96,93,40,96,109,101,109,111,114,121,47,48,96,41,46>>},#{group => system,specification => [{attribute,{12344,2},spec,{{memory,1},[{type,{12344,13},'fun',[{type,{12344,13},product,[{ann_type,{12344,14},[{var,{12344,14},'Type'},{user_type,{12344,22},memory_type,[]}]}]},{type,{12344,40},non_neg_integer,[]}]},{type,{12345,20},'fun',[{type,{12345,20},product,[{ann_type,{12345,21},[{var,{12345,21},'TypeList'},{type,{12345,33},list,[{user_type,{12345,34},memory_type,[]}]}]}]},{type,{12345,53},list,[{type,{12345,54},tuple,[{user_type,{12345,55},memory_type,[]},{type,{12345,70},non_neg_integer,[]}]}]}]}]}}]}},{{function,memory,0},{12202,2},[<<109,101,109,111,114,121,40,41>>],#{<<101,110>> => <<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,10,101,109,117,108,97,116,111,114,46,10,10,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,96,123,84,121,112,101,44,32,83,105,122,101,125,96,46,32,84,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,96,84,121,112,101,96,10,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,96,83,105,122,101,96,32,105,115,32,116,104,101,32,109,101,109,111,114,121,32,115,105,122,101,10,105,110,32,98,121,116,101,115,46,10,10,77,101,109,111,114,121,32,116,121,112,101,115,58,10,10,45,32,42,42,96,116,111,116,97,108,96,42,42,32,45,32,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,10,32,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,96,112,114,111,99,101,115,115,101,115,96,32,97,110,100,32,96,115,121,115,116,101,109,96,46,10,10,45,32,42,42,96,112,114,111,99,101,115,115,101,115,96,42,42,32,45,32,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,10,32,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,46,10,10,45,32,42,42,96,112,114,111,99,101,115,115,101,115,95,117,115,101,100,96,42,42,32,45,32,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,10,32,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,96,112,114,111,99,101,115,115,101,115,96,32,109,101,109,111,114,121,46,10,10,45,32,42,42,96,115,121,115,116,101,109,96,42,42,32,45,32,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,10,32,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,10,32,32,96,112,114,111,99,101,115,115,101,115,96,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,96,109,58,105,110,115,116,114,117,109,101,110,116,96,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,103,101,116,10,32,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,10,10,45,32,42,42,96,97,116,111,109,96,42,42,32,45,32,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,10,32,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,96,115,121,115,116,101,109,96,32,109,101,109,111,114,121,46,10,10,45,32,42,42,96,97,116,111,109,95,117,115,101,100,96,42,42,32,45,32,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,10,32,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,96,97,116,111,109,96,32,109,101,109,111,114,121,46,10,10,45,32,42,42,96,98,105,110,97,114,121,96,42,42,32,45,32,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,10,32,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,96,115,121,115,116,101,109,96,32,109,101,109,111,114,121,46,10,10,45,32,42,42,96,99,111,100,101,96,42,42,32,45,32,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,10,32,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,96,115,121,115,116,101,109,96,32,109,101,109,111,114,121,46,10,10,45,32,42,42,96,101,116,115,96,42,42,32,45,32,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,10,32,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,96,115,121,115,116,101,109,96,32,109,101,109,111,114,121,46,10,10,45,32,42,42,96,109,97,120,105,109,117,109,96,42,42,32,45,32,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,10,32,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,10,32,32,105,110,115,116,114,117,109,101,110,116,97,116,105,111,110,46,10,10,32,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,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,10,32,32,96,109,58,105,110,115,116,114,117,109,101,110,116,96,32,97,110,100,47,111,114,32,91,96,101,114,108,40,49,41,96,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,84,104,101,32,96,115,121,115,116,101,109,96,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,10,62,32,111,102,32,116,104,105,115,32,118,97,108,117,101,32,105,115,32,110,111,116,46,10,62,10,62,32,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,96,115,121,115,116,101,109,96,32,118,97,108,117,101,32,105,115,32,109,111,114,101,10,62,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,96,109,97,108,108,111,99,96,32,40,97,110,100,32,102,114,105,101,110,100,115,41,32,105,115,32,115,116,105,108,108,10,62,32,110,111,116,32,112,97,114,116,32,111,102,32,116,104,101,32,96,115,121,115,116,101,109,96,32,118,97,108,117,101,46,32,68,105,114,101,99,116,32,99,97,108,108,115,32,116,111,32,96,109,97,108,108,111,99,96,32,97,114,101,32,111,110,108,121,32,100,111,110,101,32,102,114,111,109,10,62,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,10,62,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,10,62,10,62,32,65,115,32,116,104,101,32,96,116,111,116,97,108,96,32,118,97,108,117,101,32,105,115,32,116,104,101,32,115,117,109,32,111,102,32,96,112,114,111,99,101,115,115,101,115,96,32,97,110,100,32,96,115,121,115,116,101,109,96,44,32,116,104,101,32,101,114,114,111,114,32,105,110,10,62,32,96,115,121,115,116,101,109,96,32,112,114,111,112,97,103,97,116,101,115,32,116,111,32,116,104,101,32,96,116,111,116,97,108,96,32,118,97,108,117,101,46,10,62,10,62,32,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,95,110,111,116,95,32,103,97,116,104,101,114,101,100,32,97,116,111,109,105,99,97,108,108,121,44,10,62,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,10,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,84,104,101,32,96,116,111,116,97,108,96,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,10,62,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,10,62,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,96,116,111,116,97,108,96,10,62,32,118,97,108,117,101,32,105,115,32,95,110,111,116,95,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,10,62,32,116,104,101,32,101,109,117,108,97,116,111,114,46,10,62,10,62,32,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,10,62,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,10,62,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,10,10,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,65,115,32,102,114,111,109,32,69,82,84,83,32,53,46,54,46,52,44,32,96,101,114,108,97,110,103,58,109,101,109,111,114,121,47,48,96,32,114,101,113,117,105,114,101,115,32,116,104,97,116,32,97,108,108,10,62,32,91,96,101,114,116,115,95,97,108,108,111,99,40,51,41,96,93,40,101,114,116,115,95,97,108,108,111,99,46,109,100,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,10,10,70,97,105,108,117,114,101,58,32,96,110,111,116,115,117,112,96,32,105,102,32,97,110,32,91,96,101,114,116,115,95,97,108,108,111,99,40,51,41,96,93,40,101,114,116,115,95,97,108,108,111,99,46,109,100,41,32,97,108,108,111,99,97,116,111,114,32,104,97,115,32,98,101,101,110,10,100,105,115,97,98,108,101,100,46>>},#{group => system,specification => [{attribute,{12300,2},spec,{{memory,0},[{type,{12300,13},bounded_fun,[{type,{12300,13},'fun',[{type,{12300,13},product,[]},{type,{12300,19},list,[{type,{12300,20},tuple,[{var,{12300,21},'Type'},{var,{12300,27},'Size'}]}]}]},[{type,{12301,7},constraint,[{atom,{12301,7},is_subtype},[{var,{12301,7},'Type'},{user_type,{12301,15},memory_type,[]}]]},{type,{12302,7},constraint,[{atom,{12302,7},is_subtype},[{var,{12302,7},'Size'},{type,{12302,15},non_neg_integer,[]}]]}]]}]}}]}},{{function,max,2},{12134,2},[<<109,97,120,40,84,101,114,109,49,44,32,84,101,114,109,50,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,108,97,114,103,101,115,116,32,111,102,32,96,84,101,114,109,49,96,32,97,110,100,32,96,84,101,114,109,50,96,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,10,96,61,61,96,32,111,112,101,114,97,116,111,114,44,32,96,84,101,114,109,49,96,32,105,115,32,114,101,116,117,114,110,101,100,46,10,10,84,104,101,32,91,69,120,112,114,101,115,115,105,111,110,115,32,115,101,99,116,105,111,110,93,40,96,101,58,115,121,115,116,101,109,58,101,120,112,114,101,115,115,105,111,110,115,46,109,100,35,116,101,114,109,45,99,111,109,112,97,114,105,115,111,110,115,96,41,32,99,111,110,116,97,105,110,115,10,100,101,115,99,114,105,112,116,105,111,110,115,32,111,102,32,116,104,101,32,96,61,61,96,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,10,10,69,120,97,109,112,108,101,115,58,10,10,96,96,96,101,114,108,97,110,103,10,62,32,109,97,120,40,49,44,32,50,41,46,10,50,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,62,32,109,97,120,40,49,46,48,44,32,49,41,46,10,49,46,48,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,62,32,109,97,120,40,49,44,32,49,46,48,41,46,10,49,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,62,32,109,97,120,40,34,97,98,99,34,44,32,34,98,34,41,46,10,34,98,34,10,96,96,96,10,10,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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>>},#{group => terms,specification => [{attribute,{12168,2},spec,{{max,2},[{type,{12168,10},bounded_fun,[{type,{12168,10},'fun',[{type,{12168,10},product,[{var,{12168,11},'Term1'},{var,{12168,18},'Term2'}]},{var,{12168,28},'Maximum'}]},[{type,{12169,7},constraint,[{atom,{12169,7},is_subtype},[{var,{12169,7},'Term1'},{type,{12169,16},term,[]}]]},{type,{12170,7},constraint,[{atom,{12170,7},is_subtype},[{var,{12170,7},'Term2'},{type,{12170,16},term,[]}]]},{type,{12171,7},constraint,[{atom,{12171,7},is_subtype},[{var,{12171,7},'Maximum'},{type,{12171,18},term,[]}]]}]]}]}}]}},{{function,min,2},{12090,2},[<<109,105,110,40,84,101,114,109,49,44,32,84,101,114,109,50,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,111,102,32,96,84,101,114,109,49,96,32,97,110,100,32,96,84,101,114,109,50,96,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,10,96,61,61,96,32,111,112,101,114,97,116,111,114,44,32,96,84,101,114,109,49,96,32,105,115,32,114,101,116,117,114,110,101,100,46,10,10,84,104,101,32,91,69,120,112,114,101,115,115,105,111,110,115,32,115,101,99,116,105,111,110,93,40,96,101,58,115,121,115,116,101,109,58,101,120,112,114,101,115,115,105,111,110,115,46,109,100,35,116,101,114,109,45,99,111,109,112,97,114,105,115,111,110,115,96,41,32,99,111,110,116,97,105,110,115,10,100,101,115,99,114,105,112,116,105,111,110,115,32,111,102,32,116,104,101,32,96,61,61,96,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,10,10,69,120,97,109,112,108,101,115,58,10,10,96,96,96,101,114,108,97,110,103,10,62,32,109,105,110,40,49,44,32,50,41,46,10,49,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,62,32,109,105,110,40,49,46,48,44,32,49,41,46,10,49,46,48,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,62,32,109,105,110,40,49,44,32,49,46,48,41,46,10,49,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,62,32,109,105,110,40,34,97,98,99,34,44,32,34,98,34,41,46,10,34,97,98,99,34,10,96,96,96,10,10,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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>>},#{group => terms,specification => [{attribute,{12124,2},spec,{{min,2},[{type,{12124,10},bounded_fun,[{type,{12124,10},'fun',[{type,{12124,10},product,[{var,{12124,11},'Term1'},{var,{12124,18},'Term2'}]},{var,{12124,28},'Minimum'}]},[{type,{12125,7},constraint,[{atom,{12125,7},is_subtype},[{var,{12125,7},'Term1'},{type,{12125,16},term,[]}]]},{type,{12126,7},constraint,[{atom,{12126,7},is_subtype},[{var,{12126,7},'Term2'},{type,{12126,16},term,[]}]]},{type,{12127,7},constraint,[{atom,{12127,7},is_subtype},[{var,{12127,7},'Minimum'},{type,{12127,18},term,[]}]]}]]}]}}]}},{{function,format_cpu_topology,1},{12047,2},[<<102,111,114,109,97,116,95,99,112,117,95,116,111,112,111,108,111,103,121,40,73,110,116,101,114,110,97,108,67,112,117,84,111,112,111,108,111,103,121,41>>],hidden,#{}},{{function,set_cpu_topology,1},{11955,2},[<<115,101,116,95,99,112,117,95,116,111,112,111,108,111,103,121,40,67,112,117,84,111,112,111,108,111,103,121,41>>],hidden,#{}},{{function,integer_to_binary,2},{11924,2},[<<105,110,116,101,103,101,114,95,116,111,95,98,105,110,97,114,121,40,73,110,116,101,103,101,114,44,32,66,97,115,101,41>>],#{<<101,110>> => <<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,96,73,110,116,101,103,101,114,96,32,105,110,32,98,97,115,101,10,96,66,97,115,101,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{11937,2},spec,{{integer_to_binary,2},[{type,{11937,24},bounded_fun,[{type,{11937,24},'fun',[{type,{11937,24},product,[{var,{11937,25},'Integer'},{var,{11937,34},'Base'}]},{type,{11937,43},binary,[]}]},[{type,{11938,7},constraint,[{atom,{11938,7},is_subtype},[{var,{11938,7},'Integer'},{type,{11938,18},integer,[]}]]},{type,{11939,7},constraint,[{atom,{11939,7},is_subtype},[{var,{11939,7},'Base'},{type,{11939,15},range,[{integer,{11939,15},2},{integer,{11939,18},36}]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,integer_to_list,2},{11906,2},[<<105,110,116,101,103,101,114,95,116,111,95,108,105,115,116,40,73,110,116,101,103,101,114,44,32,66,97,115,101,41>>],#{<<101,110>> => <<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,96,73,110,116,101,103,101,114,96,32,105,110,32,98,97,115,101,10,96,66,97,115,101,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{11918,2},spec,{{integer_to_list,2},[{type,{11918,22},bounded_fun,[{type,{11918,22},'fun',[{type,{11918,22},product,[{var,{11918,23},'Integer'},{var,{11918,32},'Base'}]},{type,{11918,41},string,[]}]},[{type,{11919,7},constraint,[{atom,{11919,7},is_subtype},[{var,{11919,7},'Integer'},{type,{11919,18},integer,[]}]]},{type,{11920,7},constraint,[{atom,{11920,7},is_subtype},[{var,{11920,7},'Base'},{type,{11920,15},range,[{integer,{11920,15},2},{integer,{11920,18},36}]}]]}]]}]}}]}},{{function,get_cookie,1},{11891,2},[<<103,101,116,95,99,111,111,107,105,101,40,78,111,100,101,41>>],#{<<101,110>> => <<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,96,78,111,100,101,96,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,10,116,104,101,32,97,116,111,109,32,96,110,111,99,111,111,107,105,101,96,46,32,84,104,105,115,32,118,97,108,117,101,32,105,115,32,115,101,116,32,98,121,32,96,115,101,116,95,99,111,111,107,105,101,47,50,96,46>>},#{group => distribution,specification => [{attribute,{11897,2},spec,{{get_cookie,1},[{type,{11897,17},bounded_fun,[{type,{11897,17},'fun',[{type,{11897,17},product,[{var,{11897,18},'Node'}]},{type,{11897,27},union,[{var,{11897,27},'Cookie'},{atom,{11897,36},nocookie}]}]},[{type,{11898,7},constraint,[{atom,{11898,7},is_subtype},[{var,{11898,7},'Node'},{type,{11898,15},node,[]}]]},{type,{11899,7},constraint,[{atom,{11899,7},is_subtype},[{var,{11899,7},'Cookie'},{type,{11899,17},atom,[]}]]}]]}]}}],since => <<79,84,80,32,50,52,46,49>>}},{{function,get_cookie,0},{11881,2},[<<103,101,116,95,99,111,111,107,105,101,40,41>>],#{<<101,110>> => <<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,10,97,116,111,109,32,96,110,111,99,111,111,107,105,101,96,46,32,84,104,105,115,32,118,97,108,117,101,32,105,115,32,115,101,116,32,98,121,32,96,115,101,116,95,99,111,111,107,105,101,47,49,96,46>>},#{group => distribution,specification => [{attribute,{11886,2},spec,{{get_cookie,0},[{type,{11886,17},bounded_fun,[{type,{11886,17},'fun',[{type,{11886,17},product,[]},{type,{11886,23},union,[{var,{11886,23},'Cookie'},{atom,{11886,32},nocookie}]}]},[{type,{11887,7},constraint,[{atom,{11887,7},is_subtype},[{var,{11887,7},'Cookie'},{type,{11887,17},atom,[]}]]}]]}]}}]}},{{function,set_cookie,2},{11858,2},[<<115,101,116,95,99,111,111,107,105,101,40,78,111,100,101,44,32,67,111,111,107,105,101,41>>],#{<<101,110>> => <<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,96,78,111,100,101,96,32,116,111,32,116,104,101,32,97,116,111,109,32,96,67,111,111,107,105,101,96,46,32,73,102,32,96,78,111,100,101,96,32,105,115,32,116,104,101,32,108,111,99,97,108,10,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,10,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,96,67,111,111,107,105,101,96,46,10,10,83,101,101,32,115,101,99,116,105,111,110,32,91,68,105,115,116,114,105,98,117,116,101,100,32,69,114,108,97,110,103,93,40,96,101,58,115,121,115,116,101,109,58,100,105,115,116,114,105,98,117,116,101,100,46,109,100,96,41,32,105,110,32,116,104,101,10,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,32,102,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,46,10,10,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,96,103,101,116,95,99,111,111,107,105,101,47,49,96,46,10,10,70,97,105,108,117,114,101,58,32,96,102,117,110,99,116,105,111,110,95,99,108,97,117,115,101,96,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>>},#{group => distribution,specification => [{attribute,{11871,2},spec,{{set_cookie,2},[{type,{11871,17},bounded_fun,[{type,{11871,17},'fun',[{type,{11871,17},product,[{var,{11871,18},'Node'},{var,{11871,24},'Cookie'}]},{atom,{11871,35},true}]},[{type,{11872,7},constraint,[{atom,{11872,7},is_subtype},[{var,{11872,7},'Node'},{type,{11872,15},node,[]}]]},{type,{11873,7},constraint,[{atom,{11873,7},is_subtype},[{var,{11873,7},'Cookie'},{type,{11873,17},atom,[]}]]}]]}]}}]}},{{function,set_cookie,1},{11837,2},[<<115,101,116,95,99,111,111,107,105,101,40,67,111,111,107,105,101,41>>],#{<<101,110>> => <<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,96,67,111,111,107,105,101,96,44,32,119,104,105,99,104,32,105,115,32,97,108,115,111,32,116,104,101,10,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,96,115,101,116,95,99,111,111,107,105,101,47,50,96,10,96,67,111,111,107,105,101,96,46,10,10,83,101,101,32,115,101,99,116,105,111,110,32,91,68,105,115,116,114,105,98,117,116,101,100,32,69,114,108,97,110,103,93,40,96,101,58,115,121,115,116,101,109,58,100,105,115,116,114,105,98,117,116,101,100,46,109,100,96,41,32,105,110,32,116,104,101,10,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,32,102,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,46,10,10,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,96,103,101,116,95,99,111,111,107,105,101,47,48,96,46,10,10,70,97,105,108,117,114,101,58,32,96,102,117,110,99,116,105,111,110,95,99,108,97,117,115,101,96,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>>},#{group => distribution,specification => [{attribute,{11851,2},spec,{{set_cookie,1},[{type,{11851,17},bounded_fun,[{type,{11851,17},'fun',[{type,{11851,17},product,[{var,{11851,18},'Cookie'}]},{atom,{11851,29},true}]},[{type,{11852,7},constraint,[{atom,{11852,7},is_subtype},[{var,{11852,7},'Cookie'},{type,{11852,17},atom,[]}]]}]]}]}}],since => <<79,84,80,32,50,52,46,49>>}},{{function,delay_trap,2},{11831,2},[<<100,101,108,97,121,95,116,114,97,112,47,50>>],hidden,#{}},{{function,dmonitor_node,3},{11811,2},[<<100,109,111,110,105,116,111,114,95,110,111,100,101,47,51>>],hidden,#{}},{{function,dist_get_stat,1},{11799,2},[<<100,105,115,116,95,103,101,116,95,115,116,97,116,40,68,72,97,110,100,108,101,41>>],hidden,#{}},{{function,dist_ctrl_get_opt,2},{11773,2},[<<100,105,115,116,95,99,116,114,108,95,103,101,116,95,111,112,116,40,68,72,97,110,100,108,101,44,32,79,112,116,41>>],#{<<101,110>> => <<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,96,103,101,116,95,115,105,122,101,96,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,10,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,68,72,97,110,100,108,101,96,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,10,96,103,101,116,95,115,105,122,101,96,32,111,112,116,105,111,110,32,102,111,114,32,116,104,101,32,91,96,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,96,93,40,96,100,105,115,116,95,99,116,114,108,95,115,101,116,95,111,112,116,47,51,96,41,10,102,117,110,99,116,105,111,110,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,68,72,97,110,100,108,101,96,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,10,10,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,10,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,96,68,72,97,110,100,108,101,96,32,105,115,32,114,101,116,114,105,101,118,101,100,32,118,105,97,32,116,104,101,10,99,97,108,108,98,97,99,107,32,91,96,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101,96,93,40,97,108,116,95,100,105,115,116,46,109,100,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,41,46,10,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,10,91,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,93,40,97,108,116,95,100,105,115,116,46,109,100,35,100,105,115,116,114,105,98,117,116,105,111,110,45,109,111,100,117,108,101,41,46>>},#{group => distribution,specification => [{attribute,{11792,2},spec,{{dist_ctrl_get_opt,2},[{type,{11792,24},bounded_fun,[{type,{11792,24},'fun',[{type,{11792,24},product,[{var,{11792,25},'DHandle'},{atom,{11792,34},get_size}]},{var,{11792,49},'Value'}]},[{type,{11793,7},constraint,[{atom,{11793,7},is_subtype},[{var,{11793,7},'DHandle'},{user_type,{11793,18},dist_handle,[]}]]},{type,{11794,7},constraint,[{atom,{11794,7},is_subtype},[{var,{11794,7},'Value'},{type,{11794,16},boolean,[]}]]}]]}]}}],since => <<79,84,80,32,50,50,46,48>>}},{{function,dist_ctrl_set_opt,3},{11733,2},[<<100,105,115,116,95,99,116,114,108,95,115,101,116,95,111,112,116,40,68,72,97,110,100,108,101,44,32,79,112,116,44,32,86,97,108,41>>],#{<<101,110>> => <<83,101,116,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,96,103,101,116,95,115,105,122,101,96,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,10,98,121,32,96,68,72,97,110,100,108,101,96,46,10,10,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,10,91,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,93,40,96,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,47,49,96,41,32,119,104,101,114,101,32,96,68,72,97,110,100,108,101,96,10,101,113,117,97,108,115,32,96,68,72,97,110,100,108,101,96,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,96,103,101,116,95,115,105,122,101,96,32,111,112,116,105,111,110,32,105,115,58,10,10,45,32,42,42,96,102,97,108,115,101,96,42,42,32,45,32,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,10,32,32,96,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,96,32,119,105,108,108,32,106,117,115,116,32,114,101,116,117,114,110,32,96,68,97,116,97,96,32,116,111,32,112,97,115,115,32,111,118,101,114,32,116,104,101,10,32,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,96,103,101,116,95,115,105,122,101,96,32,111,112,116,105,111,110,46,10,10,45,32,42,42,96,116,114,117,101,96,42,42,32,45,32,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,10,32,32,96,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,96,32,119,105,108,108,32,114,101,116,117,114,110,32,96,68,97,116,97,96,32,116,111,32,112,97,115,115,32,111,118,101,114,32,116,104,101,10,32,32,99,104,97,110,110,101,108,32,97,115,32,119,101,108,108,32,97,115,32,116,104,101,32,96,83,105,122,101,96,32,111,102,32,96,68,97,116,97,96,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,10,32,32,111,110,32,116,104,101,32,102,111,114,109,32,96,123,83,105,122,101,44,32,68,97,116,97,125,96,46,10,10,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,68,72,97,110,100,108,101,96,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,10,10,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,10,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,96,68,72,97,110,100,108,101,96,32,105,115,32,114,101,116,114,105,101,118,101,100,32,118,105,97,32,116,104,101,10,99,97,108,108,98,97,99,107,32,91,96,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101,96,93,40,97,108,116,95,100,105,115,116,46,109,100,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,41,46,10,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,10,91,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,93,40,97,108,116,95,100,105,115,116,46,109,100,35,100,105,115,116,114,105,98,117,116,105,111,110,45,109,111,100,117,108,101,41,46>>},#{group => distribution,specification => [{attribute,{11765,2},spec,{{dist_ctrl_set_opt,3},[{type,{11765,24},bounded_fun,[{type,{11765,24},'fun',[{type,{11765,24},product,[{var,{11765,25},'DHandle'},{atom,{11765,34},get_size},{var,{11765,46},'Value'}]},{var,{11765,56},'OldValue'}]},[{type,{11766,7},constraint,[{atom,{11766,7},is_subtype},[{var,{11766,7},'DHandle'},{user_type,{11766,18},dist_handle,[]}]]},{type,{11767,7},constraint,[{atom,{11767,7},is_subtype},[{var,{11767,7},'Value'},{type,{11767,16},boolean,[]}]]},{type,{11768,7},constraint,[{atom,{11768,7},is_subtype},[{var,{11768,7},'OldValue'},{type,{11768,19},boolean,[]}]]}]]}]}}],since => <<79,84,80,32,50,50,46,48>>}},{{function,dist_ctrl_get_data_notification,1},{11704,2},[<<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>>],#{<<101,110>> => <<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,10,91,96,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,96,93,40,96,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,47,49,96,41,32,102,111,114,32,116,104,101,10,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,96,68,72,97,110,100,108,101,96,46,10,10,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,96,100,105,115,116,95,100,97,116,97,96,46,10,79,110,99,101,32,97,32,96,100,105,115,116,95,100,97,116,97,96,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,96,100,105,115,116,95,100,97,116,97,96,32,109,101,115,115,97,103,101,115,32,119,105,108,108,10,98,101,32,115,101,110,116,32,117,110,116,105,108,32,116,104,101,32,91,96,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,96,93,40,96,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,96,41,10,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,68,72,97,110,100,108,101,96,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,10,10,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,10,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,96,68,72,97,110,100,108,101,96,32,105,115,32,114,101,116,114,105,101,118,101,100,32,118,105,97,32,116,104,101,10,99,97,108,108,98,97,99,107,32,91,96,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101,96,93,40,97,108,116,95,100,105,115,116,46,109,100,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,41,46,10,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,10,91,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,93,40,97,108,116,95,100,105,115,116,46,109,100,35,100,105,115,116,114,105,98,117,116,105,111,110,45,109,111,100,117,108,101,41,46>>},#{group => distribution,specification => [{attribute,{11727,2},spec,{{dist_ctrl_get_data_notification,1},[{type,{11727,38},bounded_fun,[{type,{11727,38},'fun',[{type,{11727,38},product,[{var,{11727,39},'DHandle'}]},{atom,{11727,51},ok}]},[{type,{11728,7},constraint,[{atom,{11728,7},is_subtype},[{var,{11728,7},'DHandle'},{user_type,{11728,18},dist_handle,[]}]]}]]}]}}],since => <<79,84,80,32,50,49,46,48>>}},{{function,dist_ctrl_get_data,1},{11669,2},[<<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>>],#{<<101,110>> => <<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,10,114,101,109,111,116,101,32,110,111,100,101,46,10,10,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,96,68,72,97,110,100,108,101,96,46,32,73,102,32,110,111,32,100,97,116,97,32,105,115,10,97,118,97,105,108,97,98,108,101,44,32,116,104,101,32,97,116,111,109,32,96,110,111,110,101,96,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,10,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,10,91,96,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,96,93,40,96,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,96,41,46,10,10,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,10,96,103,101,116,95,115,105,122,101,96,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,10,96,68,72,97,110,100,108,101,96,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,96,103,101,116,95,115,105,122,101,96,32,111,112,116,105,111,110,10,102,111,114,32,116,104,101,32,91,96,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,96,93,40,96,100,105,115,116,95,99,116,114,108,95,115,101,116,95,111,112,116,47,51,96,41,32,102,117,110,99,116,105,111,110,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,68,72,97,110,100,108,101,96,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,10,10,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,10,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,96,68,72,97,110,100,108,101,96,32,105,115,32,114,101,116,114,105,101,118,101,100,32,118,105,97,32,116,104,101,10,99,97,108,108,98,97,99,107,32,91,96,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101,96,93,40,97,108,116,95,100,105,115,116,46,109,100,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,41,46,10,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,10,91,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,93,40,97,108,116,95,100,105,115,116,46,109,100,35,100,105,115,116,114,105,98,117,116,105,111,110,45,109,111,100,117,108,101,41,46>>},#{group => distribution,specification => [{attribute,{11696,2},spec,{{dist_ctrl_get_data,1},[{type,{11696,25},bounded_fun,[{type,{11696,25},'fun',[{type,{11696,25},product,[{var,{11696,26},'DHandle'}]},{type,{11696,38},union,[{type,{11696,38},tuple,[{var,{11696,39},'Size'},{var,{11696,45},'Data'}]},{var,{11696,53},'Data'},{atom,{11696,60},none}]}]},[{type,{11697,7},constraint,[{atom,{11697,7},is_subtype},[{var,{11697,7},'Size'},{type,{11697,15},non_neg_integer,[]}]]},{type,{11698,7},constraint,[{atom,{11698,7},is_subtype},[{var,{11698,7},'DHandle'},{user_type,{11698,18},dist_handle,[]}]]},{type,{11699,7},constraint,[{atom,{11699,7},is_subtype},[{var,{11699,7},'Data'},{user_type,{11699,15},iovec,[]}]]}]]}]}}],since => <<79,84,80,32,50,49,46,48>>}},{{function,dist_ctrl_put_data,2},{11642,2},[<<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>>],#{<<101,110>> => <<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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,68,72,97,110,100,108,101,96,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,10,62,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,10,62,32,91,96,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,96,93,40,96,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,96,41,46,10,62,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,10,62,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,10,10,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,46,10,96,68,72,97,110,100,108,101,96,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,10,91,96,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101,96,93,40,97,108,116,95,100,105,115,116,46,109,100,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,41,46,32,77,111,114,101,10,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,10,91,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,93,40,97,108,116,95,100,105,115,116,46,109,100,35,100,105,115,116,114,105,98,117,116,105,111,110,45,109,111,100,117,108,101,41,46>>},#{group => distribution,specification => [{attribute,{11662,2},spec,{{dist_ctrl_put_data,2},[{type,{11662,25},bounded_fun,[{type,{11662,25},'fun',[{type,{11662,25},product,[{var,{11662,26},'DHandle'},{var,{11662,35},'Data'}]},{atom,{11662,44},ok}]},[{type,{11663,7},constraint,[{atom,{11663,7},is_subtype},[{var,{11663,7},'DHandle'},{user_type,{11663,18},dist_handle,[]}]]},{type,{11664,7},constraint,[{atom,{11664,7},is_subtype},[{var,{11664,7},'Data'},{type,{11664,15},iodata,[]}]]}]]}]}}],since => <<79,84,80,32,50,49,46,48>>}},{{function,dist_ctrl_input_handler,2},{11609,2},[<<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>>],#{<<101,110>> => <<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,10,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,68,72,97,110,100,108,101,96,46,10,10,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,96,73,110,112,117,116,72,97,110,100,108,101,114,96,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,10,91,96,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,96,93,40,96,100,105,115,116,95,99,116,114,108,95,112,117,116,95,100,97,116,97,47,50,96,41,32,119,105,116,104,32,116,104,101,10,96,68,72,97,110,100,108,101,96,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,87,104,101,110,32,116,104,101,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,10,62,32,96,68,72,97,110,100,108,101,96,32,105,115,32,97,32,112,114,111,99,101,115,115,44,32,105,116,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,116,104,105,115,32,102,117,110,99,116,105,111,110,46,10,62,32,84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,97,108,115,111,32,97,108,108,111,119,101,100,32,116,111,32,98,101,32,99,97,108,108,101,100,32,119,104,101,110,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,10,62,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,96,68,72,97,110,100,108,101,96,32,105,115,32,97,32,112,111,114,116,46,32,84,104,101,32,100,97,116,97,10,62,32,114,101,99,101,105,118,101,100,32,98,121,32,116,104,101,32,112,111,114,116,32,115,104,111,117,108,100,32,105,110,32,116,104,105,115,32,99,97,115,101,32,98,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,10,62,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,73,110,112,117,116,72,97,110,100,108,101,114,96,32,119,104,105,99,104,32,105,110,32,116,117,114,110,32,115,104,111,117,108,100,32,99,97,108,108,10,62,32,91,96,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,47,50,96,93,40,96,100,105,115,116,95,99,116,114,108,95,112,117,116,95,100,97,116,97,47,50,96,41,46,10,10,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,46,10,96,68,72,97,110,100,108,101,96,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,10,91,96,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101,96,93,40,97,108,116,95,100,105,115,116,46,109,100,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,41,46,32,77,111,114,101,10,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,10,91,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,93,40,97,108,116,95,100,105,115,116,46,109,100,35,100,105,115,116,114,105,98,117,116,105,111,110,45,109,111,100,117,108,101,41,46>>},#{group => distribution,specification => [{attribute,{11635,2},spec,{{dist_ctrl_input_handler,2},[{type,{11635,30},bounded_fun,[{type,{11635,30},'fun',[{type,{11635,30},product,[{var,{11635,31},'DHandle'},{var,{11635,40},'InputHandler'}]},{atom,{11635,57},ok}]},[{type,{11636,7},constraint,[{atom,{11636,7},is_subtype},[{var,{11636,7},'DHandle'},{user_type,{11636,18},dist_handle,[]}]]},{type,{11637,7},constraint,[{atom,{11637,7},is_subtype},[{var,{11637,7},'InputHandler'},{type,{11637,23},pid,[]}]]}]]}]}}],since => <<79,84,80,32,50,49,46,48>>}},{{function,port_get_data,1},{11598,2},[<<112,111,114,116,95,103,101,116,95,100,97,116,97,40,80,111,114,116,41>>],hidden,#{}},{{function,port_set_data,2},{11590,2},[<<112,111,114,116,95,115,101,116,95,100,97,116,97,40,80,111,114,116,44,32,68,97,116,97,41>>],hidden,#{}},{{function,port_info,2},[{file,[46,46,47,46,46,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,95,112,111,114,116,95,105,110,102,111,46,109,100]},{location,{1,1}}],[<<112,111,114,116,95,105,110,102,111,40,80,111,114,116,44,32,73,116,101,109,41>>],#{<<101,110>> => <<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,96,80,111,114,116,96,46,10,10,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,96,80,111,114,116,96,32,105,115,32,110,111,116,32,111,112,101,110,44,32,96,117,110,100,101,102,105,110,101,100,96,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,96,112,111,114,116,95,105,110,102,111,47,50,96,32,114,101,116,117,114,110,115,32,96,117,110,100,101,102,105,110,101,100,96,46,10,10,96,73,116,101,109,96,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,110,100,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,103,101,116,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,96,80,111,114,116,96,46,10,10,45,32,96,99,111,110,110,101,99,116,101,100,96,32,45,32,114,101,116,117,114,110,115,32,96,123,99,111,110,110,101,99,116,101,100,44,32,80,105,100,125,96,32,119,104,101,114,101,32,96,80,105,100,96,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,10,45,32,96,105,100,96,32,45,32,114,101,116,117,114,110,115,32,96,123,105,100,44,32,73,110,100,101,120,125,96,32,119,104,101,114,101,32,96,73,110,100,101,120,96,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,10,45,32,96,105,110,112,117,116,96,32,45,32,114,101,116,117,114,110,115,32,96,123,105,110,112,117,116,44,32,66,121,116,101,115,125,96,32,119,104,101,114,101,32,96,66,121,116,101,115,96,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,10,45,32,96,108,105,110,107,115,96,32,45,32,114,101,116,117,114,110,115,32,96,123,108,105,110,107,115,44,32,80,105,100,115,125,96,32,119,104,101,114,101,32,96,80,105,100,115,96,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,10,45,32,96,108,111,99,107,105,110,103,96,32,45,32,114,101,116,117,114,110,115,32,96,123,108,111,99,107,105,110,103,44,32,76,111,99,107,105,110,103,125,96,32,119,104,101,114,101,32,96,76,111,99,107,105,110,103,96,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,10,32,32,42,32,96,112,111,114,116,95,108,101,118,101,108,96,32,40,112,111,114,116,45,115,112,101,99,105,102,105,99,32,108,111,99,107,105,110,103,41,10,32,32,42,32,96,100,114,105,118,101,114,95,108,101,118,101,108,96,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,10,32,32,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,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,82,49,54,66,10,45,32,96,109,101,109,111,114,121,96,32,123,58,32,35,112,111,114,116,95,105,110,102,111,95,109,101,109,111,114,121,32,125,32,45,32,114,101,116,117,114,110,115,32,96,123,109,101,109,111,114,121,44,32,66,121,116,101,115,125,96,32,119,104,101,114,101,32,96,66,121,116,101,115,96,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,96,66,121,116,101,115,96,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,82,49,54,66,10,45,32,96,109,111,110,105,116,111,114,115,96,32,45,32,114,101,116,117,114,110,115,32,96,123,109,111,110,105,116,111,114,115,44,32,77,111,110,105,116,111,114,115,125,96,32,119,104,101,114,101,32,96,77,111,110,105,116,111,114,115,96,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,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,82,49,54,66,10,45,32,96,109,111,110,105,116,111,114,101,100,95,98,121,96,32,45,32,114,101,116,117,114,110,115,32,96,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,96,32,119,104,101,114,101,32,96,77,111,110,105,116,111,114,101,100,66,121,96,32,105,115,32,97,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,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,49,57,46,48,10,45,32,96,110,97,109,101,96,32,45,32,114,101,116,117,114,110,115,32,96,123,110,97,109,101,44,32,78,97,109,101,125,96,32,119,104,101,114,101,32,96,78,97,109,101,96,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,96,111,112,101,110,95,112,111,114,116,47,50,96,46,10,45,32,96,111,115,95,112,105,100,96,32,45,32,114,101,116,117,114,110,115,32,96,123,111,115,95,112,105,100,44,32,79,115,80,105,100,125,96,32,119,104,101,114,101,32,96,79,115,80,105,100,96,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,91,96,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,96,93,40,96,111,112,101,110,95,112,111,114,116,47,50,96,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,96,117,110,100,101,102,105,110,101,100,96,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,82,49,54,66,10,45,32,96,111,117,116,112,117,116,96,32,45,32,114,101,116,117,114,110,115,32,96,123,111,117,116,112,117,116,44,32,66,121,116,101,115,125,96,32,119,104,101,114,101,32,96,66,121,116,101,115,96,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,96,112,111,114,116,95,99,111,109,109,97,110,100,47,50,96,44,32,96,112,111,114,116,95,99,111,109,109,97,110,100,47,51,96,44,32,111,114,32,96,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,96,46,10,45,32,96,112,97,114,97,108,108,101,108,105,115,109,96,32,45,32,114,101,116,117,114,110,115,32,96,123,112,97,114,97,108,108,101,108,105,115,109,44,32,66,111,111,108,101,97,110,125,96,32,119,104,101,114,101,32,96,66,111,111,108,101,97,110,96,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,91,96,112,97,114,97,108,108,101,108,105,115,109,96,93,40,96,109,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,96,41,32,111,102,32,96,111,112,101,110,95,112,111,114,116,47,50,96,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,82,49,54,66,10,45,32,96,113,117,101,117,101,95,115,105,122,101,96,32,45,32,114,101,116,117,114,110,115,32,96,123,113,117,101,117,101,95,115,105,122,101,44,32,66,121,116,101,115,125,96,32,119,104,101,114,101,32,96,66,121,116,101,115,96,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,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,82,49,54,66,10,45,32,96,114,101,103,105,115,116,101,114,101,100,95,110,97,109,101,96,32,45,32,114,101,116,117,114,110,115,32,96,123,114,101,103,105,115,116,101,114,101,100,95,110,97,109,101,44,32,82,101,103,105,115,116,101,114,101,100,78,97,109,101,125,96,32,119,104,101,114,101,32,96,82,101,103,105,115,116,101,114,101,100,78,97,109,101,96,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,96,91,93,96,32,105,115,32,114,101,116,117,114,110,101,100,46,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,80,111,114,116,96,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>>},#{group => ports,specification => [{attribute,{11536,2},spec,{{port_info,2},[{type,{11536,16},bounded_fun,[{type,{11536,16},'fun',[{type,{11536,16},product,[{var,{11536,17},'Port'},{ann_type,{11536,23},[{var,{11536,23},'Item'},{atom,{11536,31},connected}]}]},{type,{11536,45},union,[{type,{11536,45},tuple,[{atom,{11536,46},connected},{var,{11536,57},'Pid'}]},{atom,{11536,64},undefined}]}]},[{type,{11537,7},constraint,[{atom,{11537,7},is_subtype},[{var,{11537,7},'Port'},{type,{11537,15},union,[{type,{11537,15},port,[]},{type,{11537,24},atom,[]}]}]]},{type,{11538,7},constraint,[{atom,{11538,7},is_subtype},[{var,{11538,7},'Pid'},{type,{11538,14},pid,[]}]]}]]},{type,{11539,9},bounded_fun,[{type,{11539,9},'fun',[{type,{11539,9},product,[{var,{11539,10},'Port'},{ann_type,{11539,16},[{var,{11539,16},'Item'},{atom,{11539,24},id}]}]},{type,{11539,31},union,[{type,{11539,31},tuple,[{atom,{11539,32},id},{var,{11539,36},'Index'}]},{atom,{11539,45},undefined}]}]},[{type,{11540,7},constraint,[{atom,{11540,7},is_subtype},[{var,{11540,7},'Port'},{type,{11540,15},union,[{type,{11540,15},port,[]},{type,{11540,24},atom,[]}]}]]},{type,{11541,7},constraint,[{atom,{11541,7},is_subtype},[{var,{11541,7},'Index'},{type,{11541,16},non_neg_integer,[]}]]}]]},{type,{11542,9},bounded_fun,[{type,{11542,9},'fun',[{type,{11542,9},product,[{var,{11542,10},'Port'},{ann_type,{11542,16},[{var,{11542,16},'Item'},{atom,{11542,24},input}]}]},{type,{11542,34},union,[{type,{11542,34},tuple,[{atom,{11542,35},input},{var,{11542,42},'Bytes'}]},{atom,{11542,51},undefined}]}]},[{type,{11543,7},constraint,[{atom,{11543,7},is_subtype},[{var,{11543,7},'Port'},{type,{11543,15},union,[{type,{11543,15},port,[]},{type,{11543,24},atom,[]}]}]]},{type,{11544,7},constraint,[{atom,{11544,7},is_subtype},[{var,{11544,7},'Bytes'},{type,{11544,16},non_neg_integer,[]}]]}]]},{type,{11545,9},bounded_fun,[{type,{11545,9},'fun',[{type,{11545,9},product,[{var,{11545,10},'Port'},{ann_type,{11545,16},[{var,{11545,16},'Item'},{atom,{11545,24},links}]}]},{type,{11545,34},union,[{type,{11545,34},tuple,[{atom,{11545,35},links},{var,{11545,42},'Pids'}]},{atom,{11545,50},undefined}]}]},[{type,{11546,7},constraint,[{atom,{11546,7},is_subtype},[{var,{11546,7},'Port'},{type,{11546,15},union,[{type,{11546,15},port,[]},{type,{11546,24},atom,[]}]}]]},{type,{11547,7},constraint,[{atom,{11547,7},is_subtype},[{var,{11547,7},'Pids'},{type,{11547,15},list,[{type,{11547,16},pid,[]}]}]]}]]},{type,{11548,9},bounded_fun,[{type,{11548,9},'fun',[{type,{11548,9},product,[{var,{11548,10},'Port'},{ann_type,{11548,16},[{var,{11548,16},'Item'},{atom,{11548,24},locking}]}]},{type,{11548,36},union,[{type,{11548,36},tuple,[{atom,{11548,37},locking},{var,{11548,46},'Locking'}]},{atom,{11548,57},undefined}]}]},[{type,{11549,7},constraint,[{atom,{11549,7},is_subtype},[{var,{11549,7},'Port'},{type,{11549,15},union,[{type,{11549,15},port,[]},{type,{11549,24},atom,[]}]}]]},{type,{11550,7},constraint,[{atom,{11550,7},is_subtype},[{var,{11550,7},'Locking'},{type,{11550,18},union,[{atom,{11550,18},false},{atom,{11550,28},port_level},{atom,{11550,43},driver_level}]}]]}]]},{type,{11551,9},bounded_fun,[{type,{11551,9},'fun',[{type,{11551,9},product,[{var,{11551,10},'Port'},{ann_type,{11551,16},[{var,{11551,16},'Item'},{atom,{11551,24},memory}]}]},{type,{11551,35},union,[{type,{11551,35},tuple,[{atom,{11551,36},memory},{var,{11551,44},'Bytes'}]},{atom,{11551,53},undefined}]}]},[{type,{11552,7},constraint,[{atom,{11552,7},is_subtype},[{var,{11552,7},'Port'},{type,{11552,15},union,[{type,{11552,15},port,[]},{type,{11552,24},atom,[]}]}]]},{type,{11553,7},constraint,[{atom,{11553,7},is_subtype},[{var,{11553,7},'Bytes'},{type,{11553,16},non_neg_integer,[]}]]}]]},{type,{11554,9},bounded_fun,[{type,{11554,9},'fun',[{type,{11554,9},product,[{var,{11554,10},'Port'},{ann_type,{11554,16},[{var,{11554,16},'Item'},{atom,{11554,24},monitors}]}]},{type,{11554,37},union,[{type,{11554,37},tuple,[{atom,{11554,38},monitors},{var,{11554,48},'Monitors'}]},{atom,{11554,60},undefined}]}]},[{type,{11555,7},constraint,[{atom,{11555,7},is_subtype},[{var,{11555,7},'Port'},{type,{11555,15},union,[{type,{11555,15},port,[]},{type,{11555,24},atom,[]}]}]]},{type,{11556,7},constraint,[{atom,{11556,7},is_subtype},[{var,{11556,7},'Monitors'},{type,{11556,19},list,[{type,{11556,20},tuple,[{atom,{11556,21},process},{type,{11556,30},pid,[]}]}]}]]}]]},{type,{11557,9},bounded_fun,[{type,{11557,9},'fun',[{type,{11557,9},product,[{var,{11557,10},'Port'},{ann_type,{11557,16},[{var,{11557,16},'Item'},{atom,{11557,24},monitored_by}]}]},{type,{11557,41},union,[{type,{11557,41},tuple,[{atom,{11557,42},monitored_by},{var,{11557,56},'MonitoredBy'}]},{atom,{11557,71},undefined}]}]},[{type,{11558,7},constraint,[{atom,{11558,7},is_subtype},[{var,{11558,7},'Port'},{type,{11558,15},union,[{type,{11558,15},port,[]},{type,{11558,24},atom,[]}]}]]},{type,{11559,7},constraint,[{atom,{11559,7},is_subtype},[{var,{11559,7},'MonitoredBy'},{type,{11559,22},list,[{type,{11559,23},pid,[]}]}]]}]]},{type,{11560,9},bounded_fun,[{type,{11560,9},'fun',[{type,{11560,9},product,[{var,{11560,10},'Port'},{ann_type,{11560,16},[{var,{11560,16},'Item'},{atom,{11560,24},name}]}]},{type,{11560,33},union,[{type,{11560,33},tuple,[{atom,{11560,34},name},{var,{11560,40},'Name'}]},{atom,{11560,48},undefined}]}]},[{type,{11561,7},constraint,[{atom,{11561,7},is_subtype},[{var,{11561,7},'Port'},{type,{11561,15},union,[{type,{11561,15},port,[]},{type,{11561,24},atom,[]}]}]]},{type,{11562,7},constraint,[{atom,{11562,7},is_subtype},[{var,{11562,7},'Name'},{type,{11562,15},string,[]}]]}]]},{type,{11563,9},bounded_fun,[{type,{11563,9},'fun',[{type,{11563,9},product,[{var,{11563,10},'Port'},{ann_type,{11563,16},[{var,{11563,16},'Item'},{atom,{11563,24},os_pid}]}]},{type,{11563,35},union,[{type,{11563,35},tuple,[{atom,{11563,36},os_pid},{var,{11563,44},'OsPid'}]},{atom,{11563,53},undefined}]}]},[{type,{11564,7},constraint,[{atom,{11564,7},is_subtype},[{var,{11564,7},'Port'},{type,{11564,15},union,[{type,{11564,15},port,[]},{type,{11564,24},atom,[]}]}]]},{type,{11565,7},constraint,[{atom,{11565,7},is_subtype},[{var,{11565,7},'OsPid'},{type,{11565,16},union,[{type,{11565,16},non_neg_integer,[]},{atom,{11565,36},undefined}]}]]}]]},{type,{11566,9},bounded_fun,[{type,{11566,9},'fun',[{type,{11566,9},product,[{var,{11566,10},'Port'},{ann_type,{11566,16},[{var,{11566,16},'Item'},{atom,{11566,24},output}]}]},{type,{11566,35},union,[{type,{11566,35},tuple,[{atom,{11566,36},output},{var,{11566,44},'Bytes'}]},{atom,{11566,53},undefined}]}]},[{type,{11567,7},constraint,[{atom,{11567,7},is_subtype},[{var,{11567,7},'Port'},{type,{11567,15},union,[{type,{11567,15},port,[]},{type,{11567,24},atom,[]}]}]]},{type,{11568,7},constraint,[{atom,{11568,7},is_subtype},[{var,{11568,7},'Bytes'},{type,{11568,16},non_neg_integer,[]}]]}]]},{type,{11569,9},bounded_fun,[{type,{11569,9},'fun',[{type,{11569,9},product,[{var,{11569,10},'Port'},{ann_type,{11569,16},[{var,{11569,16},'Item'},{atom,{11569,24},parallelism}]}]},{type,{11569,40},union,[{type,{11569,40},tuple,[{atom,{11569,41},parallelism},{var,{11569,54},'Boolean'}]},{atom,{11569,65},undefined}]}]},[{type,{11570,7},constraint,[{atom,{11570,7},is_subtype},[{var,{11570,7},'Port'},{type,{11570,15},union,[{type,{11570,15},port,[]},{type,{11570,24},atom,[]}]}]]},{type,{11571,7},constraint,[{atom,{11571,7},is_subtype},[{var,{11571,7},'Boolean'},{type,{11571,18},boolean,[]}]]}]]},{type,{11572,9},bounded_fun,[{type,{11572,9},'fun',[{type,{11572,9},product,[{var,{11572,10},'Port'},{ann_type,{11572,16},[{var,{11572,16},'Item'},{atom,{11572,24},queue_size}]}]},{type,{11572,39},union,[{type,{11572,39},tuple,[{atom,{11572,40},queue_size},{var,{11572,52},'Bytes'}]},{atom,{11572,61},undefined}]}]},[{type,{11573,7},constraint,[{atom,{11573,7},is_subtype},[{var,{11573,7},'Port'},{type,{11573,15},union,[{type,{11573,15},port,[]},{type,{11573,24},atom,[]}]}]]},{type,{11574,7},constraint,[{atom,{11574,7},is_subtype},[{var,{11574,7},'Bytes'},{type,{11574,16},non_neg_integer,[]}]]}]]},{type,{11575,9},bounded_fun,[{type,{11575,9},'fun',[{type,{11575,9},product,[{var,{11575,10},'Port'},{ann_type,{11575,16},[{var,{11575,16},'Item'},{atom,{11575,24},registered_name}]}]},{type,{11575,44},union,[{type,{11575,44},tuple,[{atom,{11575,45},registered_name},{var,{11575,62},'RegisteredName'}]},{type,{11575,80},nil,[]},{atom,{11575,85},undefined}]}]},[{type,{11576,7},constraint,[{atom,{11576,7},is_subtype},[{var,{11576,7},'Port'},{type,{11576,15},union,[{type,{11576,15},port,[]},{type,{11576,24},atom,[]}]}]]},{type,{11577,7},constraint,[{atom,{11577,7},is_subtype},[{var,{11577,7},'RegisteredName'},{type,{11577,25},atom,[]}]]}]]}]}}]}},{{function,port_info,1},{11490,2},[<<112,111,114,116,95,105,110,102,111,40,80,111,114,116,41>>],#{<<101,110>> => <<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,96,80,111,114,116,96,44,32,111,114,32,96,117,110,100,101,102,105,110,101,100,96,10,105,102,32,116,104,101,32,112,111,114,116,32,105,115,32,110,111,116,32,111,112,101,110,46,10,10,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,10,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,10,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,10,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,91,96,112,111,114,116,95,105,110,102,111,47,49,96,93,40,96,112,111,114,116,95,105,110,102,111,47,49,96,41,32,114,101,116,117,114,110,115,32,96,117,110,100,101,102,105,110,101,100,96,46,10,10,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,96,73,116,101,109,96,115,58,10,10,45,32,96,114,101,103,105,115,116,101,114,101,100,95,110,97,109,101,96,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,10,45,32,96,105,100,96,10,45,32,96,99,111,110,110,101,99,116,101,100,96,10,45,32,96,108,105,110,107,115,96,10,45,32,96,110,97,109,101,96,10,45,32,96,105,110,112,117,116,96,10,45,32,96,111,117,116,112,117,116,96,10,10,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,96,73,116,101,109,96,115,44,32,115,101,101,32,96,112,111,114,116,95,105,110,102,111,47,50,96,46,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,80,111,114,116,96,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>>},#{group => ports,specification => [{attribute,{11514,2},spec,{{port_info,1},[{type,{11514,16},bounded_fun,[{type,{11514,16},'fun',[{type,{11514,16},product,[{var,{11514,17},'Port'}]},{var,{11514,26},'Result'}]},[{type,{11515,7},constraint,[{atom,{11515,7},is_subtype},[{var,{11515,7},'Port'},{type,{11515,15},union,[{type,{11515,15},port,[]},{type,{11515,24},atom,[]}]}]]},{type,{11516,7},constraint,[{atom,{11516,7},is_subtype},[{var,{11516,7},'ResultItem'},{type,{11516,21},union,[{type,{11516,21},tuple,[{atom,{11516,22},registered_name},{ann_type,{11516,39},[{var,{11516,39},'RegisteredName'},{type,{11516,57},atom,[]}]}]},{type,{11517,7},tuple,[{atom,{11517,8},id},{ann_type,{11517,12},[{var,{11517,12},'Index'},{type,{11517,21},non_neg_integer,[]}]}]},{type,{11518,7},tuple,[{atom,{11518,8},connected},{ann_type,{11518,19},[{var,{11518,19},'Pid'},{type,{11518,26},pid,[]}]}]},{type,{11519,7},tuple,[{atom,{11519,8},links},{ann_type,{11519,15},[{var,{11519,15},'Pids'},{type,{11519,23},list,[{type,{11519,24},pid,[]}]}]}]},{type,{11520,7},tuple,[{atom,{11520,8},name},{ann_type,{11520,14},[{var,{11520,14},'String'},{type,{11520,24},string,[]}]}]},{type,{11521,7},tuple,[{atom,{11521,8},input},{ann_type,{11521,15},[{var,{11521,15},'Bytes'},{type,{11521,24},non_neg_integer,[]}]}]},{type,{11522,7},tuple,[{atom,{11522,8},output},{ann_type,{11522,16},[{var,{11522,16},'Bytes'},{type,{11522,25},non_neg_integer,[]}]}]},{type,{11523,7},tuple,[{atom,{11523,8},os_pid},{ann_type,{11523,16},[{var,{11523,16},'OsPid'},{type,{11523,25},union,[{type,{11523,25},non_neg_integer,[]},{atom,{11523,45},undefined}]}]}]}]}]]},{type,{11524,7},constraint,[{atom,{11524,7},is_subtype},[{var,{11524,7},'Result'},{type,{11524,17},union,[{type,{11524,17},list,[{var,{11524,18},'ResultItem'}]},{atom,{11524,32},undefined}]}]]}]]}]}}]}},{{function,port_call,3},{11439,2},[<<112,111,114,116,95,99,97,108,108,40,80,111,114,116,44,32,79,112,101,114,97,116,105,111,110,44,32,68,97,116,97,41>>],#{<<101,110>> => <<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,96,79,112,101,114,97,116,105,111,110,96,32,97,110,100,32,96,68,97,116,97,96,10,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,10,116,104,105,115,32,102,101,97,116,117,114,101,46,10,10,96,80,111,114,116,96,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,10,10,96,79,112,101,114,97,116,105,111,110,96,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,10,10,96,68,97,116,97,96,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,10,116,111,32,116,104,101,32,112,111,114,116,46,10,10,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,10,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,46,10,10,70,97,105,108,117,114,101,115,58,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,80,111,114,116,96,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,10,32,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,10,32,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,96,80,111,114,116,96,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,10,32,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,96,98,97,100,97,114,103,96,32,101,120,99,101,112,116,105,111,110,32,111,99,99,117,114,115,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,79,112,101,114,97,116,105,111,110,96,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,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,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,10,32,32,111,112,101,114,97,116,105,111,110,115,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,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,10,32,32,115,111,109,101,116,104,105,110,103,32,119,114,111,110,103,32,119,105,116,104,32,96,79,112,101,114,97,116,105,111,110,96,32,111,114,32,96,68,97,116,97,96,41,46,10,10,32,32,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,32,32,62,10,32,32,62,32,68,111,32,110,111,116,32,99,97,108,108,32,96,112,111,114,116,95,99,97,108,108,96,32,119,105,116,104,32,97,110,32,117,110,107,110,111,119,110,32,96,80,111,114,116,96,32,105,100,101,110,116,105,102,105,101,114,32,97,110,100,32,101,120,112,101,99,116,10,32,32,62,32,96,98,97,100,97,114,103,96,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,10,32,32,62,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>>},#{group => ports,specification => [{attribute,{11476,2},spec,{{port_call,3},[{type,{11476,16},bounded_fun,[{type,{11476,16},'fun',[{type,{11476,16},product,[{var,{11476,17},'Port'},{var,{11476,23},'Operation'},{var,{11476,34},'Data'}]},{type,{11476,43},term,[]}]},[{type,{11477,7},constraint,[{atom,{11477,7},is_subtype},[{var,{11477,7},'Port'},{type,{11477,15},union,[{type,{11477,15},port,[]},{type,{11477,24},atom,[]}]}]]},{type,{11478,7},constraint,[{atom,{11478,7},is_subtype},[{var,{11478,7},'Operation'},{type,{11478,20},integer,[]}]]},{type,{11479,7},constraint,[{atom,{11479,7},is_subtype},[{var,{11479,7},'Data'},{type,{11479,15},term,[]}]]}]]}]}}]}},{{function,port_call,2},{11425,2},[<<112,111,114,116,95,99,97,108,108,40,80,111,114,116,44,32,68,97,116,97,41>>],hidden,#{}},{{function,port_control,3},{11383,2},[<<112,111,114,116,95,99,111,110,116,114,111,108,40,80,111,114,116,44,32,79,112,101,114,97,116,105,111,110,44,32,68,97,116,97,41>>],#{<<101,110>> => <<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,96,79,112,101,114,97,116,105,111,110,96,10,97,110,100,32,96,68,97,116,97,96,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,10,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,10,10,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,10,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,10,10,70,97,105,108,117,114,101,115,58,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,80,111,114,116,96,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,10,32,32,112,111,114,116,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,79,112,101,114,97,116,105,111,110,96,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,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,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,10,32,32,111,112,101,114,97,116,105,111,110,115,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,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,10,32,32,115,111,109,101,116,104,105,110,103,32,119,114,111,110,103,32,119,105,116,104,32,96,79,112,101,114,97,116,105,111,110,96,32,111,114,32,96,68,97,116,97,96,41,46,10,32,32,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,32,32,62,10,32,32,62,32,68,111,32,110,111,116,32,99,97,108,108,32,91,96,112,111,114,116,95,99,111,110,116,114,111,108,47,51,96,93,40,96,112,111,114,116,95,99,111,110,116,114,111,108,47,51,96,41,32,119,105,116,104,32,97,110,32,117,110,107,110,111,119,110,32,96,80,111,114,116,96,10,32,32,62,32,105,100,101,110,116,105,102,105,101,114,32,97,110,100,32,101,120,112,101,99,116,32,96,98,97,100,97,114,103,96,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,10,32,32,62,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,10,32,32,62,32,115,117,112,112,108,105,101,100,32,97,114,103,117,109,101,110,116,115,46>>},#{group => ports,specification => [{attribute,{11411,2},spec,{{port_control,3},[{type,{11411,19},bounded_fun,[{type,{11411,19},'fun',[{type,{11411,19},product,[{var,{11411,20},'Port'},{var,{11411,26},'Operation'},{var,{11411,37},'Data'}]},{type,{11411,46},union,[{type,{11411,46},iodata,[]},{type,{11411,57},binary,[]}]}]},[{type,{11412,7},constraint,[{atom,{11412,7},is_subtype},[{var,{11412,7},'Port'},{type,{11412,15},union,[{type,{11412,15},port,[]},{type,{11412,24},atom,[]}]}]]},{type,{11413,7},constraint,[{atom,{11413,7},is_subtype},[{var,{11413,7},'Operation'},{type,{11413,20},integer,[]}]]},{type,{11414,7},constraint,[{atom,{11414,7},is_subtype},[{var,{11414,7},'Data'},{type,{11414,15},iodata,[]}]]}]]}]}}]}},{{function,port_close,1},{11339,2},[<<112,111,114,116,95,99,108,111,115,101,40,80,111,114,116,41>>],#{<<101,110>> => <<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,96,80,111,114,116,32,33,32,123,115,101,108,102,40,41,44,32,99,108,111,115,101,125,96,32,101,120,99,101,112,116,32,102,111,114,32,116,104,101,10,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,95,110,111,116,95,10,114,101,112,108,121,32,119,105,116,104,32,96,123,80,111,114,116,44,32,99,108,111,115,101,100,125,96,46,10,10,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,91,96,112,111,114,116,95,99,108,111,115,101,47,49,96,93,40,96,112,111,114,116,95,99,108,111,115,101,47,49,96,41,44,32,110,111,116,32,111,110,108,121,32,116,104,101,10,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,10,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,80,111,114,116,96,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,10,91,96,112,111,114,116,95,99,108,111,115,101,47,49,96,93,40,96,112,111,114,116,95,99,108,111,115,101,47,49,96,41,32,114,101,116,117,114,110,115,46,10,10,70,111,114,32,99,111,109,112,97,114,105,115,111,110,58,32,96,80,111,114,116,32,33,32,123,115,101,108,102,40,41,44,32,99,108,111,115,101,125,96,32,111,110,108,121,32,102,97,105,108,115,32,119,105,116,104,32,96,98,97,100,97,114,103,96,32,105,102,32,96,80,111,114,116,96,32,100,111,101,115,10,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,96,80,111,114,116,96,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,10,73,102,32,96,80,111,114,116,96,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,10,114,101,112,108,105,101,115,32,119,105,116,104,32,96,123,80,111,114,116,44,32,99,108,111,115,101,100,125,96,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,10,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,95,112,111,114,116,32,111,119,110,101,114,95,10,102,97,105,108,115,32,119,105,116,104,32,96,98,97,100,115,105,103,96,46,10,10,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,96,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,96,32,97,115,32,105,102,10,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,10,10,65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,82,49,54,44,32,96,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,96,32,105,115,32,116,114,117,108,121,32,97,115,121,110,99,104,114,111,110,111,117,115,46,10,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,10,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,10,91,96,112,111,114,116,95,99,108,111,115,101,47,49,96,93,40,96,112,111,114,116,95,99,108,111,115,101,47,49,96,41,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,10,105,116,115,32,101,114,114,111,114,32,98,101,104,97,118,105,111,114,46,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,80,111,114,116,96,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,10,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,10,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,96,80,111,114,116,96,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,10,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,96,98,97,100,97,114,103,96,32,101,120,99,101,112,116,105,111,110,32,111,99,99,117,114,115,46>>},#{group => ports,specification => [{attribute,{11371,2},spec,{{port_close,1},[{type,{11371,17},bounded_fun,[{type,{11371,17},'fun',[{type,{11371,17},product,[{var,{11371,18},'Port'}]},{atom,{11371,27},true}]},[{type,{11372,7},constraint,[{atom,{11372,7},is_subtype},[{var,{11372,7},'Port'},{type,{11372,15},union,[{type,{11372,15},port,[]},{type,{11372,24},atom,[]}]}]]}]]}]}}]}},{{function,port_connect,2},{11283,2},[<<112,111,114,116,95,99,111,110,110,101,99,116,40,80,111,114,116,44,32,80,105,100,41>>],#{<<101,110>> => <<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,96,80,105,100,96,46,32,82,111,117,103,104,108,121,32,116,104,101,32,115,97,109,101,32,97,115,10,96,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,96,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,10,10,45,32,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,10,45,32,84,104,101,32,112,111,114,116,32,100,111,101,115,32,95,110,111,116,95,32,114,101,112,108,121,32,119,105,116,104,32,96,123,80,111,114,116,44,99,111,110,110,101,99,116,101,100,125,96,46,10,45,32,96,112,111,114,116,95,99,111,110,110,101,99,116,47,49,96,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,10,45,32,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,10,10,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,10,91,96,117,110,108,105,110,107,40,80,111,114,116,41,96,93,40,96,117,110,108,105,110,107,47,49,96,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,10,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,91,96,112,111,114,116,95,99,111,110,110,101,99,116,47,50,96,93,40,96,112,111,114,116,95,99,111,110,110,101,99,116,47,50,96,41,46,10,10,70,111,114,32,99,111,109,112,97,114,105,115,111,110,58,32,96,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,96,32,111,110,108,121,32,102,97,105,108,115,32,119,105,116,104,32,96,98,97,100,97,114,103,96,32,105,102,10,96,80,111,114,116,96,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,96,80,111,114,116,96,32,105,115,32,97,32,99,108,111,115,101,100,32,112,111,114,116,44,10,110,111,116,104,105,110,103,32,104,97,112,112,101,110,115,46,32,73,102,32,96,80,111,114,116,96,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,10,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,96,123,80,111,114,116,44,32,99,111,110,110,101,99,116,101,100,125,96,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,10,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,10,96,80,111,114,116,96,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,95,112,111,114,116,10,111,119,110,101,114,95,32,102,97,105,108,115,32,119,105,116,104,32,96,98,97,100,115,105,103,96,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,96,98,97,100,115,105,103,96,32,97,108,115,111,32,105,102,32,96,80,105,100,96,32,105,115,10,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,10,10,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,10,96,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,96,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,10,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,10,10,65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,82,49,54,44,32,96,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,96,32,105,115,32,116,114,117,108,121,10,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,10,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,10,115,121,110,99,104,114,111,110,111,117,115,46,32,91,96,112,111,114,116,95,99,111,110,110,101,99,116,47,50,96,93,40,96,112,111,114,116,95,99,111,110,110,101,99,116,47,50,96,41,32,105,115,32,104,111,119,101,118,101,114,32,115,116,105,108,108,32,102,117,108,108,121,10,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,10,10,70,97,105,108,117,114,101,115,58,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,80,111,114,116,96,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,10,32,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,10,32,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,96,80,111,114,116,96,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,10,32,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,96,98,97,100,97,114,103,96,32,101,120,99,101,112,116,105,111,110,32,111,99,99,117,114,115,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,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,96,80,105,100,96,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,10,32,32,112,114,111,99,101,115,115,46>>},#{group => ports,specification => [{attribute,{11326,2},spec,{{port_connect,2},[{type,{11326,19},bounded_fun,[{type,{11326,19},'fun',[{type,{11326,19},product,[{var,{11326,20},'Port'},{var,{11326,26},'Pid'}]},{atom,{11326,34},true}]},[{type,{11327,7},constraint,[{atom,{11327,7},is_subtype},[{var,{11327,7},'Port'},{type,{11327,15},union,[{type,{11327,15},port,[]},{type,{11327,24},atom,[]}]}]]},{type,{11328,7},constraint,[{atom,{11328,7},is_subtype},[{var,{11328,7},'Pid'},{type,{11328,14},pid,[]}]]}]]}]}}]}},{{function,port_command,3},{11223,2},[<<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,79,112,116,105,111,110,76,105,115,116,41>>],#{<<101,110>> => <<83,101,110,100,115,32,100,97,116,97,32,116,111,32,97,32,112,111,114,116,46,32,91,96,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,96,93,40,96,112,111,114,116,95,99,111,109,109,97,110,100,47,51,96,41,32,101,113,117,97,108,115,10,91,96,112,111,114,116,95,99,111,109,109,97,110,100,40,80,111,114,116,44,32,68,97,116,97,41,96,93,40,96,112,111,114,116,95,99,111,109,109,97,110,100,47,50,96,41,46,10,10,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,96,102,97,108,115,101,96,32,105,115,32,114,101,116,117,114,110,101,100,44,32,111,116,104,101,114,119,105,115,101,32,96,116,114,117,101,96,46,10,10,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,10,97,110,121,109,111,114,101,46,10,10,96,79,112,116,105,111,110,96,115,58,10,10,45,32,42,42,96,102,111,114,99,101,96,42,42,32,45,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,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,10,32,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,96,110,111,116,115,117,112,96,10,32,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,10,32,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,10,32,32,91,96,69,82,76,95,68,82,86,95,70,76,65,71,95,83,79,70,84,95,66,85,83,89,96,93,40,100,114,105,118,101,114,95,101,110,116,114,121,46,109,100,35,100,114,105,118,101,114,95,102,108,97,103,115,41,46,10,10,45,32,42,42,96,110,111,115,117,115,112,101,110,100,96,42,42,32,45,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,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,10,32,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,96,102,97,108,115,101,96,32,105,115,32,114,101,116,117,114,110,101,100,46,10,10,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,10,70,97,105,108,117,114,101,115,58,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,80,111,114,116,96,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,10,32,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,10,32,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,96,80,111,114,116,96,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,10,32,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,96,98,97,100,97,114,103,96,32,101,120,99,101,112,116,105,111,110,32,111,99,99,117,114,115,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,68,97,116,97,96,32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,73,47,79,32,108,105,115,116,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,79,112,116,105,111,110,76,105,115,116,96,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,10,10,45,32,42,42,96,110,111,116,115,117,112,96,42,42,32,45,32,73,102,32,111,112,116,105,111,110,32,96,102,111,114,99,101,96,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,10,32,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,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,62,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>>},#{group => ports,specification => [{attribute,{11267,2},spec,{{port_command,3},[{type,{11267,19},bounded_fun,[{type,{11267,19},'fun',[{type,{11267,19},product,[{var,{11267,20},'Port'},{var,{11267,26},'Data'},{var,{11267,32},'OptionList'}]},{type,{11267,47},boolean,[]}]},[{type,{11268,7},constraint,[{atom,{11268,7},is_subtype},[{var,{11268,7},'Port'},{type,{11268,15},union,[{type,{11268,15},port,[]},{type,{11268,24},atom,[]}]}]]},{type,{11269,7},constraint,[{atom,{11269,7},is_subtype},[{var,{11269,7},'Data'},{type,{11269,15},iodata,[]}]]},{type,{11270,7},constraint,[{atom,{11270,7},is_subtype},[{var,{11270,7},'Option'},{type,{11270,17},union,[{atom,{11270,17},force},{atom,{11270,25},nosuspend}]}]]},{type,{11271,7},constraint,[{atom,{11271,7},is_subtype},[{var,{11271,7},'OptionList'},{type,{11271,21},list,[{var,{11271,22},'Option'}]}]]}]]}]}}]}},{{function,port_command,2},{11170,2},[<<112,111,114,116,95,99,111,109,109,97,110,100,40,80,111,114,116,44,32,68,97,116,97,41>>],#{<<101,110>> => <<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,96,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,96,32,101,120,99,101,112,116,32,102,111,114,10,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,10,10,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,91,96,112,111,114,116,95,99,111,109,109,97,110,100,47,50,96,93,40,96,112,111,114,116,95,99,111,109,109,97,110,100,47,50,96,41,44,10,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,10,10,70,111,114,32,99,111,109,112,97,114,105,115,111,110,58,32,96,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,96,32,111,110,108,121,32,102,97,105,108,115,32,119,105,116,104,32,96,98,97,100,97,114,103,96,10,105,102,32,96,80,111,114,116,96,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,96,80,111,114,116,96,32,105,115,32,97,32,99,108,111,115,101,100,32,112,111,114,116,44,32,116,104,101,10,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,96,80,111,114,116,96,32,105,115,32,111,112,101,110,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,10,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,95,112,111,114,116,32,111,119,110,101,114,95,32,102,97,105,108,115,32,119,105,116,104,32,96,98,97,100,115,105,103,96,46,32,84,104,101,32,112,111,114,116,10,111,119,110,101,114,32,102,97,105,108,115,32,119,105,116,104,32,96,98,97,100,115,105,103,96,32,97,108,115,111,32,105,102,32,96,68,97,116,97,96,32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,73,47,79,32,108,105,115,116,46,10,10,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,10,96,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,96,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,10,10,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,10,97,110,121,32,109,111,114,101,46,10,10,65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,82,49,54,44,32,96,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,96,32,105,115,32,116,114,117,108,121,10,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,10,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,10,115,121,110,99,104,114,111,110,111,117,115,46,32,91,96,112,111,114,116,95,99,111,109,109,97,110,100,47,50,96,93,40,96,112,111,114,116,95,99,111,109,109,97,110,100,47,50,96,41,32,105,115,32,104,111,119,101,118,101,114,32,115,116,105,108,108,32,102,117,108,108,121,10,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,10,10,70,97,105,108,117,114,101,115,58,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,80,111,114,116,96,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,10,32,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,10,32,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,96,80,111,114,116,96,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,10,32,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,96,98,97,100,97,114,103,96,32,101,120,99,101,112,116,105,111,110,32,111,99,99,117,114,115,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,68,97,116,97,96,32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,73,47,79,32,108,105,115,116,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,62,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>>},#{group => ports,specification => [{attribute,{11210,2},spec,{{port_command,2},[{type,{11210,19},bounded_fun,[{type,{11210,19},'fun',[{type,{11210,19},product,[{var,{11210,20},'Port'},{var,{11210,26},'Data'}]},{atom,{11210,35},true}]},[{type,{11211,7},constraint,[{atom,{11211,7},is_subtype},[{var,{11211,7},'Port'},{type,{11211,15},union,[{type,{11211,15},port,[]},{type,{11211,24},atom,[]}]}]]},{type,{11212,7},constraint,[{atom,{11212,7},is_subtype},[{var,{11212,7},'Data'},{type,{11212,15},iodata,[]}]]}]]}]}}]}},{{function,localtime_to_universaltime,1},{11123,2},[<<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>>],#{<<101,110>> => <<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,10,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,96,76,111,99,97,108,116,105,109,101,96,32,105,115,10,114,101,116,117,114,110,101,100,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,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,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,96,96,96,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,76,111,99,97,108,116,105,109,101,96,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>>},#{group => time,specification => [{attribute,{11138,2},spec,{{localtime_to_universaltime,1},[{type,{11138,33},bounded_fun,[{type,{11138,33},'fun',[{type,{11138,33},product,[{var,{11138,34},'Localtime'}]},{var,{11138,48},'Universaltime'}]},[{type,{11139,7},constraint,[{atom,{11139,7},is_subtype},[{var,{11139,7},'Localtime'},{remote_type,{11139,20},[{atom,{11139,20},calendar},{atom,{11139,29},datetime},[]]}]]},{type,{11140,7},constraint,[{atom,{11140,7},is_subtype},[{var,{11140,7},'Universaltime'},{remote_type,{11140,24},[{atom,{11140,24},calendar},{atom,{11140,33},datetime},[]]}]]}]]}]}}]}},{{function,send_nosuspend,3},{11087,2},[<<115,101,110,100,95,110,111,115,117,115,112,101,110,100,40,68,101,115,116,44,32,77,115,103,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<69,113,117,105,118,97,108,101,110,116,32,116,111,32,91,96,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,96,93,40,96,115,101,110,100,47,51,96,41,44,32,98,117,116,10,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,10,10,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,91,96,101,114,108,97,110,103,58,115,101,110,100,95,110,111,115,117,115,112,101,110,100,47,50,96,93,40,96,115,101,110,100,95,110,111,115,117,115,112,101,110,100,47,50,96,41,44,32,98,117,116,10,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,96,110,111,99,111,110,110,101,99,116,96,44,10,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,96,102,97,108,115,101,96,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,10,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,10,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,10,96,110,111,99,111,110,110,101,99,116,96,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,10,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,10,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,10,111,114,32,74,97,118,97,41,46,10,10,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,96,102,97,108,115,101,96,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,10,96,110,111,99,111,110,110,101,99,116,96,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,10,105,115,32,103,117,97,114,97,110,116,101,101,100,32,95,110,111,116,95,32,116,111,32,104,97,118,101,32,98,101,101,110,32,115,101,110,116,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,85,115,101,32,119,105,116,104,32,101,120,116,114,101,109,101,32,99,97,114,101,46>>},#{group => processes,specification => [{attribute,{11110,2},spec,{{send_nosuspend,3},[{type,{11110,21},bounded_fun,[{type,{11110,21},'fun',[{type,{11110,21},product,[{var,{11110,22},'Dest'},{var,{11110,28},'Msg'},{var,{11110,33},'Options'}]},{type,{11110,45},boolean,[]}]},[{type,{11111,7},constraint,[{atom,{11111,7},is_subtype},[{var,{11111,7},'Dest'},{user_type,{11111,15},send_destination,[]}]]},{type,{11112,7},constraint,[{atom,{11112,7},is_subtype},[{var,{11112,7},'Msg'},{type,{11112,14},term,[]}]]},{type,{11113,7},constraint,[{atom,{11113,7},is_subtype},[{var,{11113,7},'Options'},{type,{11113,18},list,[{atom,{11113,19},noconnect}]}]]}]]}]}}]}},{{function,send_nosuspend,2},{11037,2},[<<115,101,110,100,95,110,111,115,117,115,112,101,110,100,40,68,101,115,116,44,32,77,115,103,41>>],#{<<101,110>> => <<83,101,110,100,32,97,32,109,101,115,115,97,103,101,32,119,105,116,104,111,117,116,32,115,117,115,112,101,110,100,105,110,103,32,116,104,101,32,99,97,108,108,101,114,46,10,10,69,113,117,105,118,97,108,101,110,116,32,116,111,32,91,96,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,96,93,40,96,115,101,110,100,47,51,96,41,44,32,98,117,116,32,114,101,116,117,114,110,115,10,96,116,114,117,101,96,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,96,102,97,108,115,101,96,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,10,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,10,10,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,10,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,10,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,10,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,95,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,95,32,97,110,100,32,114,101,116,117,114,110,115,32,96,102,97,108,115,101,96,46,10,10,84,104,101,32,115,97,109,101,32,111,99,99,117,114,115,32,105,102,32,96,68,101,115,116,96,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,10,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,96,39,33,39,96,41,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,115,101,110,100,115,10,116,104,101,32,109,101,115,115,97,103,101,32,97,110,100,32,114,101,116,117,114,110,115,32,96,116,114,117,101,96,46,10,10,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,10,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,10,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,10,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,96,110,101,116,95,107,101,114,110,101,108,96,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,10,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,10,10,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,10,95,117,110,114,101,108,105,97,98,108,101,95,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,10,109,111,100,101,108,46,32,84,104,101,32,109,101,115,115,97,103,101,32,105,115,32,95,110,111,116,95,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,96,102,97,108,115,101,96,46,10,10,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,10,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,96,102,97,108,115,101,96,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,10,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,96,116,114,117,101,96,10,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,10,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,10,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,96,116,114,117,101,96,32,40,109,105,109,105,99,115,32,116,104,101,10,98,101,104,97,118,105,111,114,32,111,102,32,111,112,101,114,97,116,111,114,32,96,33,96,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,10,116,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,96,102,97,108,115,101,96,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,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,85,115,101,32,119,105,116,104,32,101,120,116,114,101,109,101,32,99,97,114,101,46>>},#{group => processes,specification => [{attribute,{11077,2},spec,{{send_nosuspend,2},[{type,{11077,21},bounded_fun,[{type,{11077,21},'fun',[{type,{11077,21},product,[{var,{11077,22},'Dest'},{var,{11077,28},'Msg'}]},{type,{11077,36},boolean,[]}]},[{type,{11078,7},constraint,[{atom,{11078,7},is_subtype},[{var,{11078,7},'Dest'},{user_type,{11078,15},send_destination,[]}]]},{type,{11079,7},constraint,[{atom,{11079,7},is_subtype},[{var,{11079,7},'Msg'},{type,{11079,14},term,[]}]]}]]}]}}]}},{{function,fun_info,1},{10930,2},[<<102,117,110,95,105,110,102,111,40,70,117,110,41>>],#{<<101,110>> => <<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,96,70,117,110,96,46,32,69,97,99,104,32,108,105,115,116,32,101,108,101,109,101,110,116,32,105,115,32,97,10,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,10,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,62,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,10,10,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,10,10,45,32,65,32,102,117,110,32,99,114,101,97,116,101,100,32,98,121,32,96,102,117,110,32,77,58,70,47,65,96,32,105,115,32,99,97,108,108,101,100,32,97,110,32,95,101,120,116,101,114,110,97,108,95,32,102,117,110,46,32,67,97,108,108,105,110,103,32,105,116,32,119,105,108,108,10,32,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,96,70,96,32,119,105,116,104,32,97,114,105,116,121,32,96,65,96,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,96,77,96,46,10,32,32,78,111,116,105,99,101,32,116,104,97,116,32,109,111,100,117,108,101,32,96,77,96,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,10,32,32,96,102,117,110,32,77,58,70,47,65,96,32,105,115,32,99,114,101,97,116,101,100,46,10,45,32,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,95,108,111,99,97,108,95,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,10,32,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,10,32,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,10,10,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,10,101,120,116,101,114,110,97,108,32,102,117,110,115,58,10,10,45,32,42,42,96,123,116,121,112,101,44,32,84,121,112,101,125,96,42,42,32,45,32,96,84,121,112,101,96,32,105,115,32,96,108,111,99,97,108,96,32,111,114,32,96,101,120,116,101,114,110,97,108,96,46,10,10,45,32,42,42,96,123,109,111,100,117,108,101,44,32,77,111,100,117,108,101,125,96,42,42,32,45,32,96,77,111,100,117,108,101,96,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,10,10,32,32,73,102,32,96,70,117,110,96,32,105,115,32,97,32,108,111,99,97,108,32,102,117,110,44,32,96,77,111,100,117,108,101,96,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,10,10,32,32,73,102,32,96,70,117,110,96,32,105,115,32,97,110,32,101,120,116,101,114,110,97,108,32,102,117,110,44,32,96,77,111,100,117,108,101,96,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,10,10,45,32,42,42,96,123,110,97,109,101,44,32,78,97,109,101,125,96,42,42,32,45,32,96,78,97,109,101,96,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,10,10,32,32,73,102,32,96,70,117,110,96,32,105,115,32,97,32,108,111,99,97,108,32,102,117,110,44,32,96,78,97,109,101,96,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,10,32,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,10,32,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,10,32,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,96,91,93,96,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,10,32,32,97,116,111,109,46,10,10,32,32,73,102,32,96,70,117,110,96,32,105,115,32,97,110,32,101,120,116,101,114,110,97,108,32,102,117,110,44,32,96,78,97,109,101,96,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,10,32,32,116,104,101,32,102,117,110,32,114,101,102,101,114,115,32,116,111,46,10,10,45,32,42,42,96,123,97,114,105,116,121,44,32,65,114,105,116,121,125,96,42,42,32,45,32,96,65,114,105,116,121,96,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,10,32,32,98,101,32,99,97,108,108,101,100,32,119,105,116,104,46,10,10,45,32,42,42,96,123,101,110,118,44,32,69,110,118,125,96,42,42,32,45,32,96,69,110,118,96,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,10,32,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,10,10,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,96,70,117,110,96,32,105,115,32,108,111,99,97,108,58,10,10,45,32,42,42,96,123,112,105,100,44,32,80,105,100,125,96,42,42,32,45,32,96,80,105,100,96,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,96,105,110,105,116,96,32,112,114,111,99,101,115,115,32,111,110,10,32,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46,10,10,32,32,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,83,116,97,114,116,105,110,103,32,105,110,32,69,114,108,97,110,103,47,79,84,80,32,50,55,44,32,96,80,105,100,96,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,96,105,110,105,116,96,32,112,114,111,99,101,115,115,44,10,32,32,62,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,10,32,32,62,10,32,32,62,32,83,101,101,10,32,32,62,32,91,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,93,40,96,101,58,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,46,109,100,35,102,117,110,45,99,114,101,97,116,111,114,45,112,105,100,45,119,105,108,108,45,97,108,119,97,121,115,45,98,101,45,108,111,99,97,108,45,105,110,105,116,45,112,114,111,99,101,115,115,96,41,46,10,10,45,32,42,42,96,123,105,110,100,101,120,44,32,73,110,100,101,120,125,96,42,42,32,45,32,96,73,110,100,101,120,96,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,10,32,32,116,97,98,108,101,46,10,10,45,32,42,42,96,123,110,101,119,95,105,110,100,101,120,44,32,73,110,100,101,120,125,96,42,42,32,45,32,96,73,110,100,101,120,96,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,10,32,32,102,117,110,32,116,97,98,108,101,46,10,10,45,32,42,42,96,123,110,101,119,95,117,110,105,113,44,32,85,110,105,113,125,96,42,42,32,45,32,96,85,110,105,113,96,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,10,32,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,10,10,45,32,42,42,96,123,117,110,105,113,44,32,85,110,105,113,125,96,42,42,32,45,32,96,85,110,105,113,96,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,10,32,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,10,32,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,10,32,32,111,102,32,116,104,101,32,102,117,110,46>>},#{group => terms,specification => [{attribute,{11006,2},spec,{{fun_info,1},[{type,{11006,15},bounded_fun,[{type,{11006,15},'fun',[{type,{11006,15},product,[{var,{11006,16},'Fun'}]},{type,{11006,24},list,[{type,{11006,25},tuple,[{var,{11006,26},'Item'},{var,{11006,32},'Info'}]}]}]},[{type,{11007,7},constraint,[{atom,{11007,7},is_subtype},[{var,{11007,7},'Fun'},{type,{11007,14},function,[]}]]},{type,{11008,7},constraint,[{atom,{11008,7},is_subtype},[{var,{11008,7},'Item'},{type,{11008,15},union,[{atom,{11008,15},arity},{atom,{11008,23},env},{atom,{11008,29},index},{atom,{11008,37},name},{atom,{11009,15},module},{atom,{11009,24},new_index},{atom,{11009,36},new_uniq},{atom,{11009,47},pid},{atom,{11009,53},type},{atom,{11009,60},uniq}]}]]},{type,{11010,7},constraint,[{atom,{11010,7},is_subtype},[{var,{11010,7},'Info'},{type,{11010,15},term,[]}]]}]]}]}}]}},{{function,disconnect_node,1},{10910,2},[<<100,105,115,99,111,110,110,101,99,116,95,110,111,100,101,40,78,111,100,101,41>>],#{<<101,110>> => <<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,10,10,68,111,105,110,103,32,116,104,105,115,32,109,97,107,101,115,32,105,116,32,97,112,112,101,97,114,115,32,116,111,32,116,104,101,32,110,111,100,101,32,96,78,111,100,101,96,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,10,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,10,10,82,101,116,117,114,110,115,32,96,116,114,117,101,96,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,96,102,97,108,115,101,96,46,32,73,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,10,105,115,32,110,111,116,32,97,108,105,118,101,44,32,96,105,103,110,111,114,101,100,96,32,105,115,32,114,101,116,117,114,110,101,100,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,91,96,110,111,100,101,100,111,119,110,96,32,109,101,115,115,97,103,101,115,93,40,96,109,111,110,105,116,111,114,95,110,111,100,101,47,50,96,41,32,104,97,118,101,10,62,32,98,101,101,110,32,100,101,108,105,118,101,114,101,100,46>>},#{group => distribution,specification => [{attribute,{10925,2},spec,{{disconnect_node,1},[{type,{10925,22},bounded_fun,[{type,{10925,22},'fun',[{type,{10925,22},product,[{var,{10925,23},'Node'}]},{type,{10925,32},union,[{type,{10925,32},boolean,[]},{atom,{10925,44},ignored}]}]},[{type,{10926,7},constraint,[{atom,{10926,7},is_subtype},[{var,{10926,7},'Node'},{type,{10926,15},node,[]}]]}]]}]}}]}},{{function,nodes,2},{10837,2},[<<110,111,100,101,115,40,65,114,103,44,32,73,110,102,111,79,112,116,115,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,96,78,111,100,101,73,110,102,111,96,32,116,117,112,108,101,115,46,10,10,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,10,98,121,32,116,104,101,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,96,65,114,103,96,32,105,110,32,116,104,101,32,115,97,109,101,32,119,97,121,32,97,115,32,102,111,114,32,91,96,110,111,100,101,115,40,65,114,103,41,96,93,40,96,110,111,100,101,115,47,49,96,41,46,10,84,104,101,32,115,101,99,111,110,100,32,101,108,101,109,101,110,116,32,111,102,32,96,78,111,100,101,73,110,102,111,96,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,10,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,10,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,10,96,73,110,102,111,79,112,116,115,96,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,10,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,96,73,110,102,111,79,112,116,115,96,32,109,97,112,58,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,32,96,116,114,117,101,96,44,32,116,104,101,32,96,73,110,102,111,96,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,10,32,32,96,99,111,110,110,101,99,116,105,111,110,95,105,100,96,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,96,67,111,110,110,101,99,116,105,111,110,73,100,96,46,32,73,102,32,96,67,111,110,110,101,99,116,105,111,110,73,100,96,10,32,32,101,113,117,97,108,115,32,96,117,110,100,101,102,105,110,101,100,96,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,10,32,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,10,32,32,96,67,111,110,110,101,99,116,105,111,110,73,100,96,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,10,32,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,10,10,32,32,91,93,40,41,123,58,32,35,99,111,110,110,101,99,116,105,111,110,95,105,100,32,125,32,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,10,32,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,10,32,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,10,32,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,95,110,111,116,95,32,98,101,32,116,104,101,32,115,97,109,101,32,118,97,108,117,101,46,32,73,102,32,97,10,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,10,45,32,42,42,96,110,111,100,101,95,116,121,112,101,32,61,62,32,98,111,111,108,101,97,110,40,41,96,42,42,32,45,32,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,96,116,114,117,101,96,44,10,32,32,116,104,101,32,96,73,110,102,111,96,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,96,110,111,100,101,95,116,121,112,101,96,10,32,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,96,78,111,100,101,84,121,112,101,73,110,102,111,96,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,10,32,32,101,120,105,115,116,58,10,10,32,32,45,32,42,42,96,118,105,115,105,98,108,101,96,42,42,32,45,32,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,10,32,32,32,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,10,32,32,32,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,96,110,111,100,101,115,47,48,96,46,10,10,32,32,45,32,42,42,96,104,105,100,100,101,110,96,42,42,32,45,32,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,10,32,32,32,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,95,110,111,116,95,32,97,112,112,101,97,114,32,105,110,10,32,32,32,32,116,104,101,32,114,101,115,117,108,116,32,114,101,116,117,114,110,101,100,32,98,121,32,96,110,111,100,101,115,47,48,96,46,10,10,32,32,45,32,42,42,96,116,104,105,115,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,107,110,111,119,110,96,42,42,32,45,32,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,10,32,32,32,32,112,114,111,99,101,115,115,46,10,10,69,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,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,10,96,96,96>>},#{group => distribution,specification => [{attribute,{10896,2},spec,{{nodes,2},[{type,{10896,12},bounded_fun,[{type,{10896,12},'fun',[{type,{10896,12},product,[{var,{10896,13},'Arg'},{var,{10896,18},'InfoOpts'}]},{type,{10896,31},list,[{var,{10896,32},'NodeInfo'}]}]},[{type,{10897,7},constraint,[{atom,{10897,7},is_subtype},[{var,{10897,7},'NodeType'},{type,{10897,19},union,[{atom,{10897,19},visible},{atom,{10897,29},hidden},{atom,{10897,38},connected},{atom,{10897,50},this},{atom,{10897,57},known}]}]]},{type,{10898,7},constraint,[{atom,{10898,7},is_subtype},[{var,{10898,7},'Arg'},{type,{10898,14},union,[{var,{10898,14},'NodeType'},{type,{10898,25},list,[{var,{10898,26},'NodeType'}]}]}]]},{type,{10899,7},constraint,[{atom,{10899,7},is_subtype},[{var,{10899,7},'InfoOpts'},{type,{10899,19},map,[{type,{10899,35},map_field_assoc,[{atom,{10899,21},connection_id},{type,{10899,38},boolean,[]}]},{type,{10900,31},map_field_assoc,[{atom,{10900,21},node_type},{type,{10900,34},boolean,[]}]}]}]]},{type,{10901,7},constraint,[{atom,{10901,7},is_subtype},[{var,{10901,7},'NodeTypeInfo'},{type,{10901,23},union,[{atom,{10901,23},visible},{atom,{10901,33},hidden},{atom,{10901,42},this},{atom,{10901,49},known}]}]]},{type,{10902,7},constraint,[{atom,{10902,7},is_subtype},[{var,{10902,7},'ConnectionId'},{type,{10902,23},union,[{atom,{10902,23},undefined},{type,{10902,35},integer,[]}]}]]},{type,{10903,7},constraint,[{atom,{10903,7},is_subtype},[{var,{10903,7},'Info'},{type,{10903,15},map,[{type,{10903,31},map_field_assoc,[{atom,{10903,17},connection_id},{var,{10903,34},'ConnectionId'}]},{type,{10904,27},map_field_assoc,[{atom,{10904,17},node_type},{var,{10904,30},'NodeTypeInfo'}]}]}]]},{type,{10905,7},constraint,[{atom,{10905,7},is_subtype},[{var,{10905,7},'NodeInfo'},{type,{10905,19},tuple,[{type,{10905,20},node,[]},{var,{10905,28},'Info'}]}]]}]]}]}}],since => <<79,84,80,32,50,53,46,49>>}},{{function,nodes,1},{10804,2},[<<110,111,100,101,115,40,65,114,103,41>>],#{<<101,110>> => <<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,10,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,10,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,10,10,96,78,111,100,101,84,121,112,101,96,115,58,10,10,45,32,42,42,96,118,105,115,105,98,108,101,96,123,58,32,35,110,111,100,101,115,95,118,105,115,105,98,108,101,32,125,42,42,32,45,32,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,10,32,32,99,111,110,110,101,99,116,105,111,110,115,46,10,10,45,32,42,42,96,104,105,100,100,101,110,96,42,42,32,45,32,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,10,10,45,32,42,42,96,99,111,110,110,101,99,116,101,100,96,42,42,32,45,32,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,10,10,45,32,42,42,96,116,104,105,115,96,42,42,32,45,32,84,104,105,115,32,110,111,100,101,46,10,10,45,32,42,42,96,107,110,111,119,110,96,42,42,32,45,32,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,10,32,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,10,32,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,10,32,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,10,32,32,91,96,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,96,93,40,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,41,46,10,10,83,111,109,101,32,101,113,117,97,108,105,116,105,101,115,58,32,96,91,110,111,100,101,40,41,93,32,61,32,110,111,100,101,115,40,116,104,105,115,41,96,44,10,96,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,96,44,32,97,110,100,32,96,110,111,100,101,115,40,41,32,61,32,110,111,100,101,115,40,118,105,115,105,98,108,101,41,96,46>>},#{group => distribution,specification => [{attribute,{10830,2},spec,{{nodes,1},[{type,{10830,12},bounded_fun,[{type,{10830,12},'fun',[{type,{10830,12},product,[{var,{10830,13},'Arg'}]},{var,{10830,21},'Nodes'}]},[{type,{10831,7},constraint,[{atom,{10831,7},is_subtype},[{var,{10831,7},'Arg'},{type,{10831,14},union,[{var,{10831,14},'NodeType'},{type,{10831,25},list,[{var,{10831,26},'NodeType'}]}]}]]},{type,{10832,7},constraint,[{atom,{10832,7},is_subtype},[{var,{10832,7},'NodeType'},{type,{10832,19},union,[{atom,{10832,19},visible},{atom,{10832,29},hidden},{atom,{10832,38},connected},{atom,{10832,50},this},{atom,{10832,57},known}]}]]},{type,{10833,7},constraint,[{atom,{10833,7},is_subtype},[{var,{10833,7},'Nodes'},{type,{10833,16},list,[{type,{10833,17},node,[]}]}]]}]]}]}}]}},{{function,nodes,0},{10793,2},[<<110,111,100,101,115,40,41>>],#{<<101,110>> => <<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,10,40,116,104,97,116,32,105,115,44,32,91,104,105,100,100,101,110,32,110,111,100,101,115,93,40,96,101,58,115,121,115,116,101,109,58,100,105,115,116,114,105,98,117,116,101,100,46,109,100,35,104,105,100,100,101,110,45,110,111,100,101,115,96,41,32,97,114,101,32,110,111,116,10,108,105,115,116,101,100,41,46,32,83,97,109,101,32,97,115,32,91,110,111,100,101,115,40,118,105,115,105,98,108,101,41,93,40,35,110,111,100,101,115,95,118,105,115,105,98,108,101,41,46>>},#{group => distribution,specification => [{attribute,{10799,2},spec,{{nodes,0},[{type,{10799,12},bounded_fun,[{type,{10799,12},'fun',[{type,{10799,12},product,[]},{var,{10799,18},'Nodes'}]},[{type,{10800,7},constraint,[{atom,{10800,7},is_subtype},[{var,{10800,7},'Nodes'},{type,{10800,16},list,[{type,{10800,17},node,[]}]}]]}]]}]}}]}},{{function,yield,0},{10769,2},[<<121,105,101,108,100,40,41>>],#{<<101,110>> => <<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,10,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,10,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,96,101,114,108,97,110,103,58,121,105,101,108,100,47,48,96,46,10,10,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,10,91,96,114,101,99,101,105,118,101,45,97,102,116,101,114,96,32,101,120,112,114,101,115,115,105,111,110,115,93,40,96,101,58,115,121,115,116,101,109,58,101,120,112,114,101,115,115,105,111,110,115,46,109,100,35,114,101,99,101,105,118,101,96,41,32,102,111,114,32,104,111,119,32,116,111,32,109,97,107,101,10,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,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,62,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,10,62,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,10,62,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,10,62,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,46>>},#{group => processes,specification => [{attribute,{10787,2},spec,{{yield,0},[{type,{10787,12},'fun',[{type,{10787,12},product,[]},{atom,{10787,18},true}]}]}}]}},{{function,spawn_request_abandon,1},{10720,2},[<<115,112,97,119,110,95,114,101,113,117,101,115,116,95,97,98,97,110,100,111,110,40,82,101,113,73,100,41>>],#{<<101,110>> => <<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,96,82,101,113,73,100,96,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,10,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,91,96,115,112,97,119,110,95,114,101,113,117,101,115,116,40,41,96,93,40,96,115,112,97,119,110,95,114,101,113,117,101,115,116,47,53,96,41,32,105,110,32,97,10,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,10,99,97,110,32,97,98,97,110,100,111,110,32,116,104,101,32,114,101,113,117,101,115,116,46,10,10,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,10,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,10,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,10,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,10,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,10,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,10,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,10,91,96,115,112,97,119,110,95,114,101,113,117,101,115,116,95,97,98,97,110,100,111,110,47,49,96,93,40,96,115,112,97,119,110,95,114,101,113,117,101,115,116,95,97,98,97,110,100,111,110,47,49,96,41,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,10,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,96,108,105,110,107,96,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,10,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,10,96,97,98,97,110,100,111,110,101,100,96,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,95,111,110,108,121,95,32,116,104,101,32,100,105,114,101,99,116,10,62,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,10,62,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,10,10,82,101,116,117,114,110,32,118,97,108,117,101,115,58,10,10,45,32,42,42,96,116,114,117,101,96,42,42,32,45,32,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,10,10,45,32,42,42,96,102,97,108,115,101,96,42,42,32,45,32,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,96,82,101,113,73,100,96,32,114,101,113,117,101,115,116,32,105,100,101,110,116,105,102,105,101,114,10,32,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,10,32,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,10,10,32,32,45,32,96,82,101,113,73,100,96,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,10,32,32,32,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,10,32,32,32,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,10,32,32,32,32,116,104,101,32,114,101,113,117,101,115,116,46,10,32,32,45,32,96,82,101,113,73,100,96,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,10,32,32,32,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,10,10,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,96,98,97,100,97,114,103,96,32,101,120,99,101,112,116,105,111,110,32,105,102,32,96,82,101,113,73,100,96,32,105,115,32,110,111,116,32,97,32,114,101,102,101,114,101,110,99,101,46>>},#{group => processes,specification => [{attribute,{10764,2},spec,{{spawn_request_abandon,1},[{type,{10764,28},'fun',[{type,{10764,28},product,[{ann_type,{10764,29},[{var,{10764,29},'ReqId'},{type,{10764,38},reference,[]}]}]},{type,{10764,54},boolean,[]}]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,5},{10539,2},[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,78,111,100,101,44,32,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,103,115,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<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,96,82,101,113,73,100,96,46,10,10,91,93,40,41,123,58,32,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,32,125,10,10,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,10,98,121,32,96,78,111,100,101,96,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,10,109,101,115,115,97,103,101,32,111,110,32,116,104,101,32,102,111,114,109,32,96,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,96,32,119,104,101,114,101,32,96,80,105,100,96,32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,10,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,10,95,115,117,99,99,101,115,115,32,109,101,115,115,97,103,101,95,32,98,101,108,111,119,32,105,110,32,116,104,101,32,116,101,120,116,46,32,96,82,101,112,108,121,84,97,103,96,32,105,115,32,98,121,32,100,101,102,97,117,108,116,32,116,104,101,32,97,116,111,109,10,96,115,112,97,119,110,95,114,101,112,108,121,96,32,117,110,108,101,115,115,32,109,111,100,105,102,105,101,100,32,98,121,32,116,104,101,32,96,123,114,101,112,108,121,95,116,97,103,44,32,82,101,112,108,121,84,97,103,125,96,32,111,112,116,105,111,110,46,32,84,104,101,32,110,101,119,10,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,96,77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,96,32,116,111,32,96,65,114,103,115,96,46,10,10,91,93,40,41,123,58,32,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,32,125,10,10,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,10,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,10,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,10,96,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,96,32,119,104,101,114,101,32,96,82,101,97,115,111,110,96,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,10,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,95,101,114,114,111,114,32,109,101,115,115,97,103,101,95,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,10,102,111,108,108,111,119,105,110,103,32,115,112,97,119,110,32,101,114,114,111,114,32,96,82,101,97,115,111,110,96,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,10,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,10,10,45,32,42,42,96,98,97,100,111,112,116,96,42,42,32,45,32,65,110,32,105,110,118,97,108,105,100,32,96,79,112,116,105,111,110,96,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,10,32,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,10,10,45,32,42,42,96,110,111,116,115,117,112,96,42,42,32,45,32,84,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,78,111,100,101,96,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,10,32,32,105,115,115,117,101,100,32,98,121,32,96,115,112,97,119,110,95,114,101,113,117,101,115,116,40,41,96,46,10,10,45,32,42,42,96,110,111,99,111,110,110,101,99,116,105,111,110,96,42,42,32,45,32,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,10,32,32,96,78,111,100,101,96,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,10,32,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,10,10,45,32,42,42,96,115,121,115,116,101,109,95,108,105,109,105,116,96,42,42,32,45,32,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,10,32,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,10,10,86,97,108,105,100,32,96,79,112,116,105,111,110,96,115,58,10,10,45,32,42,42,96,109,111,110,105,116,111,114,96,42,42,32,45,32,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,10,32,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,10,32,32,99,97,108,108,101,100,32,91,96,109,111,110,105,116,111,114,40,112,114,111,99,101,115,115,44,32,80,105,100,41,96,93,40,96,109,111,110,105,116,111,114,47,50,96,41,32,119,104,101,114,101,32,96,80,105,100,96,32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,10,32,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,96,82,101,113,73,100,96,32,114,101,116,117,114,110,101,100,32,98,121,10,32,32,96,115,112,97,119,110,95,114,101,113,117,101,115,116,40,41,96,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,10,32,32,91,96,109,111,110,105,116,111,114,40,112,114,111,99,101,115,115,44,32,80,105,100,41,96,93,40,96,109,111,110,105,116,111,114,47,50,96,41,46,10,10,32,32,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,10,32,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,91,100,101,109,111,110,105,116,111,114,101,100,93,40,96,100,101,109,111,110,105,116,111,114,47,49,96,41,10,32,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,96,39,68,79,87,78,39,96,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,10,32,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,10,32,32,91,95,115,117,99,99,101,115,115,32,109,101,115,115,97,103,101,95,93,40,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,41,32,116,104,97,116,32,99,111,114,114,101,115,112,111,110,100,115,10,32,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,96,39,68,79,87,78,39,96,32,109,101,115,115,97,103,101,32,119,105,108,108,10,32,32,98,101,32,100,101,108,105,118,101,114,101,100,46,10,10,32,32,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,10,32,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,10,32,32,111,102,32,96,110,111,99,111,110,110,101,99,116,105,111,110,96,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,10,10,45,32,42,42,96,123,109,111,110,105,116,111,114,44,32,77,111,110,105,116,111,114,79,112,116,115,125,96,42,42,32,45,32,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,10,32,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,10,32,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,91,96,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,96,93,40,96,109,111,110,105,116,111,114,47,50,96,41,10,32,32,119,104,101,114,101,32,96,80,105,100,96,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,10,32,32,96,109,111,110,105,116,111,114,96,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,10,10,32,32,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,10,32,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,10,32,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,10,32,32,109,111,110,105,116,111,114,32,105,115,32,97,99,116,105,118,97,116,101,100,46,10,10,45,32,42,42,96,108,105,110,107,96,42,42,32,45,32,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,10,32,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,10,32,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,91,96,108,105,110,107,40,80,105,100,41,96,93,40,96,108,105,110,107,47,49,96,41,32,119,104,101,114,101,32,96,80,105,100,96,32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,10,32,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,10,10,32,32,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,10,32,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,10,32,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,10,32,32,98,101,102,111,114,101,32,97,32,91,95,115,117,99,99,101,115,115,32,109,101,115,115,97,103,101,95,93,40,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,41,32,116,104,97,116,10,32,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,10,32,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,96,115,112,97,119,110,95,114,101,113,117,101,115,116,40,41,96,46,10,10,32,32,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,10,32,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,10,32,32,111,102,32,96,110,111,99,111,110,110,101,99,116,105,111,110,96,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,10,32,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,10,32,32,96,110,111,99,111,110,110,101,99,116,105,111,110,96,46,10,10,45,32,42,42,96,123,114,101,112,108,121,44,32,82,101,112,108,121,125,96,42,42,32,45,32,86,97,108,105,100,32,96,82,101,112,108,121,96,32,118,97,108,117,101,115,58,10,10,32,32,45,32,42,42,96,121,101,115,96,42,42,32,45,32,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,10,32,32,32,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,96,115,112,97,119,110,95,114,101,113,117,101,115,116,40,41,96,10,32,32,32,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,96,114,101,112,108,121,96,32,111,112,116,105,111,110,32,105,115,32,115,101,116,32,116,111,32,96,121,101,115,96,44,10,32,32,32,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,10,32,32,32,32,91,95,115,117,99,99,101,115,115,32,109,101,115,115,97,103,101,95,93,40,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,41,32,111,114,32,97,110,10,32,32,32,32,91,95,101,114,114,111,114,32,109,101,115,115,97,103,101,95,93,40,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,41,46,32,84,104,101,32,96,114,101,112,108,121,96,10,32,32,32,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,96,121,101,115,96,46,10,10,32,32,45,32,42,42,96,110,111,96,42,42,32,45,32,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,10,32,32,32,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,10,32,32,32,32,110,111,116,46,10,10,32,32,45,32,42,42,96,101,114,114,111,114,95,111,110,108,121,96,42,42,32,45,32,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,10,32,32,32,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,10,32,32,32,32,91,95,101,114,114,111,114,32,109,101,115,115,97,103,101,95,93,40,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,41,32,119,105,108,108,32,98,101,32,115,101,110,116,32,116,111,10,32,32,32,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,10,10,32,32,45,32,42,42,96,115,117,99,99,101,115,115,95,111,110,108,121,96,42,42,32,45,32,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,10,32,32,32,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,10,32,32,32,32,91,95,115,117,99,99,101,115,115,32,109,101,115,115,97,103,101,95,93,40,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,41,32,119,105,108,108,32,98,101,32,115,101,110,116,10,32,32,32,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,10,10,45,32,42,42,96,123,114,101,112,108,121,95,116,97,103,44,32,82,101,112,108,121,84,97,103,125,96,42,42,32,45,32,83,101,116,115,32,116,104,101,32,114,101,112,108,121,32,116,97,103,32,116,111,32,96,82,101,112,108,121,84,97,103,96,32,105,110,32,116,104,101,32,114,101,112,108,121,10,32,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,91,95,115,117,99,99,101,115,115,95,93,40,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,41,10,32,32,111,114,32,91,95,101,114,114,111,114,95,93,40,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,41,32,109,101,115,115,97,103,101,32,116,104,97,116,32,105,115,32,115,101,110,116,32,116,111,10,32,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,10,32,32,96,115,112,97,119,110,95,114,101,112,108,121,96,46,10,10,45,32,42,42,96,79,116,104,101,114,79,112,116,105,111,110,96,42,42,32,45,32,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,10,32,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,96,78,111,100,101,96,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,96,79,112,116,105,111,110,96,115,32,102,111,114,10,32,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,10,32,32,96,115,112,97,119,110,95,111,112,116,47,52,96,46,10,10,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,10,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,10,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,10,10,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,96,98,97,100,97,114,103,96,32,101,120,99,101,112,116,105,111,110,32,105,102,58,10,10,45,32,96,78,111,100,101,96,32,105,115,32,110,111,116,32,97,110,32,97,116,111,109,46,10,45,32,96,77,111,100,117,108,101,96,32,105,115,32,110,111,116,32,97,110,32,97,116,111,109,46,10,45,32,96,70,117,110,99,116,105,111,110,96,32,105,115,32,110,111,116,32,97,110,32,97,116,111,109,46,10,45,32,96,65,114,103,115,96,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,10,45,32,96,79,112,116,105,111,110,115,96,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,10,10,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,96,79,112,116,105,111,110,96,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,10,115,101,110,116,46,32,83,111,109,101,32,96,79,112,116,105,111,110,96,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,10,97,110,32,105,110,118,97,108,105,100,32,111,112,116,105,111,110,32,100,111,101,115,32,95,110,111,116,95,32,99,97,117,115,101,32,97,32,96,98,97,100,97,114,103,96,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,10,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,96,98,97,100,111,112,116,96,46,10,10,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,96,115,112,97,119,110,95,114,101,113,117,101,115,116,95,97,98,97,110,100,111,110,47,49,96,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,91,95,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,95,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,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,96,41,10,62,32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32,95,80,114,111,99,101,115,115,101,115,95,32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32,95,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,95,46>>},#{group => processes,specification => [{attribute,{10687,2},spec,{{spawn_request,5},[{type,{10687,20},bounded_fun,[{type,{10687,20},'fun',[{type,{10687,20},product,[{var,{10687,21},'Node'},{var,{10687,27},'Module'},{var,{10687,35},'Function'},{var,{10687,45},'Args'},{var,{10687,51},'Options'}]},{var,{10688,28},'ReqId'}]},[{type,{10689,7},constraint,[{atom,{10689,7},is_subtype},[{var,{10689,7},'Node'},{type,{10689,15},node,[]}]]},{type,{10690,7},constraint,[{atom,{10690,7},is_subtype},[{var,{10690,7},'Module'},{type,{10690,17},module,[]}]]},{type,{10691,7},constraint,[{atom,{10691,7},is_subtype},[{var,{10691,7},'Function'},{type,{10691,19},atom,[]}]]},{type,{10692,7},constraint,[{atom,{10692,7},is_subtype},[{var,{10692,7},'Args'},{type,{10692,15},list,[{type,{10692,16},term,[]}]}]]},{type,{10693,7},constraint,[{atom,{10693,7},is_subtype},[{var,{10693,7},'Options'},{type,{10693,18},list,[{var,{10693,19},'Option'}]}]]},{type,{10694,7},constraint,[{atom,{10694,7},is_subtype},[{var,{10694,7},'Option'},{type,{10694,17},union,[{atom,{10694,17},monitor},{type,{10695,17},tuple,[{atom,{10695,18},monitor},{type,{10695,27},list,[{user_type,{10695,28},monitor_option,[]}]}]},{atom,{10696,17},link},{type,{10697,17},tuple,[{atom,{10697,18},reply_tag},{var,{10697,29},'ReplyTag'}]},{type,{10698,17},tuple,[{atom,{10698,18},reply},{var,{10698,25},'Reply'}]},{var,{10699,17},'OtherOption'}]}]]},{type,{10700,7},constraint,[{atom,{10700,7},is_subtype},[{var,{10700,7},'ReplyTag'},{type,{10700,19},term,[]}]]},{type,{10701,7},constraint,[{atom,{10701,7},is_subtype},[{var,{10701,7},'Reply'},{type,{10701,16},union,[{atom,{10701,16},yes},{atom,{10701,22},no},{atom,{10701,27},error_only},{atom,{10701,40},success_only}]}]]},{type,{10702,7},constraint,[{atom,{10702,7},is_subtype},[{var,{10702,7},'OtherOption'},{type,{10702,22},term,[]}]]},{type,{10703,7},constraint,[{atom,{10703,7},is_subtype},[{var,{10703,7},'ReqId'},{type,{10703,16},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,4},{10484,2},[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,78,111,100,101,79,114,77,111,100,117,108,101,44,32,77,111,100,117,108,101,79,114,70,117,110,99,116,105,111,110,44,32,70,117,110,99,116,105,111,110,79,114,65,114,103,115,44,32,65,114,103,115,79,114,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<69,113,117,105,118,97,108,101,110,116,32,116,111,10,91,96,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,96,93,40,96,115,112,97,119,110,95,114,101,113,117,101,115,116,47,53,96,41,32,111,114,10,91,96,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,96,93,40,96,115,112,97,119,110,95,114,101,113,117,101,115,116,47,53,96,41,10,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,97,114,103,117,109,101,110,116,115,46,10,10,84,104,97,116,32,105,115,32,101,105,116,104,101,114,58,10,45,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,10,45,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>>},#{group => processes,specification => [{attribute,{10498,2},spec,{{spawn_request,4},[{type,{10498,20},bounded_fun,[{type,{10498,20},'fun',[{type,{10498,20},product,[{var,{10498,21},'Node'},{var,{10498,27},'Module'},{var,{10498,35},'Function'},{var,{10498,45},'Args'}]},{var,{10499,28},'ReqId'}]},[{type,{10500,7},constraint,[{atom,{10500,7},is_subtype},[{var,{10500,7},'Node'},{type,{10500,15},node,[]}]]},{type,{10501,7},constraint,[{atom,{10501,7},is_subtype},[{var,{10501,7},'Module'},{type,{10501,17},module,[]}]]},{type,{10502,7},constraint,[{atom,{10502,7},is_subtype},[{var,{10502,7},'Function'},{type,{10502,19},atom,[]}]]},{type,{10503,7},constraint,[{atom,{10503,7},is_subtype},[{var,{10503,7},'Args'},{type,{10503,15},list,[{type,{10503,16},term,[]}]}]]},{type,{10504,7},constraint,[{atom,{10504,7},is_subtype},[{var,{10504,7},'ReqId'},{type,{10504,16},reference,[]}]]}]]},{type,{10505,20},bounded_fun,[{type,{10505,20},'fun',[{type,{10505,20},product,[{var,{10505,21},'Module'},{var,{10505,29},'Function'},{var,{10505,39},'Args'},{var,{10505,45},'Options'}]},{var,{10506,28},'ReqId'}]},[{type,{10507,7},constraint,[{atom,{10507,7},is_subtype},[{var,{10507,7},'Module'},{type,{10507,17},module,[]}]]},{type,{10508,7},constraint,[{atom,{10508,7},is_subtype},[{var,{10508,7},'Function'},{type,{10508,19},atom,[]}]]},{type,{10509,7},constraint,[{atom,{10509,7},is_subtype},[{var,{10509,7},'Args'},{type,{10509,15},list,[{type,{10509,16},term,[]}]}]]},{type,{10510,7},constraint,[{atom,{10510,7},is_subtype},[{var,{10510,7},'Option'},{type,{10510,17},union,[{type,{10510,17},tuple,[{atom,{10510,18},reply_tag},{var,{10510,29},'ReplyTag'}]},{type,{10511,17},tuple,[{atom,{10511,18},reply},{var,{10511,25},'Reply'}]},{user_type,{10512,17},spawn_opt_option,[]}]}]]},{type,{10513,7},constraint,[{atom,{10513,7},is_subtype},[{var,{10513,7},'ReplyTag'},{type,{10513,19},term,[]}]]},{type,{10514,7},constraint,[{atom,{10514,7},is_subtype},[{var,{10514,7},'Reply'},{type,{10514,16},union,[{atom,{10514,16},yes},{atom,{10514,22},no},{atom,{10514,27},error_only},{atom,{10514,40},success_only}]}]]},{type,{10515,7},constraint,[{atom,{10515,7},is_subtype},[{var,{10515,7},'Options'},{type,{10515,18},list,[{var,{10515,19},'Option'}]}]]},{type,{10516,7},constraint,[{atom,{10516,7},is_subtype},[{var,{10516,7},'ReqId'},{type,{10516,16},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,3},{10423,2},[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,78,111,100,101,79,114,77,111,100,117,108,101,44,32,70,117,110,79,114,70,117,110,99,116,105,111,110,44,32,79,112,116,105,111,110,115,79,114,65,114,103,115,41>>],#{<<101,110>> => <<69,113,117,105,118,97,108,101,110,116,32,116,111,10,91,96,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,96,93,40,96,115,112,97,119,110,95,114,101,113,117,101,115,116,47,53,96,41,32,111,114,10,91,96,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,96,93,40,96,115,112,97,119,110,95,114,101,113,117,101,115,116,47,53,96,41,32,100,101,112,101,110,100,105,110,103,10,111,110,32,116,104,101,32,97,114,103,117,109,101,110,116,115,46,10,10,84,104,97,116,32,105,115,32,101,105,116,104,101,114,58,10,10,45,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,96,70,117,110,96,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,10,45,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,10,10,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,96,98,97,100,97,114,103,96,32,101,120,99,101,112,116,105,111,110,32,105,102,58,10,10,45,32,96,78,111,100,101,96,32,105,115,32,110,111,116,32,97,110,32,97,116,111,109,46,10,45,32,96,70,117,110,96,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,10,45,32,96,79,112,116,105,111,110,115,96,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>>},#{group => processes,specification => [{attribute,{10444,2},spec,{{spawn_request,3},[{type,{10444,20},bounded_fun,[{type,{10444,20},'fun',[{type,{10444,20},product,[{var,{10444,21},'Node'},{var,{10444,27},'Fun'},{var,{10444,32},'Options'}]},{var,{10444,44},'ReqId'}]},[{type,{10445,7},constraint,[{atom,{10445,7},is_subtype},[{var,{10445,7},'Node'},{type,{10445,15},node,[]}]]},{type,{10446,7},constraint,[{atom,{10446,7},is_subtype},[{var,{10446,7},'Fun'},{type,{10446,14},function,[]}]]},{type,{10447,7},constraint,[{atom,{10447,7},is_subtype},[{var,{10447,7},'Options'},{type,{10447,18},list,[{var,{10447,19},'Option'}]}]]},{type,{10448,7},constraint,[{atom,{10448,7},is_subtype},[{var,{10448,7},'Option'},{type,{10448,17},union,[{atom,{10448,17},monitor},{type,{10449,17},tuple,[{atom,{10449,18},monitor},{type,{10449,27},list,[{user_type,{10449,28},monitor_option,[]}]}]},{atom,{10450,17},link},{type,{10451,17},tuple,[{atom,{10451,18},reply_tag},{var,{10451,29},'ReplyTag'}]},{type,{10452,17},tuple,[{atom,{10452,18},reply},{var,{10452,25},'Reply'}]},{var,{10453,17},'OtherOption'}]}]]},{type,{10454,7},constraint,[{atom,{10454,7},is_subtype},[{var,{10454,7},'ReplyTag'},{type,{10454,19},term,[]}]]},{type,{10455,7},constraint,[{atom,{10455,7},is_subtype},[{var,{10455,7},'Reply'},{type,{10455,16},union,[{atom,{10455,16},yes},{atom,{10455,22},no},{atom,{10455,27},error_only},{atom,{10455,40},success_only}]}]]},{type,{10456,7},constraint,[{atom,{10456,7},is_subtype},[{var,{10456,7},'OtherOption'},{type,{10456,22},term,[]}]]},{type,{10457,7},constraint,[{atom,{10457,7},is_subtype},[{var,{10457,7},'ReqId'},{type,{10457,16},reference,[]}]]}]]},{type,{10458,20},bounded_fun,[{type,{10458,20},'fun',[{type,{10458,20},product,[{var,{10458,21},'Module'},{var,{10458,29},'Function'},{var,{10458,39},'Args'}]},{var,{10459,28},'ReqId'}]},[{type,{10460,7},constraint,[{atom,{10460,7},is_subtype},[{var,{10460,7},'Module'},{type,{10460,17},module,[]}]]},{type,{10461,7},constraint,[{atom,{10461,7},is_subtype},[{var,{10461,7},'Function'},{type,{10461,19},atom,[]}]]},{type,{10462,7},constraint,[{atom,{10462,7},is_subtype},[{var,{10462,7},'Args'},{type,{10462,15},list,[{type,{10462,16},term,[]}]}]]},{type,{10463,7},constraint,[{atom,{10463,7},is_subtype},[{var,{10463,7},'ReqId'},{type,{10463,16},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,2},{10376,2},[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,70,117,110,79,114,78,111,100,101,44,32,79,112,116,105,111,110,115,79,114,70,117,110,41>>],#{<<101,110>> => <<69,113,117,105,118,97,108,101,110,116,32,116,111,32,91,96,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,96,93,40,96,115,112,97,119,110,95,114,101,113,117,101,115,116,47,51,96,41,32,111,114,10,91,96,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,96,93,40,96,115,112,97,119,110,95,114,101,113,117,101,115,116,47,51,96,41,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,97,114,103,117,109,101,110,116,115,46,10,10,84,104,97,116,32,105,115,32,101,105,116,104,101,114,58,10,45,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,10,45,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>>},#{group => processes,specification => [{attribute,{10388,2},spec,{{spawn_request,2},[{type,{10388,20},bounded_fun,[{type,{10388,20},'fun',[{type,{10388,20},product,[{var,{10388,21},'Fun'},{var,{10388,26},'Options'}]},{var,{10388,38},'ReqId'}]},[{type,{10389,7},constraint,[{atom,{10389,7},is_subtype},[{var,{10389,7},'Fun'},{type,{10389,14},function,[]}]]},{type,{10390,7},constraint,[{atom,{10390,7},is_subtype},[{var,{10390,7},'Option'},{type,{10390,17},union,[{type,{10390,17},tuple,[{atom,{10390,18},reply_tag},{var,{10390,29},'ReplyTag'}]},{type,{10391,17},tuple,[{atom,{10391,18},reply},{var,{10391,25},'Reply'}]},{user_type,{10392,17},spawn_opt_option,[]}]}]]},{type,{10393,7},constraint,[{atom,{10393,7},is_subtype},[{var,{10393,7},'ReplyTag'},{type,{10393,19},term,[]}]]},{type,{10394,7},constraint,[{atom,{10394,7},is_subtype},[{var,{10394,7},'Reply'},{type,{10394,16},union,[{atom,{10394,16},yes},{atom,{10394,22},no},{atom,{10394,27},error_only},{atom,{10394,40},success_only}]}]]},{type,{10395,7},constraint,[{atom,{10395,7},is_subtype},[{var,{10395,7},'Options'},{type,{10395,18},list,[{var,{10395,19},'Option'}]}]]},{type,{10396,7},constraint,[{atom,{10396,7},is_subtype},[{var,{10396,7},'ReqId'},{type,{10396,16},reference,[]}]]}]]},{type,{10397,20},bounded_fun,[{type,{10397,20},'fun',[{type,{10397,20},product,[{var,{10397,21},'Node'},{var,{10397,27},'Fun'}]},{var,{10397,35},'ReqId'}]},[{type,{10398,7},constraint,[{atom,{10398,7},is_subtype},[{var,{10398,7},'Node'},{type,{10398,15},node,[]}]]},{type,{10399,7},constraint,[{atom,{10399,7},is_subtype},[{var,{10399,7},'Fun'},{type,{10399,14},function,[]}]]},{type,{10400,7},constraint,[{atom,{10400,7},is_subtype},[{var,{10400,7},'ReqId'},{type,{10400,16},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,1},{10352,2},[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,70,117,110,41>>],#{<<101,110>> => <<69,113,117,105,118,97,108,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,32,91,96,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,96,93,40,96,115,112,97,119,110,95,114,101,113,117,101,115,116,47,51,96,41,46,32,84,104,97,116,10,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>>},#{group => processes,specification => [{attribute,{10358,2},spec,{{spawn_request,1},[{type,{10358,20},bounded_fun,[{type,{10358,20},'fun',[{type,{10358,20},product,[{var,{10358,21},'Fun'}]},{var,{10358,29},'ReqId'}]},[{type,{10359,7},constraint,[{atom,{10359,7},is_subtype},[{var,{10359,7},'Fun'},{type,{10359,14},function,[]}]]},{type,{10360,7},constraint,[{atom,{10360,7},is_subtype},[{var,{10360,7},'ReqId'},{type,{10360,16},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_opt,5},{10287,2},[<<115,112,97,119,110,95,111,112,116,40,78,111,100,101,44,32,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,103,115,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<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,10,111,102,32,96,77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,96,32,116,111,32,96,65,114,103,115,96,32,111,110,32,96,78,111,100,101,96,46,32,73,102,32,96,78,111,100,101,96,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,10,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,96,115,112,97,119,110,95,111,112,116,47,52,96,46,10,10,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,10,96,78,111,100,101,96,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,96,79,112,116,105,111,110,96,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,10,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,96,115,112,97,119,110,95,111,112,116,47,52,96,46>>},#{group => processes,specification => [{attribute,{10297,2},spec,{{spawn_opt,5},[{type,{10297,16},bounded_fun,[{type,{10297,16},'fun',[{type,{10297,16},product,[{var,{10297,17},'Node'},{var,{10297,23},'Module'},{var,{10297,31},'Function'},{var,{10297,41},'Args'},{var,{10297,47},'Options'}]},{type,{10298,24},union,[{type,{10298,24},pid,[]},{type,{10298,32},tuple,[{type,{10298,33},pid,[]},{type,{10298,40},reference,[]}]}]}]},[{type,{10299,7},constraint,[{atom,{10299,7},is_subtype},[{var,{10299,7},'Node'},{type,{10299,15},node,[]}]]},{type,{10300,7},constraint,[{atom,{10300,7},is_subtype},[{var,{10300,7},'Module'},{type,{10300,17},module,[]}]]},{type,{10301,7},constraint,[{atom,{10301,7},is_subtype},[{var,{10301,7},'Function'},{type,{10301,19},atom,[]}]]},{type,{10302,7},constraint,[{atom,{10302,7},is_subtype},[{var,{10302,7},'Args'},{type,{10302,15},list,[{type,{10302,16},term,[]}]}]]},{type,{10303,7},constraint,[{atom,{10303,7},is_subtype},[{var,{10303,7},'Options'},{type,{10303,18},list,[{type,{10303,19},union,[{atom,{10303,19},monitor},{type,{10304,19},tuple,[{atom,{10304,20},monitor},{type,{10304,29},list,[{user_type,{10304,30},monitor_option,[]}]}]},{atom,{10305,19},link},{var,{10306,19},'OtherOption'}]}]}]]},{type,{10307,7},constraint,[{atom,{10307,7},is_subtype},[{var,{10307,7},'OtherOption'},{type,{10307,22},term,[]}]]}]]}]}}]}},{{function,spawn_opt,4},{10184,2},[<<115,112,97,119,110,95,111,112,116,40,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,103,115,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<87,111,114,107,115,32,97,115,32,96,115,112,97,119,110,47,51,96,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,10,116,104,101,32,112,114,111,99,101,115,115,46,10,10,73,102,32,111,112,116,105,111,110,32,96,109,111,110,105,116,111,114,96,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,10,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,10,10,79,112,116,105,111,110,115,58,10,10,45,32,42,42,96,108,105,110,107,96,42,42,32,45,32,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,96,115,112,97,119,110,95,108,105,110,107,47,51,96,32,100,111,101,115,41,46,10,10,45,32,42,42,96,109,111,110,105,116,111,114,96,42,42,32,45,32,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,10,32,32,91,96,109,111,110,105,116,111,114,40,112,114,111,99,101,115,115,44,32,80,105,100,41,96,93,40,96,109,111,110,105,116,111,114,47,50,96,41,32,100,111,101,115,41,46,32,65,32,96,123,80,105,100,44,32,77,111,110,105,116,111,114,82,101,102,125,96,32,116,117,112,108,101,32,119,105,108,108,10,32,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,96,80,105,100,96,46,10,10,45,32,42,42,96,123,109,111,110,105,116,111,114,44,32,77,111,110,105,116,111,114,79,112,116,115,125,96,42,42,32,45,32,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,10,32,32,91,96,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,96,93,40,96,109,111,110,105,116,111,114,47,51,96,41,32,100,111,101,115,41,46,32,65,10,32,32,96,123,80,105,100,44,32,77,111,110,105,116,111,114,82,101,102,125,96,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,96,80,105,100,96,46,10,10,45,32,42,42,96,123,112,114,105,111,114,105,116,121,44,32,76,101,118,101,108,125,96,42,42,32,45,32,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,10,32,32,101,120,101,99,117,116,105,110,103,32,91,96,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,96,93,40,35,112,114,111,99,101,115,115,95,102,108,97,103,95,112,114,105,111,114,105,116,121,41,10,32,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,10,32,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,10,32,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,10,32,32,91,96,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,96,93,40,35,112,114,111,99,101,115,115,95,102,108,97,103,95,112,114,105,111,114,105,116,121,41,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,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,10,32,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,10,10,32,32,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,10,32,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,10,32,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,10,10,32,32,79,112,116,105,111,110,32,96,102,117,108,108,115,119,101,101,112,95,97,102,116,101,114,96,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,10,32,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,10,32,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,10,32,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,10,10,32,32,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,96,102,117,108,108,115,119,101,101,112,95,97,102,116,101,114,96,58,10,10,32,32,45,32,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,10,32,32,32,32,112,111,115,115,105,98,108,101,46,32,40,83,101,116,32,96,78,117,109,98,101,114,96,32,116,111,32,122,101,114,111,46,41,10,32,32,45,32,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,10,32,32,32,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,10,32,32,32,32,111,99,99,97,115,105,111,110,97,108,108,121,44,32,115,101,116,32,96,78,117,109,98,101,114,96,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,10,32,32,45,32,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,10,32,32,32,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,96,78,117,109,98,101,114,96,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,10,32,32,32,32,115,101,116,32,103,108,111,98,97,108,108,121,44,32,115,101,101,32,91,96,101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,47,50,96,93,40,96,115,121,115,116,101,109,95,102,108,97,103,47,50,96,41,46,41,10,10,45,32,42,42,96,123,109,105,110,95,104,101,97,112,95,115,105,122,101,44,32,83,105,122,101,125,96,42,42,32,45,32,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,10,32,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,10,32,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,10,10,32,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,32,96,83,105,122,101,96,32,118,97,108,117,101,115,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,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,10,32,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,10,10,32,32,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,10,32,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,10,32,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,10,32,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,10,32,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,96,86,83,105,122,101,96,32,118,97,108,117,101,115,46,10,10,45,32,42,42,96,123,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,83,105,122,101,125,96,42,42,32,45,32,83,101,116,115,32,116,104,101,32,96,109,97,120,95,104,101,97,112,95,115,105,122,101,96,32,112,114,111,99,101,115,115,32,102,108,97,103,46,32,84,104,101,10,32,32,100,101,102,97,117,108,116,32,96,109,97,120,95,104,101,97,112,95,115,105,122,101,96,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,10,32,32,91,96,43,104,109,97,120,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,104,109,97,120,41,32,105,110,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,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,10,32,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,10,32,32,91,96,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,96,93,40,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,41,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,83,101,116,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,96,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,96,10,32,32,112,114,111,99,101,115,115,32,102,108,97,103,46,32,96,77,81,68,96,32,99,97,110,32,98,101,32,101,105,116,104,101,114,32,96,111,102,102,95,104,101,97,112,96,32,111,114,32,96,111,110,95,104,101,97,112,96,46,32,84,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,10,32,32,111,102,32,116,104,101,32,96,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,96,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,10,32,32,97,114,103,117,109,101,110,116,32,91,96,43,104,109,113,100,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,104,109,113,100,41,32,105,110,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,32,70,111,114,32,109,111,114,101,10,32,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,10,32,32,91,96,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,96,93,40,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,41,46,10,10,45,32,42,42,96,123,97,115,121,110,99,95,100,105,115,116,44,32,69,110,97,98,108,101,100,125,96,123,58,32,35,115,112,97,119,110,95,111,112,116,95,97,115,121,110,99,95,100,105,115,116,32,125,42,42,32,45,32,83,105,110,99,101,58,32,79,84,80,32,50,53,46,51,10,10,32,32,83,101,116,32,116,104,101,32,91,96,97,115,121,110,99,95,100,105,115,116,96,93,40,35,112,114,111,99,101,115,115,95,102,108,97,103,95,97,115,121,110,99,95,100,105,115,116,41,32,112,114,111,99,101,115,115,32,102,108,97,103,32,111,102,32,116,104,101,10,32,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,10,32,32,99,111,109,109,97,110,100,32,108,105,110,101,32,97,114,103,117,109,101,110,116,32,91,96,43,112,97,100,32,60,98,111,111,108,101,97,110,62,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,112,97,100,41,46>>},#{group => processes,specification => [{attribute,{10275,2},spec,{{spawn_opt,4},[{type,{10275,16},bounded_fun,[{type,{10275,16},'fun',[{type,{10275,16},product,[{var,{10275,17},'Module'},{var,{10275,25},'Function'},{var,{10275,35},'Args'},{var,{10275,41},'Options'}]},{type,{10276,11},union,[{var,{10276,11},'Pid'},{type,{10276,17},tuple,[{var,{10276,18},'Pid'},{var,{10276,23},'MonitorRef'}]}]}]},[{type,{10277,7},constraint,[{atom,{10277,7},is_subtype},[{var,{10277,7},'Module'},{type,{10277,17},module,[]}]]},{type,{10278,7},constraint,[{atom,{10278,7},is_subtype},[{var,{10278,7},'Function'},{type,{10278,19},atom,[]}]]},{type,{10279,7},constraint,[{atom,{10279,7},is_subtype},[{var,{10279,7},'Args'},{type,{10279,15},list,[{type,{10279,16},term,[]}]}]]},{type,{10280,7},constraint,[{atom,{10280,7},is_subtype},[{var,{10280,7},'Options'},{type,{10280,18},list,[{user_type,{10280,19},spawn_opt_option,[]}]}]]},{type,{10281,7},constraint,[{atom,{10281,7},is_subtype},[{var,{10281,7},'Pid'},{type,{10281,14},pid,[]}]]},{type,{10282,7},constraint,[{atom,{10282,7},is_subtype},[{var,{10282,7},'MonitorRef'},{type,{10282,21},reference,[]}]]}]]}]}}]}},{{function,spawn_monitor,4},{10129,2},[<<115,112,97,119,110,95,109,111,110,105,116,111,114,40,78,111,100,101,44,32,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,103,115,41>>],#{<<101,110>> => <<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,96,77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,96,32,116,111,32,96,65,114,103,115,96,32,111,110,10,116,104,101,32,110,111,100,101,32,96,78,111,100,101,96,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,10,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,96,115,112,97,119,110,47,51,96,46,10,10,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,96,78,111,100,101,96,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,96,115,112,97,119,110,95,109,111,110,105,116,111,114,40,41,96,44,10,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,96,110,111,116,115,117,112,96,32,101,120,99,101,112,116,105,111,110,46>>},#{group => processes,specification => [{attribute,{10139,2},spec,{{spawn_monitor,4},[{type,{10139,20},bounded_fun,[{type,{10139,20},'fun',[{type,{10139,20},product,[{var,{10139,21},'Node'},{var,{10139,27},'Module'},{var,{10139,35},'Function'},{var,{10139,45},'Args'}]},{type,{10139,54},tuple,[{type,{10139,55},pid,[]},{type,{10139,62},reference,[]}]}]},[{type,{10140,7},constraint,[{atom,{10140,7},is_subtype},[{var,{10140,7},'Node'},{type,{10140,15},node,[]}]]},{type,{10141,7},constraint,[{atom,{10141,7},is_subtype},[{var,{10141,7},'Module'},{type,{10141,17},module,[]}]]},{type,{10142,7},constraint,[{atom,{10142,7},is_subtype},[{var,{10142,7},'Function'},{type,{10142,19},atom,[]}]]},{type,{10143,7},constraint,[{atom,{10143,7},is_subtype},[{var,{10143,7},'Args'},{type,{10143,15},list,[{type,{10143,16},term,[]}]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_link,4},{10099,2},[<<115,112,97,119,110,95,108,105,110,107,40,78,111,100,101,44,32,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,103,115,41>>],#{<<101,110>> => <<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,10,111,102,32,96,77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,96,32,116,111,32,96,65,114,103,115,96,32,111,110,32,96,78,111,100,101,96,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,10,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,96,78,111,100,101,96,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,10,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,96,110,111,99,111,110,110,101,99,116,105,111,110,96,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,105,110,103,10,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,96,115,112,97,119,110,47,51,96,46>>},#{group => processes,specification => [{attribute,{10107,2},spec,{{spawn_link,4},[{type,{10107,17},bounded_fun,[{type,{10107,17},'fun',[{type,{10107,17},product,[{var,{10107,18},'Node'},{var,{10107,24},'Module'},{var,{10107,32},'Function'},{var,{10107,42},'Args'}]},{type,{10107,51},pid,[]}]},[{type,{10108,7},constraint,[{atom,{10108,7},is_subtype},[{var,{10108,7},'Node'},{type,{10108,15},node,[]}]]},{type,{10109,7},constraint,[{atom,{10109,7},is_subtype},[{var,{10109,7},'Module'},{type,{10109,17},module,[]}]]},{type,{10110,7},constraint,[{atom,{10110,7},is_subtype},[{var,{10110,7},'Function'},{type,{10110,19},atom,[]}]]},{type,{10111,7},constraint,[{atom,{10111,7},is_subtype},[{var,{10111,7},'Args'},{type,{10111,15},list,[{type,{10111,16},term,[]}]}]]}]]}]}}]}},{{function,spawn,4},{10071,2},[<<115,112,97,119,110,40,78,111,100,101,44,32,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,103,115,41>>],#{<<101,110>> => <<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,10,111,102,32,96,77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,96,32,116,111,32,96,65,114,103,115,96,32,111,110,32,96,78,111,100,101,96,46,32,73,102,32,96,78,111,100,101,96,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,10,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,96,115,112,97,119,110,47,51,96,46>>},#{group => processes,specification => [{attribute,{10077,2},spec,{{spawn,4},[{type,{10077,12},bounded_fun,[{type,{10077,12},'fun',[{type,{10077,12},product,[{var,{10077,13},'Node'},{var,{10077,19},'Module'},{var,{10077,27},'Function'},{var,{10077,37},'Args'}]},{type,{10077,46},pid,[]}]},[{type,{10078,7},constraint,[{atom,{10078,7},is_subtype},[{var,{10078,7},'Node'},{type,{10078,15},node,[]}]]},{type,{10079,7},constraint,[{atom,{10079,7},is_subtype},[{var,{10079,7},'Module'},{type,{10079,17},module,[]}]]},{type,{10080,7},constraint,[{atom,{10080,7},is_subtype},[{var,{10080,7},'Function'},{type,{10080,19},atom,[]}]]},{type,{10081,7},constraint,[{atom,{10081,7},is_subtype},[{var,{10081,7},'Args'},{type,{10081,15},list,[{type,{10081,16},term,[]}]}]]}]]}]}}]}},{{function,spawn_opt,3},{10033,2},[<<115,112,97,119,110,95,111,112,116,40,78,111,100,101,44,32,70,117,110,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<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,10,111,102,32,96,70,117,110,96,32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32,96,91,93,96,32,111,110,32,96,78,111,100,101,96,46,32,73,102,32,96,78,111,100,101,96,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,10,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,96,115,112,97,119,110,95,111,112,116,47,52,96,46,10,10,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,10,96,78,111,100,101,96,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,96,79,112,116,105,111,110,96,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,10,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,96,115,112,97,119,110,95,111,112,116,47,52,96,46>>},#{group => processes,specification => [{attribute,{10043,2},spec,{{spawn_opt,3},[{type,{10043,16},bounded_fun,[{type,{10043,16},'fun',[{type,{10043,16},product,[{var,{10043,17},'Node'},{var,{10043,23},'Fun'},{var,{10043,28},'Options'}]},{type,{10043,40},union,[{type,{10043,40},pid,[]},{type,{10043,48},tuple,[{type,{10043,49},pid,[]},{type,{10043,56},reference,[]}]}]}]},[{type,{10044,7},constraint,[{atom,{10044,7},is_subtype},[{var,{10044,7},'Node'},{type,{10044,15},node,[]}]]},{type,{10045,7},constraint,[{atom,{10045,7},is_subtype},[{var,{10045,7},'Fun'},{type,{10045,14},function,[]}]]},{type,{10046,7},constraint,[{atom,{10046,7},is_subtype},[{var,{10046,7},'Options'},{type,{10046,18},list,[{type,{10046,19},union,[{atom,{10046,19},monitor},{type,{10047,19},tuple,[{atom,{10047,20},monitor},{type,{10047,29},list,[{user_type,{10047,30},monitor_option,[]}]}]},{atom,{10048,19},link},{var,{10049,19},'OtherOption'}]}]}]]},{type,{10050,7},constraint,[{atom,{10050,7},is_subtype},[{var,{10050,7},'OtherOption'},{type,{10050,22},term,[]}]]}]]}]}}]}},{{function,spawn_opt,2},{10010,2},[<<115,112,97,119,110,95,111,112,116,40,70,117,110,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<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,10,111,102,32,96,70,117,110,96,32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32,96,91,93,96,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32,96,115,112,97,119,110,95,111,112,116,47,52,96,46,10,10,73,102,32,111,112,116,105,111,110,32,96,109,111,110,105,116,111,114,96,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,10,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>>},#{group => processes,specification => [{attribute,{10018,2},spec,{{spawn_opt,2},[{type,{10018,16},bounded_fun,[{type,{10018,16},'fun',[{type,{10018,16},product,[{var,{10018,17},'Fun'},{var,{10018,22},'Options'}]},{type,{10018,34},union,[{type,{10018,34},pid,[]},{type,{10018,42},tuple,[{type,{10018,43},pid,[]},{type,{10018,50},reference,[]}]}]}]},[{type,{10019,7},constraint,[{atom,{10019,7},is_subtype},[{var,{10019,7},'Fun'},{type,{10019,14},function,[]}]]},{type,{10020,7},constraint,[{atom,{10020,7},is_subtype},[{var,{10020,7},'Options'},{type,{10020,18},list,[{user_type,{10020,19},spawn_opt_option,[]}]}]]}]]}]}}]}},{{function,spawn_monitor,3},{9967,2},[<<115,112,97,119,110,95,109,111,110,105,116,111,114,40,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,103,115,41>>],#{<<101,110>> => <<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,96,77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,96,32,116,111,32,96,65,114,103,115,96,46,32,84,104,101,10,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,10,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,96,115,112,97,119,110,47,51,96,46>>},#{group => processes,specification => [{attribute,{9973,2},spec,{{spawn_monitor,3},[{type,{9973,20},bounded_fun,[{type,{9973,20},'fun',[{type,{9973,20},product,[{var,{9973,21},'Module'},{var,{9973,29},'Function'},{var,{9973,39},'Args'}]},{type,{9973,48},tuple,[{type,{9973,49},pid,[]},{type,{9973,56},reference,[]}]}]},[{type,{9974,7},constraint,[{atom,{9974,7},is_subtype},[{var,{9974,7},'Module'},{type,{9974,17},module,[]}]]},{type,{9975,7},constraint,[{atom,{9975,7},is_subtype},[{var,{9975,7},'Function'},{type,{9975,19},atom,[]}]]},{type,{9976,7},constraint,[{atom,{9976,7},is_subtype},[{var,{9976,7},'Args'},{type,{9976,15},list,[{type,{9976,16},term,[]}]}]]}]]}]}}]}},{{function,spawn_monitor,2},{9943,2},[<<115,112,97,119,110,95,109,111,110,105,116,111,114,40,78,111,100,101,44,32,70,117,110,41>>],#{<<101,110>> => <<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,10,96,70,117,110,96,32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32,96,91,93,96,32,111,110,32,116,104,101,32,110,111,100,101,32,96,78,111,100,101,96,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,10,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,96,115,112,97,119,110,47,51,96,46,10,10,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,96,78,111,100,101,96,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,96,115,112,97,119,110,95,109,111,110,105,116,111,114,40,41,96,44,10,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,96,110,111,116,115,117,112,96,32,101,120,99,101,112,116,105,111,110,46>>},#{group => processes,specification => [{attribute,{9953,2},spec,{{spawn_monitor,2},[{type,{9953,20},bounded_fun,[{type,{9953,20},'fun',[{type,{9953,20},product,[{var,{9953,21},'Node'},{var,{9953,27},'Fun'}]},{type,{9953,35},tuple,[{type,{9953,36},pid,[]},{type,{9953,43},reference,[]}]}]},[{type,{9954,7},constraint,[{atom,{9954,7},is_subtype},[{var,{9954,7},'Node'},{type,{9954,15},node,[]}]]},{type,{9955,7},constraint,[{atom,{9955,7},is_subtype},[{var,{9955,7},'Fun'},{type,{9955,14},function,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_monitor,1},{9930,2},[<<115,112,97,119,110,95,109,111,110,105,116,111,114,40,70,117,110,41>>],#{<<101,110>> => <<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,10,96,70,117,110,96,32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32,96,91,93,96,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,10,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,96,115,112,97,119,110,47,51,96,46>>},#{group => processes,specification => [{attribute,{9936,2},spec,{{spawn_monitor,1},[{type,{9936,20},bounded_fun,[{type,{9936,20},'fun',[{type,{9936,20},product,[{var,{9936,21},'Fun'}]},{type,{9936,29},tuple,[{type,{9936,30},pid,[]},{type,{9936,37},reference,[]}]}]},[{type,{9937,7},constraint,[{atom,{9937,7},is_subtype},[{var,{9937,7},'Fun'},{type,{9937,14},function,[]}]]}]]}]}}]}},{{function,spawn_link,2},{9908,2},[<<115,112,97,119,110,95,108,105,110,107,40,78,111,100,101,44,32,70,117,110,41>>],#{<<101,110>> => <<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,10,111,102,32,96,70,117,110,96,32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32,96,91,93,96,32,111,110,32,96,78,111,100,101,96,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,10,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,96,78,111,100,101,96,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,10,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,96,110,111,99,111,110,110,101,99,116,105,111,110,96,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,105,110,103,10,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,96,115,112,97,119,110,47,51,96,46>>},#{group => processes,specification => [{attribute,{9916,2},spec,{{spawn_link,2},[{type,{9916,17},bounded_fun,[{type,{9916,17},'fun',[{type,{9916,17},product,[{var,{9916,18},'Node'},{var,{9916,24},'Fun'}]},{type,{9916,32},pid,[]}]},[{type,{9917,7},constraint,[{atom,{9917,7},is_subtype},[{var,{9917,7},'Node'},{type,{9917,15},node,[]}]]},{type,{9918,7},constraint,[{atom,{9918,7},is_subtype},[{var,{9918,7},'Fun'},{type,{9918,14},function,[]}]]}]]}]}}]}},{{function,spawn_link,1},{9893,2},[<<115,112,97,119,110,95,108,105,110,107,40,70,117,110,41>>],#{<<101,110>> => <<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,10,96,70,117,110,96,32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32,96,91,93,96,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,10,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,96,115,112,97,119,110,47,51,96,46>>},#{group => processes,specification => [{attribute,{9899,2},spec,{{spawn_link,1},[{type,{9899,17},bounded_fun,[{type,{9899,17},'fun',[{type,{9899,17},product,[{var,{9899,18},'Fun'}]},{type,{9899,26},pid,[]}]},[{type,{9900,7},constraint,[{atom,{9900,7},is_subtype},[{var,{9900,7},'Fun'},{type,{9900,14},function,[]}]]}]]}]}}]}},{{function,spawn,2},{9875,2},[<<115,112,97,119,110,40,78,111,100,101,44,32,70,117,110,41>>],#{<<101,110>> => <<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,10,96,70,117,110,96,32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32,96,91,93,96,32,111,110,32,96,78,111,100,101,96,46,32,73,102,32,96,78,111,100,101,96,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,10,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,96,115,112,97,119,110,47,51,96,46>>},#{group => processes,specification => [{attribute,{9881,2},spec,{{spawn,2},[{type,{9881,12},bounded_fun,[{type,{9881,12},'fun',[{type,{9881,12},product,[{var,{9881,13},'Node'},{var,{9881,19},'Fun'}]},{type,{9881,27},pid,[]}]},[{type,{9882,7},constraint,[{atom,{9882,7},is_subtype},[{var,{9882,7},'Node'},{type,{9882,15},node,[]}]]},{type,{9883,7},constraint,[{atom,{9883,7},is_subtype},[{var,{9883,7},'Fun'},{type,{9883,14},function,[]}]]}]]}]}}]}},{{function,spawn,1},{9861,2},[<<115,112,97,119,110,40,70,117,110,41>>],#{<<101,110>> => <<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,10,96,70,117,110,96,32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32,96,91,93,96,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32,96,115,112,97,119,110,47,51,96,46>>},#{group => processes,specification => [{attribute,{9866,2},spec,{{spawn,1},[{type,{9866,12},bounded_fun,[{type,{9866,12},'fun',[{type,{9866,12},product,[{var,{9866,13},'Fun'}]},{type,{9866,21},pid,[]}]},[{type,{9867,7},constraint,[{atom,{9867,7},is_subtype},[{var,{9867,7},'Fun'},{type,{9867,14},function,[]}]]}]]}]}}]}},{{function,apply,3},{9828,2},[<<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>>],#{<<101,110>> => <<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,96,70,117,110,99,116,105,111,110,96,32,105,110,32,96,77,111,100,117,108,101,96,32,116,111,32,96,65,114,103,115,96,46,32,84,104,101,32,97,112,112,108,105,101,100,10,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,96,77,111,100,117,108,101,96,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,10,111,102,32,96,65,114,103,115,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,10,97,115,32,96,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,96,46,10,10,70,97,105,108,117,114,101,58,32,96,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,96,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,10,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,96,112,114,111,99,101,115,115,95,102,108,97,103,47,50,96,41,46,32,73,102,10,96,101,114,114,111,114,95,104,97,110,100,108,101,114,96,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,10,96,101,114,114,111,114,95,104,97,110,100,108,101,114,96,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,10,96,117,110,100,101,102,96,32,105,115,32,103,101,110,101,114,97,116,101,100,46>>},#{group => processes,specification => [{attribute,{9852,2},spec,{{apply,3},[{type,{9852,12},bounded_fun,[{type,{9852,12},'fun',[{type,{9852,12},product,[{var,{9852,13},'Module'},{var,{9852,21},'Function'},{var,{9852,31},'Args'}]},{type,{9852,40},term,[]}]},[{type,{9853,7},constraint,[{atom,{9853,7},is_subtype},[{var,{9853,7},'Module'},{type,{9853,17},module,[]}]]},{type,{9854,7},constraint,[{atom,{9854,7},is_subtype},[{var,{9854,7},'Function'},{type,{9854,19},atom,[]}]]},{type,{9855,7},constraint,[{atom,{9855,7},is_subtype},[{var,{9855,7},'Args'},{type,{9855,15},list,[{type,{9855,16},term,[]}]}]]}]]}]}}]}},{{function,apply,2},{9808,2},[<<97,112,112,108,121,40,70,117,110,44,32,65,114,103,115,41>>],#{<<101,110>> => <<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,96,65,114,103,115,96,32,97,115,32,97,114,103,117,109,101,110,116,115,46,10,10,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,10,105,115,32,98,101,116,116,101,114,32,119,114,105,116,116,101,110,32,97,115,32,96,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,96,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,69,97,114,108,105,101,114,44,32,96,70,117,110,96,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,96,123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,125,96,44,32,101,113,117,105,118,97,108,101,110,116,32,116,111,10,62,32,91,96,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,96,93,40,96,97,112,112,108,121,47,51,96,41,46,32,95,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,10,62,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,95>>},#{group => processes,specification => [{attribute,{9821,2},spec,{{apply,2},[{type,{9821,12},bounded_fun,[{type,{9821,12},'fun',[{type,{9821,12},product,[{var,{9821,13},'Fun'},{var,{9821,18},'Args'}]},{type,{9821,27},term,[]}]},[{type,{9822,7},constraint,[{atom,{9822,7},is_subtype},[{var,{9822,7},'Fun'},{type,{9822,14},function,[]}]]},{type,{9823,7},constraint,[{atom,{9823,7},is_subtype},[{var,{9823,7},'Args'},{type,{9823,15},list,[{type,{9823,16},term,[]}]}]]}]]}]}}]}},{{function,universaltime_to_localtime,1},{9779,2},[<<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,85,110,105,118,101,114,115,97,108,116,105,109,101,41>>],#{<<101,110>> => <<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,10,105,110,32,116,104,101,32,102,111,114,109,32,96,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,96,32,105,102,32,115,117,112,112,111,114,116,101,100,32,98,121,32,116,104,101,10,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,96,85,110,105,118,101,114,115,97,108,116,105,109,101,96,32,105,115,32,114,101,116,117,114,110,101,100,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,85,110,105,118,101,114,115,97,108,116,105,109,101,96,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>>},#{group => time,specification => [{attribute,{9794,2},spec,{{universaltime_to_localtime,1},[{type,{9794,33},bounded_fun,[{type,{9794,33},'fun',[{type,{9794,33},product,[{var,{9794,34},'Universaltime'}]},{var,{9794,53},'Localtime'}]},[{type,{9795,7},constraint,[{atom,{9795,7},is_subtype},[{var,{9795,7},'Localtime'},{remote_type,{9795,20},[{atom,{9795,20},calendar},{atom,{9795,29},datetime},[]]}]]},{type,{9796,7},constraint,[{atom,{9796,7},is_subtype},[{var,{9796,7},'Universaltime'},{remote_type,{9796,24},[{atom,{9796,24},calendar},{atom,{9796,33},datetime},[]]}]]}]]}]}}]}},{{function,system_info,1},[{file,[46,46,47,46,46,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,95,115,121,115,116,101,109,95,105,110,102,111,46,109,100]},{location,{1,1}}],[<<115,121,115,116,101,109,95,105,110,102,111,40,73,116,101,109,41>>],#{<<101,110>> => <<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,10,10,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,10,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,10,10,45,32,91,96,77,101,109,111,114,121,32,65,108,108,111,99,97,116,105,111,110,96,93,40,96,109,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,47,49,45,109,101,109,111,114,121,45,97,108,108,111,99,97,116,105,111,110,96,41,32,45,10,32,32,91,96,97,108,108,111,99,97,116,101,100,95,97,114,101,97,115,96,93,40,96,109,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,96,41,44,10,32,32,91,96,97,108,108,111,99,97,116,111,114,96,93,40,96,109,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,96,41,44,10,32,32,91,96,97,108,108,111,99,95,117,116,105,108,95,97,108,108,111,99,97,116,111,114,115,96,93,40,96,109,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,96,41,44,10,32,32,91,96,97,108,108,111,99,97,116,111,114,95,115,105,122,101,115,96,93,40,96,109,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,96,41,10,10,45,32,91,96,67,80,85,32,84,111,112,111,108,111,103,121,96,93,40,96,109,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,47,49,45,99,112,117,45,116,111,112,111,108,111,103,121,96,41,32,45,10,32,32,91,96,99,112,117,95,116,111,112,111,108,111,103,121,96,93,40,96,109,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,96,41,44,10,32,32,91,96,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,96,93,40,96,109,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,96,41,44,10,32,32,91,96,117,112,100,97,116,101,95,99,112,117,95,105,110,102,111,96,93,40,96,109,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,96,41,10,10,45,32,91,96,80,114,111,99,101,115,115,32,73,110,102,111,114,109,97,116,105,111,110,96,93,40,96,109,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,47,49,45,112,114,111,99,101,115,115,45,105,110,102,111,114,109,97,116,105,111,110,96,41,32,45,10,32,32,91,96,102,117,108,108,115,119,101,101,112,95,97,102,116,101,114,96,93,40,96,109,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,96,41,44,10,32,32,91,96,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,96,93,40,96,109,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,96,41,44,10,32,32,91,96,104,101,97,112,95,115,105,122,101,115,96,93,40,96,109,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,96,41,44,10,32,32,91,96,104,101,97,112,95,116,121,112,101,96,93,40,96,109,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,96,41,44,10,32,32,91,96,109,97,120,95,104,101,97,112,95,115,105,122,101,96,93,40,96,109,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,96,41,44,10,32,32,91,96,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,96,93,40,96,109,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,96,41,44,10,32,32,91,96,109,105,110,95,104,101,97,112,95,115,105,122,101,96,93,40,96,109,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,96,41,44,10,32,32,91,96,109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101,96,93,40,96,109,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,96,41,44,10,32,32,91,96,112,114,111,99,115,96,93,40,96,109,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,96,41,10,10,45,32,91,96,83,121,115,116,101,109,32,76,105,109,105,116,115,96,93,40,96,109,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,47,49,45,115,121,115,116,101,109,45,108,105,109,105,116,115,96,41,32,45,10,32,32,91,96,97,116,111,109,95,99,111,117,110,116,96,93,40,96,109,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,96,41,44,10,32,32,91,96,97,116,111,109,95,108,105,109,105,116,96,93,40,96,109,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,96,41,44,10,32,32,91,96,101,116,115,95,99,111,117,110,116,96,93,40,96,109,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,96,41,44,10,32,32,91,96,101,116,115,95,108,105,109,105,116,96,93,40,96,109,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,96,41,44,10,32,32,91,96,112,111,114,116,95,99,111,117,110,116,96,93,40,96,109,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,96,41,44,10,32,32,91,96,112,111,114,116,95,108,105,109,105,116,96,93,40,96,109,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,96,41,44,10,32,32,91,96,112,114,111,99,101,115,115,95,99,111,117,110,116,96,93,40,96,109,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,96,41,44,10,32,32,91,96,112,114,111,99,101,115,115,95,108,105,109,105,116,96,93,40,96,109,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,96,41,10,10,45,32,91,96,83,121,115,116,101,109,32,84,105,109,101,96,93,40,96,109,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,47,49,45,115,121,115,116,101,109,45,116,105,109,101,96,41,32,45,10,32,32,91,96,101,110,100,95,116,105,109,101,96,93,40,96,109,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,96,41,44,10,32,32,91,96,111,115,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,95,115,111,117,114,99,101,96,93,40,96,109,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,96,41,44,10,32,32,91,96,111,115,95,115,121,115,116,101,109,95,116,105,109,101,95,115,111,117,114,99,101,96,93,40,96,109,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,96,41,44,10,32,32,91,96,115,116,97,114,116,95,116,105,109,101,96,93,40,96,109,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,96,41,44,10,32,32,91,96,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,96,93,40,96,109,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,96,41,44,10,32,32,91,96,116,105,109,101,95,111,102,102,115,101,116,96,93,40,96,109,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,96,41,44,10,32,32,91,96,116,105,109,101,95,119,97,114,112,95,109,111,100,101,96,93,40,96,109,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,96,41,44,10,32,32,91,96,116,111,108,101,114,97,110,116,95,116,105,109,101,111,102,100,97,121,96,93,40,96,109,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,96,41,10,10,45,32,91,96,83,99,104,101,100,117,108,101,114,32,73,110,102,111,114,109,97,116,105,111,110,96,93,40,96,109,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,47,49,45,115,99,104,101,100,117,108,101,114,45,105,110,102,111,114,109,97,116,105,111,110,96,41,32,45,10,32,32,91,96,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115,96,93,40,96,109,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,96,41,44,10,32,32,91,96,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101,96,93,40,96,109,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,96,41,44,10,32,32,91,96,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115,96,93,40,96,109,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,96,41,44,10,32,32,91,96,115,99,104,101,100,117,108,101,114,95,105,100,96,93,40,96,109,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,96,41,44,10,32,32,91,96,115,99,104,101,100,117,108,101,114,115,96,93,40,96,109,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,96,41,44,10,32,32,91,96,115,109,112,95,115,117,112,112,111,114,116,96,93,40,96,109,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,96,41,44,10,32,32,91,96,116,104,114,101,97,100,115,96,93,40,96,109,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,96,41,44,10,32,32,91,96,116,104,114,101,97,100,95,112,111,111,108,95,115,105,122,101,96,93,40,96,109,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,96,41,10,10,45,32,91,96,68,105,115,116,114,105,98,117,116,105,111,110,32,73,110,102,111,114,109,97,116,105,111,110,96,93,40,96,109,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,47,49,45,100,105,115,116,114,105,98,117,116,105,111,110,45,105,110,102,111,114,109,97,116,105,111,110,96,41,32,45,10,32,32,91,96,99,114,101,97,116,105,111,110,96,93,40,96,109,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,96,41,44,10,32,32,91,96,100,101,108,97,121,101,100,95,110,111,100,101,95,116,97,98,108,101,95,103,99,96,93,40,96,109,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,96,41,44,10,32,32,91,96,100,105,115,116,96,93,40,96,109,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116,96,41,44,10,32,32,91,96,100,105,115,116,95,98,117,102,95,98,117,115,121,95,108,105,109,105,116,96,93,40,96,109,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,96,41,44,10,32,32,91,96,100,105,115,116,95,99,116,114,108,96,93,40,96,109,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,96,41,10,10,45,32,91,96,83,121,115,116,101,109,32,73,110,102,111,114,109,97,116,105,111,110,96,93,40,96,109,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,47,49,45,115,121,115,116,101,109,45,105,110,102,111,114,109,97,116,105,111,110,96,41,32,45,10,32,32,91,96,99,95,99,111,109,112,105,108,101,114,95,117,115,101,100,96,93,40,96,109,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,96,41,44,10,32,32,91,96,99,104,101,99,107,95,105,111,96,93,40,96,109,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,96,41,44,10,32,32,91,96,99,111,109,112,97,116,95,114,101,108,96,93,40,96,109,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,96,41,44,10,32,32,91,96,100,101,98,117,103,95,99,111,109,112,105,108,101,100,96,93,40,96,109,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,96,41,44,10,32,32,91,96,100,114,105,118,101,114,95,118,101,114,115,105,111,110,96,93,40,96,109,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,96,41,44,10,32,32,91,96,100,121,110,97,109,105,99,95,116,114,97,99,101,96,93,40,96,109,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,96,41,44,10,32,32,91,96,100,121,110,97,109,105,99,95,116,114,97,99,101,95,112,114,111,98,101,115,96,93,40,96,109,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,96,41,44,10,32,32,91,96,101,109,117,95,102,108,97,118,111,114,96,93,40,96,109,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,96,41,44,10,32,32,91,96,101,109,117,95,116,121,112,101,96,93,40,96,109,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,96,41,44,10,32,32,91,96,105,110,102,111,96,93,40,96,109,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,105,110,102,111,96,41,44,10,32,32,91,96,107,101,114,110,101,108,95,112,111,108,108,96,93,40,96,109,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,96,41,44,10,32,32,91,96,108,111,97,100,101,100,96,93,40,96,109,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,96,41,44,10,32,32,91,96,109,97,99,104,105,110,101,96,93,40,96,109,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,96,41,44,10,32,32,91,96,109,111,100,105,102,105,101,100,95,116,105,109,105,110,103,95,108,101,118,101,108,96,93,40,96,109,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,96,41,44,10,32,32,91,96,110,105,102,95,118,101,114,115,105,111,110,96,93,40,96,109,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,96,41,44,10,32,32,91,96,111,116,112,95,114,101,108,101,97,115,101,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,112,111,114,116,95,112,97,114,97,108,108,101,108,105,115,109,96,93,40,96,109,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,96,41,44,10,32,32,91,96,115,121,115,116,101,109,95,97,114,99,104,105,116,101,99,116,117,114,101,96,93,40,96,109,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,96,41,44,10,32,32,91,96,115,121,115,116,101,109,95,108,111,103,103,101,114,96,93,40,96,109,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,96,41,44,10,32,32,91,96,115,121,115,116,101,109,95,118,101,114,115,105,111,110,96,93,40,96,109,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,96,41,44,10,32,32,91,96,116,114,97,99,101,95,99,111,110,116,114,111,108,95,119,111,114,100,96,93,40,96,109,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,96,41,44,10,32,32,91,96,118,101,114,115,105,111,110,96,93,40,96,109,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,96,41,44,10,32,32,91,96,119,111,114,100,115,105,122,101,96,93,40,96,109,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,96,41,10,10,35,35,32,77,101,109,111,114,121,32,65,108,108,111,99,97,116,105,111,110,10,10,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,96,73,116,101,109,96,58,10,10,42,32,95,95,96,97,108,108,111,99,97,116,101,100,95,97,114,101,97,115,96,95,95,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,96,91,116,117,112,108,101,40,41,93,96,32,119,105,116,104,10,32,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,10,10,32,32,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,10,32,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,10,32,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,10,32,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,10,10,32,32,96,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,96,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,10,32,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,10,32,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,10,10,32,32,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,95,110,111,116,95,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,10,32,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,10,32,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,10,32,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,10,32,32,91,96,101,114,108,97,110,103,58,109,101,109,111,114,121,47,48,44,49,96,93,40,96,101,114,108,97,110,103,58,109,101,109,111,114,121,47,48,96,41,46,10,10,45,32,96,97,108,108,111,99,97,116,111,114,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,111,114,32,125,32,45,32,82,101,116,117,114,110,115,10,32,32,96,96,96,10,32,32,123,65,108,108,111,99,97,116,111,114,32,58,58,32,117,110,100,101,102,105,110,101,100,32,124,32,103,108,105,98,99,44,10,32,32,32,86,101,114,115,105,111,110,32,58,58,32,91,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,93,44,10,32,32,32,70,101,97,116,117,114,101,115,32,58,58,32,91,97,116,111,109,40,41,93,44,10,32,32,32,83,101,116,116,105,110,103,115,32,58,58,32,91,123,83,117,98,115,121,115,116,101,109,32,58,58,32,97,116,111,109,40,41,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,123,80,97,114,97,109,101,116,101,114,32,58,58,32,97,116,111,109,40,41,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,86,97,108,117,101,32,58,58,32,116,101,114,109,40,41,125,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,93,10,32,32,125,10,32,32,96,96,96,10,10,32,32,119,104,101,114,101,10,10,32,32,45,32,96,65,108,108,111,99,97,116,111,114,96,32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,96,109,97,108,108,111,99,40,41,96,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,117,115,101,100,46,32,73,102,10,32,32,32,32,96,65,108,108,111,99,97,116,111,114,96,32,101,113,117,97,108,115,32,96,117,110,100,101,102,105,110,101,100,96,44,32,116,104,101,32,96,109,97,108,108,111,99,40,41,96,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,10,32,32,32,32,105,100,101,110,116,105,102,105,101,100,46,32,96,103,108,105,98,99,96,32,99,97,110,32,98,101,32,105,100,101,110,116,105,102,105,101,100,46,10,32,32,45,32,96,86,101,114,115,105,111,110,96,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,10,32,32,32,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,96,109,97,108,108,111,99,40,41,96,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,117,115,101,100,46,10,32,32,45,32,96,70,101,97,116,117,114,101,115,96,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,10,32,32,45,32,96,83,101,116,116,105,110,103,115,96,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,10,32,32,32,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,10,32,32,32,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,10,10,32,32,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,10,32,32,91,96,101,114,116,115,95,97,108,108,111,99,40,51,41,96,93,40,101,114,116,115,95,97,108,108,111,99,46,109,100,35,102,108,97,103,115,41,46,10,10,45,32,96,123,97,108,108,111,99,97,116,111,114,44,32,65,108,108,111,99,125,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,10,32,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,10,32,32,118,97,108,117,101,32,105,115,32,97,32,108,105,115,116,32,111,102,32,96,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,96,32,116,117,112,108,101,115,44,32,119,104,101,114,101,10,32,32,96,73,110,115,116,97,110,99,101,73,110,102,111,96,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,10,32,32,97,108,108,111,99,97,116,111,114,46,32,73,102,32,96,65,108,108,111,99,96,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,96,117,110,100,101,102,105,110,101,100,96,32,105,115,10,32,32,114,101,116,117,114,110,101,100,46,32,73,102,32,96,65,108,108,111,99,96,32,105,115,32,100,105,115,97,98,108,101,100,44,32,96,102,97,108,115,101,96,32,105,115,32,114,101,116,117,114,110,101,100,46,10,10,32,32,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,10,32,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,10,32,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,10,32,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,10,10,32,32,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,91,96,101,114,116,115,95,97,108,108,111,99,40,51,41,96,93,40,101,114,116,115,95,97,108,108,111,99,46,109,100,41,46,10,32,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,10,32,32,96,123,97,108,108,111,99,97,116,111,114,44,32,101,114,116,115,95,109,109,97,112,125,96,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,10,32,32,119,105,116,104,32,96,123,97,108,108,111,99,97,116,111,114,44,32,109,115,101,103,95,97,108,108,111,99,125,96,32,97,108,115,111,32,105,110,99,108,117,100,101,115,32,97,110,32,96,123,101,114,116,115,95,109,109,97,112,44,32,95,125,96,32,116,117,112,108,101,32,97,115,32,111,110,101,10,32,32,101,108,101,109,101,110,116,32,105,110,32,116,104,101,32,108,105,115,116,46,10,10,32,32,65,102,116,101,114,32,114,101,97,100,105,110,103,32,116,104,101,32,96,101,114,116,115,95,97,108,108,111,99,40,51,41,96,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,10,32,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,10,32,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,10,32,32,115,101,99,111,110,100,32,118,97,108,117,101,32,105,115,32,99,97,108,108,115,46,32,96,109,98,99,115,96,32,97,110,100,32,96,115,98,99,115,96,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,10,32,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,10,32,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,10,32,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,10,10,32,32,45,32,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,10,32,32,45,32,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,10,32,32,32,32,96,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,96,46,10,32,32,45,32,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,10,10,32,32,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,96,102,105,120,95,97,108,108,111,99,96,32,109,101,109,111,114,121,10,32,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,10,32,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,10,10,45,32,96,97,108,108,111,99,95,117,116,105,108,95,97,108,108,111,99,97,116,111,114,115,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,97,10,32,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,96,97,108,108,111,99,95,117,116,105,108,96,10,32,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,10,32,32,91,84,104,101,32,97,108,108,111,99,95,117,116,105,108,32,102,114,97,109,101,119,111,114,107,93,40,101,114,116,115,95,97,108,108,111,99,46,109,100,35,97,108,108,111,99,95,117,116,105,108,41,32,105,110,32,96,101,114,116,115,95,97,108,108,111,99,40,51,41,96,46,10,10,45,32,96,123,97,108,108,111,99,97,116,111,114,95,115,105,122,101,115,44,32,65,108,108,111,99,125,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,10,32,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,10,32,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,10,32,32,91,96,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,96,93,40,96,109,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,96,41,46,10,10,35,35,32,67,80,85,32,84,111,112,111,108,111,103,121,10,10,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,96,73,116,101,109,96,58,10,10,45,32,96,99,112,117,95,116,111,112,111,108,111,103,121,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,116,104,101,32,96,116,58,99,112,117,95,116,111,112,111,108,111,103,121,40,41,96,10,32,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,10,32,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,10,32,32,91,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,93,40,96,109,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,96,41,44,32,105,102,10,32,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,10,32,32,91,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,93,40,96,109,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,96,41,44,10,32,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,96,117,110,100,101,102,105,110,101,100,96,32,105,115,32,114,101,116,117,114,110,101,100,46,10,10,45,32,96,123,99,112,117,95,116,111,112,111,108,111,103,121,44,32,100,101,102,105,110,101,100,125,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,10,32,32,116,104,101,32,117,115,101,114,45,100,101,102,105,110,101,100,32,96,116,58,99,112,117,95,116,111,112,111,108,111,103,121,40,41,96,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,10,32,32,91,96,43,115,99,116,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,115,99,116,41,32,105,110,32,96,101,114,108,40,49,41,96,32,97,110,100,32,97,114,103,117,109,101,110,116,10,32,32,91,96,99,112,117,95,116,111,112,111,108,111,103,121,96,93,40,96,109,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,96,41,46,10,10,45,32,96,123,99,112,117,95,116,111,112,111,108,111,103,121,44,32,100,101,116,101,99,116,101,100,125,96,123,58,32,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,32,125,32,45,10,32,32,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,96,116,58,99,112,117,95,116,111,112,111,108,111,103,121,40,41,96,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,10,32,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,10,32,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,10,32,32,100,101,116,101,99,116,101,100,46,10,10,32,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,10,32,32,91,96,99,112,117,95,116,111,112,111,108,111,103,121,96,93,40,96,109,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,96,41,46,10,10,45,32,96,123,99,112,117,95,116,111,112,111,108,111,103,121,44,32,117,115,101,100,125,96,32,45,32,82,101,116,117,114,110,115,32,96,67,112,117,84,111,112,111,108,111,103,121,96,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,10,32,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,10,32,32,91,96,99,112,117,95,116,111,112,111,108,111,103,121,96,93,40,96,109,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,96,41,46,10,10,45,32,96,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,116,104,101,10,32,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,10,32,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,96,117,110,107,110,111,119,110,96,32,105,102,32,116,104,101,32,101,109,117,108,97,116,111,114,32,99,97,110,110,111,116,10,32,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,10,10,45,32,96,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,96,123,58,32,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,10,32,32,125,32,45,32,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,10,32,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,96,117,110,107,110,111,119,110,96,10,32,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,10,32,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,10,32,32,91,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,93,40,96,109,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,96,41,46,10,10,45,32,96,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,96,123,58,32,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,32,125,32,45,10,32,32,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,10,32,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,96,117,110,107,110,111,119,110,96,32,105,102,32,116,104,101,32,101,109,117,108,97,116,111,114,10,32,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,10,32,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,10,32,32,91,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,93,40,96,109,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,96,41,46,10,10,45,32,96,99,112,117,95,113,117,111,116,97,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,113,117,111,116,97,32,125,32,45,32,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,10,32,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,10,32,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,10,32,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,96,117,110,107,110,111,119,110,96,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,10,10,45,32,96,117,112,100,97,116,101,95,99,112,117,95,105,110,102,111,96,123,58,32,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,32,125,32,45,32,84,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,10,32,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,10,32,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,10,32,32,91,100,101,116,101,99,116,101,100,32,67,80,85,32,116,111,112,111,108,111,103,121,93,40,96,109,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,96,41,32,97,110,100,32,116,104,101,10,32,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,10,32,32,91,99,111,110,102,105,103,117,114,101,100,93,40,96,109,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,96,41,44,10,32,32,91,111,110,108,105,110,101,93,40,96,109,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,96,41,44,10,32,32,91,97,118,97,105,108,97,98,108,101,93,40,96,109,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,96,41,44,32,97,110,100,10,32,32,91,99,112,117,32,113,117,111,116,97,93,40,96,109,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,96,41,46,10,10,32,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,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,10,32,32,96,99,104,97,110,103,101,100,96,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,96,117,110,99,104,97,110,103,101,100,96,46,32,73,102,32,116,104,101,32,67,80,85,32,105,110,102,111,114,109,97,116,105,111,110,10,32,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,10,32,32,91,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,93,40,96,109,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,96,41,46,10,32,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,10,32,32,91,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,93,40,96,109,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,96,41,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,82,49,52,66,10,10,35,35,32,80,114,111,99,101,115,115,32,73,110,102,111,114,109,97,116,105,111,110,10,10,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,10,10,45,32,96,102,117,108,108,115,119,101,101,112,95,97,102,116,101,114,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,10,32,32,96,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,96,44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,96,102,117,108,108,115,119,101,101,112,95,97,102,116,101,114,96,32,103,97,114,98,97,103,101,10,32,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,10,32,32,96,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,96,32,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,46,10,10,45,32,96,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,10,32,32,96,116,58,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,95,100,101,102,97,117,108,116,115,47,48,96,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,10,32,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,96,115,112,97,119,110,96,32,111,114,32,96,115,112,97,119,110,95,108,105,110,107,96,32,117,115,101,115,32,116,104,101,115,101,10,32,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,10,32,32,91,96,101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,47,50,96,93,40,96,101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,47,50,96,41,46,10,32,32,91,96,115,112,97,119,110,95,111,112,116,47,50,44,51,44,52,96,93,40,96,101,114,108,97,110,103,58,115,112,97,119,110,95,111,112,116,47,52,96,41,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,10,32,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,10,10,45,32,96,104,101,97,112,95,115,105,122,101,115,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,104,101,97,112,95,115,105,122,101,115,32,125,32,45,32,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,10,32,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,10,32,32,105,110,32,116,104,105,115,32,108,105,115,116,46,10,10,45,32,96,104,101,97,112,95,116,121,112,101,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,104,101,97,112,95,116,121,112,101,32,125,32,45,32,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,10,32,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,10,10,32,32,45,32,96,112,114,105,118,97,116,101,96,32,45,32,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,10,32,32,32,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,10,32,32,32,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,10,10,45,32,96,109,97,120,95,104,101,97,112,95,115,105,122,101,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,10,32,32,96,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,96,44,32,119,104,101,114,101,32,96,77,97,120,72,101,97,112,83,105,122,101,96,32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,10,32,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,10,32,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,91,96,43,104,109,97,120,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,104,109,97,120,41,44,10,32,32,91,96,43,104,109,97,120,107,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,104,109,97,120,107,41,44,32,91,96,43,104,109,97,120,101,108,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,104,109,97,120,101,108,41,32,97,110,100,10,32,32,91,96,43,104,109,97,120,105,98,108,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,104,109,97,120,105,98,41,32,105,110,32,96,101,114,108,40,49,41,96,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,10,32,32,117,115,105,110,103,10,32,32,91,96,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,96,93,40,96,109,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,96,41,46,10,32,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,96,109,97,120,95,104,101,97,112,95,115,105,122,101,96,32,112,114,111,99,101,115,115,32,102,108,97,103,44,32,115,101,101,10,32,32,91,96,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,96,93,40,96,109,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,96,41,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,49,57,46,48,10,10,45,32,96,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,116,104,101,10,32,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32,96,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,96,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,10,32,32,96,111,102,102,95,104,101,97,112,96,32,111,114,32,96,111,110,95,104,101,97,112,96,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,10,32,32,97,114,103,117,109,101,110,116,32,91,96,43,104,109,113,100,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,104,109,113,100,41,32,105,110,32,96,101,114,108,40,49,41,96,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,10,32,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,10,32,32,91,96,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,96,93,40,96,109,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,96,41,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,49,57,46,48,10,10,45,32,96,109,105,110,95,104,101,97,112,95,115,105,122,101,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,10,32,32,96,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,96,44,32,119,104,101,114,101,32,96,77,105,110,72,101,97,112,83,105,122,101,96,32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,10,32,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,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,82,49,51,66,48,52,10,10,45,32,96,109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,10,32,32,96,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,96,44,32,119,104,101,114,101,32,96,77,105,110,66,105,110,86,72,101,97,112,83,105,122,101,96,32,105,115,32,116,104,101,10,32,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,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,82,49,51,66,48,52,10,10,45,32,96,112,114,111,99,115,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,112,114,111,99,115,32,125,32,45,32,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,10,32,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,10,32,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,10,32,32,91,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,93,40,99,114,97,115,104,95,100,117,109,112,46,109,100,41,32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46,10,10,35,35,32,83,121,115,116,101,109,32,76,105,109,105,116,115,10,10,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,96,73,116,101,109,96,58,10,10,45,32,96,97,116,111,109,95,99,111,117,110,116,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,97,116,111,109,95,99,111,117,110,116,32,125,32,45,32,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,10,32,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,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,50,48,46,48,10,10,45,32,96,97,116,111,109,95,108,105,109,105,116,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,97,116,111,109,95,108,105,109,105,116,32,125,32,45,32,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,10,32,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,10,32,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32,91,96,43,116,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,116,95,115,105,122,101,41,32,116,111,32,96,101,114,108,40,49,41,96,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,50,48,46,48,10,10,45,32,96,101,116,115,95,99,111,117,110,116,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,101,116,115,95,99,111,117,110,116,32,125,32,45,32,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,10,32,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,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,50,49,46,49,10,10,45,32,96,101,116,115,95,108,105,109,105,116,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,101,116,115,95,108,105,109,105,116,32,125,32,45,32,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,10,32,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,91,112,97,114,116,105,97,108,108,121,32,111,98,115,111,108,101,116,101,93,40,96,109,58,101,116,115,35,109,97,120,95,101,116,115,95,116,97,98,108,101,115,96,41,32,97,110,100,10,32,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,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,82,49,54,66,48,51,10,10,45,32,96,112,111,114,116,95,99,111,117,110,116,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,112,111,114,116,95,99,111,117,110,116,32,125,32,45,32,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,10,32,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,10,32,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,96,108,101,110,103,116,104,40,101,114,108,97,110,103,58,112,111,114,116,115,40,41,41,96,44,32,98,117,116,32,109,111,114,101,10,32,32,101,102,102,105,99,105,101,110,116,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,82,49,54,66,10,10,45,32,96,112,111,114,116,95,108,105,109,105,116,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,112,111,114,116,95,108,105,109,105,116,32,125,32,45,32,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,10,32,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,10,32,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,91,96,43,81,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,81,41,32,105,110,10,32,32,96,101,114,108,40,49,41,96,46,10,32,32,10,32,32,83,105,110,99,101,32,79,84,80,32,82,49,54,66,10,10,45,32,96,112,114,111,99,101,115,115,95,99,111,117,110,116,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,10,32,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,10,32,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,96,108,101,110,103,116,104,40,112,114,111,99,101,115,115,101,115,40,41,41,96,44,32,98,117,116,10,32,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,46,10,10,45,32,96,112,114,111,99,101,115,115,95,108,105,109,105,116,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,116,104,101,32,109,97,120,105,109,117,109,10,32,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,10,32,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,10,32,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32,91,96,43,80,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,80,41,32,105,110,32,96,101,114,108,40,49,41,96,46,10,10,35,35,32,83,121,115,116,101,109,32,84,105,109,101,10,10,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,96,73,116,101,109,96,58,10,10,45,32,96,101,110,100,95,116,105,109,101,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,101,110,100,95,116,105,109,101,32,125,32,45,32,84,104,101,32,108,97,115,116,10,32,32,91,69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,93,40,96,101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,48,96,41,32,105,110,32,96,110,97,116,105,118,101,96,10,32,32,91,116,105,109,101,32,117,110,105,116,93,40,96,116,58,116,105,109,101,95,117,110,105,116,47,48,96,41,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,10,32,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,10,32,32,91,115,116,97,114,116,32,116,105,109,101,93,40,96,109,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,96,41,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,10,32,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,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,49,56,46,48,10,10,45,32,96,111,115,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,95,115,111,117,114,99,101,96,123,58,32,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,32,125,32,45,10,32,32,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,10,32,32,91,79,83,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,111,115,45,109,111,110,111,116,111,110,105,99,45,116,105,109,101,41,32,116,104,97,116,32,105,115,32,117,115,101,100,32,98,121,32,116,104,101,10,32,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,10,10,32,32,73,102,32,96,91,93,96,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,10,32,32,116,119,111,45,116,117,112,108,101,115,32,119,105,116,104,32,96,75,101,121,96,115,32,97,115,32,102,105,114,115,116,32,101,108,101,109,101,110,116,44,32,97,110,100,32,96,86,97,108,117,101,96,115,32,97,115,32,115,101,99,111,110,100,32,101,108,101,109,101,110,116,46,32,84,104,101,10,32,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,10,32,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,10,10,32,32,45,32,96,123,102,117,110,99,116,105,111,110,44,32,70,117,110,99,116,105,111,110,125,96,32,45,32,96,70,117,110,99,116,105,111,110,96,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,10,32,32,32,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,10,32,32,32,32,115,121,115,116,101,109,46,10,10,32,32,45,32,96,123,99,108,111,99,107,95,105,100,44,32,67,108,111,99,107,73,100,125,96,32,45,32,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,96,70,117,110,99,116,105,111,110,96,32,99,97,110,32,98,101,32,117,115,101,100,10,32,32,32,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,99,108,111,99,107,115,46,32,96,67,108,111,99,107,73,100,96,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,10,32,32,32,32,119,104,101,110,32,99,97,108,108,105,110,103,32,96,70,117,110,99,116,105,111,110,96,46,10,10,32,32,45,32,96,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,96,32,45,32,72,105,103,104,101,115,116,32,112,111,115,115,105,98,108,101,10,32,32,32,32,91,114,101,115,111,108,117,116,105,111,110,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,116,105,109,101,45,114,101,115,111,108,117,116,105,111,110,41,32,111,102,32,99,117,114,114,101,110,116,32,79,83,32,109,111,110,111,116,111,110,105,99,10,32,32,32,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,10,32,32,32,32,114,101,116,114,105,101,118,101,100,32,102,114,111,109,32,116,104,101,32,79,83,44,32,96,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,96,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,10,32,32,32,32,111,102,32,116,104,101,32,116,105,109,101,32,117,110,105,116,32,111,102,32,96,70,117,110,99,116,105,111,110,96,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,10,32,32,32,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,96,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,96,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,10,32,32,32,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,10,32,32,32,32,91,97,99,99,117,114,97,99,121,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,116,105,109,101,45,97,99,99,117,114,97,99,121,41,32,111,114,32,119,104,101,116,104,101,114,32,116,104,101,10,32,32,32,32,91,112,114,101,99,105,115,105,111,110,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,116,105,109,101,45,112,114,101,99,105,115,105,111,110,41,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,10,32,32,32,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,10,32,32,32,32,96,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,96,46,10,10,32,32,45,32,96,123,117,115,101,100,95,114,101,115,111,108,117,116,105,111,110,44,32,85,115,101,100,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,96,32,45,32,84,104,101,32,79,83,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,10,32,32,32,32,114,101,115,111,108,117,116,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,84,104,105,115,32,105,115,32,118,101,114,121,32,111,102,116,101,110,32,116,104,101,32,115,97,109,101,32,97,115,10,32,32,32,32,96,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,96,46,32,72,111,119,101,118,101,114,44,32,111,110,32,115,111,109,101,32,115,121,115,116,101,109,115,32,116,104,101,32,114,101,115,111,108,117,116,105,111,110,32,104,97,115,32,116,111,10,32,32,32,32,98,101,32,114,101,100,117,99,101,100,32,105,110,32,111,114,100,101,114,32,116,111,32,114,101,108,105,97,98,108,121,32,112,114,111,100,117,99,101,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,115,116,97,109,112,115,46,32,65,110,32,101,120,97,109,112,108,101,32,111,102,10,32,32,32,32,116,104,105,115,32,105,115,32,119,104,101,110,32,96,81,117,101,114,121,80,101,114,102,111,114,109,97,110,99,101,67,111,117,110,116,101,114,40,41,96,32,105,115,32,117,115,101,100,32,97,115,32,79,83,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,10,32,32,32,32,115,111,117,114,99,101,32,111,110,32,87,105,110,100,111,119,115,46,32,73,102,32,115,117,99,104,32,97,32,114,101,100,117,99,116,105,111,110,32,111,102,32,116,104,101,32,114,101,115,111,108,117,116,105,111,110,32,104,97,115,32,98,101,101,110,32,100,111,110,101,44,10,32,32,32,32,96,85,115,101,100,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,96,32,119,105,108,108,32,98,101,32,115,109,97,108,108,101,114,32,116,104,97,110,10,32,32,32,32,96,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,96,46,10,10,32,32,45,32,96,123,101,120,116,101,110,100,101,100,44,32,69,120,116,101,110,100,101,100,125,96,32,45,32,96,69,120,116,101,110,100,101,100,96,32,101,113,117,97,108,115,32,96,121,101,115,96,32,105,102,32,116,104,101,32,114,97,110,103,101,32,111,102,32,116,105,109,101,10,32,32,32,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,96,69,120,116,101,110,100,101,100,96,32,101,113,117,97,108,115,32,96,110,111,96,46,32,84,104,101,32,114,97,110,103,101,32,109,117,115,116,10,32,32,32,32,98,101,32,101,120,116,101,110,100,101,100,32,105,102,32,96,70,117,110,99,116,105,111,110,96,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,10,32,32,32,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,10,10,32,32,45,32,96,123,112,97,114,97,108,108,101,108,44,32,80,97,114,97,108,108,101,108,125,96,32,45,32,96,80,97,114,97,108,108,101,108,96,32,101,113,117,97,108,115,32,96,121,101,115,96,32,105,102,32,96,70,117,110,99,116,105,111,110,96,32,105,115,32,99,97,108,108,101,100,10,32,32,32,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,10,32,32,32,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,96,80,97,114,97,108,108,101,108,96,32,101,113,117,97,108,115,32,96,110,111,96,46,10,10,32,32,45,32,96,123,116,105,109,101,44,32,79,115,77,111,110,111,116,111,110,105,99,84,105,109,101,125,96,32,45,32,96,79,115,77,111,110,111,116,111,110,105,99,84,105,109,101,96,32,101,113,117,97,108,115,32,99,117,114,114,101,110,116,32,79,83,10,32,32,32,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,32,105,110,32,96,110,97,116,105,118,101,96,32,91,116,105,109,101,32,117,110,105,116,93,40,96,116,58,116,105,109,101,95,117,110,105,116,47,48,96,41,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,49,56,46,48,10,10,45,32,96,111,115,95,115,121,115,116,101,109,95,116,105,109,101,95,115,111,117,114,99,101,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,97,10,32,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,10,32,32,91,79,83,32,115,121,115,116,101,109,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,111,115,45,115,121,115,116,101,109,45,116,105,109,101,41,32,116,104,97,116,32,105,115,32,117,115,101,100,32,98,121,32,116,104,101,10,32,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,10,10,32,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,96,75,101,121,96,115,32,97,115,32,102,105,114,115,116,32,101,108,101,109,101,110,116,44,32,97,110,100,32,96,86,97,108,117,101,96,115,32,97,115,10,32,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,10,32,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,10,10,32,32,45,32,96,123,102,117,110,99,116,105,111,110,44,32,70,117,110,99,116,105,111,110,125,96,32,45,32,96,70,117,110,99,116,105,111,110,96,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,10,10,32,32,45,32,96,123,99,108,111,99,107,95,105,100,44,32,67,108,111,99,107,73,100,125,96,32,45,32,69,120,105,115,116,115,32,111,110,108,121,32,105,102,32,96,70,117,110,99,116,105,111,110,96,32,99,97,110,32,98,101,32,117,115,101,100,32,119,105,116,104,10,32,32,32,32,100,105,102,102,101,114,101,110,116,32,99,108,111,99,107,115,46,32,96,67,108,111,99,107,73,100,96,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,10,32,32,32,32,99,97,108,108,105,110,103,32,96,70,117,110,99,116,105,111,110,96,46,10,10,32,32,45,32,96,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,96,32,45,32,72,105,103,104,101,115,116,32,112,111,115,115,105,98,108,101,10,32,32,32,32,91,114,101,115,111,108,117,116,105,111,110,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,116,105,109,101,45,114,101,115,111,108,117,116,105,111,110,41,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,10,32,32,32,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,10,32,32,32,32,102,114,111,109,32,116,104,101,32,79,83,44,32,96,79,115,83,121,115,116,101,109,84,105,109,101,82,101,115,111,108,117,116,105,111,110,96,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,10,32,32,32,32,117,110,105,116,32,111,102,32,96,70,117,110,99,116,105,111,110,96,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,10,32,32,32,32,108,111,119,101,114,32,116,104,97,110,32,96,79,115,83,121,115,116,101,109,84,105,109,101,82,101,115,111,108,117,116,105,111,110,96,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,10,32,32,32,32,115,97,121,32,97,110,121,116,104,105,110,103,32,97,98,111,117,116,32,116,104,101,32,91,97,99,99,117,114,97,99,121,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,116,105,109,101,45,97,99,99,117,114,97,99,121,41,32,111,114,10,32,32,32,32,119,104,101,116,104,101,114,32,116,104,101,32,91,112,114,101,99,105,115,105,111,110,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,116,105,109,101,45,112,114,101,99,105,115,105,111,110,41,32,100,111,32,97,108,105,103,110,32,119,105,116,104,32,116,104,101,10,32,32,32,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,10,32,32,32,32,96,79,115,83,121,115,116,101,109,84,105,109,101,82,101,115,111,108,117,116,105,111,110,96,46,10,10,32,32,45,32,96,123,112,97,114,97,108,108,101,108,44,32,80,97,114,97,108,108,101,108,125,96,32,45,32,96,80,97,114,97,108,108,101,108,96,32,101,113,117,97,108,115,32,96,121,101,115,96,32,105,102,32,96,70,117,110,99,116,105,111,110,96,32,105,115,32,99,97,108,108,101,100,10,32,32,32,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,10,32,32,32,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,96,80,97,114,97,108,108,101,108,96,32,101,113,117,97,108,115,32,96,110,111,96,46,10,10,32,32,45,32,96,123,116,105,109,101,44,32,79,115,83,121,115,116,101,109,84,105,109,101,125,96,32,45,32,96,79,115,83,121,115,116,101,109,84,105,109,101,96,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,10,32,32,32,32,96,110,97,116,105,118,101,96,32,91,116,105,109,101,32,117,110,105,116,93,40,96,116,58,116,105,109,101,95,117,110,105,116,47,48,96,41,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,49,56,46,48,10,10,45,32,96,115,116,97,114,116,95,116,105,109,101,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,115,116,97,114,116,95,116,105,109,101,32,125,32,45,32,84,104,101,10,32,32,91,69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,93,40,96,101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,48,96,41,32,105,110,32,96,110,97,116,105,118,101,96,10,32,32,91,116,105,109,101,32,117,110,105,116,93,40,96,116,58,116,105,109,101,95,117,110,105,116,47,48,96,41,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,10,32,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,10,10,32,32,83,101,101,32,97,108,115,111,32,91,96,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,96,93,40,96,109,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,96,41,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,49,56,46,48,10,10,45,32,96,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,97,32,96,116,58,98,111,111,108,101,97,110,40,41,96,10,32,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,91,116,105,109,101,32,99,111,114,114,101,99,116,105,111,110,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,116,105,109,101,45,99,111,114,114,101,99,116,105,111,110,41,10,32,32,105,115,32,101,110,97,98,108,101,100,32,111,114,32,110,111,116,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,49,56,46,48,10,10,45,32,96,116,105,109,101,95,111,102,102,115,101,116,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,111,102,102,115,101,116,32,125,32,45,32,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,10,32,32,111,102,102,115,101,116,58,10,10,32,32,45,32,96,112,114,101,108,105,109,105,110,97,114,121,96,32,45,32,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,10,32,32,32,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,10,32,32,32,32,112,104,97,115,101,32,111,102,32,116,104,101,10,32,32,32,32,91,115,105,110,103,108,101,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,115,105,110,103,108,101,45,116,105,109,101,45,119,97,114,112,45,109,111,100,101,41,46,10,10,32,32,45,32,96,102,105,110,97,108,96,32,45,32,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,10,32,32,32,32,91,110,111,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,110,111,45,116,105,109,101,45,119,97,114,112,45,109,111,100,101,41,32,105,115,32,117,115,101,100,44,32,111,114,10,32,32,32,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,10,32,32,32,32,91,115,105,110,103,108,101,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,115,105,110,103,108,101,45,116,105,109,101,45,119,97,114,112,45,109,111,100,101,41,32,105,115,32,117,115,101,100,46,10,10,32,32,45,32,96,118,111,108,97,116,105,108,101,96,32,45,32,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,10,32,32,32,32,116,105,109,101,46,32,84,104,105,115,32,105,115,32,98,101,99,97,117,115,101,10,32,32,32,32,91,109,117,108,116,105,45,116,105,109,101,32,119,97,114,112,32,109,111,100,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,109,117,108,116,105,45,116,105,109,101,45,119,97,114,112,45,109,111,100,101,41,32,105,115,32,117,115,101,100,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,49,56,46,48,10,10,45,32,96,116,105,109,101,95,119,97,114,112,95,109,111,100,101,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,97,32,118,97,108,117,101,10,32,32,105,100,101,110,116,105,102,121,105,110,103,32,116,104,101,32,91,116,105,109,101,32,119,97,114,112,32,109,111,100,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,116,105,109,101,45,119,97,114,112,45,109,111,100,101,115,41,32,116,104,97,116,32,105,115,10,32,32,117,115,101,100,58,10,10,32,32,45,32,96,110,111,95,116,105,109,101,95,119,97,114,112,96,32,45,32,84,104,101,10,32,32,32,32,91,110,111,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,110,111,45,116,105,109,101,45,119,97,114,112,45,109,111,100,101,41,32,105,115,32,117,115,101,100,46,10,10,32,32,45,32,96,115,105,110,103,108,101,95,116,105,109,101,95,119,97,114,112,96,32,45,32,84,104,101,10,32,32,32,32,91,115,105,110,103,108,101,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,115,105,110,103,108,101,45,116,105,109,101,45,119,97,114,112,45,109,111,100,101,41,32,105,115,32,117,115,101,100,46,10,10,32,32,45,32,96,109,117,108,116,105,95,116,105,109,101,95,119,97,114,112,96,32,45,32,84,104,101,10,32,32,32,32,91,109,117,108,116,105,45,116,105,109,101,32,119,97,114,112,32,109,111,100,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,109,117,108,116,105,45,116,105,109,101,45,119,97,114,112,45,109,111,100,101,41,32,105,115,32,117,115,101,100,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,49,56,46,48,10,10,45,32,96,116,111,108,101,114,97,110,116,95,116,105,109,101,111,102,100,97,121,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,119,104,101,116,104,101,114,10,32,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,10,32,32,116,105,109,101,32,105,115,32,96,101,110,97,98,108,101,100,96,32,111,114,32,96,100,105,115,97,98,108,101,100,96,46,32,83,117,99,104,32,99,111,109,112,101,110,115,97,116,105,111,110,32,105,115,32,96,101,110,97,98,108,101,100,96,32,119,104,101,110,32,116,104,101,10,32,32,91,116,105,109,101,32,111,102,102,115,101,116,93,40,96,109,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,96,41,32,105,115,32,96,102,105,110,97,108,96,44,32,97,110,100,10,32,32,91,116,105,109,101,32,99,111,114,114,101,99,116,105,111,110,93,40,96,109,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,96,41,32,105,115,32,101,110,97,98,108,101,100,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,49,55,46,49,10,10,35,35,32,83,99,104,101,100,117,108,101,114,32,73,110,102,111,114,109,97,116,105,111,110,10,10,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,96,73,116,101,109,96,58,10,10,45,32,96,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,116,104,101,10,32,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,10,32,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,10,32,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,10,32,32,115,99,104,101,100,117,108,101,114,115,46,10,10,32,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,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,10,32,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,10,32,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,10,32,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,91,96,43,83,68,99,112,117,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,83,68,99,112,117,41,10,32,32,111,114,32,91,96,43,83,68,80,99,112,117,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,83,68,80,99,112,117,41,32,105,110,32,96,101,114,108,40,49,41,96,46,10,10,32,32,83,101,101,32,97,108,115,111,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,97,110,100,10,32,32,91,96,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,96,93,40,96,109,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,96,41,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,49,55,46,48,10,10,45,32,96,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,96,123,58,32,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,10,32,32,125,32,45,32,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,10,32,32,115,97,116,105,115,102,105,101,115,32,96,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,96,44,32,119,104,101,114,101,32,96,78,96,32,105,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,111,102,10,32,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,111,102,32,96,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,96,32,97,110,100,10,32,32,96,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,96,46,10,10,32,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,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,10,32,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32,91,96,43,83,68,99,112,117,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,83,68,99,112,117,41,32,105,110,32,96,101,114,108,40,49,41,96,46,10,10,32,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,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,97,110,100,10,32,32,91,96,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,96,93,40,96,109,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,96,41,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,49,55,46,48,10,10,45,32,96,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,116,104,101,10,32,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,10,32,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,10,32,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,10,10,32,32,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,10,32,32,91,96,43,83,68,105,111,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,83,68,105,111,41,32,105,110,32,96,101,114,108,40,49,41,96,46,10,10,32,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,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,97,110,100,10,32,32,91,96,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,96,93,40,96,109,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,96,41,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,49,55,46,48,10,10,45,32,96,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,10,32,32,102,111,108,108,111,119,105,110,103,58,10,10,32,32,45,32,96,100,105,115,97,98,108,101,100,96,32,45,32,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,10,32,32,32,32,116,104,114,101,97,100,46,10,10,32,32,45,32,96,98,108,111,99,107,101,100,96,32,45,32,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,10,32,32,32,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,10,32,32,32,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,10,10,32,32,45,32,96,98,108,111,99,107,101,100,95,110,111,114,109,97,108,96,32,45,32,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,10,32,32,32,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,10,32,32,32,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,10,32,32,32,32,110,97,116,105,118,101,32,99,111,100,101,46,10,10,32,32,45,32,96,101,110,97,98,108,101,100,96,32,45,32,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,10,32,32,32,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,10,32,32,32,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,10,10,32,32,83,101,101,32,97,108,115,111,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,97,110,100,32,91,96,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,96,93,40,96,109,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,96,41,46,10,10,45,32,96,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,96,123,58,32,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,32,125,32,45,10,32,32,82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,96,80,105,100,96,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,10,32,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,96,80,105,100,96,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,10,32,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,96,80,105,100,96,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,10,32,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,10,10,32,32,83,101,101,32,97,108,115,111,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,97,110,100,32,91,96,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,96,93,40,96,109,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,96,41,46,10,10,45,32,96,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,96,123,58,10,32,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,96,80,105,100,96,115,10,32,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,10,32,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,96,80,105,100,96,115,32,105,110,32,116,104,101,10,32,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,10,32,32,65,32,96,80,105,100,96,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,10,32,32,98,108,111,99,107,101,100,32,109,117,108,116,105,112,108,101,32,116,105,109,101,115,46,10,10,32,32,83,101,101,32,97,108,115,111,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,97,110,100,32,91,96,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,96,93,40,96,109,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,96,41,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,49,57,46,48,10,10,45,32,96,115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,10,32,32,96,116,58,115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101,40,41,96,44,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,10,32,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,10,10,32,32,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,10,32,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,10,32,32,91,96,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,96,93,40,96,109,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,96,41,46,10,10,32,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,91,96,43,115,98,116,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,115,98,116,41,32,105,110,10,32,32,96,101,114,108,40,49,41,96,32,97,110,100,10,32,32,91,96,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,96,93,40,96,109,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,96,41,46,10,10,45,32,96,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,10,32,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,10,10,32,32,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,10,32,32,91,96,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,96,93,40,96,109,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,96,41,32,105,115,10,32,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,96,117,110,98,111,117,110,100,96,46,32,76,111,103,105,99,97,108,10,32,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,96,78,96,116,104,32,101,108,101,109,101,110,116,32,111,102,32,116,104,101,10,32,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,10,32,32,105,100,101,110,116,105,102,105,101,114,32,101,113,117,97,108,32,116,111,32,96,78,96,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,10,32,32,96,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,96,10,32,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,10,32,32,101,120,101,99,117,116,105,110,103,32,111,110,46,10,10,32,32,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,10,10,32,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,91,96,43,115,98,116,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,115,98,116,41,32,105,110,10,32,32,96,101,114,108,40,49,41,96,32,97,110,100,10,32,32,91,96,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,96,93,40,96,109,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,96,41,46,10,10,45,32,96,115,99,104,101,100,117,108,101,114,95,105,100,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,73,68,10,32,32,40,96,83,99,104,101,100,117,108,101,114,73,100,96,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,10,32,32,101,120,101,99,117,116,105,110,103,32,111,110,46,32,96,83,99,104,101,100,117,108,101,114,73,100,96,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,10,32,32,96,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,96,46,10,10,32,32,83,101,101,32,97,108,115,111,10,32,32,91,96,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,96,93,40,96,109,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,96,41,46,10,10,45,32,96,115,99,104,101,100,117,108,101,114,115,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,32,125,32,45,32,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,10,32,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,10,32,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,10,32,32,100,114,105,118,101,114,32,99,111,100,101,46,10,10,32,32,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,10,32,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,10,32,32,97,110,121,32,116,105,109,101,46,10,10,32,32,83,101,101,32,97,108,115,111,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,44,10,32,32,91,96,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,96,93,40,96,109,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,96,41,10,32,32,97,110,100,10,32,32,91,96,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,96,93,40,96,109,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,96,41,46,10,10,45,32,96,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,116,104,101,10,32,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,10,32,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,10,32,32,96,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,96,46,10,10,32,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,10,32,32,91,96,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,96,93,40,96,109,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,96,41,32,97,110,100,10,32,32,91,96,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,96,93,40,96,109,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,96,41,46,10,10,45,32,96,115,109,112,95,115,117,112,112,111,114,116,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,115,109,112,95,115,117,112,112,111,114,116,32,125,32,45,32,82,101,116,117,114,110,115,32,96,116,114,117,101,96,46,10,10,45,32,96,116,104,114,101,97,100,115,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,116,104,114,101,97,100,115,32,125,32,45,32,82,101,116,117,114,110,115,32,96,116,114,117,101,96,46,10,10,45,32,96,116,104,114,101,97,100,95,112,111,111,108,95,115,105,122,101,96,123,58,32,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,32,125,32,45,32,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,10,32,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,10,32,32,40,91,32,96,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,96,93,40,101,114,108,95,100,114,105,118,101,114,46,109,100,35,100,114,105,118,101,114,95,97,115,121,110,99,41,41,46,32,84,104,101,32,118,97,108,117,101,32,105,115,10,32,32,103,105,118,101,110,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46,10,10,35,35,32,68,105,115,116,114,105,98,117,116,105,111,110,32,73,110,102,111,114,109,97,116,105,111,110,10,10,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,96,73,116,101,109,96,58,10,10,45,32,96,97,115,121,110,99,95,100,105,115,116,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,97,115,121,110,99,95,100,105,115,116,32,125,32,45,32,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,10,32,32,91,43,112,97,100,32,60,98,111,111,108,101,97,110,62,93,40,101,114,108,95,99,109,100,46,109,100,35,43,112,97,100,41,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,10,32,32,100,101,116,101,114,109,105,110,101,115,32,116,104,101,32,100,101,102,97,117,108,116,32,91,96,97,115,121,110,99,95,100,105,115,116,96,93,40,96,109,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,96,41,10,32,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,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,50,53,46,51,10,10,45,32,96,99,114,101,97,116,105,111,110,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,99,114,101,97,116,105,111,110,32,125,32,45,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,32,97,108,105,118,101,44,32,96,48,96,32,105,115,32,114,101,116,117,114,110,101,100,46,10,10,45,32,96,100,101,108,97,121,101,100,95,110,111,100,101,95,116,97,98,108,101,95,103,99,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,10,32,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,10,32,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,10,32,32,91,96,43,122,100,110,116,103,99,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,122,100,110,116,103,99,41,32,116,111,32,96,101,114,108,40,49,41,96,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,10,32,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,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,49,56,46,48,10,10,45,32,96,100,105,115,116,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116,32,125,32,45,32,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,10,32,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,10,32,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,10,32,32,91,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,93,40,99,114,97,115,104,95,100,117,109,112,46,109,100,41,32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46,10,10,45,32,96,100,105,115,116,95,98,117,102,95,98,117,115,121,95,108,105,109,105,116,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,116,104,101,10,32,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,10,32,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,91,96,43,122,100,98,98,108,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,122,100,98,98,108,41,32,116,111,10,32,32,96,101,114,108,40,49,41,96,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,82,49,52,66,48,49,10,10,45,32,96,100,105,115,116,95,99,116,114,108,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116,95,99,116,114,108,32,125,32,45,32,82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,116,117,112,108,101,115,10,32,32,96,123,78,111,100,101,32,58,58,32,110,111,100,101,40,41,44,32,67,111,110,116,114,111,108,108,105,110,103,69,110,116,105,116,121,32,58,58,32,112,111,114,116,40,41,32,124,32,112,105,100,40,41,125,96,44,32,111,110,101,32,101,110,116,114,121,32,102,111,114,32,101,97,99,104,10,32,32,99,111,110,110,101,99,116,101,100,32,114,101,109,111,116,101,32,110,111,100,101,46,32,96,78,111,100,101,96,32,105,115,32,116,104,101,32,110,111,100,101,32,110,97,109,101,32,97,110,100,32,96,67,111,110,116,114,111,108,108,105,110,103,69,110,116,105,116,121,96,32,105,115,32,116,104,101,10,32,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,10,32,32,77,111,114,101,32,115,112,101,99,105,102,105,99,97,108,108,121,44,32,96,67,111,110,116,114,111,108,108,105,110,103,69,110,116,105,116,121,96,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,10,32,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,10,10,35,35,32,83,121,115,116,101,109,32,73,110,102,111,114,109,97,116,105,111,110,10,10,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,96,73,116,101,109,96,58,10,10,45,32,96,99,95,99,111,109,112,105,108,101,114,95,117,115,101,100,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,97,32,116,119,111,45,116,117,112,108,101,10,32,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,10,32,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,96,117,110,100,101,102,105,110,101,100,96,32,105,102,10,32,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,10,32,32,111,114,32,96,117,110,100,101,102,105,110,101,100,96,32,105,102,32,117,110,107,110,111,119,110,46,10,10,45,32,96,99,104,101,99,107,95,105,111,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,99,104,101,99,107,95,105,111,32,125,32,45,32,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,10,32,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,10,32,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,10,32,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,10,10,45,32,96,99,111,109,112,97,116,95,114,101,108,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,99,111,109,112,97,116,95,114,101,108,32,125,32,45,32,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,10,32,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,10,32,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,10,32,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,10,32,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32,91,96,43,82,96,93,40,101,114,108,95,99,109,100,46,109,100,35,99,111,109,112,97,116,95,114,101,108,41,32,105,110,32,96,101,114,108,40,49,41,96,46,10,10,45,32,96,100,101,98,117,103,95,99,111,109,112,105,108,101,100,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,116,104,101,10,32,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,96,102,97,108,115,101,96,46,10,10,45,32,96,100,114,105,118,101,114,95,118,101,114,115,105,111,110,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,10,32,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,10,32,32,102,111,114,109,32,91,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,93,40,101,114,108,95,100,114,105,118,101,114,46,109,100,35,118,101,114,115,105,111,110,95,109,97,110,97,103,101,109,101,110,116,41,46,10,10,45,32,96,100,121,110,97,109,105,99,95,116,114,97,99,101,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,97,110,32,97,116,111,109,10,32,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,10,32,32,99,97,110,32,98,101,32,96,100,116,114,97,99,101,96,44,32,96,115,121,115,116,101,109,116,97,112,96,44,32,111,114,32,96,110,111,110,101,96,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,10,32,32,105,116,32,105,115,32,97,108,119,97,121,115,32,96,110,111,110,101,96,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,10,32,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,96,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,96,41,46,32,70,111,114,32,109,111,114,101,10,32,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,91,96,100,121,110,116,114,97,99,101,40,51,41,96,93,40,96,109,58,100,121,110,116,114,97,99,101,96,41,32,109,97,110,117,97,108,10,32,32,112,97,103,101,32,97,110,100,32,116,104,101,32,96,82,69,65,68,77,69,46,100,116,114,97,99,101,96,47,96,82,69,65,68,77,69,46,115,121,115,116,101,109,116,97,112,96,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,10,32,32,99,111,100,101,32,116,111,112,32,100,105,114,101,99,116,111,114,121,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,82,49,53,66,48,49,10,10,45,32,96,100,121,110,97,109,105,99,95,116,114,97,99,101,95,112,114,111,98,101,115,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,97,10,32,32,96,116,58,98,111,111,108,101,97,110,40,41,96,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,96,100,116,114,97,99,101,96,32,111,114,32,96,115,121,115,116,101,109,116,97,112,96,41,32,97,114,101,10,32,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,96,116,114,117,101,96,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,10,32,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,96,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,96,32,114,101,116,117,114,110,115,10,32,32,96,100,116,114,97,99,101,96,32,111,114,32,96,115,121,115,116,101,109,116,97,112,96,41,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,82,49,53,66,48,49,10,10,45,32,96,101,109,117,95,102,108,97,118,111,114,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,101,109,117,95,102,108,97,118,111,114,32,125,32,45,32,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,10,32,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,96,101,109,117,96,32,111,114,32,96,106,105,116,96,46,32,80,111,115,115,105,98,108,101,10,32,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,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,50,52,46,48,10,10,45,32,96,101,109,117,95,116,121,112,101,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,101,109,117,95,116,121,112,101,32,125,32,45,32,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,10,32,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,96,111,112,116,96,32,102,111,114,10,32,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,96,100,101,98,117,103,96,44,32,96,103,99,111,118,96,44,32,96,118,97,108,103,114,105,110,100,96,44,10,32,32,96,103,112,114,111,102,96,44,32,97,110,100,32,96,108,99,110,116,96,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,10,32,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,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,50,52,46,48,10,10,45,32,96,104,97,108,116,95,102,108,117,115,104,95,116,105,109,101,111,117,116,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,104,97,108,116,95,102,108,117,115,104,95,116,105,109,101,111,117,116,32,125,32,45,32,82,101,116,117,114,110,115,32,116,104,101,10,32,32,100,101,102,97,117,108,116,32,42,104,97,108,116,32,102,108,117,115,104,32,116,105,109,101,111,117,116,42,32,115,101,116,32,98,121,32,116,104,101,32,96,101,114,108,96,10,32,32,91,96,43,122,104,102,116,32,60,84,105,109,101,111,117,116,62,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,122,104,102,116,41,32,99,111,109,109,97,110,100,32,108,105,110,101,32,102,108,97,103,46,10,10,32,32,83,105,110,99,101,58,32,79,84,80,32,50,55,46,48,10,10,45,32,96,105,110,102,111,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,105,110,102,111,32,125,32,45,32,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,10,32,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,10,32,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,10,32,32,91,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,93,40,99,114,97,115,104,95,100,117,109,112,46,109,100,41,32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46,10,10,45,32,96,107,101,114,110,101,108,95,112,111,108,108,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,107,101,114,110,101,108,95,112,111,108,108,32,125,32,45,32,82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,116,104,101,10,32,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,96,102,97,108,115,101,96,46,10,10,45,32,96,108,111,97,100,101,100,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,108,111,97,100,101,100,32,125,32,45,32,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,10,32,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,10,32,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,10,32,32,91,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,93,40,99,114,97,115,104,95,100,117,109,112,46,109,100,41,32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46,10,10,45,32,96,109,97,99,104,105,110,101,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,109,97,99,104,105,110,101,32,125,32,45,32,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,10,32,32,69,114,108,97,110,103,32,109,97,99,104,105,110,101,32,110,97,109,101,46,10,10,45,32,96,109,111,100,105,102,105,101,100,95,116,105,109,105,110,103,95,108,101,118,101,108,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,10,32,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,96,116,58,105,110,116,101,103,101,114,40,41,96,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,10,32,32,111,116,104,101,114,119,105,115,101,32,96,117,110,100,101,102,105,110,101,100,96,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,10,32,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32,91,96,43,84,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,84,95,108,101,118,101,108,41,32,105,110,32,96,101,114,108,40,49,41,96,10,10,45,32,96,110,105,102,95,118,101,114,115,105,111,110,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,110,105,102,95,118,101,114,115,105,111,110,32,125,32,45,32,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,10,32,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,10,32,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,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,49,55,46,52,10,10,45,32,96,111,116,112,95,114,101,108,101,97,115,101,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,111,116,112,95,114,101,108,101,97,115,101,32,125,32,45,10,32,32,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,10,32,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,10,10,32,32,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,10,32,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,46,32,78,111,32,96,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,41,96,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,10,32,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,10,32,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,10,32,32,105,110,32,91,83,121,115,116,101,109,32,112,114,105,110,99,105,112,108,101,115,93,40,96,101,58,115,121,115,116,101,109,58,118,101,114,115,105,111,110,115,46,109,100,96,41,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,10,10,45,32,96,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,96,123,58,10,32,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,116,104,101,32,108,105,109,105,116,32,111,110,32,116,104,101,10,32,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,10,32,32,119,105,100,101,32,99,104,97,110,103,101,115,46,32,83,101,101,10,32,32,91,96,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,96,93,40,96,109,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,96,41,10,32,32,102,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,50,52,46,50,10,10,45,32,96,112,111,114,116,95,112,97,114,97,108,108,101,108,105,115,109,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,116,104,101,32,100,101,102,97,117,108,116,10,32,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,10,32,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32,91,96,43,115,112,112,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,115,112,112,41,32,105,110,32,96,101,114,108,40,49,41,96,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,82,49,54,66,10,10,45,32,96,115,121,115,116,101,109,95,97,114,99,104,105,116,101,99,116,117,114,101,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,97,10,32,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,10,32,32,102,111,114,46,10,10,45,32,96,115,121,115,116,101,109,95,108,111,103,103,101,114,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,10,32,32,96,115,121,115,116,101,109,95,108,111,103,103,101,114,96,32,97,115,32,115,101,116,32,98,121,32,91,96,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,10,32,32,42,41,96,93,40,96,101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,47,50,96,41,46,10,32,32,10,32,32,83,105,110,99,101,58,32,79,84,80,32,50,49,46,51,10,10,45,32,96,115,121,115,116,101,109,95,118,101,114,115,105,111,110,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,10,32,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,10,32,32,115,99,104,101,100,117,108,101,114,115,46,10,10,45,32,96,116,114,97,99,101,95,99,111,110,116,114,111,108,95,119,111,114,100,96,123,58,32,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,32,125,32,45,32,82,101,116,117,114,110,115,32,116,104,101,10,32,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,10,32,32,96,103,101,116,95,116,99,119,96,32,105,110,32,115,101,99,116,105,111,110,32,91,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,93,40,109,97,116,99,104,95,115,112,101,99,46,109,100,35,103,101,116,95,116,99,119,41,10,32,32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46,10,10,45,32,96,118,101,114,115,105,111,110,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,118,101,114,115,105,111,110,32,125,32,45,32,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,10,32,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,10,10,45,32,96,119,111,114,100,115,105,122,101,96,123,58,32,35,115,121,115,116,101,109,95,105,110,102,111,95,119,111,114,100,115,105,122,101,32,125,32,45,32,83,97,109,101,32,97,115,32,96,123,119,111,114,100,115,105,122,101,44,32,105,110,116,101,114,110,97,108,125,96,46,10,10,45,32,96,123,119,111,114,100,115,105,122,101,44,32,105,110,116,101,114,110,97,108,125,96,32,45,32,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,10,32,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,10,32,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,10,10,45,32,96,123,119,111,114,100,115,105,122,101,44,32,101,120,116,101,114,110,97,108,125,96,32,45,32,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,10,32,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,10,32,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,10,32,32,114,101,116,117,114,110,101,100,46>>},#{group => system,specification => [{attribute,{9676,2},spec,{{system_info,1},[{type,{9677,10},'fun',[{type,{9677,10},product,[{atom,{9677,11},allocated_areas}]},{type,{9677,31},list,[{type,{9677,33},tuple,any}]}]},{type,{9678,10},bounded_fun,[{type,{9678,10},'fun',[{type,{9678,10},product,[{atom,{9678,11},allocator}]},{type,{9679,18},tuple,[{var,{9679,19},'Allocator'},{var,{9679,30},'Version'},{var,{9679,39},'Features'},{var,{9679,49},'Settings'}]}]},[{type,{9680,7},constraint,[{atom,{9680,7},is_subtype},[{var,{9680,7},'Allocator'},{type,{9680,20},union,[{atom,{9680,20},undefined},{atom,{9680,32},glibc}]}]]},{type,{9681,7},constraint,[{atom,{9681,7},is_subtype},[{var,{9681,7},'Version'},{type,{9681,18},list,[{type,{9681,19},non_neg_integer,[]}]}]]},{type,{9682,7},constraint,[{atom,{9682,7},is_subtype},[{var,{9682,7},'Features'},{type,{9682,19},list,[{type,{9682,20},atom,[]}]}]]},{type,{9683,7},constraint,[{atom,{9683,7},is_subtype},[{var,{9683,7},'Settings'},{type,{9683,19},list,[{type,{9683,20},tuple,[{ann_type,{9683,21},[{var,{9683,21},'Subsystem'},{type,{9683,34},atom,[]}]},{type,{9684,21},list,[{type,{9684,22},tuple,[{ann_type,{9684,23},[{var,{9684,23},'Parameter'},{type,{9684,36},atom,[]}]},{ann_type,{9685,23},[{var,{9685,23},'Value'},{type,{9685,32},term,[]}]}]}]}]}]}]]}]]},{type,{9686,10},bounded_fun,[{type,{9686,10},'fun',[{type,{9686,10},product,[{type,{9686,11},tuple,[{atom,{9686,12},allocator},{var,{9686,23},'Alloc'}]}]},{type,{9686,34},list,[{var,{9686,35},'_'}]}]},[{type,{9687,7},constraint,[{atom,{9687,7},is_subtype},[{var,{9687,7},'Alloc'},{type,{9687,16},atom,[]}]]}]]},{type,{9688,10},bounded_fun,[{type,{9688,10},'fun',[{type,{9688,10},product,[{atom,{9688,11},alloc_util_allocators}]},{type,{9688,37},list,[{var,{9688,38},'Alloc'}]}]},[{type,{9689,7},constraint,[{atom,{9689,7},is_subtype},[{var,{9689,7},'Alloc'},{type,{9689,16},atom,[]}]]}]]},{type,{9690,10},bounded_fun,[{type,{9690,10},'fun',[{type,{9690,10},product,[{type,{9690,11},tuple,[{atom,{9690,12},allocator_sizes},{var,{9690,29},'Alloc'}]}]},{type,{9690,40},list,[{var,{9690,41},'_'}]}]},[{type,{9691,7},constraint,[{atom,{9691,7},is_subtype},[{var,{9691,7},'Alloc'},{type,{9691,16},atom,[]}]]}]]},{type,{9692,10},'fun',[{type,{9692,10},product,[{atom,{9692,11},atom_count}]},{type,{9692,26},pos_integer,[]}]},{type,{9693,10},'fun',[{type,{9693,10},product,[{atom,{9693,11},atom_limit}]},{type,{9693,26},pos_integer,[]}]},{type,{9694,10},'fun',[{type,{9694,10},product,[{atom,{9694,11},build_type}]},{type,{9694,26},union,[{atom,{9694,26},opt},{atom,{9694,32},debug},{atom,{9695,26},gcov},{atom,{9695,33},valgrind},{atom,{9695,44},gprof},{atom,{9695,52},lcnt},{atom,{9695,59},frmptr}]}]},{type,{9696,10},'fun',[{type,{9696,10},product,[{atom,{9696,11},c_compiler_used}]},{type,{9696,31},tuple,[{type,{9696,32},atom,[]},{type,{9696,40},term,[]}]}]},{type,{9697,10},'fun',[{type,{9697,10},product,[{atom,{9697,11},check_io}]},{type,{9697,24},list,[{var,{9697,25},'_'}]}]},{type,{9698,10},'fun',[{type,{9698,10},product,[{atom,{9698,11},compat_rel}]},{type,{9698,26},integer,[]}]},{type,{9699,10},bounded_fun,[{type,{9699,10},'fun',[{type,{9699,10},product,[{atom,{9699,11},cpu_topology}]},{var,{9699,29},'CpuTopology'}]},[{type,{9700,7},constraint,[{atom,{9700,7},is_subtype},[{var,{9700,7},'CpuTopology'},{user_type,{9700,22},cpu_topology,[]}]]}]]},{type,{9701,10},bounded_fun,[{type,{9701,10},'fun',[{type,{9701,10},product,[{type,{9701,11},tuple,[{atom,{9701,12},cpu_topology},{type,{9701,26},union,[{atom,{9701,26},defined},{atom,{9701,36},detected},{atom,{9701,47},used}]}]}]},{var,{9701,57},'CpuTopology'}]},[{type,{9702,7},constraint,[{atom,{9702,7},is_subtype},[{var,{9702,7},'CpuTopology'},{user_type,{9702,22},cpu_topology,[]}]]}]]},{type,{9703,10},'fun',[{type,{9703,10},product,[{atom,{9703,11},cpu_quota}]},{type,{9703,25},union,[{type,{9703,25},pos_integer,[]},{atom,{9703,41},unknown}]}]},{type,{9704,10},'fun',[{type,{9704,10},product,[{atom,{9704,11},creation}]},{type,{9704,24},integer,[]}]},{type,{9705,10},'fun',[{type,{9705,10},product,[{atom,{9705,11},debug_compiled}]},{type,{9705,30},boolean,[]}]},{type,{9706,10},'fun',[{type,{9706,10},product,[{atom,{9706,11},delayed_node_table_gc}]},{type,{9706,37},union,[{atom,{9706,37},infinity},{type,{9706,48},non_neg_integer,[]}]}]},{type,{9707,10},'fun',[{type,{9707,10},product,[{atom,{9707,11},dirty_cpu_schedulers}]},{type,{9707,36},non_neg_integer,[]}]},{type,{9708,10},'fun',[{type,{9708,10},product,[{atom,{9708,11},dirty_cpu_schedulers_online}]},{type,{9708,43},non_neg_integer,[]}]},{type,{9709,10},'fun',[{type,{9709,10},product,[{atom,{9709,11},dirty_io_schedulers}]},{type,{9709,35},non_neg_integer,[]}]},{type,{9710,10},'fun',[{type,{9710,10},product,[{atom,{9710,11},dist}]},{type,{9710,20},binary,[]}]},{type,{9711,10},'fun',[{type,{9711,10},product,[{atom,{9711,11},dist_buf_busy_limit}]},{type,{9711,35},non_neg_integer,[]}]},{type,{9712,10},'fun',[{type,{9712,10},product,[{atom,{9712,11},dist_ctrl}]},{type,{9712,25},list,[{type,{9712,26},tuple,[{ann_type,{9712,27},[{var,{9712,27},'Node'},{type,{9712,35},node,[]}]},{ann_type,{9713,27},[{var,{9713,27},'ControllingEntity'},{type,{9713,48},union,[{type,{9713,48},port,[]},{type,{9713,57},pid,[]}]}]}]}]}]},{type,{9714,10},'fun',[{type,{9714,10},product,[{atom,{9714,11},driver_version}]},{type,{9714,30},string,[]}]},{type,{9715,10},'fun',[{type,{9715,10},product,[{atom,{9715,11},dynamic_trace}]},{type,{9715,29},union,[{atom,{9715,29},none},{atom,{9715,36},dtrace},{atom,{9715,45},systemtap}]}]},{type,{9716,10},'fun',[{type,{9716,10},product,[{atom,{9716,11},dynamic_trace_probes}]},{type,{9716,36},boolean,[]}]},{type,{9717,10},'fun',[{type,{9717,10},product,[{atom,{9717,11},eager_check_io}]},{type,{9717,30},boolean,[]}]},{type,{9718,10},'fun',[{type,{9718,10},product,[{atom,{9718,11},emu_flavor}]},{type,{9718,26},union,[{atom,{9718,26},emu},{atom,{9718,32},jit}]}]},{type,{9719,10},'fun',[{type,{9719,10},product,[{atom,{9719,11},emu_type}]},{type,{9719,24},union,[{atom,{9719,24},opt},{atom,{9719,30},debug},{atom,{9719,38},gcov},{atom,{9719,45},valgrind},{atom,{9719,56},gprof},{atom,{9719,64},lcnt},{atom,{9719,71},frmptr}]}]},{type,{9720,10},'fun',[{type,{9720,10},product,[{atom,{9720,11},end_time}]},{type,{9720,24},non_neg_integer,[]}]},{type,{9721,10},'fun',[{type,{9721,10},product,[{atom,{9721,11},ets_count}]},{type,{9721,25},pos_integer,[]}]},{type,{9722,10},'fun',[{type,{9722,10},product,[{atom,{9722,11},ets_limit}]},{type,{9722,25},pos_integer,[]}]},{type,{9723,10},'fun',[{type,{9723,10},product,[{atom,{9723,11},fullsweep_after}]},{type,{9723,31},tuple,[{atom,{9723,32},fullsweep_after},{type,{9723,49},non_neg_integer,[]}]}]},{type,{9724,10},'fun',[{type,{9724,10},product,[{atom,{9724,11},garbage_collection}]},{user_type,{9724,34},garbage_collection_defaults,[]}]},{type,{9725,10},'fun',[{type,{9725,10},product,[{atom,{9725,11},heap_sizes}]},{type,{9725,26},list,[{type,{9725,27},non_neg_integer,[]}]}]},{type,{9726,10},'fun',[{type,{9726,10},product,[{atom,{9726,11},heap_type}]},{atom,{9726,25},private}]},{type,{9727,10},'fun',[{type,{9727,10},product,[{atom,{9727,11},info}]},{type,{9727,20},binary,[]}]},{type,{9728,10},'fun',[{type,{9728,10},product,[{atom,{9728,11},kernel_poll}]},{type,{9728,27},boolean,[]}]},{type,{9729,10},'fun',[{type,{9729,10},product,[{atom,{9729,11},loaded}]},{type,{9729,22},binary,[]}]},{type,{9730,10},'fun',[{type,{9730,10},product,[{type,{9730,11},union,[{atom,{9730,11},logical_processors},{atom,{9731,11},logical_processors_available},{atom,{9732,11},logical_processors_online}]}]},{type,{9732,41},union,[{atom,{9732,41},unknown},{type,{9732,51},pos_integer,[]}]}]},{type,{9733,10},'fun',[{type,{9733,10},product,[{atom,{9733,11},machine}]},{type,{9733,23},string,[]}]},{type,{9734,10},'fun',[{type,{9734,10},product,[{atom,{9734,11},max_heap_size}]},{type,{9734,29},tuple,[{atom,{9734,30},max_heap_size},{ann_type,{9734,45},[{var,{9734,45},'MaxHeapSize'},{user_type,{9734,60},max_heap_size,[]}]}]}]},{type,{9735,10},'fun',[{type,{9735,10},product,[{atom,{9735,11},message_queue_data}]},{user_type,{9735,34},message_queue_data,[]}]},{type,{9736,10},'fun',[{type,{9736,10},product,[{atom,{9736,11},min_heap_size}]},{type,{9736,29},tuple,[{atom,{9736,30},min_heap_size},{ann_type,{9736,45},[{var,{9736,45},'MinHeapSize'},{type,{9736,60},pos_integer,[]}]}]}]},{type,{9737,10},'fun',[{type,{9737,10},product,[{atom,{9737,11},min_bin_vheap_size}]},{type,{9737,34},tuple,[{atom,{9737,35},min_bin_vheap_size},{ann_type,{9738,35},[{var,{9738,35},'MinBinVHeapSize'},{type,{9738,54},pos_integer,[]}]}]}]},{type,{9739,10},'fun',[{type,{9739,10},product,[{atom,{9739,11},modified_timing_level}]},{type,{9739,37},union,[{type,{9739,37},integer,[]},{atom,{9739,49},undefined}]}]},{type,{9740,10},'fun',[{type,{9740,10},product,[{atom,{9740,11},multi_scheduling}]},{type,{9740,32},union,[{atom,{9740,32},disabled},{atom,{9740,43},blocked},{atom,{9740,53},blocked_normal},{atom,{9740,70},enabled}]}]},{type,{9741,10},'fun',[{type,{9741,10},product,[{atom,{9741,11},multi_scheduling_blockers}]},{type,{9741,41},list,[{ann_type,{9741,42},[{var,{9741,42},'Pid'},{type,{9741,49},pid,[]}]}]}]},{type,{9742,10},'fun',[{type,{9742,10},product,[{atom,{9742,11},nif_version}]},{type,{9742,27},string,[]}]},{type,{9743,10},'fun',[{type,{9743,10},product,[{atom,{9743,11},normal_multi_scheduling_blockers}]},{type,{9743,48},list,[{ann_type,{9743,49},[{var,{9743,49},'Pid'},{type,{9743,56},pid,[]}]}]}]},{type,{9744,10},'fun',[{type,{9744,10},product,[{atom,{9744,11},otp_release}]},{type,{9744,27},string,[]}]},{type,{9745,10},'fun',[{type,{9745,10},product,[{atom,{9745,11},os_monotonic_time_source}]},{type,{9745,40},list,[{type,{9745,41},tuple,[{type,{9745,42},atom,[]},{type,{9745,49},term,[]}]}]}]},{type,{9746,10},'fun',[{type,{9746,10},product,[{atom,{9746,11},os_system_time_source}]},{type,{9746,37},list,[{type,{9746,38},tuple,[{type,{9746,39},atom,[]},{type,{9746,46},term,[]}]}]}]},{type,{9747,10},'fun',[{type,{9747,10},product,[{atom,{9747,11},outstanding_system_requests_limit}]},{type,{9747,49},range,[{integer,{9747,49},1},{integer,{9747,52},134217727}]}]},{type,{9748,10},'fun',[{type,{9748,10},product,[{atom,{9748,11},port_parallelism}]},{type,{9748,32},boolean,[]}]},{type,{9749,10},'fun',[{type,{9749,10},product,[{atom,{9749,11},port_count}]},{type,{9749,26},non_neg_integer,[]}]},{type,{9750,10},'fun',[{type,{9750,10},product,[{atom,{9750,11},port_limit}]},{type,{9750,26},pos_integer,[]}]},{type,{9751,10},'fun',[{type,{9751,10},product,[{atom,{9751,11},process_count}]},{type,{9751,29},pos_integer,[]}]},{type,{9752,10},'fun',[{type,{9752,10},product,[{atom,{9752,11},process_limit}]},{type,{9752,29},pos_integer,[]}]},{type,{9753,10},'fun',[{type,{9753,10},product,[{atom,{9753,11},procs}]},{type,{9753,21},binary,[]}]},{type,{9754,10},'fun',[{type,{9754,10},product,[{atom,{9754,11},scheduler_bind_type}]},{user_type,{9754,35},scheduler_bind_type,[]}]},{type,{9755,10},'fun',[{type,{9755,10},product,[{atom,{9755,11},scheduler_bindings}]},{type,{9755,35},tuple,any}]},{type,{9756,10},'fun',[{type,{9756,10},product,[{atom,{9756,11},scheduler_id}]},{ann_type,{9756,28},[{var,{9756,28},'SchedulerId'},{type,{9756,43},pos_integer,[]}]}]},{type,{9757,10},'fun',[{type,{9757,10},product,[{type,{9757,11},union,[{atom,{9757,11},schedulers},{atom,{9757,24},schedulers_online}]}]},{type,{9757,46},pos_integer,[]}]},{type,{9758,10},'fun',[{type,{9758,10},product,[{atom,{9758,11},smp_support}]},{type,{9758,27},boolean,[]}]},{type,{9759,10},'fun',[{type,{9759,10},product,[{atom,{9759,11},start_time}]},{type,{9759,26},integer,[]}]},{type,{9760,10},'fun',[{type,{9760,10},product,[{atom,{9760,11},system_architecture}]},{type,{9760,35},string,[]}]},{type,{9761,10},'fun',[{type,{9761,10},product,[{atom,{9761,11},system_logger}]},{type,{9761,29},union,[{atom,{9761,29},logger},{atom,{9761,38},undefined},{type,{9761,50},pid,[]}]}]},{type,{9762,10},'fun',[{type,{9762,10},product,[{atom,{9762,11},system_version}]},{type,{9762,30},string,[]}]},{type,{9763,10},'fun',[{type,{9763,10},product,[{atom,{9763,11},threads}]},{type,{9763,23},boolean,[]}]},{type,{9764,10},'fun',[{type,{9764,10},product,[{atom,{9764,11},thread_pool_size}]},{type,{9764,32},non_neg_integer,[]}]},{type,{9765,10},'fun',[{type,{9765,10},product,[{atom,{9765,11},time_correction}]},{type,{9765,31},union,[{atom,{9765,31},true},{atom,{9765,38},false}]}]},{type,{9766,10},'fun',[{type,{9766,10},product,[{atom,{9766,11},time_offset}]},{type,{9766,27},union,[{atom,{9766,27},preliminary},{atom,{9766,41},final},{atom,{9766,49},volatile}]}]},{type,{9767,10},'fun',[{type,{9767,10},product,[{atom,{9767,11},time_warp_mode}]},{type,{9767,30},union,[{atom,{9767,30},no_time_warp},{atom,{9767,45},single_time_warp},{atom,{9767,64},multi_time_warp}]}]},{type,{9768,10},'fun',[{type,{9768,10},product,[{atom,{9768,11},tolerant_timeofday}]},{type,{9768,34},union,[{atom,{9768,34},enabled},{atom,{9768,44},disabled}]}]},{type,{9769,10},'fun',[{type,{9769,10},product,[{atom,{9769,11},trace_control_word}]},{type,{9769,34},non_neg_integer,[]}]},{type,{9770,10},'fun',[{type,{9770,10},product,[{atom,{9770,11},update_cpu_info}]},{type,{9770,31},union,[{atom,{9770,31},changed},{atom,{9770,41},unchanged}]}]},{type,{9771,10},'fun',[{type,{9771,10},product,[{atom,{9771,11},version}]},{type,{9771,23},string,[]}]},{type,{9772,10},'fun',[{type,{9772,10},product,[{type,{9772,11},union,[{atom,{9772,11},wordsize},{type,{9772,22},tuple,[{atom,{9772,23},wordsize},{atom,{9772,33},internal}]},{type,{9772,45},tuple,[{atom,{9772,46},wordsize},{atom,{9772,56},external}]}]}]},{type,{9772,70},union,[{integer,{9772,70},4},{integer,{9772,74},8}]}]},{type,{9773,10},'fun',[{type,{9773,10},product,[{atom,{9773,11},async_dist}]},{type,{9773,26},boolean,[]}]},{type,{9774,10},'fun',[{type,{9774,10},product,[{atom,{9774,11},halt_flush_timeout}]},{type,{9774,34},union,[{type,{9774,34},non_neg_integer,[]},{atom,{9774,54},infinity}]}]}]}}]}},{{function,tuple_to_list,1},{9618,2},[<<116,117,112,108,101,95,116,111,95,108,105,115,116,40,84,117,112,108,101,41>>],#{<<101,110>> => <<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,96,84,117,112,108,101,96,46,32,96,84,117,112,108,101,96,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,10,69,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{9628,2},spec,{{tuple_to_list,1},[{type,{9628,20},bounded_fun,[{type,{9628,20},'fun',[{type,{9628,20},product,[{var,{9628,21},'Tuple'}]},{type,{9628,31},list,[{type,{9628,32},term,[]}]}]},[{type,{9629,7},constraint,[{atom,{9629,7},is_subtype},[{var,{9629,7},'Tuple'},{type,{9629,16},tuple,any}]]}]]}]}}]}},{{function,trace_pattern,3},{9575,2},[<<116,114,97,99,101,95,112,97,116,116,101,114,110,40,77,70,65,44,32,77,97,116,99,104,83,112,101,99,44,32,70,108,97,103,76,105,115,116,41>>],#{<<101,110>> => <<83,101,116,32,116,114,97,99,101,32,112,97,116,116,101,114,110,32,102,111,114,32,99,97,108,108,44,32,115,101,110,100,32,97,110,100,32,114,101,99,101,105,118,101,32,116,114,97,99,105,110,103,32,111,110,32,116,104,101,32,115,116,97,116,105,99,32,108,101,103,97,99,121,32,116,114,97,99,101,10,115,101,115,115,105,111,110,46,10,10,32,32,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,115,117,112,101,114,115,101,100,101,100,32,98,121,32,96,116,114,97,99,101,58,102,117,110,99,116,105,111,110,47,52,96,44,32,96,116,114,97,99,101,58,115,101,110,100,47,51,96,32,97,110,100,10,32,32,62,32,96,116,114,97,99,101,58,114,101,99,118,47,51,96,32,116,104,97,116,32,111,112,101,114,97,116,101,32,111,110,32,100,121,110,97,109,105,99,32,116,114,97,99,101,32,115,101,115,115,105,111,110,115,46,10,10,65,114,103,117,109,101,110,116,32,96,70,108,97,103,76,105,115,116,96,32,99,97,110,32,99,111,110,116,97,105,110,32,116,119,111,32,97,100,100,105,116,105,111,110,97,108,32,111,112,116,105,111,110,115,32,102,111,114,32,99,97,108,108,32,116,114,97,99,105,110,103,58,10,10,45,32,42,42,96,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,96,42,42,32,45,32,84,117,114,110,115,32,111,110,32,111,114,32,111,102,102,10,32,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,10,32,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,10,32,32,115,112,101,99,105,102,105,101,100,44,32,96,115,101,108,102,47,48,96,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,10,10,70,111,114,32,102,117,114,116,104,101,114,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,115,101,101,32,96,116,114,97,99,101,58,102,117,110,99,116,105,111,110,47,52,96,32,44,32,96,116,114,97,99,101,58,115,101,110,100,47,51,96,32,97,110,100,10,96,116,114,97,99,101,58,114,101,99,118,47,51,96,46>>},#{group => trace,specification => [{attribute,{9595,2},spec,{{trace_pattern,3},[{type,{9595,20},bounded_fun,[{type,{9595,20},'fun',[{type,{9595,20},product,[{atom,{9595,21},send},{var,{9595,27},'MatchSpec'},{type,{9595,38},nil,[]}]},{type,{9595,45},non_neg_integer,[]}]},[{type,{9596,7},constraint,[{atom,{9596,7},is_subtype},[{var,{9596,7},'MatchSpec'},{type,{9596,21},union,[{ann_type,{9596,21},[{var,{9596,21},'MatchSpecList'},{user_type,{9596,38},trace_match_spec,[]}]},{type,{9597,20},boolean,[]}]}]]}]]},{type,{9598,20},bounded_fun,[{type,{9598,20},'fun',[{type,{9598,20},product,[{atom,{9598,21},'receive'},{var,{9598,32},'MatchSpec'},{type,{9598,43},nil,[]}]},{type,{9598,50},non_neg_integer,[]}]},[{type,{9599,7},constraint,[{atom,{9599,7},is_subtype},[{var,{9599,7},'MatchSpec'},{type,{9599,21},union,[{ann_type,{9599,21},[{var,{9599,21},'MatchSpecList'},{user_type,{9599,38},trace_match_spec,[]}]},{type,{9600,20},boolean,[]}]}]]}]]},{type,{9601,20},bounded_fun,[{type,{9601,20},'fun',[{type,{9601,20},product,[{var,{9601,21},'MFA'},{var,{9601,26},'MatchSpec'},{var,{9601,37},'FlagList'}]},{type,{9601,50},non_neg_integer,[]}]},[{type,{9602,7},constraint,[{atom,{9602,7},is_subtype},[{var,{9602,7},'MFA'},{user_type,{9602,14},trace_pattern_mfa,[]}]]},{type,{9603,7},constraint,[{atom,{9603,7},is_subtype},[{var,{9603,7},'MatchSpec'},{type,{9603,21},union,[{ann_type,{9603,21},[{var,{9603,21},'MatchSpecList'},{user_type,{9603,38},trace_match_spec,[]}]},{type,{9604,20},boolean,[]},{atom,{9605,20},restart},{atom,{9606,20},pause}]}]]},{type,{9607,7},constraint,[{atom,{9607,7},is_subtype},[{var,{9607,7},'FlagList'},{type,{9607,19},list,[{user_type,{9607,21},trace_pattern_flag,[]}]}]]}]]}]}}]}},{{function,trace_pattern,2},{9549,2},[<<116,114,97,99,101,95,112,97,116,116,101,114,110,40,77,70,65,44,32,77,97,116,99,104,83,112,101,99,41>>],#{<<101,110>> => <<69,113,117,105,118,97,108,101,110,116,32,116,111,32,91,96,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,96,93,40,96,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51,96,41,44,10,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>>},#{group => trace,specification => [{attribute,{9554,2},spec,{{trace_pattern,2},[{type,{9554,20},bounded_fun,[{type,{9554,20},'fun',[{type,{9554,20},product,[{var,{9554,21},'MFA'},{var,{9554,26},'MatchSpec'}]},{type,{9554,40},non_neg_integer,[]}]},[{type,{9555,7},constraint,[{atom,{9555,7},is_subtype},[{var,{9555,7},'MFA'},{type,{9555,14},union,[{user_type,{9555,14},trace_pattern_mfa,[]},{atom,{9555,36},send},{atom,{9555,43},'receive'}]}]]},{type,{9556,7},constraint,[{atom,{9556,7},is_subtype},[{var,{9556,7},'MatchSpec'},{type,{9556,21},union,[{ann_type,{9556,21},[{var,{9556,21},'MatchSpecList'},{user_type,{9556,38},trace_match_spec,[]}]},{type,{9557,20},boolean,[]},{atom,{9558,20},restart},{atom,{9559,20},pause}]}]]}]]}]}}]}},{{function,tl,1},{9507,2},[<<116,108,40,76,105,115,116,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,116,97,105,108,32,111,102,32,96,76,105,115,116,96,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,10,10,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,10,10,69,120,97,109,112,108,101,115,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,62,32,116,108,40,91,103,101,101,115,116,105,101,115,93,41,46,10,91,93,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,76,105,115,116,96,32,105,115,32,97,110,32,101,109,112,116,121,32,108,105,115,116,32,96,91,93,96,46>>},#{group => terms,specification => [{attribute,{9537,2},spec,{{tl,1},[{type,{9537,9},bounded_fun,[{type,{9537,9},'fun',[{type,{9537,9},product,[{var,{9537,10},'List'}]},{var,{9537,19},'Tail'}]},[{type,{9538,7},constraint,[{atom,{9538,7},is_subtype},[{var,{9538,7},'List'},{type,{9538,15},nonempty_maybe_improper_list,[]}]]},{type,{9539,7},constraint,[{atom,{9539,7},is_subtype},[{var,{9539,7},'Tail'},{type,{9539,15},term,[]}]]}]]}]}}]}},{{function,term_to_iovec,2},{9476,2},[<<116,101,114,109,95,116,111,95,105,111,118,101,99,40,84,101,114,109,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32,96,84,101,114,109,96,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,10,96,116,58,101,120,116,95,105,111,118,101,99,47,48,96,46,10,10,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,96,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50,96,44,32,98,117,116,32,119,105,116,104,32,97,110,111,116,104,101,114,10,114,101,116,117,114,110,32,116,121,112,101,46,32,84,104,101,32,99,97,108,108,10,91,96,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,96,93,40,96,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49,96,41,32,119,105,108,108,10,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,10,91,96,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,96,93,40,96,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50,96,41,46,10,10,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,96,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50,96,46,10,10,96,116,101,114,109,95,116,111,95,105,111,118,101,99,40,41,96,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,96,116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,41,96,10,112,114,111,118,105,100,101,46,32,96,116,101,114,109,95,116,111,95,105,111,118,101,99,40,41,96,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,10,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,10,10,83,101,101,32,97,108,115,111,32,96,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50,96,46>>},#{group => terms,specification => [{attribute,{9496,2},spec,{{term_to_iovec,2},[{type,{9496,20},bounded_fun,[{type,{9496,20},'fun',[{type,{9496,20},product,[{var,{9496,21},'Term'},{var,{9496,27},'Options'}]},{user_type,{9496,39},ext_iovec,[]}]},[{type,{9497,7},constraint,[{atom,{9497,7},is_subtype},[{var,{9497,7},'Term'},{type,{9497,15},term,[]}]]},{type,{9498,7},constraint,[{atom,{9498,7},is_subtype},[{var,{9498,7},'Options'},{type,{9498,18},list,[{type,{9498,19},union,[{atom,{9498,19},compressed},{type,{9499,10},tuple,[{atom,{9499,11},compressed},{ann_type,{9499,23},[{var,{9499,23},'Level'},{type,{9499,32},range,[{integer,{9499,32},0},{integer,{9499,35},9}]}]}]},{atom,{9500,10},deterministic},{type,{9501,10},tuple,[{atom,{9501,11},minor_version},{ann_type,{9501,26},[{var,{9501,26},'Version'},{type,{9501,37},range,[{integer,{9501,37},0},{integer,{9501,40},2}]}]}]},{atom,{9502,10},local}]}]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,term_to_iovec,1},{9453,2},[<<116,101,114,109,95,116,111,95,105,111,118,101,99,40,84,101,114,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32,96,84,101,114,109,96,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,10,96,116,58,101,120,116,95,105,111,118,101,99,47,48,96,46,10,10,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,96,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49,96,44,32,98,117,116,32,119,105,116,104,32,97,110,111,116,104,101,114,10,114,101,116,117,114,110,32,116,121,112,101,46,32,84,104,101,32,99,97,108,108,10,91,96,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,96,93,40,96,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49,96,41,32,119,105,108,108,32,112,114,111,100,117,99,101,10,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,10,91,96,116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,84,101,114,109,41,96,93,40,96,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49,96,41,46,10,10,96,116,101,114,109,95,116,111,95,105,111,118,101,99,40,41,96,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,96,116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,41,96,10,112,114,111,118,105,100,101,46,32,96,116,101,114,109,95,116,111,95,105,111,118,101,99,40,41,96,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,10,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,10,10,83,101,101,32,97,108,115,111,32,96,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49,96,46>>},#{group => terms,specification => [{attribute,{9471,2},spec,{{term_to_iovec,1},[{type,{9471,20},bounded_fun,[{type,{9471,20},'fun',[{type,{9471,20},product,[{var,{9471,21},'Term'}]},{user_type,{9471,30},ext_iovec,[]}]},[{type,{9472,7},constraint,[{atom,{9472,7},is_subtype},[{var,{9472,7},'Term'},{type,{9472,15},term,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,term_to_binary,2},{9315,2},[<<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>>],#{<<101,110>> => <<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,96,84,101,114,109,96,32,97,99,99,111,114,100,105,110,103,32,116,111,10,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,10,10,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,10,10,45,32,42,42,96,99,111,109,112,114,101,115,115,101,100,96,42,42,32,45,32,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,10,32,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,91,96,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49,96,93,40,96,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49,96,41,32,97,115,32,102,114,111,109,10,32,32,69,114,108,97,110,103,47,79,84,80,32,82,55,66,46,10,10,45,32,42,42,96,123,99,111,109,112,114,101,115,115,101,100,44,32,76,101,118,101,108,125,96,42,42,32,45,32,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,10,32,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,96,76,101,118,101,108,96,32,119,104,105,99,104,32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,105,110,10,32,32,116,104,101,32,114,97,110,103,101,32,48,46,46,57,44,32,119,104,101,114,101,58,10,10,32,32,45,32,42,42,96,48,96,42,42,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,96,99,111,109,112,114,101,115,115,101,100,96,10,32,32,32,32,111,112,116,105,111,110,41,46,10,10,32,32,45,32,42,42,96,49,96,42,42,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,10,32,32,32,32,108,101,118,101,108,115,46,10,10,32,32,45,32,42,42,96,54,96,42,42,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,96,99,111,109,112,114,101,115,115,101,100,96,32,105,115,32,112,114,111,118,105,100,101,100,46,10,10,32,32,45,32,42,42,96,57,96,42,42,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,10,32,32,32,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,10,32,32,32,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,10,32,32,32,32,99,111,109,112,114,101,115,115,105,111,110,46,10,10,45,32,42,42,96,123,109,105,110,111,114,95,118,101,114,115,105,111,110,44,32,86,101,114,115,105,111,110,125,96,42,42,40,83,105,110,99,101,32,82,49,49,66,45,52,41,32,32,10,32,32,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,10,32,32,96,86,101,114,115,105,111,110,96,32,97,114,101,58,10,10,32,32,45,32,42,42,96,48,96,42,42,32,45,32,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,10,10,32,32,32,32,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,10,32,32,32,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,10,32,32,32,32,117,116,102,56,46,10,10,32,32,45,32,42,42,96,49,96,42,42,32,45,32,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,10,32,32,32,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,10,32,32,32,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,10,32,32,32,32,91,96,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49,96,93,40,96,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49,96,41,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,10,10,32,32,32,32,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,10,32,32,32,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,10,32,32,32,32,117,116,102,56,46,10,10,32,32,45,32,42,42,96,50,96,42,42,32,45,32,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,95,100,101,102,97,117,108,116,95,46,32,65,116,111,109,115,32,97,114,101,10,32,32,32,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,10,32,32,32,32,116,104,105,115,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,46,10,10,45,32,42,42,96,100,101,116,101,114,109,105,110,105,115,116,105,99,96,42,42,40,83,105,110,99,101,32,79,84,80,32,50,52,46,49,41,32,32,10,32,32,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,10,32,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,10,32,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,10,32,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,10,10,32,32,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,96,108,111,99,97,108,96,32,111,112,116,105,111,110,46,10,10,45,32,42,42,96,108,111,99,97,108,96,91,93,40,41,123,58,32,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,95,108,111,99,97,108,32,125,32,42,42,40,83,105,110,99,101,32,79,84,80,32,50,54,46,48,41,32,32,10,32,32,32,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,96,84,101,114,109,96,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,10,32,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,10,32,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,91,99,114,101,97,116,105,111,110,93,40,35,115,121,115,116,101,109,95,105,110,102,111,95,99,114,101,97,116,105,111,110,41,10,32,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,10,32,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,96,108,111,99,97,108,96,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,91,112,105,100,115,93,40,96,116,58,112,105,100,47,48,96,41,44,10,32,32,91,112,111,114,116,115,93,40,96,116,58,112,111,114,116,47,48,96,41,32,97,110,100,32,91,114,101,102,101,114,101,110,99,101,115,93,40,96,116,58,114,101,102,101,114,101,110,99,101,47,48,96,41,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,10,32,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,10,32,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,10,32,32,97,110,100,32,99,114,101,97,116,105,111,110,46,10,10,32,32,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,10,32,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,10,32,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,91,96,45,110,97,109,101,96,93,40,101,114,108,95,99,109,100,46,109,100,35,110,97,109,101,41,32,111,114,10,32,32,91,96,45,115,110,97,109,101,96,93,40,101,114,108,95,99,109,100,46,109,100,35,115,110,97,109,101,41,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,10,32,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,10,32,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,10,32,32,96,110,101,116,95,107,101,114,110,101,108,58,115,116,97,114,116,47,50,96,32,97,110,100,32,115,116,111,112,112,101,100,32,98,121,32,99,97,108,108,105,110,103,10,32,32,91,96,110,101,116,95,107,101,114,110,101,108,58,115,116,111,112,47,49,96,93,40,96,110,101,116,95,107,101,114,110,101,108,58,115,116,111,112,47,48,96,41,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,10,32,32,99,111,109,109,97,110,100,32,108,105,110,101,46,10,10,32,32,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,96,108,111,99,97,108,96,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,10,32,32,91,96,98,105,110,97,114,121,95,116,111,95,116,101,114,109,40,41,96,93,40,96,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49,96,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,10,32,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,10,32,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,10,32,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,95,110,111,116,95,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,10,32,32,97,108,108,32,99,97,115,101,115,46,32,89,111,117,32,95,115,104,111,117,108,100,95,32,109,97,107,101,32,115,117,114,101,32,116,111,32,95,111,110,108,121,95,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,10,32,32,96,108,111,99,97,108,96,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,10,32,32,101,110,99,111,100,101,100,32,116,104,101,32,116,101,114,109,115,46,10,10,32,32,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,96,108,111,99,97,108,96,10,32,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,10,32,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,96,108,111,99,97,108,96,32,101,110,99,111,100,105,110,103,10,32,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,96,108,111,99,97,108,96,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,10,32,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,10,32,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,10,32,32,101,120,97,109,112,108,101,44,32,91,101,105,93,40,96,101,58,101,114,108,95,105,110,116,101,114,102,97,99,101,58,101,105,46,109,100,96,41,46,32,73,110,32,116,104,101,32,96,101,105,96,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,10,32,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,10,32,32,91,96,101,105,95,100,101,99,111,100,101,95,118,101,114,115,105,111,110,40,41,96,93,40,96,101,58,101,114,108,95,105,110,116,101,114,102,97,99,101,58,101,105,46,109,100,35,101,105,95,100,101,99,111,100,101,95,118,101,114,115,105,111,110,96,41,32,97,110,100,32,116,104,101,110,10,32,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,10,32,32,91,96,101,105,95,120,95,97,112,112,101,110,100,95,98,117,102,40,41,96,93,40,96,101,58,101,114,108,95,105,110,116,101,114,102,97,99,101,58,101,105,46,109,100,35,101,105,95,120,95,97,112,112,101,110,100,95,98,117,102,96,41,46,10,10,32,32,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,96,108,111,99,97,108,96,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,10,32,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,91,100,114,105,118,101,114,93,40,101,114,108,95,100,114,105,118,101,114,46,109,100,41,32,97,110,100,32,117,116,105,108,105,122,101,10,32,32,116,104,101,10,32,32,91,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,93,40,96,101,58,115,121,115,116,101,109,58,101,102,102,95,103,117,105,100,101,95,112,114,111,99,101,115,115,101,115,46,109,100,35,114,101,99,101,105,118,105,110,103,45,109,101,115,115,97,103,101,115,96,41,10,32,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,10,32,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,96,108,111,99,97,108,96,32,111,112,116,105,111,110,44,10,32,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,10,32,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,10,32,32,114,101,112,108,121,32,117,115,105,110,103,32,101,105,116,104,101,114,10,32,32,91,96,101,114,108,95,100,114,118,95,111,117,116,112,117,116,95,116,101,114,109,40,41,96,93,40,101,114,108,95,100,114,105,118,101,114,46,109,100,35,101,114,108,95,100,114,118,95,111,117,116,112,117,116,95,116,101,114,109,41,32,111,114,10,32,32,91,96,101,114,108,95,100,114,118,95,115,101,110,100,95,116,101,114,109,40,41,96,93,40,101,114,108,95,100,114,105,118,101,114,46,109,100,35,101,114,108,95,100,114,118,95,115,101,110,100,95,116,101,114,109,41,32,117,115,105,110,103,32,116,104,101,32,116,101,114,109,32,116,121,112,101,10,32,32,91,96,69,82,76,95,68,82,86,95,69,88,84,50,84,69,82,77,96,93,40,101,114,108,95,100,114,105,118,101,114,46,109,100,35,69,82,76,95,68,82,86,95,69,88,84,50,84,69,82,77,41,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,10,32,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,10,32,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,10,32,32,116,104,101,32,116,101,114,109,32,116,121,112,101,32,96,69,82,76,95,68,82,86,95,69,88,84,50,84,69,82,77,96,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,10,32,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,96,108,111,99,97,108,96,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,10,32,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,10,32,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,10,32,32,110,101,118,101,114,32,109,97,116,99,104,46,10,10,32,32,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,96,100,101,116,101,114,109,105,110,105,115,116,105,99,96,32,111,112,116,105,111,110,46,10,10,32,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,91,96,76,79,67,65,76,95,69,88,84,96,93,40,101,114,108,95,101,120,116,95,100,105,115,116,46,109,100,35,108,111,99,97,108,95,101,120,116,41,32,116,97,103,32,105,110,10,32,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,10,10,83,101,101,32,97,108,115,111,32,96,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49,96,46>>},#{group => terms,specification => [{attribute,{9443,2},spec,{{term_to_binary,2},[{type,{9443,21},bounded_fun,[{type,{9443,21},'fun',[{type,{9443,21},product,[{var,{9443,22},'Term'},{var,{9443,28},'Options'}]},{user_type,{9443,40},ext_binary,[]}]},[{type,{9444,7},constraint,[{atom,{9444,7},is_subtype},[{var,{9444,7},'Term'},{type,{9444,15},term,[]}]]},{type,{9445,7},constraint,[{atom,{9445,7},is_subtype},[{var,{9445,7},'Options'},{type,{9445,18},list,[{type,{9445,19},union,[{atom,{9445,19},compressed},{type,{9446,10},tuple,[{atom,{9446,11},compressed},{ann_type,{9446,23},[{var,{9446,23},'Level'},{type,{9446,32},range,[{integer,{9446,32},0},{integer,{9446,35},9}]}]}]},{atom,{9447,10},deterministic},{type,{9448,10},tuple,[{atom,{9448,11},minor_version},{ann_type,{9448,26},[{var,{9448,26},'Version'},{type,{9448,37},range,[{integer,{9448,37},0},{integer,{9448,40},2}]}]}]},{atom,{9449,10},local}]}]}]]}]]}]}}]}},{{function,term_to_binary,1},{9287,2},[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,84,101,114,109,41>>],#{<<101,110>> => <<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,96,84,101,114,109,96,32,97,99,99,111,114,100,105,110,103,32,116,111,10,116,104,101,32,91,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,93,40,101,114,108,95,101,120,116,95,100,105,115,116,46,109,100,41,10,10,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,10,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,10,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,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,83,101,101,32,97,108,115,111,32,96,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49,96,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,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,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,10,62,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>>},#{group => terms,specification => [{attribute,{9310,2},spec,{{term_to_binary,1},[{type,{9310,21},bounded_fun,[{type,{9310,21},'fun',[{type,{9310,21},product,[{var,{9310,22},'Term'}]},{user_type,{9310,31},ext_binary,[]}]},[{type,{9311,7},constraint,[{atom,{9311,7},is_subtype},[{var,{9311,7},'Term'},{type,{9311,15},term,[]}]]}]]}]}}]}},{{function,system_flag,2},{8762,2},[<<115,121,115,116,101,109,95,102,108,97,103,40,70,108,97,103,44,32,86,97,108,117,101,41>>],#{<<101,110>> => <<83,101,116,115,32,97,32,115,121,115,116,101,109,32,102,108,97,103,32,116,111,32,116,104,101,32,103,105,118,101,110,32,118,97,108,117,101,46,10,10,84,104,101,32,112,111,115,115,105,98,108,101,32,102,108,97,103,115,32,116,111,32,115,101,116,32,97,114,101,58,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,115,121,115,116,101,109,95,102,108,97,103,40,98,97,99,107,116,114,97,99,101,95,100,101,112,116,104,115,44,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,41,32,45,62,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,10,32,32,96,96,96,10,10,32,32,32,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,10,32,32,96,39,69,88,73,84,39,96,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,10,32,32,96,112,114,111,99,101,115,115,95,105,110,102,111,47,50,96,32,105,116,101,109,32,91,96,99,117,114,114,101,110,116,95,115,116,97,99,107,116,114,97,99,101,96,93,40,35,112,114,111,99,101,115,115,95,105,110,102,111,95,99,117,114,114,101,110,116,95,115,116,97,99,107,116,114,97,99,101,41,46,10,10,32,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,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,115,121,115,116,101,109,95,102,108,97,103,40,99,112,117,95,116,111,112,111,108,111,103,121,44,32,99,112,117,95,116,111,112,111,108,111,103,121,40,41,41,32,45,62,32,99,112,117,95,116,111,112,111,108,111,103,121,40,41,10,32,32,96,96,96,10,32,32,123,58,32,35,115,121,115,116,101,109,95,102,108,97,103,95,99,112,117,95,116,111,112,111,108,111,103,121,32,125,10,10,32,32,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,32,32,62,10,32,32,62,32,95,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,95,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,10,32,32,62,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32,91,96,43,115,99,116,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,99,116,41,32,105,110,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,32,32,62,10,32,32,62,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,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,10,32,32,62,32,101,109,117,108,97,116,111,114,32,98,111,111,116,32,116,105,109,101,46,10,10,32,32,83,101,116,115,32,116,104,101,32,117,115,101,114,45,100,101,102,105,110,101,100,32,96,67,112,117,84,111,112,111,108,111,103,121,96,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,10,32,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,96,117,110,100,101,102,105,110,101,100,96,32,97,115,32,96,67,112,117,84,111,112,111,108,111,103,121,96,44,10,32,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,10,32,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,96,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,96,32,98,101,102,111,114,101,10,32,32,116,104,101,32,99,104,97,110,103,101,32,119,97,115,32,109,97,100,101,46,10,10,32,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,10,10,32,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,73,102,10,32,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,10,32,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,10,10,32,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,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,10,32,32,91,96,43,115,99,116,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,99,116,41,32,116,111,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,10,32,32,70,111,114,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,116,121,112,101,32,96,67,112,117,84,111,112,111,108,111,103,121,96,32,97,110,100,32,109,111,114,101,44,32,115,101,101,10,32,32,91,96,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,96,93,40,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,41,32,97,115,10,32,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,91,96,43,115,99,116,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,99,116,41,32,97,110,100,10,32,32,91,96,43,115,98,116,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,98,116,41,32,105,110,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,112,111,115,95,105,110,116,101,103,101,114,40,41,41,32,45,62,32,112,111,115,95,105,110,116,101,103,101,114,40,41,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,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,10,32,32,96,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,96,44,32,119,104,101,114,101,32,96,78,96,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,10,32,32,118,97,108,117,101,115,32,111,102,32,96,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,96,32,97,110,100,10,32,32,96,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,96,46,10,10,32,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,10,10,32,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,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,10,32,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,10,32,32,111,110,108,105,110,101,44,32,97,110,100,32,91,96,115,121,115,116,101,109,95,102,108,97,103,47,50,96,93,40,96,115,121,115,116,101,109,95,102,108,97,103,47,50,96,41,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,10,32,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,10,32,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,10,32,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,10,32,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,46,10,10,32,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,10,32,32,91,96,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,96,93,40,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,41,10,32,32,97,110,100,10,32,32,91,96,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,96,93,40,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,41,46,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,49,55,46,48,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,115,121,115,116,101,109,95,102,108,97,103,40,101,114,116,115,95,97,108,108,111,99,44,32,123,65,108,108,111,99,32,58,58,32,97,116,111,109,40,41,44,32,70,32,58,58,32,97,116,111,109,40,41,44,32,86,32,58,58,32,105,110,116,101,103,101,114,40,41,125,41,32,45,62,10,32,32,32,32,111,107,32,124,32,110,111,116,115,117,112,10,32,32,96,96,96,10,10,32,32,83,101,116,115,32,115,121,115,116,101,109,32,102,108,97,103,115,32,102,111,114,32,91,96,101,114,116,115,95,97,108,108,111,99,40,51,41,96,93,40,101,114,116,115,95,97,108,108,111,99,46,109,100,41,46,32,96,65,108,108,111,99,96,32,105,115,32,116,104,101,32,97,108,108,111,99,97,116,111,114,10,32,32,116,111,32,97,102,102,101,99,116,44,32,102,111,114,32,101,120,97,109,112,108,101,32,96,98,105,110,97,114,121,95,97,108,108,111,99,96,46,32,96,70,96,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,96,86,96,32,105,115,32,116,104,101,10,32,32,110,101,119,32,118,97,108,117,101,46,10,10,32,32,79,110,108,121,32,97,32,115,117,98,115,101,116,32,111,102,32,97,108,108,32,96,101,114,116,115,95,97,108,108,111,99,96,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,10,32,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,91,96,115,98,99,116,96,93,40,101,114,116,115,95,97,108,108,111,99,46,109,100,35,77,95,115,98,99,116,41,46,10,10,32,32,82,101,116,117,114,110,115,32,96,111,107,96,32,105,102,32,116,104,101,32,102,108,97,103,32,119,97,115,32,115,101,116,32,111,114,32,96,110,111,116,115,117,112,96,32,105,102,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,96,101,114,116,115,95,97,108,108,111,99,96,46,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,50,48,46,50,46,51,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,115,121,115,116,101,109,95,102,108,97,103,40,102,117,108,108,115,119,101,101,112,95,97,102,116,101,114,44,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,41,32,45,62,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,10,32,32,96,96,96,10,10,32,32,83,101,116,115,32,115,121,115,116,101,109,32,102,108,97,103,32,96,102,117,108,108,115,119,101,101,112,95,97,102,116,101,114,96,46,32,96,78,117,109,98,101,114,96,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,10,32,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,10,32,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,10,32,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,10,10,32,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,10,10,32,32,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,10,32,32,96,48,96,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,10,10,32,32,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,10,32,32,96,69,82,76,95,70,85,76,76,83,87,69,69,80,95,65,70,84,69,82,96,46,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,115,121,115,116,101,109,95,102,108,97,103,40,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103,44,32,116,114,117,101,32,124,32,102,97,108,115,101,32,124,32,114,101,115,101,116,41,32,45,62,32,98,111,111,108,101,97,110,40,41,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,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,10,32,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,10,10,32,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,10,32,32,91,96,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,96,93,40,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,41,46,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,49,57,46,48,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,115,121,115,116,101,109,95,102,108,97,103,40,109,105,110,95,104,101,97,112,95,115,105,122,101,44,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,41,32,45,62,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,10,32,32,96,96,96,10,10,32,32,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,10,32,32,119,111,114,100,115,46,32,84,104,101,32,110,101,119,32,96,109,105,110,95,104,101,97,112,95,115,105,122,101,96,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,10,32,32,111,102,32,96,109,105,110,95,104,101,97,112,95,115,105,122,101,96,32,104,97,115,32,98,101,101,110,32,109,97,100,101,46,32,96,109,105,110,95,104,101,97,112,95,115,105,122,101,96,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,10,32,32,112,114,111,99,101,115,115,101,115,32,98,121,32,117,115,105,110,103,32,96,115,112,97,119,110,95,111,112,116,47,52,96,32,111,114,32,96,112,114,111,99,101,115,115,95,102,108,97,103,47,50,96,46,10,10,32,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,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,115,121,115,116,101,109,95,102,108,97,103,40,109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101,44,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,41,32,45,62,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,10,32,32,96,96,96,10,10,32,32,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,10,32,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,96,109,105,110,95,98,105,110,95,118,104,104,101,97,112,95,115,105,122,101,96,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,10,32,32,97,102,116,101,114,32,116,104,101,32,99,104,97,110,103,101,32,111,102,32,96,109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101,96,32,104,97,115,32,98,101,101,110,32,109,97,100,101,46,32,96,109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101,96,32,99,97,110,10,32,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,91,96,115,112,97,119,110,95,111,112,116,47,50,44,51,44,52,96,93,40,96,115,112,97,119,110,95,111,112,116,47,52,96,41,32,111,114,10,32,32,96,112,114,111,99,101,115,115,95,102,108,97,103,47,50,96,46,10,10,32,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,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,82,49,51,66,48,52,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,109,97,120,95,104,101,97,112,95,115,105,122,101,40,41,41,32,45,62,32,109,97,120,95,104,101,97,112,95,115,105,122,101,40,41,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,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,10,32,32,105,110,32,119,111,114,100,115,46,32,84,104,101,32,110,101,119,32,96,109,97,120,95,104,101,97,112,95,115,105,122,101,96,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,10,32,32,99,104,97,110,103,101,32,104,97,115,32,98,101,101,110,32,109,97,100,101,46,32,96,109,97,120,95,104,101,97,112,95,115,105,122,101,96,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,10,32,32,91,96,115,112,97,119,110,95,111,112,116,47,50,44,51,44,52,96,93,40,96,115,112,97,119,110,95,111,112,116,47,52,96,41,32,111,114,10,32,32,91,96,112,114,111,99,101,115,115,95,102,108,97,103,47,50,96,93,40,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,41,46,10,10,32,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,10,10,32,32,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,10,32,32,91,83,105,122,105,110,103,32,116,104,101,32,104,101,97,112,93,40,71,97,114,98,97,103,101,67,111,108,108,101,99,116,105,111,110,46,109,100,35,115,105,122,105,110,103,45,116,104,101,45,104,101,97,112,41,32,105,110,32,116,104,101,32,69,82,84,83,32,105,110,116,101,114,110,97,108,10,32,32,100,111,99,117,109,101,110,116,97,116,105,111,110,46,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,49,57,46,48,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,45,62,32,79,108,100,66,108,111,99,107,83,116,97,116,101,32,119,104,101,110,10,32,32,32,32,66,108,111,99,107,83,116,97,116,101,32,58,58,32,98,108,111,99,107,32,124,32,117,110,98,108,111,99,107,32,124,32,98,108,111,99,107,95,110,111,114,109,97,108,32,124,32,117,110,98,108,111,99,107,95,110,111,114,109,97,108,44,10,32,32,32,32,79,108,100,66,108,111,99,107,83,116,97,116,101,32,58,58,32,98,108,111,99,107,101,100,32,124,32,100,105,115,97,98,108,101,100,32,124,32,101,110,97,98,108,101,100,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,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,10,32,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,10,32,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,95,110,111,114,109,97,108,95,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,10,32,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,10,32,32,116,111,32,115,99,104,101,100,117,108,101,32,112,114,111,99,101,115,115,101,115,46,10,10,32,32,73,102,32,96,66,108,111,99,107,83,116,97,116,101,32,61,58,61,32,98,108,111,99,107,96,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,10,32,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,96,66,108,111,99,107,83,116,97,116,101,32,61,58,61,32,117,110,98,108,111,99,107,96,32,97,110,100,32,110,111,32,111,110,101,32,101,108,115,101,10,32,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,10,32,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,10,10,32,32,73,102,32,96,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,96,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,10,32,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,10,32,32,101,120,101,99,117,116,101,46,32,73,102,32,96,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,96,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,10,32,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,10,32,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,10,10,32,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,46,10,10,32,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,97,114,101,32,96,100,105,115,97,98,108,101,100,96,44,32,96,98,108,111,99,107,101,100,96,44,32,96,98,108,111,99,107,101,100,95,110,111,114,109,97,108,96,44,32,111,114,32,96,101,110,97,98,108,101,100,96,46,32,84,104,101,10,32,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,10,32,32,96,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,96,32,104,97,115,32,98,101,101,110,32,109,97,100,101,46,32,70,111,114,10,32,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,10,32,32,91,96,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,96,93,40,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,41,46,10,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,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,10,32,32,62,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,10,32,32,62,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,10,32,32,62,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,95,118,101,114,121,32,105,110,101,102,102,105,99,105,101,110,116,95,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,10,10,32,32,83,101,101,32,97,108,115,111,10,32,32,91,96,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,96,93,40,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,41,44,10,32,32,91,96,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,96,93,40,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,41,44,10,32,32,91,96,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,96,93,40,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,41,44,10,32,32,97,110,100,32,91,96,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,96,93,40,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,41,46,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,49,46,46,49,51,52,50,49,55,55,50,55,41,32,45,62,32,49,46,46,49,51,52,50,49,55,55,50,55,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,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,10,32,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,10,10,32,32,45,32,42,42,84,104,101,32,67,111,100,101,32,80,117,114,103,101,114,42,42,32,45,32,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,10,32,32,32,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,10,10,32,32,45,32,42,42,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,42,42,32,45,32,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,10,32,32,32,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,10,32,32,32,32,116,104,101,32,115,121,115,116,101,109,46,10,10,32,32,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,10,32,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,10,32,32,91,115,99,104,101,100,117,108,101,114,115,93,40,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,41,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,10,32,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,10,32,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,10,32,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,10,32,32,91,96,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,96,93,40,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,41,46,10,10,32,32,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,10,32,32,91,96,43,122,111,115,114,108,32,60,76,105,109,105,116,62,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,122,111,115,114,108,41,32,116,111,32,96,101,114,108,96,46,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,50,52,46,50,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101,40,41,32,124,32,100,101,102,97,117,108,116,95,98,105,110,100,41,32,45,62,10,32,32,32,32,115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101,40,41,10,32,32,96,96,96,10,32,32,123,58,32,35,115,121,115,116,101,109,95,102,108,97,103,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101,32,125,10,10,32,32,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,32,32,62,10,32,32,62,32,95,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,95,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,10,32,32,62,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32,91,96,43,115,98,116,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,98,116,41,32,105,110,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,32,87,104,101,110,10,32,32,62,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,10,32,32,62,32,101,109,117,108,97,116,111,114,32,98,111,111,116,32,116,105,109,101,46,10,10,32,32,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,10,10,32,32,87,104,101,110,32,96,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,96,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,10,32,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,10,32,32,97,115,32,114,101,113,117,101,115,116,101,100,46,10,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,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,10,32,32,62,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,10,32,32,62,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,10,32,32,62,32,97,115,32,114,101,113,117,101,115,116,101,100,44,32,99,97,108,108,10,32,32,62,32,91,96,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,96,93,40,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,41,46,10,10,32,32,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,10,32,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,10,10,32,32,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,10,32,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,10,32,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,10,32,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,91,96,43,115,99,116,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,99,116,41,32,105,110,10,32,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,10,32,32,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,95,110,111,116,95,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,10,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,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,10,32,32,62,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,10,32,32,62,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,10,32,32,62,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,10,32,32,62,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,10,32,32,62,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,10,10,32,32,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,96,72,111,119,96,32,100,101,116,101,114,109,105,110,101,115,32,104,111,119,10,32,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,10,10,32,32,45,32,42,42,96,117,110,98,111,117,110,100,96,42,42,32,45,32,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,91,96,43,115,98,116,32,117,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,98,116,41,32,105,110,10,32,32,32,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,10,32,32,45,32,42,42,96,110,111,95,115,112,114,101,97,100,96,42,42,32,45,32,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,91,96,43,115,98,116,32,110,115,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,98,116,41,10,32,32,32,32,105,110,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,10,32,32,45,32,42,42,96,116,104,114,101,97,100,95,115,112,114,101,97,100,96,42,42,32,45,32,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,10,32,32,32,32,91,96,43,115,98,116,32,116,115,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,98,116,41,32,105,110,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,10,32,32,45,32,42,42,96,112,114,111,99,101,115,115,111,114,95,115,112,114,101,97,100,96,42,42,32,45,32,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,10,32,32,32,32,91,96,43,115,98,116,32,112,115,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,98,116,41,32,105,110,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,10,32,32,45,32,42,42,96,115,112,114,101,97,100,96,42,42,32,45,32,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,91,96,43,115,98,116,32,115,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,98,116,41,32,105,110,10,32,32,32,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,10,32,32,45,32,42,42,96,110,111,95,110,111,100,101,95,116,104,114,101,97,100,95,115,112,114,101,97,100,96,42,42,32,45,32,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,10,32,32,32,32,91,96,43,115,98,116,32,110,110,116,115,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,98,116,41,32,105,110,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,10,32,32,45,32,42,42,96,110,111,95,110,111,100,101,95,112,114,111,99,101,115,115,111,114,95,115,112,114,101,97,100,96,42,42,32,45,32,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,10,32,32,32,32,91,96,43,115,98,116,32,110,110,112,115,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,98,116,41,32,105,110,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,10,32,32,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,32,32,32,91,96,43,115,98,116,32,116,110,110,112,115,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,98,116,41,32,105,110,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,10,32,32,45,32,42,42,96,100,101,102,97,117,108,116,95,98,105,110,100,96,42,42,32,45,32,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,10,32,32,32,32,91,96,43,115,98,116,32,100,98,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,98,116,41,32,105,110,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,10,32,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,96,72,111,119,96,32,98,101,102,111,114,101,32,102,108,97,103,32,96,115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101,96,32,119,97,115,32,99,104,97,110,103,101,100,46,10,10,32,32,70,97,105,108,117,114,101,115,58,10,10,32,32,45,32,42,42,96,110,111,116,115,117,112,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,72,111,119,96,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,10,10,32,32,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,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,10,10,32,32,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,10,32,32,91,96,43,115,98,116,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,98,116,41,32,116,111,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,10,32,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,10,32,32,91,96,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,96,93,40,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,41,44,10,32,32,91,96,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,96,93,40,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,41,44,10,32,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,91,96,43,115,98,116,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,98,116,41,32,97,110,100,10,32,32,91,96,43,115,99,116,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,99,116,41,32,105,110,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,98,111,111,108,101,97,110,40,41,41,32,45,62,32,98,111,111,108,101,97,110,40,41,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,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,96,66,111,111,108,101,97,110,96,32,97,115,10,32,32,101,105,116,104,101,114,32,96,116,114,117,101,96,32,111,114,32,96,102,97,108,115,101,96,46,10,10,32,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,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,10,32,32,91,96,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,96,93,40,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,41,46,10,10,32,32,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,10,32,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,10,32,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,96,66,111,111,108,101,97,110,96,32,97,115,32,96,116,114,117,101,96,32,119,105,108,108,10,32,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,96,102,97,108,115,101,96,32,119,105,108,108,10,32,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,10,32,32,96,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,96,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,10,32,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,10,32,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,96,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,96,32,105,115,32,107,101,112,116,32,101,110,97,98,108,101,100,44,10,32,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,10,10,32,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,110,111,100,101,32,103,108,111,98,97,108,32,115,116,97,116,101,44,32,96,116,114,117,101,96,32,105,102,32,115,99,104,101,100,117,108,101,114,32,119,97,108,108,32,116,105,109,101,10,32,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,96,102,97,108,115,101,96,32,105,102,32,105,116,32,119,101,114,101,32,100,105,115,97,98,108,101,100,46,10,10,32,32,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,10,32,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,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,82,49,53,66,48,49,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,112,111,115,95,105,110,116,101,103,101,114,40,41,41,32,45,62,32,112,111,115,95,105,110,116,101,103,101,114,40,41,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,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,10,32,32,96,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,96,46,10,10,32,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,10,10,32,32,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,10,32,32,91,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,93,40,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,41,44,32,99,104,97,110,103,105,110,103,10,32,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,10,32,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,10,32,32,111,110,108,105,110,101,44,32,97,110,100,32,91,96,115,121,115,116,101,109,95,102,108,97,103,47,50,96,93,40,96,115,121,115,116,101,109,95,102,108,97,103,47,50,96,41,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,10,32,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,10,32,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,10,32,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,10,32,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,46,10,10,32,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,10,32,32,91,96,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,96,93,40,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,41,32,97,110,100,10,32,32,91,96,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,96,93,40,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,41,46,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,108,111,103,103,101,114,32,124,32,117,110,100,101,102,105,110,101,100,32,124,32,112,105,100,40,41,41,32,45,62,32,108,111,103,103,101,114,32,124,32,117,110,100,101,102,105,110,101,100,32,124,32,112,105,100,40,41,10,32,32,96,96,96,10,10,32,32,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,10,32,32,115,101,116,32,116,111,32,96,117,110,100,101,102,105,110,101,100,96,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,10,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,32,32,76,101,118,101,108,32,61,32,97,116,111,109,40,41,44,10,32,32,70,111,114,109,97,116,32,61,32,115,116,114,105,110,103,40,41,44,10,32,32,65,114,103,76,105,115,116,32,61,32,108,105,115,116,40,116,101,114,109,40,41,41,44,10,32,32,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,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,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,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,96,96,96,10,10,32,32,73,102,32,116,104,101,32,96,115,121,115,116,101,109,95,108,111,103,103,101,114,96,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,96,108,111,103,103,101,114,96,46,10,10,32,32,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,96,108,111,103,103,101,114,96,46,10,10,32,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,10,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,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,96,109,58,108,111,103,103,101,114,96,46,32,66,101,32,99,97,114,101,102,117,108,32,105,102,10,32,32,62,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,10,32,32,62,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,10,32,32,62,32,75,69,82,78,69,76,32,108,111,103,103,101,114,46,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,50,49,46,50,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,115,121,115,116,101,109,95,102,108,97,103,40,116,114,97,99,101,95,99,111,110,116,114,111,108,95,119,111,114,100,44,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,41,32,45,62,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,10,32,32,96,96,96,10,10,32,32,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,96,84,67,87,96,44,32,119,104,105,99,104,32,105,115,32,116,111,32,98,101,32,97,110,10,32,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,10,32,32,91,96,115,101,116,95,116,99,119,96,93,40,109,97,116,99,104,95,115,112,101,99,46,109,100,35,115,101,116,95,116,99,119,41,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,10,32,32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46,10,10,32,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,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,45,62,32,112,114,101,108,105,109,105,110,97,114,121,32,124,32,102,105,110,97,108,32,124,32,118,111,108,97,116,105,108,101,10,32,32,96,96,96,10,32,32,123,58,32,35,115,121,115,116,101,109,95,102,108,97,103,95,116,105,109,101,95,111,102,102,115,101,116,32,125,10,10,32,32,70,105,110,97,108,105,122,101,115,32,116,104,101,32,91,116,105,109,101,32,111,102,102,115,101,116,93,40,96,116,105,109,101,95,111,102,102,115,101,116,47,48,96,41,32,119,104,101,110,10,32,32,91,115,105,110,103,108,101,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,115,105,110,103,108,101,45,116,105,109,101,45,119,97,114,112,45,109,111,100,101,41,32,105,115,32,117,115,101,100,46,32,73,102,10,32,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,10,10,32,32,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,10,10,32,32,45,32,73,102,32,96,112,114,101,108,105,109,105,110,97,114,121,96,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,10,32,32,32,32,105,115,32,110,111,119,32,102,105,110,97,108,46,10,32,32,45,32,73,102,32,96,102,105,110,97,108,96,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,10,32,32,32,32,101,105,116,104,101,114,32,98,101,99,97,117,115,101,32,97,110,111,116,104,101,114,32,96,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,96,32,99,97,108,108,32,111,114,10,32,32,32,32,98,101,99,97,117,115,101,32,91,110,111,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,110,111,45,116,105,109,101,45,119,97,114,112,45,109,111,100,101,41,32,105,115,32,117,115,101,100,46,10,32,32,45,32,73,102,32,96,118,111,108,97,116,105,108,101,96,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,10,32,32,32,32,91,109,117,108,116,105,45,116,105,109,101,32,119,97,114,112,32,109,111,100,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,109,117,108,116,105,45,116,105,109,101,45,119,97,114,112,45,109,111,100,101,41,32,105,115,32,117,115,101,100,46,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,49,56,46,48>>},#{group => system,specification => [{attribute,{9222,2},spec,{{system_flag,2},[{type,{9222,18},bounded_fun,[{type,{9222,18},'fun',[{type,{9222,18},product,[{atom,{9222,19},backtrace_depth},{var,{9222,36},'Depth'}]},{var,{9222,46},'OldDepth'}]},[{type,{9223,7},constraint,[{atom,{9223,7},is_subtype},[{var,{9223,7},'Depth'},{type,{9223,16},non_neg_integer,[]}]]},{type,{9224,7},constraint,[{atom,{9224,7},is_subtype},[{var,{9224,7},'OldDepth'},{type,{9224,19},non_neg_integer,[]}]]}]]},{type,{9225,25},bounded_fun,[{type,{9225,25},'fun',[{type,{9225,25},product,[{atom,{9225,26},cpu_topology},{var,{9225,40},'CpuTopology'}]},{var,{9225,56},'OldCpuTopology'}]},[{type,{9226,7},constraint,[{atom,{9226,7},is_subtype},[{var,{9226,7},'CpuTopology'},{user_type,{9226,22},cpu_topology,[]}]]},{type,{9227,7},constraint,[{atom,{9227,7},is_subtype},[{var,{9227,7},'OldCpuTopology'},{user_type,{9227,25},cpu_topology,[]}]]}]]},{type,{9228,25},bounded_fun,[{type,{9228,25},'fun',[{type,{9228,25},product,[{atom,{9228,26},dirty_cpu_schedulers_online},{var,{9228,55},'DirtyCPUSchedulersOnline'}]},{var,{9229,33},'OldDirtyCPUSchedulersOnline'}]},[{type,{9230,7},constraint,[{atom,{9230,7},is_subtype},[{var,{9230,7},'DirtyCPUSchedulersOnline'},{type,{9230,35},pos_integer,[]}]]},{type,{9231,7},constraint,[{atom,{9231,7},is_subtype},[{var,{9231,7},'OldDirtyCPUSchedulersOnline'},{type,{9231,38},pos_integer,[]}]]}]]},{type,{9232,25},bounded_fun,[{type,{9232,25},'fun',[{type,{9232,25},product,[{atom,{9232,26},erts_alloc},{type,{9232,38},tuple,[{var,{9232,39},'Alloc'},{var,{9232,46},'F'},{var,{9232,49},'V'}]}]},{type,{9232,56},union,[{atom,{9232,56},ok},{atom,{9232,61},notsup}]}]},[{type,{9233,7},constraint,[{atom,{9233,7},is_subtype},[{var,{9233,7},'Alloc'},{type,{9233,16},atom,[]}]]},{type,{9234,7},constraint,[{atom,{9234,7},is_subtype},[{var,{9234,7},'F'},{type,{9234,12},atom,[]}]]},{type,{9235,7},constraint,[{atom,{9235,7},is_subtype},[{var,{9235,7},'V'},{type,{9235,12},integer,[]}]]}]]},{type,{9236,25},bounded_fun,[{type,{9236,25},'fun',[{type,{9236,25},product,[{atom,{9236,26},fullsweep_after},{var,{9236,43},'Number'}]},{var,{9236,54},'OldNumber'}]},[{type,{9237,7},constraint,[{atom,{9237,7},is_subtype},[{var,{9237,7},'Number'},{type,{9237,17},non_neg_integer,[]}]]},{type,{9238,7},constraint,[{atom,{9238,7},is_subtype},[{var,{9238,7},'OldNumber'},{type,{9238,20},non_neg_integer,[]}]]}]]},{type,{9239,25},bounded_fun,[{type,{9239,25},'fun',[{type,{9239,25},product,[{atom,{9239,26},microstate_accounting},{var,{9239,49},'Action'}]},{var,{9239,60},'OldState'}]},[{type,{9240,7},constraint,[{atom,{9240,7},is_subtype},[{var,{9240,7},'Action'},{type,{9240,17},union,[{atom,{9240,17},true},{atom,{9240,24},false},{atom,{9240,32},reset}]}]]},{type,{9241,7},constraint,[{atom,{9241,7},is_subtype},[{var,{9241,7},'OldState'},{type,{9241,19},union,[{atom,{9241,19},true},{atom,{9241,26},false}]}]]}]]},{type,{9242,25},bounded_fun,[{type,{9242,25},'fun',[{type,{9242,25},product,[{atom,{9242,26},min_heap_size},{var,{9242,41},'MinHeapSize'}]},{var,{9242,57},'OldMinHeapSize'}]},[{type,{9243,7},constraint,[{atom,{9243,7},is_subtype},[{var,{9243,7},'MinHeapSize'},{type,{9243,22},non_neg_integer,[]}]]},{type,{9244,7},constraint,[{atom,{9244,7},is_subtype},[{var,{9244,7},'OldMinHeapSize'},{type,{9244,25},non_neg_integer,[]}]]}]]},{type,{9245,25},bounded_fun,[{type,{9245,25},'fun',[{type,{9245,25},product,[{atom,{9245,26},min_bin_vheap_size},{var,{9245,46},'MinBinVHeapSize'}]},{var,{9246,33},'OldMinBinVHeapSize'}]},[{type,{9247,7},constraint,[{atom,{9247,7},is_subtype},[{var,{9247,7},'MinBinVHeapSize'},{type,{9247,26},non_neg_integer,[]}]]},{type,{9248,7},constraint,[{atom,{9248,7},is_subtype},[{var,{9248,7},'OldMinBinVHeapSize'},{type,{9248,29},non_neg_integer,[]}]]}]]},{type,{9249,25},bounded_fun,[{type,{9249,25},'fun',[{type,{9249,25},product,[{atom,{9249,26},max_heap_size},{var,{9249,41},'MaxHeapSize'}]},{var,{9249,57},'OldMaxHeapSize'}]},[{type,{9250,7},constraint,[{atom,{9250,7},is_subtype},[{var,{9250,7},'MaxHeapSize'},{user_type,{9250,22},max_heap_size,[]}]]},{type,{9251,7},constraint,[{atom,{9251,7},is_subtype},[{var,{9251,7},'OldMaxHeapSize'},{user_type,{9251,25},max_heap_size,[]}]]}]]},{type,{9252,25},bounded_fun,[{type,{9252,25},'fun',[{type,{9252,25},product,[{atom,{9252,26},multi_scheduling},{var,{9252,44},'BlockState'}]},{var,{9252,59},'OldBlockState'}]},[{type,{9253,7},constraint,[{atom,{9253,7},is_subtype},[{var,{9253,7},'BlockState'},{type,{9253,21},union,[{atom,{9253,21},block},{atom,{9253,29},unblock},{atom,{9253,39},block_normal},{atom,{9253,54},unblock_normal}]}]]},{type,{9254,7},constraint,[{atom,{9254,7},is_subtype},[{var,{9254,7},'OldBlockState'},{type,{9254,24},union,[{atom,{9254,24},blocked},{atom,{9254,34},disabled},{atom,{9254,45},enabled}]}]]}]]},{type,{9255,25},bounded_fun,[{type,{9255,25},'fun',[{type,{9255,25},product,[{atom,{9255,26},outstanding_system_requests_limit},{var,{9255,61},'NewLimit'}]},{var,{9256,11},'OldLimit'}]},[{type,{9257,7},constraint,[{atom,{9257,7},is_subtype},[{var,{9257,7},'NewLimit'},{type,{9257,19},range,[{integer,{9257,19},1},{integer,{9257,22},134217727}]}]]},{type,{9258,7},constraint,[{atom,{9258,7},is_subtype},[{var,{9258,7},'OldLimit'},{type,{9258,19},range,[{integer,{9258,19},1},{integer,{9258,22},134217727}]}]]}]]},{type,{9259,25},bounded_fun,[{type,{9259,25},'fun',[{type,{9259,25},product,[{atom,{9259,26},scheduler_bind_type},{var,{9259,47},'How'}]},{var,{9259,55},'OldBindType'}]},[{type,{9260,7},constraint,[{atom,{9260,7},is_subtype},[{var,{9260,7},'How'},{type,{9260,14},union,[{user_type,{9260,14},scheduler_bind_type,[]},{atom,{9260,38},default_bind}]}]]},{type,{9261,7},constraint,[{atom,{9261,7},is_subtype},[{var,{9261,7},'OldBindType'},{user_type,{9261,22},scheduler_bind_type,[]}]]}]]},{type,{9262,25},bounded_fun,[{type,{9262,25},'fun',[{type,{9262,25},product,[{atom,{9262,26},scheduler_wall_time},{var,{9262,47},'Boolean'}]},{var,{9262,60},'OldBoolean'}]},[{type,{9263,7},constraint,[{atom,{9263,7},is_subtype},[{var,{9263,7},'Boolean'},{type,{9263,18},boolean,[]}]]},{type,{9264,7},constraint,[{atom,{9264,7},is_subtype},[{var,{9264,7},'OldBoolean'},{type,{9264,21},boolean,[]}]]}]]},{type,{9265,25},bounded_fun,[{type,{9265,25},'fun',[{type,{9265,25},product,[{atom,{9265,26},schedulers_online},{var,{9265,45},'SchedulersOnline'}]},{var,{9266,33},'OldSchedulersOnline'}]},[{type,{9267,7},constraint,[{atom,{9267,7},is_subtype},[{var,{9267,7},'SchedulersOnline'},{type,{9267,27},pos_integer,[]}]]},{type,{9268,7},constraint,[{atom,{9268,7},is_subtype},[{var,{9268,7},'OldSchedulersOnline'},{type,{9268,30},pos_integer,[]}]]}]]},{type,{9269,25},bounded_fun,[{type,{9269,25},'fun',[{type,{9269,25},product,[{atom,{9269,26},system_logger},{var,{9269,41},'Logger'}]},{var,{9269,52},'PrevLogger'}]},[{type,{9270,7},constraint,[{atom,{9270,7},is_subtype},[{var,{9270,7},'Logger'},{type,{9270,17},union,[{atom,{9270,17},logger},{atom,{9270,26},undefined},{type,{9270,38},pid,[]}]}]]},{type,{9271,7},constraint,[{atom,{9271,7},is_subtype},[{var,{9271,7},'PrevLogger'},{type,{9271,21},union,[{atom,{9271,21},logger},{atom,{9271,30},undefined},{type,{9271,42},pid,[]}]}]]}]]},{type,{9272,25},bounded_fun,[{type,{9272,25},'fun',[{type,{9272,25},product,[{atom,{9272,26},trace_control_word},{var,{9272,46},'TCW'}]},{var,{9272,54},'OldTCW'}]},[{type,{9273,7},constraint,[{atom,{9273,7},is_subtype},[{var,{9273,7},'TCW'},{type,{9273,14},non_neg_integer,[]}]]},{type,{9274,7},constraint,[{atom,{9274,7},is_subtype},[{var,{9274,7},'OldTCW'},{type,{9274,17},non_neg_integer,[]}]]}]]},{type,{9275,4},bounded_fun,[{type,{9275,4},'fun',[{type,{9275,4},product,[{atom,{9275,5},time_offset},{atom,{9275,18},finalize}]},{var,{9275,31},'OldState'}]},[{type,{9276,7},constraint,[{atom,{9276,7},is_subtype},[{var,{9276,7},'OldState'},{type,{9276,19},union,[{atom,{9276,19},preliminary},{atom,{9276,33},final},{atom,{9276,41},volatile}]}]]}]]},{type,{9278,4},'fun',[{type,{9278,4},product,[{atom,{9278,5},internal_cpu_topology},{type,{9278,28},term,[]}]},{type,{9278,39},term,[]}]},{type,{9279,25},bounded_fun,[{type,{9279,25},'fun',[{type,{9279,25},product,[{atom,{9279,26},sequential_tracer},{var,{9279,45},'Tracer'}]},{type,{9279,56},union,[{var,{9279,56},'PrevTracer'},{atom,{9279,69},false}]}]},[{type,{9280,7},constraint,[{atom,{9280,7},is_subtype},[{var,{9280,7},'Tracer'},{type,{9280,17},union,[{type,{9280,17},pid,[]},{type,{9280,25},port,[]},{type,{9280,34},tuple,[{type,{9280,35},module,[]},{type,{9280,45},term,[]}]},{atom,{9280,55},false}]}]]},{type,{9281,7},constraint,[{atom,{9281,7},is_subtype},[{var,{9281,7},'PrevTracer'},{type,{9281,21},union,[{type,{9281,21},pid,[]},{type,{9281,29},port,[]},{type,{9281,38},tuple,[{type,{9281,39},module,[]},{type,{9281,49},term,[]}]},{atom,{9281,59},false}]}]]}]]},{type,{9282,25},'fun',[{type,{9282,25},product,[{atom,{9282,26},reset_seq_trace},{atom,{9282,42},true}]},{atom,{9282,51},true}]}]}}]}},{{function,subtract,2},{8746,2},[<<115,117,98,116,114,97,99,116,47,50>>],hidden,#{}},{{function,statistics,1},{8127,2},[<<115,116,97,116,105,115,116,105,99,115,40,73,116,101,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,115,116,97,116,105,115,116,105,99,115,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,10,10,84,104,101,32,112,111,115,115,105,98,108,101,32,102,108,97,103,115,32,97,114,101,58,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,115,116,97,116,105,115,116,105,99,115,40,97,99,116,105,118,101,95,116,97,115,107,115,41,32,45,62,32,91,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,93,10,32,32,96,96,96,10,32,32,123,58,32,35,115,116,97,116,105,115,116,105,99,115,95,97,99,116,105,118,101,95,116,97,115,107,115,32,125,10,10,32,32,82,101,116,117,114,110,115,32,116,104,101,32,115,97,109,101,32,97,115,10,32,32,91,96,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,96,93,40,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,41,32,119,105,116,104,10,32,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,10,32,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,10,32,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,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,49,56,46,51,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,45,62,32,91,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,93,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,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,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,10,32,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,95,110,111,116,95,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,10,32,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,10,32,32,101,102,102,105,99,105,101,110,116,108,121,32,103,97,116,104,101,114,101,100,46,10,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,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,10,32,32,62,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,10,32,32,62,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,10,32,32,62,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,95,110,111,116,95,32,109,105,103,114,97,116,101,10,32,32,62,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,10,32,32,62,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,10,32,32,62,32,101,118,97,108,117,97,116,105,110,103,32,116,104,101,32,114,101,115,117,108,116,46,10,10,32,32,83,101,101,32,97,108,115,111,10,32,32,91,96,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,96,93,40,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,41,44,10,32,32,91,96,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,96,93,40,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,41,44,10,32,32,91,96,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,96,93,40,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,41,44,10,32,32,91,96,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,96,93,40,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,41,44,10,32,32,97,110,100,10,32,32,91,96,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,96,93,40,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,41,46,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,50,48,46,48,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,115,116,97,116,105,115,116,105,99,115,40,99,111,110,116,101,120,116,95,115,119,105,116,99,104,101,115,41,32,45,62,32,123,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,44,32,48,125,10,32,32,96,96,96,10,32,32,123,58,32,35,115,116,97,116,105,115,116,105,99,115,95,99,111,110,116,101,120,116,95,115,119,105,116,99,104,101,115,32,125,10,10,32,32,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,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,45,62,32,123,84,111,116,97,108,32,58,58,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,44,32,83,105,110,99,101,76,97,115,116,67,97,108,108,32,58,58,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,125,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,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,10,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,91,96,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,96,93,40,96,115,116,97,116,105,115,116,105,99,115,47,49,96,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,10,32,32,62,32,116,104,97,110,32,91,115,116,97,116,105,115,116,105,99,115,40,114,101,100,117,99,116,105,111,110,115,41,93,40,35,115,116,97,116,105,115,116,105,99,115,95,114,101,100,117,99,116,105,111,110,115,41,46,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,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,32,45,62,10,32,32,32,32,123,32,78,117,109,101,114,79,102,71,67,115,32,58,58,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,44,32,87,111,114,100,115,82,101,99,108,97,105,109,101,100,32,58,58,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,44,32,48,125,10,32,32,96,96,96,10,10,32,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,32,32,123,56,53,44,50,51,57,54,49,44,48,125,10,32,32,96,96,96,10,10,32,32,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,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,115,116,97,116,105,115,116,105,99,115,40,105,111,41,32,45,62,32,123,123,105,110,112,117,116,44,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,125,44,32,123,111,117,116,112,117,116,44,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,125,125,10,32,32,96,96,96,10,10,32,32,82,101,116,117,114,110,115,32,96,73,110,112,117,116,96,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,10,32,32,96,79,117,116,112,117,116,96,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,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,45,62,32,91,77,83,65,99,99,95,84,104,114,101,97,100,93,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,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,10,32,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,10,32,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,10,32,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,10,32,32,96,115,116,97,114,116,96,47,96,115,116,111,112,96,47,96,114,101,115,101,116,96,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,10,32,32,91,96,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103,96,93,40,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,41,46,10,10,32,32,91,96,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,96,93,40,96,115,116,97,116,105,115,116,105,99,115,47,49,96,41,32,114,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,109,97,112,115,10,32,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,96,116,121,112,101,96,32,97,110,100,10,32,32,96,105,100,96,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,10,32,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,10,32,32,115,116,97,116,101,115,46,10,10,32,32,69,120,97,109,112,108,101,58,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,32,32,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,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,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,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,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,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,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,32,32,105,100,32,61,62,32,49,44,10,32,32,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,10,32,32,96,96,96,10,10,32,32,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,96,111,115,58,112,101,114,102,95,99,111,117,110,116,101,114,47,48,96,46,32,83,111,44,32,116,111,32,99,111,110,118,101,114,116,32,105,116,10,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,108,105,115,116,115,58,109,97,112,40,10,32,32,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,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,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,32,32,101,110,100,44,32,67,110,116,41,44,10,32,32,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,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,10,32,32,96,96,96,10,10,32,32,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,10,32,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,10,32,32,115,109,97,108,108,32,97,115,32,112,111,115,115,105,98,108,101,46,10,10,32,32,96,77,83,65,99,99,95,84,104,114,101,97,100,95,84,121,112,101,96,115,58,10,10,32,32,45,32,42,42,96,115,99,104,101,100,117,108,101,114,96,42,42,32,45,32,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,10,32,32,32,32,91,101,114,108,32,43,83,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,83,41,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46,10,10,32,32,45,32,42,42,96,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,96,42,42,32,45,32,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,10,32,32,32,32,83,101,101,32,91,101,114,108,32,43,83,68,99,112,117,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,83,68,99,112,117,41,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46,10,10,32,32,45,32,42,42,96,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,96,42,42,32,45,32,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,10,32,32,32,32,91,101,114,108,32,43,83,68,105,111,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,83,68,105,111,41,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46,10,10,32,32,45,32,42,42,96,97,115,121,110,99,96,42,42,32,45,32,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,10,32,32,32,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,10,32,32,32,32,91,101,114,108,32,43,65,93,40,101,114,108,95,99,109,100,46,109,100,35,97,115,121,110,99,95,116,104,114,101,97,100,95,112,111,111,108,95,115,105,122,101,41,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46,10,10,32,32,45,32,42,42,96,97,117,120,96,42,42,32,45,32,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,10,32,32,32,32,115,99,104,101,100,117,108,101,114,46,10,10,32,32,45,32,42,42,96,112,111,108,108,96,42,42,32,45,32,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,10,32,32,32,32,91,101,114,108,32,43,73,79,116,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,73,79,116,41,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46,10,10,32,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,96,77,83,65,99,99,95,84,104,114,101,97,100,95,83,116,97,116,101,96,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,10,32,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,10,32,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,10,10,32,32,45,32,42,42,96,97,117,120,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,99,104,101,99,107,95,105,111,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,101,109,117,108,97,116,111,114,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,103,99,96,42,42,32,45,32,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,10,32,32,32,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,10,10,32,32,45,32,42,42,96,111,116,104,101,114,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,112,111,114,116,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,115,108,101,101,112,96,42,42,32,45,32,84,105,109,101,32,115,112,101,110,116,32,115,108,101,101,112,105,110,103,46,10,10,32,32,77,111,114,101,32,102,105,110,101,45,103,114,97,105,110,101,100,32,96,77,83,65,99,99,95,84,104,114,101,97,100,95,83,116,97,116,101,96,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,10,32,32,96,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,96,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,10,32,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,10,32,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,10,10,32,32,45,32,42,42,96,97,108,108,111,99,96,42,42,32,45,32,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,10,32,32,32,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,10,10,32,32,45,32,42,42,96,98,105,102,96,42,42,32,45,32,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,10,32,32,32,32,96,101,109,117,108,97,116,111,114,96,32,115,116,97,116,101,46,10,10,32,32,45,32,42,42,96,98,117,115,121,95,119,97,105,116,96,42,42,32,45,32,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,10,32,32,32,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,10,32,32,32,32,91,96,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,96,93,40,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,41,46,10,32,32,32,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,10,32,32,32,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,10,32,32,32,32,96,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,96,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,10,32,32,32,32,96,111,116,104,101,114,96,32,115,116,97,116,101,46,10,10,32,32,45,32,42,42,96,101,116,115,96,42,42,32,45,32,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,10,32,32,32,32,112,97,114,116,32,111,102,32,116,104,101,32,96,101,109,117,108,97,116,111,114,96,32,115,116,97,116,101,46,10,10,32,32,45,32,42,42,96,103,99,95,102,117,108,108,96,42,42,32,45,32,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,10,32,32,32,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,96,103,99,96,32,115,116,97,116,101,46,10,10,32,32,45,32,42,42,96,110,105,102,96,42,42,32,45,32,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,10,32,32,32,32,96,101,109,117,108,97,116,111,114,96,32,115,116,97,116,101,46,10,10,32,32,45,32,42,42,96,115,101,110,100,96,42,42,32,45,32,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,10,32,32,32,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,96,101,109,117,108,97,116,111,114,96,32,115,116,97,116,101,46,10,10,32,32,45,32,42,42,96,116,105,109,101,114,115,96,42,42,32,45,32,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,10,32,32,32,32,112,97,114,116,32,111,102,32,116,104,101,32,96,111,116,104,101,114,96,32,115,116,97,116,101,46,10,10,32,32,84,104,101,32,117,116,105,108,105,116,121,32,109,111,100,117,108,101,32,96,109,58,109,115,97,99,99,96,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,10,32,32,115,116,97,116,105,115,116,105,99,115,46,10,10,32,32,82,101,116,117,114,110,115,32,96,117,110,100,101,102,105,110,101,100,96,32,105,102,32,115,121,115,116,101,109,32,102,108,97,103,10,32,32,91,96,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103,96,93,40,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,41,32,105,115,10,32,32,116,117,114,110,101,100,32,111,102,102,46,10,10,32,32,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,10,32,32,98,101,116,119,101,101,110,32,99,97,108,108,115,46,10,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,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,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,49,57,46,48,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,115,116,97,116,105,115,116,105,99,115,40,114,101,100,117,99,116,105,111,110,115,41,32,45,62,32,123,82,101,100,117,99,116,105,111,110,115,32,58,58,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,44,32,83,105,110,99,101,76,97,115,116,67,97,108,108,32,58,58,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,125,10,32,32,96,96,96,10,32,32,123,58,32,35,115,116,97,116,105,115,116,105,99,115,95,114,101,100,117,99,116,105,111,110,115,32,125,10,10,32,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,32,32,123,50,48,52,54,44,49,49,125,10,32,32,96,96,96,10,10,32,32,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,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,10,32,32,62,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,10,32,32,62,32,118,97,108,117,101,32,105,115,32,119,97,110,116,101,100,44,32,117,115,101,10,32,32,62,32,91,96,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,96,93,40,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,41,46,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,115,116,97,116,105,115,116,105,99,115,40,114,117,110,95,113,117,101,117,101,41,32,45,62,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,10,32,32,96,96,96,10,32,32,123,58,32,35,115,116,97,116,105,115,116,105,99,115,95,114,117,110,95,113,117,101,117,101,32,125,10,10,32,32,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,10,32,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,10,32,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,10,32,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,10,32,32,91,96,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,96,93,40,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,41,44,10,32,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,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,32,45,62,32,91,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,93,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,82,101,116,117,114,110,115,32,116,104,101,32,115,97,109,101,32,97,115,10,32,32,91,96,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,96,93,40,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,41,10,32,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,10,32,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,10,32,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,46,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,49,56,46,51,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,45,62,32,91,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,93,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,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,95,110,111,116,95,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,10,32,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,10,32,32,103,97,116,104,101,114,101,100,46,10,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,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,10,32,32,62,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,10,32,32,62,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,10,32,32,62,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,95,110,111,116,95,32,109,105,103,114,97,116,101,10,32,32,62,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,10,32,32,62,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,10,32,32,62,32,101,118,97,108,117,97,116,105,110,103,32,116,104,101,32,114,101,115,117,108,116,46,10,10,32,32,83,101,101,32,97,108,115,111,10,32,32,91,96,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,96,93,40,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,41,44,10,32,32,91,96,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,96,93,40,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,41,44,10,32,32,91,96,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,96,93,40,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,41,44,10,32,32,91,96,115,116,97,116,105,115,116,105,99,115,40,97,99,116,105,118,101,95,116,97,115,107,115,41,96,93,40,35,115,116,97,116,105,115,116,105,99,115,95,97,99,116,105,118,101,95,116,97,115,107,115,41,44,10,32,32,91,96,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,96,93,40,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,41,44,32,97,110,100,10,32,32,91,96,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,96,93,40,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,41,44,10,32,32,91,96,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,96,93,40,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,41,46,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,50,48,46,48,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,115,116,97,116,105,115,116,105,99,115,40,114,117,110,116,105,109,101,41,32,45,62,32,123,84,111,116,97,108,32,58,58,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,44,32,83,105,110,99,101,76,97,115,116,67,97,108,108,32,58,58,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,125,10,32,32,96,96,96,10,10,32,32,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,10,10,32,32,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,10,32,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,10,10,32,32,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,32,32,62,10,32,32,62,32,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,10,32,32,62,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,10,10,32,32,69,120,97,109,112,108,101,58,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,62,32,115,116,97,116,105,115,116,105,99,115,40,114,117,110,116,105,109,101,41,46,10,32,32,123,49,54,57,48,44,49,54,50,48,125,10,32,32,96,96,96,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,32,45,62,10,32,32,32,32,91,123,73,100,32,58,58,32,112,111,115,95,105,110,116,101,103,101,114,44,10,32,32,32,32,32,32,65,99,116,105,118,101,84,105,109,101,32,58,58,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,44,10,32,32,32,32,32,32,84,111,116,97,108,84,105,109,101,32,58,58,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,125,93,32,124,10,32,32,32,32,117,110,100,101,102,105,110,101,100,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,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,10,32,32,91,110,111,114,109,97,108,93,40,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,41,32,97,110,100,10,32,32,91,100,105,114,116,121,32,67,80,85,93,40,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,41,32,115,99,104,101,100,117,108,101,114,115,32,105,110,32,116,104,101,10,32,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,10,32,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,10,32,32,98,121,32,116,111,111,108,115,32,115,117,99,104,32,97,115,32,96,116,111,112,96,32,111,114,32,96,115,121,115,115,116,97,116,96,46,32,84,104,105,115,32,105,115,32,98,101,99,97,117,115,101,32,96,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,96,32,97,108,115,111,10,32,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,10,32,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,10,32,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,10,32,32,91,109,105,99,114,111,115,116,97,116,101,32,97,99,99,111,117,110,116,105,110,103,93,40,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,41,46,10,10,32,32,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,10,32,32,91,98,117,115,121,32,119,97,105,116,105,110,103,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,98,119,116,41,32,102,111,114,32,110,101,119,32,119,111,114,107,44,32,116,104,97,116,32,105,115,58,10,10,32,32,45,32,69,120,101,99,117,116,105,110,103,32,112,114,111,99,101,115,115,32,99,111,100,101,10,32,32,45,32,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,10,32,32,45,32,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,10,32,32,45,32,71,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,110,103,10,32,32,45,32,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,10,10,32,32,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,10,32,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,46,10,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,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,96,109,58,115,99,104,101,100,117,108,101,114,96,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,10,32,32,62,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,10,32,32,62,32,119,97,110,116,46,10,10,32,32,73,102,32,91,101,110,97,98,108,101,100,93,40,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,41,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,97,10,32,32,108,105,115,116,32,111,102,32,116,117,112,108,101,115,32,119,105,116,104,32,96,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,96,44,32,119,104,101,114,101,32,96,83,99,104,101,100,117,108,101,114,73,100,96,10,32,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,96,65,99,116,105,118,101,84,105,109,101,96,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,10,32,32,104,97,115,32,98,101,101,110,32,98,117,115,121,44,32,97,110,100,32,96,84,111,116,97,108,84,105,109,101,96,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,10,32,32,91,96,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,96,93,40,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,41,32,97,99,116,105,118,97,116,105,111,110,10,32,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,10,32,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,10,32,32,96,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,96,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,10,32,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,96,65,99,116,105,118,101,84,105,109,101,96,32,99,97,110,32,110,101,118,101,114,32,101,120,99,101,101,100,32,96,84,111,116,97,108,84,105,109,101,96,46,32,84,104,101,32,108,105,115,116,10,32,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,10,32,32,99,97,108,108,115,46,10,10,32,32,84,104,101,32,91,100,105,115,97,98,108,101,100,93,40,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,41,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,10,32,32,96,117,110,100,101,102,105,110,101,100,96,46,10,10,32,32,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,10,32,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,10,32,32,115,111,109,101,32,116,105,109,101,32,97,102,116,101,114,32,116,104,101,32,96,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,96,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,10,10,32,32,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,10,32,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,10,32,32,97,98,111,117,116,32,91,100,105,114,116,121,32,73,47,79,32,115,99,104,101,100,117,108,101,114,115,93,40,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,41,44,32,117,115,101,10,32,32,91,96,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,96,93,40,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,41,10,32,32,105,110,115,116,101,97,100,46,10,10,32,32,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,10,32,32,96,49,32,61,60,32,83,99,104,101,100,117,108,101,114,73,100,32,61,60,32,96,91,96,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,96,93,40,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,41,46,10,32,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,10,32,32,96,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,96,91,96,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,96,93,40,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,41,46,10,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,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,10,32,32,62,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,10,32,32,62,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,10,32,32,62,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,10,32,32,62,32,114,101,116,117,114,110,101,100,46,10,10,32,32,89,111,117,32,99,97,110,32,117,115,101,32,96,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,96,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,10,32,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,10,32,32,96,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,96,46,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,32,32,102,97,108,115,101,10,32,32,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,32,32,111,107,10,32,32,96,96,96,10,10,32,32,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,10,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,32,32,111,107,10,32,32,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,32,32,32,32,32,32,32,32,32,32,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,32,32,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,32,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,32,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,32,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,32,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,32,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,32,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,32,32,123,56,44,48,46,57,55,52,49,50,57,55,50,57,51,50,52,56,54,53,54,125,93,10,32,32,96,96,96,10,10,32,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,32,32,32,32,32,32,32,32,32,32,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,32,32,32,32,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,32,32,48,46,57,55,54,57,49,51,54,56,48,51,55,54,52,56,50,53,10,32,32,96,96,96,10,10,32,32,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,96,49,46,48,96,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,10,32,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,10,10,32,32,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,10,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,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,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,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,32,32,48,46,57,55,54,57,49,51,54,56,48,51,55,54,52,56,50,53,10,32,32,96,96,96,10,10,32,32,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,96,49,46,48,96,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,10,32,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,10,32,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,96,49,46,48,96,46,10,10,32,32,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,10,32,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,10,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,96,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,96,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,10,32,32,62,32,91,96,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,96,93,40,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,41,46,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,82,49,53,66,48,49,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,45,62,10,32,32,32,32,91,123,73,100,32,58,58,32,112,111,115,95,105,110,116,101,103,101,114,44,10,32,32,32,32,32,32,65,99,116,105,118,101,84,105,109,101,32,58,58,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,44,10,32,32,32,32,32,32,84,111,116,97,108,84,105,109,101,32,58,58,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,125,93,32,124,10,32,32,32,32,117,110,100,101,102,105,110,101,100,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,69,113,117,105,118,97,108,101,110,116,32,116,111,10,32,32,91,96,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,96,93,40,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,41,44,10,32,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,10,10,32,32,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,10,32,32,91,96,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,96,93,40,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,41,96,43,96,91,96,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,96,93,40,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,41,96,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,96,91,96,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,96,93,40,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,41,46,10,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,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,10,32,32,62,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,10,32,32,62,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,95,110,111,116,95,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,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,50,48,46,48,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,32,45,62,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,69,113,117,105,118,97,108,101,110,116,32,116,111,32,99,97,108,108,105,110,103,10,32,32,96,108,105,115,116,115,58,115,117,109,40,96,91,96,115,116,97,116,105,115,116,105,99,115,40,97,99,116,105,118,101,95,116,97,115,107,115,41,96,93,40,35,115,116,97,116,105,115,116,105,99,115,95,97,99,116,105,118,101,95,116,97,115,107,115,41,96,41,96,44,10,32,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,46,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,49,56,46,51,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,32,45,62,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,69,113,117,105,118,97,108,101,110,116,32,116,111,32,99,97,108,108,105,110,103,10,32,32,96,108,105,115,116,115,58,115,117,109,40,96,91,96,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,96,93,40,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,41,96,41,96,44,10,32,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,46,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,50,48,46,48,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,32,45,62,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,69,113,117,105,118,97,108,101,110,116,32,116,111,32,99,97,108,108,105,110,103,10,32,32,96,108,105,115,116,115,58,115,117,109,40,96,91,96,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,96,93,40,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,41,96,41,96,44,10,32,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,46,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,49,56,46,51,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,32,45,62,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,10,32,32,69,113,117,105,118,97,108,101,110,116,32,116,111,32,99,97,108,108,105,110,103,10,32,32,96,108,105,115,116,115,58,115,117,109,40,96,91,96,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,96,93,40,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,41,96,41,96,44,10,32,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,46,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,50,48,46,48,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,115,116,97,116,105,115,116,105,99,115,40,119,97,108,108,95,99,108,111,99,107,41,32,45,62,32,123,84,111,116,97,108,32,58,58,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,44,32,83,105,110,99,101,76,97,115,116,67,97,108,108,32,58,58,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,125,10,32,32,96,96,96,10,32,32,123,58,32,35,115,116,97,116,105,115,116,105,99,115,95,119,97,108,108,95,99,108,111,99,107,32,125,10,10,32,32,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,96,119,97,108,108,95,99,108,111,99,107,96,32,99,97,110,32,98,101,32,117,115,101,100,32,105,110,32,116,104,101,32,115,97,109,101,10,32,32,109,97,110,110,101,114,32,97,115,32,96,114,117,110,116,105,109,101,96,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,10,32,32,67,80,85,32,116,105,109,101,46>>},#{group => system,specification => [{attribute,{8682,2},spec,{{statistics,1},[{type,{8682,17},bounded_fun,[{type,{8682,17},'fun',[{type,{8682,17},product,[{atom,{8682,18},active_tasks}]},{type,{8682,35},list,[{var,{8682,36},'ActiveTasks'}]}]},[{type,{8683,7},constraint,[{atom,{8683,7},is_subtype},[{var,{8683,7},'ActiveTasks'},{type,{8683,22},non_neg_integer,[]}]]}]]},{type,{8684,3},bounded_fun,[{type,{8684,3},'fun',[{type,{8684,3},product,[{atom,{8684,4},active_tasks_all}]},{type,{8684,25},list,[{var,{8684,26},'ActiveTasks'}]}]},[{type,{8685,7},constraint,[{atom,{8685,7},is_subtype},[{var,{8685,7},'ActiveTasks'},{type,{8685,22},non_neg_integer,[]}]]}]]},{type,{8686,3},bounded_fun,[{type,{8686,3},'fun',[{type,{8686,3},product,[{atom,{8686,4},context_switches}]},{type,{8686,25},tuple,[{var,{8686,26},'ContextSwitches'},{integer,{8686,42},0}]}]},[{type,{8687,7},constraint,[{atom,{8687,7},is_subtype},[{var,{8687,7},'ContextSwitches'},{type,{8687,26},non_neg_integer,[]}]]}]]},{type,{8688,17},bounded_fun,[{type,{8688,17},'fun',[{type,{8688,17},product,[{atom,{8688,18},exact_reductions}]},{type,{8688,39},tuple,[{var,{8688,40},'Total_Exact_Reductions'},{var,{8689,40},'Exact_Reductions_Since_Last_Call'}]}]},[{type,{8690,7},constraint,[{atom,{8690,7},is_subtype},[{var,{8690,7},'Total_Exact_Reductions'},{type,{8690,33},non_neg_integer,[]}]]},{type,{8691,7},constraint,[{atom,{8691,7},is_subtype},[{var,{8691,7},'Exact_Reductions_Since_Last_Call'},{type,{8691,43},non_neg_integer,[]}]]}]]},{type,{8692,17},bounded_fun,[{type,{8692,17},'fun',[{type,{8692,17},product,[{atom,{8692,18},garbage_collection}]},{type,{8692,41},tuple,[{var,{8692,42},'Number_of_GCs'},{var,{8692,57},'Words_Reclaimed'},{integer,{8692,74},0}]}]},[{type,{8693,7},constraint,[{atom,{8693,7},is_subtype},[{var,{8693,7},'Number_of_GCs'},{type,{8693,24},non_neg_integer,[]}]]},{type,{8694,7},constraint,[{atom,{8694,7},is_subtype},[{var,{8694,7},'Words_Reclaimed'},{type,{8694,26},non_neg_integer,[]}]]}]]},{type,{8695,17},bounded_fun,[{type,{8695,17},'fun',[{type,{8695,17},product,[{atom,{8695,18},io}]},{type,{8695,25},tuple,[{type,{8695,26},tuple,[{atom,{8695,27},input},{var,{8695,34},'Input'}]},{type,{8695,42},tuple,[{atom,{8695,43},output},{var,{8695,51},'Output'}]}]}]},[{type,{8696,7},constraint,[{atom,{8696,7},is_subtype},[{var,{8696,7},'Input'},{type,{8696,16},non_neg_integer,[]}]]},{type,{8697,7},constraint,[{atom,{8697,7},is_subtype},[{var,{8697,7},'Output'},{type,{8697,17},non_neg_integer,[]}]]}]]},{type,{8698,17},bounded_fun,[{type,{8698,17},'fun',[{type,{8698,17},product,[{atom,{8698,18},microstate_accounting}]},{type,{8698,44},union,[{type,{8698,44},list,[{var,{8698,45},'MSAcc_Thread'}]},{atom,{8698,61},undefined}]}]},[{type,{8699,7},constraint,[{atom,{8699,7},is_subtype},[{var,{8699,7},'MSAcc_Thread'},{type,{8699,23},map,[{type,{8699,31},map_field_exact,[{atom,{8699,26},type},{var,{8699,34},'MSAcc_Thread_Type'}]},{type,{8700,28},map_field_exact,[{atom,{8700,25},id},{var,{8700,31},'MSAcc_Thread_Id'}]},{type,{8701,34},map_field_exact,[{atom,{8701,25},counters},{var,{8701,37},'MSAcc_Counters'}]}]}]]},{type,{8702,7},constraint,[{atom,{8702,7},is_subtype},[{var,{8702,7},'MSAcc_Thread_Type'},{type,{8702,28},union,[{atom,{8702,28},async},{atom,{8702,36},aux},{atom,{8702,42},dirty_io_scheduler},{atom,{8703,28},dirty_cpu_scheduler},{atom,{8703,50},poll},{atom,{8703,57},scheduler}]}]]},{type,{8704,7},constraint,[{atom,{8704,7},is_subtype},[{var,{8704,7},'MSAcc_Thread_Id'},{type,{8704,26},non_neg_integer,[]}]]},{type,{8705,7},constraint,[{atom,{8705,7},is_subtype},[{var,{8705,7},'MSAcc_Counters'},{type,{8705,25},map,[{type,{8705,47},map_field_assoc,[{var,{8705,28},'MSAcc_Thread_State'},{type,{8705,50},non_neg_integer,[]}]}]}]]},{type,{8706,7},constraint,[{atom,{8706,7},is_subtype},[{var,{8706,7},'MSAcc_Thread_State'},{type,{8706,29},union,[{atom,{8706,29},alloc},{atom,{8706,37},aux},{atom,{8706,43},bif},{atom,{8706,49},busy_wait},{atom,{8706,61},check_io},{atom,{8707,29},emulator},{atom,{8707,40},ets},{atom,{8707,46},gc},{atom,{8707,51},gc_fullsweep},{atom,{8707,66},nif},{atom,{8708,29},other},{atom,{8708,37},port},{atom,{8708,44},send},{atom,{8708,51},sleep},{atom,{8708,59},timers}]}]]}]]},{type,{8709,17},bounded_fun,[{type,{8709,17},'fun',[{type,{8709,17},product,[{atom,{8709,18},reductions}]},{type,{8709,33},tuple,[{var,{8709,34},'Total_Reductions'},{var,{8710,34},'Reductions_Since_Last_Call'}]}]},[{type,{8711,7},constraint,[{atom,{8711,7},is_subtype},[{var,{8711,7},'Total_Reductions'},{type,{8711,27},non_neg_integer,[]}]]},{type,{8712,7},constraint,[{atom,{8712,7},is_subtype},[{var,{8712,7},'Reductions_Since_Last_Call'},{type,{8712,37},non_neg_integer,[]}]]}]]},{type,{8713,17},'fun',[{type,{8713,17},product,[{atom,{8713,18},run_queue}]},{type,{8713,32},non_neg_integer,[]}]},{type,{8714,17},bounded_fun,[{type,{8714,17},'fun',[{type,{8714,17},product,[{atom,{8714,18},run_queue_lengths}]},{type,{8714,40},list,[{var,{8714,41},'RunQueueLength'}]}]},[{type,{8715,7},constraint,[{atom,{8715,7},is_subtype},[{var,{8715,7},'RunQueueLength'},{type,{8715,25},non_neg_integer,[]}]]}]]},{type,{8716,17},bounded_fun,[{type,{8716,17},'fun',[{type,{8716,17},product,[{atom,{8716,18},run_queue_lengths_all}]},{type,{8716,44},list,[{var,{8716,45},'RunQueueLength'}]}]},[{type,{8717,7},constraint,[{atom,{8717,7},is_subtype},[{var,{8717,7},'RunQueueLength'},{type,{8717,25},non_neg_integer,[]}]]}]]},{type,{8718,17},bounded_fun,[{type,{8718,17},'fun',[{type,{8718,17},product,[{atom,{8718,18},runtime}]},{type,{8718,30},tuple,[{var,{8718,31},'Total_Run_Time'},{var,{8718,47},'Time_Since_Last_Call'}]}]},[{type,{8719,7},constraint,[{atom,{8719,7},is_subtype},[{var,{8719,7},'Total_Run_Time'},{type,{8719,25},non_neg_integer,[]}]]},{type,{8720,7},constraint,[{atom,{8720,7},is_subtype},[{var,{8720,7},'Time_Since_Last_Call'},{type,{8720,31},non_neg_integer,[]}]]}]]},{type,{8721,17},bounded_fun,[{type,{8721,17},'fun',[{type,{8721,17},product,[{atom,{8721,18},scheduler_wall_time}]},{type,{8721,42},union,[{type,{8721,42},list,[{type,{8721,43},tuple,[{var,{8721,44},'SchedulerId'},{var,{8721,57},'ActiveTime'},{var,{8721,69},'TotalTime'}]}]},{atom,{8721,83},undefined}]}]},[{type,{8722,7},constraint,[{atom,{8722,7},is_subtype},[{var,{8722,7},'SchedulerId'},{type,{8722,22},pos_integer,[]}]]},{type,{8723,7},constraint,[{atom,{8723,7},is_subtype},[{var,{8723,7},'ActiveTime'},{type,{8723,22},non_neg_integer,[]}]]},{type,{8724,7},constraint,[{atom,{8724,7},is_subtype},[{var,{8724,7},'TotalTime'},{type,{8724,22},non_neg_integer,[]}]]}]]},{type,{8725,17},bounded_fun,[{type,{8725,17},'fun',[{type,{8725,17},product,[{atom,{8725,18},scheduler_wall_time_all}]},{type,{8725,46},union,[{type,{8725,46},list,[{type,{8725,47},tuple,[{var,{8725,48},'SchedulerId'},{var,{8725,61},'ActiveTime'},{var,{8725,73},'TotalTime'}]}]},{atom,{8725,87},undefined}]}]},[{type,{8726,7},constraint,[{atom,{8726,7},is_subtype},[{var,{8726,7},'SchedulerId'},{type,{8726,22},pos_integer,[]}]]},{type,{8727,7},constraint,[{atom,{8727,7},is_subtype},[{var,{8727,7},'ActiveTime'},{type,{8727,22},non_neg_integer,[]}]]},{type,{8728,7},constraint,[{atom,{8728,7},is_subtype},[{var,{8728,7},'TotalTime'},{type,{8728,22},non_neg_integer,[]}]]}]]},{type,{8729,3},bounded_fun,[{type,{8729,3},'fun',[{type,{8729,3},product,[{atom,{8729,4},total_active_tasks}]},{var,{8729,27},'ActiveTasks'}]},[{type,{8730,7},constraint,[{atom,{8730,7},is_subtype},[{var,{8730,7},'ActiveTasks'},{type,{8730,22},non_neg_integer,[]}]]}]]},{type,{8731,3},bounded_fun,[{type,{8731,3},'fun',[{type,{8731,3},product,[{atom,{8731,4},total_active_tasks_all}]},{var,{8731,31},'ActiveTasks'}]},[{type,{8732,7},constraint,[{atom,{8732,7},is_subtype},[{var,{8732,7},'ActiveTasks'},{type,{8732,22},non_neg_integer,[]}]]}]]},{type,{8733,17},bounded_fun,[{type,{8733,17},'fun',[{type,{8733,17},product,[{atom,{8733,18},total_run_queue_lengths}]},{var,{8733,46},'TotalRunQueueLengths'}]},[{type,{8734,7},constraint,[{atom,{8734,7},is_subtype},[{var,{8734,7},'TotalRunQueueLengths'},{type,{8734,31},non_neg_integer,[]}]]}]]},{type,{8735,17},bounded_fun,[{type,{8735,17},'fun',[{type,{8735,17},product,[{atom,{8735,18},total_run_queue_lengths_all}]},{var,{8735,50},'TotalRunQueueLengths'}]},[{type,{8736,7},constraint,[{atom,{8736,7},is_subtype},[{var,{8736,7},'TotalRunQueueLengths'},{type,{8736,31},non_neg_integer,[]}]]}]]},{type,{8737,17},bounded_fun,[{type,{8737,17},'fun',[{type,{8737,17},product,[{atom,{8737,18},wall_clock}]},{type,{8737,33},tuple,[{var,{8737,34},'Total_Wallclock_Time'},{var,{8738,34},'Wallclock_Time_Since_Last_Call'}]}]},[{type,{8739,7},constraint,[{atom,{8739,7},is_subtype},[{var,{8739,7},'Total_Wallclock_Time'},{type,{8739,31},non_neg_integer,[]}]]},{type,{8740,7},constraint,[{atom,{8740,7},is_subtype},[{var,{8740,7},'Wallclock_Time_Since_Last_Call'},{type,{8740,41},non_neg_integer,[]}]]}]]}]}}]}},{{function,setelement,3},{8106,2},[<<115,101,116,101,108,101,109,101,110,116,40,73,110,100,101,120,44,32,84,117,112,108,101,49,44,32,86,97,108,117,101,41>>],#{<<101,110>> => <<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,96,84,117,112,108,101,49,96,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,10,98,121,32,105,110,116,101,103,101,114,32,97,114,103,117,109,101,110,116,32,96,73,110,100,101,120,96,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,10,114,101,112,108,97,99,101,100,32,98,121,32,97,114,103,117,109,101,110,116,32,96,86,97,108,117,101,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{8119,2},spec,{{setelement,3},[{type,{8119,17},bounded_fun,[{type,{8119,17},'fun',[{type,{8119,17},product,[{var,{8119,18},'Index'},{var,{8119,25},'Tuple1'},{var,{8119,33},'Value'}]},{var,{8119,43},'Tuple2'}]},[{type,{8120,7},constraint,[{atom,{8120,7},is_subtype},[{var,{8120,7},'Index'},{type,{8120,16},pos_integer,[]}]]},{type,{8121,7},constraint,[{atom,{8121,7},is_subtype},[{var,{8121,7},'Tuple1'},{type,{8121,17},tuple,any}]]},{type,{8122,7},constraint,[{atom,{8122,7},is_subtype},[{var,{8122,7},'Tuple2'},{type,{8122,17},tuple,any}]]},{type,{8123,7},constraint,[{atom,{8123,7},is_subtype},[{var,{8123,7},'Value'},{type,{8123,16},term,[]}]]}]]}]}}]}},{{function,seq_trace_info,1},{8093,2},[<<115,101,113,95,116,114,97,99,101,95,105,110,102,111,40,87,104,97,116,41>>],hidden,#{}},{{function,send,3},{8058,2},[<<115,101,110,100,40,68,101,115,116,44,32,77,115,103,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<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,96,111,107,96,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,10,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,10,91,96,101,114,108,97,110,103,58,115,101,110,100,47,50,96,93,40,96,115,101,110,100,47,50,96,41,46,10,10,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,91,96,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,96,93,40,96,115,101,110,100,95,110,111,115,117,115,112,101,110,100,47,50,96,41,46,10,10,79,112,116,105,111,110,115,58,10,10,45,32,42,42,96,110,111,115,117,115,112,101,110,100,96,42,42,32,45,32,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,10,32,32,96,110,111,115,117,115,112,101,110,100,96,32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46,10,10,45,32,42,42,96,110,111,99,111,110,110,101,99,116,96,42,42,32,45,32,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,10,32,32,100,111,32,116,104,101,32,115,101,110,100,44,32,96,110,111,99,111,110,110,101,99,116,96,32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,91,95,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,95,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,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,96,41,10,62,32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32,95,80,114,111,99,101,115,115,101,115,95,32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32,95,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,95,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,65,115,32,119,105,116,104,32,96,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,96,58,32,117,115,101,32,119,105,116,104,32,101,120,116,114,101,109,101,32,99,97,114,101,46>>},#{group => processes,specification => [{attribute,{8084,2},spec,{{send,3},[{type,{8084,11},bounded_fun,[{type,{8084,11},'fun',[{type,{8084,11},product,[{var,{8084,12},'Dest'},{var,{8084,18},'Msg'},{var,{8084,23},'Options'}]},{var,{8084,35},'Res'}]},[{type,{8085,7},constraint,[{atom,{8085,7},is_subtype},[{var,{8085,7},'Dest'},{user_type,{8085,15},send_destination,[]}]]},{type,{8086,7},constraint,[{atom,{8086,7},is_subtype},[{var,{8086,7},'Msg'},{type,{8086,14},term,[]}]]},{type,{8087,7},constraint,[{atom,{8087,7},is_subtype},[{var,{8087,7},'Options'},{type,{8087,18},list,[{type,{8087,19},union,[{atom,{8087,19},nosuspend},{atom,{8087,31},noconnect}]}]}]]},{type,{8088,7},constraint,[{atom,{8088,7},is_subtype},[{var,{8088,7},'Res'},{type,{8088,14},union,[{atom,{8088,14},ok},{atom,{8088,19},nosuspend},{atom,{8088,31},noconnect}]}]]}]]}]}}]}},{{function,send,2},{8033,2},[<<115,101,110,100,40,68,101,115,116,44,32,77,115,103,41>>],#{<<101,110>> => <<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,96,77,115,103,96,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,10,91,115,101,110,100,32,111,112,101,114,97,116,111,114,93,40,96,101,58,115,121,115,116,101,109,58,101,120,112,114,101,115,115,105,111,110,115,46,109,100,35,115,101,110,100,96,41,58,32,96,68,101,115,116,32,33,32,77,115,103,96,46,10,10,96,68,101,115,116,96,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,10,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,96,123,82,101,103,78,97,109,101,44,32,78,111,100,101,125,96,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,10,97,110,111,116,104,101,114,32,110,111,100,101,46,10,10,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,96,98,97,100,97,114,103,96,32,114,117,110,45,116,105,109,101,32,101,114,114,111,114,32,105,102,32,96,68,101,115,116,96,32,105,115,32,97,110,32,97,116,111,109,32,110,97,109,101,44,32,98,117,116,10,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,96,115,101,110,100,96,32,102,97,105,108,115,32,102,111,114,32,97,110,10,117,110,114,101,97,99,104,97,98,108,101,32,100,101,115,116,105,110,97,116,105,111,110,32,96,68,101,115,116,96,32,40,111,102,32,99,111,114,114,101,99,116,32,116,121,112,101,41,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,91,95,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,95,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,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,96,41,10,62,32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32,95,80,114,111,99,101,115,115,101,115,95,32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32,95,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,95,46>>},#{group => processes,specification => [{attribute,{8052,2},spec,{{send,2},[{type,{8052,11},bounded_fun,[{type,{8052,11},'fun',[{type,{8052,11},product,[{var,{8052,12},'Dest'},{var,{8052,18},'Msg'}]},{var,{8052,26},'Msg'}]},[{type,{8053,7},constraint,[{atom,{8053,7},is_subtype},[{var,{8053,7},'Dest'},{user_type,{8053,15},send_destination,[]}]]},{type,{8054,7},constraint,[{atom,{8054,7},is_subtype},[{var,{8054,7},'Msg'},{type,{8054,14},term,[]}]]}]]}]}}]}},{{function,process_info,2},{7800,2},[<<112,114,111,99,101,115,115,95,105,110,102,111,40,80,105,100,44,32,73,116,101,109,83,112,101,99,41>>],#{<<101,110>> => <<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,96,80,105,100,96,44,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,10,96,73,116,101,109,96,32,111,114,32,96,73,116,101,109,76,105,115,116,96,46,32,82,101,116,117,114,110,115,32,96,117,110,100,101,102,105,110,101,100,96,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,10,10,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,96,73,116,101,109,96,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,10,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,96,73,110,102,111,84,117,112,108,101,96,44,32,117,110,108,101,115,115,32,96,73,116,101,109,32,61,58,61,32,114,101,103,105,115,116,101,114,101,100,95,110,97,109,101,96,32,97,110,100,32,116,104,101,32,112,114,111,99,101,115,115,10,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,96,91,93,96,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,10,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,10,10,73,102,32,96,73,116,101,109,76,105,115,116,96,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,96,73,110,102,111,84,117,112,108,101,76,105,115,116,96,46,32,84,104,101,32,96,73,110,102,111,84,117,112,108,101,96,115,32,105,110,10,96,73,110,102,111,84,117,112,108,101,76,105,115,116,96,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,96,73,116,101,109,96,115,32,105,110,32,116,104,101,32,115,97,109,101,32,111,114,100,101,114,32,97,115,10,116,104,101,32,96,73,116,101,109,96,115,32,119,101,114,101,32,105,110,99,108,117,100,101,100,32,105,110,32,96,73,116,101,109,76,105,115,116,96,46,32,86,97,108,105,100,32,96,73,116,101,109,96,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,10,116,105,109,101,115,32,105,110,32,96,73,116,101,109,76,105,115,116,96,46,10,10,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,10,116,104,101,32,91,80,114,111,99,101,115,115,101,115,32,67,104,97,112,116,101,114,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,115,105,103,110,97,108,115,96,41,32,105,110,32,116,104,101,32,95,69,114,108,97,110,103,10,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,95,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,73,102,32,96,114,101,103,105,115,116,101,114,101,100,95,110,97,109,101,96,32,105,115,32,112,97,114,116,32,111,102,32,96,73,116,101,109,76,105,115,116,96,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,10,62,32,114,101,103,105,115,116,101,114,101,100,44,32,97,32,96,123,114,101,103,105,115,116,101,114,101,100,95,110,97,109,101,44,32,91,93,125,96,44,32,96,73,110,102,111,84,117,112,108,101,96,32,95,119,105,108,108,95,32,98,101,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,101,10,62,32,114,101,115,117,108,116,105,110,103,32,96,73,110,102,111,84,117,112,108,101,76,105,115,116,96,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,10,62,32,96,73,116,101,109,32,61,58,61,32,114,101,103,105,115,116,101,114,101,100,95,110,97,109,101,96,32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,97,110,100,32,119,104,101,110,10,62,32,91,96,112,114,111,99,101,115,115,95,105,110,102,111,47,49,96,93,40,96,112,114,111,99,101,115,115,95,105,110,102,111,47,49,96,41,32,105,115,32,117,115,101,100,46,10,10,86,97,108,105,100,32,96,73,110,102,111,84,117,112,108,101,96,115,32,119,105,116,104,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,96,73,116,101,109,96,115,58,10,10,45,32,42,42,96,123,97,115,121,110,99,95,100,105,115,116,44,32,69,110,97,98,108,101,100,125,96,123,58,32,35,112,114,111,99,101,115,115,95,105,110,102,111,95,97,115,121,110,99,95,100,105,115,116,32,125,42,42,32,45,32,83,105,110,99,101,58,32,79,84,80,32,50,53,46,51,10,10,32,32,67,117,114,114,101,110,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32,91,96,97,115,121,110,99,95,100,105,115,116,96,93,40,35,112,114,111,99,101,115,115,95,102,108,97,103,95,97,115,121,110,99,95,100,105,115,116,41,10,32,32,112,114,111,99,101,115,115,32,102,108,97,103,46,10,10,45,32,42,42,96,123,98,97,99,107,116,114,97,99,101,44,32,66,105,110,125,96,42,42,32,45,32,66,105,110,97,114,121,32,96,66,105,110,96,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,10,32,32,111,117,116,112,117,116,32,102,114,111,109,32,96,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,96,46,32,85,115,101,10,32,32,91,96,98,105,110,97,114,121,95,116,111,95,108,105,115,116,47,49,96,93,40,96,98,105,110,97,114,121,95,116,111,95,108,105,115,116,47,49,96,41,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,10,32,32,102,114,111,109,32,116,104,101,32,98,105,110,97,114,121,46,10,10,45,32,42,42,96,123,98,105,110,97,114,121,44,32,66,105,110,73,110,102,111,125,96,42,42,32,45,32,96,66,105,110,73,110,102,111,96,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,10,32,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,96,73,110,102,111,84,117,112,108,101,96,32,99,97,110,10,32,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,10,32,32,96,66,105,110,73,110,102,111,96,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,96,66,105,110,97,114,121,73,100,96,44,32,96,66,105,110,97,114,121,83,105,122,101,96,44,10,32,32,96,66,105,110,97,114,121,82,101,102,99,67,111,117,110,116,96,46,10,10,32,32,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,10,32,32,91,96,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,96,93,40,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,41,32,112,114,111,99,101,115,115,10,32,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,10,10,45,32,42,42,96,123,99,97,116,99,104,108,101,118,101,108,44,32,67,97,116,99,104,76,101,118,101,108,125,96,42,42,32,45,32,96,67,97,116,99,104,76,101,118,101,108,96,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,10,32,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,96,73,110,102,111,84,117,112,108,101,96,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,10,32,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,96,77,111,100,117,108,101,96,44,10,32,32,96,70,117,110,99,116,105,111,110,96,44,32,96,65,114,105,116,121,96,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,10,32,32,96,117,110,100,101,102,105,110,101,100,96,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,10,32,32,99,111,109,112,105,108,101,100,32,99,111,100,101,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,96,77,111,100,117,108,101,96,44,10,32,32,96,70,117,110,99,116,105,111,110,96,44,32,96,65,114,105,116,121,96,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,96,76,111,99,97,116,105,111,110,96,32,105,115,10,32,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,10,10,45,32,42,42,96,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,96,42,42,123,58,32,35,112,114,111,99,101,115,115,95,105,110,102,111,95,99,117,114,114,101,110,116,95,115,116,97,99,107,116,114,97,99,101,32,125,32,45,10,32,32,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,10,32,32,40,95,115,116,97,99,107,116,114,97,99,101,95,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,96,99,97,116,99,104,96,10,32,32,112,97,114,116,32,111,102,32,97,32,96,116,114,121,96,46,32,83,101,101,10,32,32,91,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,93,40,96,101,58,115,121,115,116,101,109,58,101,114,114,111,114,115,46,109,100,35,115,116,97,99,107,116,114,97,99,101,96,41,46,32,84,104,101,10,32,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,96,98,97,99,107,116,114,97,99,101,95,100,101,112,116,104,96,32,115,121,115,116,101,109,10,32,32,102,108,97,103,32,115,101,116,116,105,110,103,46,10,10,45,32,42,42,96,123,100,105,99,116,105,111,110,97,114,121,44,32,68,105,99,116,105,111,110,97,114,121,125,96,42,42,32,45,32,96,68,105,99,116,105,111,110,97,114,121,96,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,10,10,45,32,42,42,96,123,123,100,105,99,116,105,111,110,97,114,121,44,32,75,101,121,125,44,32,86,97,108,117,101,125,96,42,42,32,45,32,96,86,97,108,117,101,96,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,96,75,101,121,96,32,105,110,32,116,104,101,10,32,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,46,10,10,45,32,42,42,96,123,101,114,114,111,114,95,104,97,110,100,108,101,114,44,32,77,111,100,117,108,101,125,96,42,42,32,45,32,96,77,111,100,117,108,101,96,32,105,115,32,116,104,101,32,96,109,58,101,114,114,111,114,95,104,97,110,100,108,101,114,96,32,109,111,100,117,108,101,32,117,115,101,100,32,98,121,10,32,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,10,10,45,32,42,42,96,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,96,42,42,32,45,32,96,71,67,73,110,102,111,96,32,105,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,10,32,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,10,32,32,99,111,110,116,101,110,116,32,111,102,32,96,71,67,73,110,102,111,96,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,10,10,45,32,42,42,96,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,96,123,58,32,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,32,125,42,42,32,45,10,32,32,96,71,67,73,110,102,111,96,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,10,32,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,96,71,67,73,110,102,111,96,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,10,32,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,10,32,32,91,96,103,99,95,109,105,110,111,114,95,115,116,97,114,116,96,93,40,96,109,58,116,114,97,99,101,35,103,99,95,109,105,110,111,114,95,115,116,97,114,116,96,41,32,105,110,32,96,116,114,97,99,101,58,112,114,111,99,101,115,115,47,52,96,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,96,71,114,111,117,112,76,101,97,100,101,114,96,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,10,32,32,73,47,79,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,10,10,45,32,42,42,96,123,104,101,97,112,95,115,105,122,101,44,32,83,105,122,101,125,96,42,42,32,45,32,96,83,105,122,101,96,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,10,32,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,10,32,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,10,32,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,99,104,97,110,103,101,115,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,96,77,111,100,117,108,101,96,44,32,96,70,117,110,99,116,105,111,110,96,44,10,32,32,96,65,114,105,116,121,96,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,10,10,45,32,42,42,96,123,108,105,110,107,115,44,32,80,105,100,115,65,110,100,80,111,114,116,115,125,96,42,42,32,45,32,96,80,105,100,115,65,110,100,80,111,114,116,115,96,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,10,32,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,10,10,45,32,42,42,96,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,96,42,42,32,45,32,84,104,101,32,118,97,108,117,101,32,105,115,32,96,102,97,108,115,101,96,32,105,102,32,99,97,108,108,32,115,97,118,105,110,103,32,105,115,32,110,111,116,10,32,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,96,112,114,111,99,101,115,115,95,102,108,97,103,47,51,96,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,10,32,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,10,10,45,32,42,42,96,123,109,101,109,111,114,121,44,32,83,105,122,101,125,96,42,42,32,45,32,91,93,40,41,123,58,32,35,112,114,111,99,101,115,115,95,105,110,102,111,95,109,101,109,111,114,121,32,125,32,96,83,105,122,101,96,32,105,115,32,116,104,101,32,115,105,122,101,32,105,110,10,32,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,10,10,45,32,42,42,96,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,96,42,42,32,45,32,96,77,101,115,115,97,103,101,81,117,101,117,101,76,101,110,96,32,105,115,32,116,104,101,32,110,117,109,98,101,114,10,32,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,10,32,32,111,102,32,116,104,101,32,108,105,115,116,32,96,77,101,115,115,97,103,101,81,117,101,117,101,96,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,96,109,101,115,115,97,103,101,115,96,32,40,115,101,101,10,32,32,98,101,108,111,119,41,46,10,10,45,32,42,42,96,123,109,101,115,115,97,103,101,115,44,32,77,101,115,115,97,103,101,81,117,101,117,101,125,96,42,42,32,45,32,96,77,101,115,115,97,103,101,81,117,101,117,101,96,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,10,32,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,10,10,45,32,42,42,96,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,96,42,42,32,45,32,96,77,105,110,72,101,97,112,83,105,122,101,96,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,10,32,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,96,77,105,110,66,105,110,86,72,101,97,112,83,105,122,101,96,32,105,115,32,116,104,101,32,109,105,110,105,109,117,109,10,32,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,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,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,10,10,45,32,42,42,96,123,109,111,110,105,116,111,114,115,44,32,77,111,110,105,116,111,114,115,125,96,42,42,32,45,32,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,10,32,32,91,96,109,111,110,105,116,111,114,47,50,96,93,40,96,109,111,110,105,116,111,114,47,50,96,41,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,10,32,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,10,32,32,99,111,110,115,105,115,116,115,32,111,102,58,10,10,32,32,45,32,42,42,96,123,112,114,111,99,101,115,115,44,32,80,105,100,125,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,32,32,32,110,97,109,101,46,10,10,32,32,45,32,42,42,96,123,112,111,114,116,44,32,80,111,114,116,73,100,125,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,123,112,111,114,116,44,32,123,82,101,103,78,97,109,101,44,32,78,111,100,101,125,125,96,42,42,32,45,32,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,10,32,32,32,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,96,78,111,100,101,96,32,119,105,108,108,32,97,108,119,97,121,115,32,98,101,10,32,32,32,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,110,97,109,101,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,96,77,81,68,96,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,10,32,32,96,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,96,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,96,111,102,102,95,104,101,97,112,96,32,111,114,10,32,32,96,111,110,95,104,101,97,112,96,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,10,32,32,91,96,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,96,93,40,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,41,46,10,10,45,32,42,42,96,123,112,97,114,101,110,116,44,32,80,105,100,125,96,42,42,32,45,32,96,80,105,100,96,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,10,32,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,10,32,32,96,117,110,100,101,102,105,110,101,100,96,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,96,105,110,105,116,96,41,32,111,110,32,97,32,110,111,100,101,32,108,97,99,107,115,32,97,10,32,32,112,97,114,101,110,116,44,32,116,104,111,117,103,104,46,10,10,45,32,42,42,96,123,112,114,105,111,114,105,116,121,44,32,76,101,118,101,108,125,96,42,42,32,45,32,96,76,101,118,101,108,96,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,10,32,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,10,32,32,91,96,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,96,93,40,35,112,114,111,99,101,115,115,95,102,108,97,103,95,112,114,105,111,114,105,116,121,41,46,10,10,45,32,42,42,96,123,114,101,100,117,99,116,105,111,110,115,44,32,78,117,109,98,101,114,125,96,42,42,32,45,32,96,78,117,109,98,101,114,96,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,10,32,32,116,104,101,32,112,114,111,99,101,115,115,46,10,10,45,32,42,42,96,123,114,101,103,105,115,116,101,114,101,100,95,110,97,109,101,44,32,65,116,111,109,125,96,42,42,32,45,32,96,65,116,111,109,96,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,10,32,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,10,10,45,32,42,42,96,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,96,42,42,32,45,10,32,32,96,83,101,113,117,101,110,116,105,97,108,84,114,97,99,101,84,111,107,101,110,96,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,10,32,32,96,73,110,102,111,84,117,112,108,101,96,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,10,10,45,32,42,42,96,123,115,116,97,99,107,95,115,105,122,101,44,32,83,105,122,101,125,96,42,42,32,45,32,96,83,105,122,101,96,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,10,10,45,32,42,42,96,123,115,116,97,116,117,115,44,32,83,116,97,116,117,115,125,96,42,42,32,45,32,96,83,116,97,116,117,115,96,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,10,32,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58,10,10,32,32,45,32,96,101,120,105,116,105,110,103,96,10,32,32,45,32,96,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,110,103,96,10,32,32,45,32,96,119,97,105,116,105,110,103,96,32,40,102,111,114,32,97,32,109,101,115,115,97,103,101,41,10,32,32,45,32,96,114,117,110,110,105,110,103,96,10,32,32,45,32,96,114,117,110,110,97,98,108,101,96,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,10,32,32,45,32,96,115,117,115,112,101,110,100,101,100,96,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,10,32,32,32,32,96,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,96,41,10,10,45,32,42,42,96,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,96,42,42,32,45,32,96,83,117,115,112,101,110,100,101,101,76,105,115,116,96,32,105,115,32,97,32,108,105,115,116,32,111,102,10,32,32,96,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,96,32,116,117,112,108,101,115,46,32,96,83,117,115,112,101,110,100,101,101,96,10,32,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,10,32,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,96,80,105,100,96,32,116,104,114,111,117,103,104,32,116,104,101,32,66,73,70,10,32,32,91,96,101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50,96,93,40,96,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50,96,41,32,111,114,10,32,32,91,96,101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,49,96,93,40,96,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,49,96,41,46,10,10,32,32,96,65,99,116,105,118,101,83,117,115,112,101,110,100,67,111,117,110,116,96,32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,116,105,109,101,115,32,96,83,117,115,112,101,110,100,101,101,96,32,104,97,115,32,98,101,101,110,32,115,117,115,112,101,110,100,101,100,32,98,121,10,32,32,96,80,105,100,96,46,32,96,79,117,116,115,116,97,110,100,105,110,103,83,117,115,112,101,110,100,67,111,117,110,116,96,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,10,32,32,114,101,113,117,101,115,116,115,32,115,101,110,116,32,98,121,32,96,80,105,100,96,44,32,116,104,97,116,32,105,115,58,10,10,32,32,45,32,73,102,32,96,65,99,116,105,118,101,83,117,115,112,101,110,100,67,111,117,110,116,32,61,47,61,32,48,96,44,32,96,83,117,115,112,101,110,100,101,101,96,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,10,32,32,32,32,115,116,97,116,101,46,10,32,32,45,32,73,102,32,96,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,96,44,32,111,112,116,105,111,110,32,96,97,115,121,110,99,104,114,111,110,111,117,115,96,32,111,102,10,32,32,32,32,96,101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50,96,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,10,32,32,32,32,115,117,115,112,101,110,100,101,100,32,98,121,32,96,80,105,100,96,46,10,10,32,32,78,111,116,105,99,101,32,116,104,97,116,32,96,65,99,116,105,118,101,83,117,115,112,101,110,100,67,111,117,110,116,96,32,97,110,100,32,96,79,117,116,115,116,97,110,100,105,110,103,83,117,115,112,101,110,100,67,111,117,110,116,96,32,97,114,101,32,110,111,116,32,116,104,101,10,32,32,116,111,116,97,108,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,111,110,32,96,83,117,115,112,101,110,100,101,101,96,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,96,80,105,100,96,46,10,10,45,32,42,42,96,123,116,111,116,97,108,95,104,101,97,112,95,115,105,122,101,44,32,83,105,122,101,125,96,123,58,32,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,32,125,42,42,32,45,32,96,83,105,122,101,96,32,105,115,10,32,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,10,32,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,10,32,32,111,102,32,116,104,101,32,104,101,97,112,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,96,73,110,116,101,114,110,97,108,84,114,97,99,101,70,108,97,103,115,96,32,105,115,32,97,110,32,105,110,116,101,103,101,114,10,32,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,96,73,110,102,111,84,117,112,108,101,96,32,99,97,110,32,98,101,10,32,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,10,10,45,32,42,42,96,123,116,114,97,112,95,101,120,105,116,44,32,66,111,111,108,101,97,110,125,96,42,42,32,45,32,96,66,111,111,108,101,97,110,96,32,105,115,32,96,116,114,117,101,96,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,10,32,32,101,120,105,116,115,44,32,111,116,104,101,114,119,105,115,101,32,96,102,97,108,115,101,96,46,10,10,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,96,73,116,101,109,96,115,46,10,10,70,97,105,108,117,114,101,115,58,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,80,105,100,96,32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,73,116,101,109,96,32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,105,116,101,109,46>>},#{group => processes,specification => [{attribute,{8019,2},spec,{{process_info,2},[{type,{8019,19},bounded_fun,[{type,{8019,19},'fun',[{type,{8019,19},product,[{var,{8019,20},'Pid'},{var,{8019,25},'Item'}]},{type,{8020,27},union,[{var,{8020,27},'InfoTuple'},{type,{8020,39},nil,[]},{atom,{8020,44},undefined}]}]},[{type,{8021,7},constraint,[{atom,{8021,7},is_subtype},[{var,{8021,7},'Pid'},{type,{8021,14},pid,[]}]]},{type,{8022,7},constraint,[{atom,{8022,7},is_subtype},[{var,{8022,7},'Item'},{user_type,{8022,15},process_info_item,[]}]]},{type,{8023,7},constraint,[{atom,{8023,7},is_subtype},[{var,{8023,7},'InfoTuple'},{user_type,{8023,20},process_info_result_item,[]}]]}]]},{type,{8024,19},bounded_fun,[{type,{8024,19},'fun',[{type,{8024,19},product,[{var,{8024,20},'Pid'},{var,{8024,25},'ItemList'}]},{type,{8024,38},union,[{var,{8024,38},'InfoTupleList'},{type,{8024,54},nil,[]},{atom,{8024,59},undefined}]}]},[{type,{8025,7},constraint,[{atom,{8025,7},is_subtype},[{var,{8025,7},'Pid'},{type,{8025,14},pid,[]}]]},{type,{8026,7},constraint,[{atom,{8026,7},is_subtype},[{var,{8026,7},'ItemList'},{type,{8026,19},list,[{var,{8026,20},'Item'}]}]]},{type,{8027,7},constraint,[{atom,{8027,7},is_subtype},[{var,{8027,7},'Item'},{user_type,{8027,15},process_info_item,[]}]]},{type,{8028,7},constraint,[{atom,{8028,7},is_subtype},[{var,{8028,7},'InfoTupleList'},{type,{8028,24},list,[{var,{8028,25},'InfoTuple'}]}]]},{type,{8029,7},constraint,[{atom,{8029,7},is_subtype},[{var,{8029,7},'InfoTuple'},{user_type,{8029,20},process_info_result_item,[]}]]}]]}]}}]}},{{function,process_flag,2},{7369,2},[<<112,114,111,99,101,115,115,95,102,108,97,103,40,70,108,97,103,44,32,86,97,108,117,101,41>>],#{<<101,110>> => <<83,101,116,115,32,116,104,101,32,112,114,111,99,101,115,115,32,102,108,97,103,32,105,110,100,105,99,97,116,101,100,32,116,111,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,118,97,108,117,101,46,32,82,101,116,117,114,110,115,32,116,104,101,32,112,114,101,118,105,111,117,115,32,118,97,108,117,101,10,111,102,32,116,104,101,32,102,108,97,103,46,10,10,96,70,108,97,103,96,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,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,112,114,111,99,101,115,115,95,102,108,97,103,40,97,115,121,110,99,95,100,105,115,116,44,32,98,111,111,108,101,97,110,40,41,41,10,32,32,96,96,96,10,32,32,123,58,32,35,112,114,111,99,101,115,115,95,102,108,97,103,95,97,115,121,110,99,95,100,105,115,116,32,125,10,32,32,10,32,32,69,110,97,98,108,101,32,111,114,32,100,105,115,97,98,108,101,32,95,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,95,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,10,32,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,10,32,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,10,32,32,99,104,97,110,110,101,108,32,114,101,97,99,104,32,116,104,101,32,91,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,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,122,100,98,98,108,41,46,32,84,104,101,10,32,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,10,32,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,96,97,115,121,110,99,95,100,105,115,116,96,32,105,115,32,101,110,97,98,108,101,100,44,32,115,101,110,100,10,32,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,10,32,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,10,32,32,119,105,108,108,32,95,110,101,118,101,114,95,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,10,32,32,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,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,96,97,115,121,110,99,95,100,105,115,116,96,10,32,32,62,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,10,32,32,62,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,10,32,32,62,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,96,97,115,121,110,99,95,100,105,115,116,96,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,10,32,32,62,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,10,32,32,62,32,99,111,110,100,105,116,105,111,110,46,10,32,32,10,32,32,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,96,97,115,121,110,99,95,100,105,115,116,96,32,99,97,110,32,98,101,32,109,111,110,105,116,111,114,101,100,32,98,121,10,32,32,91,96,101,114,108,97,110,103,58,115,121,115,116,101,109,95,109,111,110,105,116,111,114,40,41,96,93,40,96,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,50,96,41,32,117,115,105,110,103,32,116,104,101,10,32,32,91,96,98,117,115,121,95,100,105,115,116,95,112,111,114,116,96,93,40,35,98,117,115,121,95,100,105,115,116,95,112,111,114,116,41,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,10,32,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,96,97,115,121,110,99,95,100,105,115,116,96,10,32,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,10,32,32,99,97,108,108,101,114,46,10,32,32,10,32,32,84,104,101,32,96,97,115,121,110,99,95,100,105,115,116,96,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,10,32,32,116,104,101,32,91,96,115,112,97,119,110,95,111,112,116,40,41,96,93,40,96,115,112,97,119,110,95,111,112,116,47,52,96,41,32,66,73,70,32,119,105,116,104,32,116,104,101,32,111,112,116,105,111,110,10,32,32,91,96,123,97,115,121,110,99,95,100,105,115,116,44,32,69,110,97,98,108,101,125,96,93,40,35,115,112,97,119,110,95,111,112,116,95,97,115,121,110,99,95,100,105,115,116,41,46,32,84,104,101,32,100,101,102,97,117,108,116,10,32,32,96,97,115,121,110,99,95,100,105,115,116,96,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,10,32,32,99,111,109,109,97,110,100,32,108,105,110,101,32,97,114,103,117,109,101,110,116,32,91,96,43,112,97,100,32,60,98,111,111,108,101,97,110,62,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,112,97,100,41,32,119,104,101,110,32,115,116,97,114,116,105,110,103,32,116,104,101,10,32,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,73,102,32,116,104,101,32,96,43,112,97,100,32,60,98,111,111,108,101,97,110,62,96,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,10,32,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32,96,97,115,121,110,99,95,100,105,115,116,96,32,102,108,97,103,32,119,105,108,108,32,98,101,32,96,102,97,108,115,101,96,46,10,32,32,10,32,32,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,96,97,115,121,110,99,95,100,105,115,116,96,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,10,32,32,99,97,108,108,105,110,103,32,91,96,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,96,93,40,35,112,114,111,99,101,115,115,95,105,110,102,111,95,97,115,121,110,99,95,100,105,115,116,41,46,10,32,32,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,112,114,111,99,101,115,115,95,102,108,97,103,40,116,114,97,112,95,101,120,105,116,44,32,98,111,111,108,101,97,110,40,41,41,10,32,32,96,96,96,10,32,32,123,58,32,35,112,114,111,99,101,115,115,95,102,108,97,103,95,116,114,97,112,95,101,120,105,116,32,125,10,32,32,10,32,32,87,104,101,110,32,96,116,114,97,112,95,101,120,105,116,96,32,105,115,32,115,101,116,32,116,111,32,96,116,114,117,101,96,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,10,32,32,99,111,110,118,101,114,116,101,100,32,116,111,32,96,123,39,69,88,73,84,39,44,32,70,114,111,109,44,32,82,101,97,115,111,110,125,96,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,10,32,32,111,114,100,105,110,97,114,121,32,109,101,115,115,97,103,101,115,46,32,73,102,32,96,116,114,97,112,95,101,120,105,116,96,32,105,115,32,115,101,116,32,116,111,32,96,102,97,108,115,101,96,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,10,32,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,96,110,111,114,109,97,108,96,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,10,32,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,10,32,32,10,32,32,83,101,101,32,97,108,115,111,32,96,101,120,105,116,47,50,96,46,10,32,32,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,112,114,111,99,101,115,115,95,102,108,97,103,40,101,114,114,111,114,95,104,97,110,100,108,101,114,44,32,109,111,100,117,108,101,40,41,41,10,32,32,96,96,96,10,32,32,123,58,32,35,112,114,111,99,101,115,115,95,102,108,97,103,95,101,114,114,111,114,95,104,97,110,100,108,101,114,32,125,10,32,32,10,32,32,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,96,109,58,101,114,114,111,114,95,104,97,110,100,108,101,114,96,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,10,32,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,85,115,101,32,116,104,105,115,32,102,108,97,103,32,119,105,116,104,32,115,117,98,115,116,97,110,116,105,97,108,32,99,97,117,116,105,111,110,44,32,97,115,32,99,111,100,101,10,32,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,10,32,32,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,112,114,111,99,101,115,115,95,102,108,97,103,40,102,117,108,108,115,119,101,101,112,95,97,102,116,101,114,44,32,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,41,10,32,32,96,96,96,10,32,32,10,32,32,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,10,32,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,10,32,32,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,112,114,111,99,101,115,115,95,102,108,97,103,40,109,105,110,95,104,101,97,112,95,115,105,122,101,44,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,41,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,32,32,10,32,32,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,10,32,32,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,112,114,111,99,101,115,115,95,102,108,97,103,40,109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101,44,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,41,10,32,32,96,96,96,10,32,32,10,32,32,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,10,32,32,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,109,97,120,95,104,101,97,112,95,115,105,122,101,40,41,41,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,32,32,10,32,32,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,96,77,97,120,72,101,97,112,83,105,122,101,96,10,32,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,96,107,105,108,108,96,32,97,110,100,32,96,101,114,114,111,114,95,108,111,103,103,101,114,96,32,97,114,101,32,117,115,101,100,46,10,32,32,10,32,32,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,10,32,32,91,83,105,122,105,110,103,32,116,104,101,32,104,101,97,112,93,40,71,97,114,98,97,103,101,67,111,108,108,101,99,116,105,111,110,46,109,100,35,115,105,122,105,110,103,45,116,104,101,45,104,101,97,112,41,32,105,110,32,116,104,101,32,69,82,84,83,32,105,110,116,101,114,110,97,108,10,32,32,100,111,99,117,109,101,110,116,97,116,105,111,110,46,10,32,32,10,32,32,45,32,42,42,96,115,105,122,101,96,42,42,32,45,32,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,10,32,32,32,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,96,98,97,100,97,114,103,96,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,10,32,32,32,32,116,104,97,110,32,91,96,109,105,110,95,104,101,97,112,95,115,105,122,101,96,93,40,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,41,46,32,84,104,101,32,115,105,122,101,32,99,104,101,99,107,10,32,32,32,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,10,32,32,10,32,32,32,32,96,115,105,122,101,96,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,10,32,32,32,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,10,32,32,32,32,91,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,93,40,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,41,44,10,32,32,32,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,10,32,32,10,32,32,32,32,96,115,105,122,101,96,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,10,32,32,32,32,91,96,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,96,93,40,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,41,44,10,32,32,32,32,111,114,32,98,121,32,97,100,100,105,110,103,32,96,104,101,97,112,95,98,108,111,99,107,95,115,105,122,101,96,44,32,96,111,108,100,95,104,101,97,112,95,98,108,111,99,107,95,115,105,122,101,96,32,97,110,100,32,96,109,98,117,102,95,115,105,122,101,96,32,102,114,111,109,10,32,32,32,32,91,96,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,96,93,40,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,41,46,10,32,32,10,32,32,45,32,42,42,96,107,105,108,108,96,42,42,32,45,32,87,104,101,110,32,115,101,116,32,116,111,32,96,116,114,117,101,96,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,10,32,32,32,32,115,105,103,110,97,108,32,119,105,116,104,32,114,101,97,115,111,110,32,96,107,105,108,108,96,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,10,32,32,32,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,96,107,105,108,108,96,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,10,32,32,32,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,96,102,97,108,115,101,96,44,32,110,111,32,101,120,105,116,32,115,105,103,110,97,108,32,105,115,32,115,101,110,116,10,32,32,32,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,10,32,32,10,32,32,32,32,73,102,32,96,107,105,108,108,96,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,10,32,32,32,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,96,116,114,117,101,96,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,10,32,32,32,32,91,92,43,104,109,97,120,107,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,104,109,97,120,107,41,32,105,110,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,44,32,111,114,10,32,32,32,32,91,96,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,96,93,40,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,41,46,10,32,32,10,32,32,45,32,42,42,96,101,114,114,111,114,95,108,111,103,103,101,114,96,42,42,32,45,32,87,104,101,110,32,115,101,116,32,116,111,32,96,116,114,117,101,96,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,10,32,32,32,32,101,118,101,110,116,32,118,105,97,32,96,109,58,108,111,103,103,101,114,96,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,10,32,32,32,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,10,32,32,10,32,32,32,32,73,102,32,96,101,114,114,111,114,95,108,111,103,103,101,114,96,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,10,32,32,32,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,96,116,114,117,101,96,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,10,32,32,32,32,91,92,43,104,109,97,120,101,108,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,104,109,97,120,101,108,41,32,105,110,116,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,44,32,111,114,10,32,32,32,32,91,96,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,96,93,40,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,41,46,10,32,32,10,32,32,45,32,42,42,96,105,110,99,108,117,100,101,95,115,104,97,114,101,100,95,98,105,110,97,114,105,101,115,96,42,42,32,45,32,87,104,101,110,32,115,101,116,32,116,111,32,96,116,114,117,101,96,44,32,111,102,102,45,104,101,97,112,32,98,105,110,97,114,105,101,115,32,97,114,101,10,32,32,32,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,96,115,105,122,101,96,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,10,32,32,32,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,10,32,32,32,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,10,32,32,32,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,10,32,32,32,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,10,32,32,10,32,32,32,32,73,102,32,96,105,110,99,108,117,100,101,95,115,104,97,114,101,100,95,98,105,110,97,114,105,101,115,96,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,10,32,32,32,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,96,102,97,108,115,101,96,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,10,32,32,32,32,111,112,116,105,111,110,32,91,92,43,104,109,97,120,105,98,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,104,109,97,120,105,98,41,32,105,110,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,44,32,111,114,10,32,32,32,32,91,96,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,96,93,40,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,41,46,10,32,32,10,32,32,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,10,32,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,10,32,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,96,107,105,108,108,96,32,115,101,116,32,116,111,10,32,32,96,102,97,108,115,101,96,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,10,32,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,10,32,32,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,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,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,40,41,41,10,32,32,96,96,96,10,32,32,123,58,32,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,32,125,10,32,32,10,32,32,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,10,32,32,10,32,32,45,32,42,42,96,111,102,102,95,104,101,97,112,96,42,42,32,45,32,95,65,108,108,95,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,10,32,32,32,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,95,110,111,95,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,10,32,32,32,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,10,32,32,10,32,32,45,32,42,42,96,111,110,95,104,101,97,112,96,42,42,32,45,32,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,10,32,32,32,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,10,32,32,32,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,10,32,32,10,32,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,96,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,96,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,10,32,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32,91,96,43,104,109,113,100,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,104,109,113,100,41,32,105,110,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,32,32,10,32,32,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,10,32,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,96,111,102,102,95,104,101,97,112,96,46,32,84,104,105,115,32,105,115,32,100,117,101,32,116,111,32,116,104,101,10,32,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,10,32,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,10,32,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,10,32,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,96,111,110,95,104,101,97,112,96,46,10,32,32,10,32,32,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,10,32,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,10,32,32,114,101,116,117,114,110,115,46,10,32,32,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,112,114,111,99,101,115,115,95,102,108,97,103,40,112,114,105,111,114,105,116,121,44,32,112,114,105,111,114,105,116,121,95,108,101,118,101,108,40,41,41,10,32,32,96,96,96,10,32,32,123,58,32,35,112,114,111,99,101,115,115,95,102,108,97,103,95,112,114,105,111,114,105,116,121,32,125,10,32,32,10,32,32,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,96,76,101,118,101,108,96,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,10,32,32,96,108,111,119,96,44,32,96,110,111,114,109,97,108,96,44,32,96,104,105,103,104,96,44,32,97,110,100,32,96,109,97,120,96,46,32,68,101,102,97,117,108,116,32,105,115,32,96,110,111,114,109,97,108,96,46,10,32,32,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,80,114,105,111,114,105,116,121,32,108,101,118,101,108,32,96,109,97,120,96,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,10,32,32,62,32,115,121,115,116,101,109,44,32,97,110,100,32,105,115,32,95,110,111,116,95,32,116,111,32,98,101,32,117,115,101,100,32,98,121,32,111,116,104,101,114,115,46,10,32,32,10,32,32,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,10,32,32,102,97,115,104,105,111,110,46,10,32,32,10,32,32,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,96,110,111,114,109,97,108,96,32,97,110,100,32,96,108,111,119,96,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,10,32,32,111,110,32,112,114,105,111,114,105,116,121,32,96,108,111,119,96,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,10,32,32,112,114,105,111,114,105,116,121,32,96,110,111,114,109,97,108,96,46,10,32,32,10,32,32,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,96,104,105,103,104,96,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,96,108,111,119,96,10,32,32,111,114,32,96,110,111,114,109,97,108,96,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,95,110,111,116,95,32,109,101,97,110,10,32,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,96,108,111,119,96,32,111,114,32,96,110,111,114,109,97,108,96,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,10,32,32,114,117,110,110,105,110,103,32,111,110,32,112,114,105,111,114,105,116,121,32,96,104,105,103,104,96,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,10,32,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,96,104,105,103,104,96,46,32,84,104,97,116,32,105,115,44,32,97,32,96,108,111,119,96,32,97,110,100,32,97,10,32,32,96,104,105,103,104,96,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,10,32,32,10,32,32,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,96,109,97,120,96,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,96,108,111,119,96,44,10,32,32,96,110,111,114,109,97,108,96,44,32,111,114,32,96,104,105,103,104,96,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,96,104,105,103,104,96,44,10,32,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,10,32,32,96,109,97,120,96,46,10,32,32,10,32,32,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,10,32,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,10,32,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,10,32,32,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,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,10,32,32,62,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,10,32,32,62,32,98,101,116,116,101,114,46,10,32,32,10,32,32,84,104,101,114,101,32,105,115,32,95,110,111,95,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,10,32,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,10,32,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,10,32,32,10,32,32,77,97,107,105,110,103,32,99,97,108,108,115,32,102,114,111,109,32,97,32,96,104,105,103,104,96,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,10,32,32,111,118,101,114,32,99,97,110,32,99,97,117,115,101,32,116,104,101,32,96,104,105,103,104,96,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,10,32,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,96,104,105,103,104,96,32,112,114,105,111,114,105,116,121,10,32,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,10,32,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,10,32,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,96,104,105,103,104,96,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,10,32,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,96,110,111,114,109,97,108,96,46,10,32,32,10,32,32,79,116,104,101,114,32,112,114,105,111,114,105,116,105,101,115,32,116,104,97,110,32,96,110,111,114,109,97,108,96,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,10,32,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,95,101,115,112,101,99,105,97,108,108,121,95,32,112,114,105,111,114,105,116,121,32,96,104,105,103,104,96,46,32,65,32,112,114,111,99,101,115,115,32,111,110,10,32,32,112,114,105,111,114,105,116,121,32,96,104,105,103,104,96,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,10,32,32,112,101,114,105,111,100,115,32,105,110,32,97,32,96,104,105,103,104,96,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,10,32,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,96,110,111,114,109,97,108,96,46,10,32,32,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,112,114,111,99,101,115,115,95,102,108,97,103,40,115,97,118,101,95,99,97,108,108,115,44,32,48,46,46,49,48,48,48,48,41,10,32,32,96,96,96,10,32,32,10,32,32,96,78,96,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,96,78,96,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,10,32,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,96,78,96,32,109,111,115,116,32,114,101,99,101,110,116,10,32,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,10,32,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,10,32,32,91,96,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,96,93,40,96,112,114,111,99,101,115,115,95,105,110,102,111,47,50,96,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,10,32,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,10,32,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,10,32,32,10,32,32,45,32,65,32,116,117,112,108,101,32,96,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,96,32,102,111,114,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,10,32,32,45,32,84,104,101,32,97,116,111,109,115,32,96,115,101,110,100,96,44,32,96,39,114,101,99,101,105,118,101,39,96,44,32,97,110,100,32,96,116,105,109,101,111,117,116,96,32,102,111,114,32,115,101,110,100,115,32,97,110,100,32,114,101,99,101,105,118,101,115,10,32,32,32,32,40,96,39,114,101,99,101,105,118,101,39,96,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,96,116,105,109,101,111,117,116,96,32,119,104,101,110,32,97,32,114,101,99,101,105,118,101,32,116,105,109,101,115,10,32,32,32,32,111,117,116,41,10,32,32,10,32,32,73,102,32,96,78,96,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,10,32,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,10,32,32,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,112,114,111,99,101,115,115,95,102,108,97,103,40,115,101,110,115,105,116,105,118,101,44,32,98,111,111,108,101,97,110,40,41,41,10,32,32,96,96,96,10,32,32,10,32,32,83,101,116,115,32,111,114,32,99,108,101,97,114,115,32,102,108,97,103,32,96,115,101,110,115,105,116,105,118,101,96,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,10,32,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,10,32,32,91,96,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,96,93,40,96,112,114,111,99,101,115,115,95,102,108,97,103,47,50,96,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,10,32,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,10,32,32,97,114,101,32,115,105,108,101,110,116,108,121,32,100,105,115,97,98,108,101,100,46,10,32,32,10,32,32,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,10,32,32,10,32,32,45,32,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,10,32,32,32,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,96,115,101,110,115,105,116,105,118,101,96,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,10,32,32,32,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,10,32,32,45,32,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,10,32,32,32,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,10,32,32,10,32,32,96,112,114,111,99,101,115,115,95,105,110,102,111,47,49,44,50,96,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,10,32,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,10,32,32,10,32,32,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,10,32,32,10,32,32,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,10,32,32,10,32,32,73,102,32,96,123,115,97,118,101,95,99,97,108,108,115,44,78,125,96,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,10,32,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,10,32,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>>},#{group => processes,specification => [{attribute,{7665,2},spec,{{process_flag,2},[{type,{7665,19},bounded_fun,[{type,{7665,19},'fun',[{type,{7665,19},product,[{atom,{7665,20},async_dist},{var,{7665,32},'Boolean'}]},{var,{7665,44},'OldBoolean'}]},[{type,{7666,7},constraint,[{atom,{7666,7},is_subtype},[{var,{7666,7},'Boolean'},{type,{7666,18},boolean,[]}]]},{type,{7667,7},constraint,[{atom,{7667,7},is_subtype},[{var,{7667,7},'OldBoolean'},{type,{7667,21},boolean,[]}]]}]]},{type,{7668,19},bounded_fun,[{type,{7668,19},'fun',[{type,{7668,19},product,[{atom,{7668,20},trap_exit},{var,{7668,31},'Boolean'}]},{var,{7668,43},'OldBoolean'}]},[{type,{7669,7},constraint,[{atom,{7669,7},is_subtype},[{var,{7669,7},'Boolean'},{type,{7669,18},boolean,[]}]]},{type,{7670,7},constraint,[{atom,{7670,7},is_subtype},[{var,{7670,7},'OldBoolean'},{type,{7670,21},boolean,[]}]]}]]},{type,{7671,19},bounded_fun,[{type,{7671,19},'fun',[{type,{7671,19},product,[{atom,{7671,20},error_handler},{var,{7671,35},'Module'}]},{var,{7671,46},'OldModule'}]},[{type,{7672,7},constraint,[{atom,{7672,7},is_subtype},[{var,{7672,7},'Module'},{type,{7672,17},atom,[]}]]},{type,{7673,7},constraint,[{atom,{7673,7},is_subtype},[{var,{7673,7},'OldModule'},{type,{7673,20},atom,[]}]]}]]},{type,{7674,19},bounded_fun,[{type,{7674,19},'fun',[{type,{7674,19},product,[{atom,{7674,20},fullsweep_after},{var,{7674,37},'FullsweepAfter'}]},{var,{7674,56},'OldFullsweepAfter'}]},[{type,{7675,7},constraint,[{atom,{7675,7},is_subtype},[{var,{7675,7},'FullsweepAfter'},{type,{7675,25},non_neg_integer,[]}]]},{type,{7676,7},constraint,[{atom,{7676,7},is_subtype},[{var,{7676,7},'OldFullsweepAfter'},{type,{7676,28},non_neg_integer,[]}]]}]]},{type,{7677,19},bounded_fun,[{type,{7677,19},'fun',[{type,{7677,19},product,[{atom,{7677,20},min_heap_size},{var,{7677,35},'MinHeapSize'}]},{var,{7677,51},'OldMinHeapSize'}]},[{type,{7678,7},constraint,[{atom,{7678,7},is_subtype},[{var,{7678,7},'MinHeapSize'},{type,{7678,22},non_neg_integer,[]}]]},{type,{7679,7},constraint,[{atom,{7679,7},is_subtype},[{var,{7679,7},'OldMinHeapSize'},{type,{7679,25},non_neg_integer,[]}]]}]]},{type,{7680,19},bounded_fun,[{type,{7680,19},'fun',[{type,{7680,19},product,[{atom,{7680,20},min_bin_vheap_size},{var,{7680,40},'MinBinVHeapSize'}]},{var,{7680,60},'OldMinBinVHeapSize'}]},[{type,{7681,7},constraint,[{atom,{7681,7},is_subtype},[{var,{7681,7},'MinBinVHeapSize'},{type,{7681,26},non_neg_integer,[]}]]},{type,{7682,7},constraint,[{atom,{7682,7},is_subtype},[{var,{7682,7},'OldMinBinVHeapSize'},{type,{7682,29},non_neg_integer,[]}]]}]]},{type,{7683,19},bounded_fun,[{type,{7683,19},'fun',[{type,{7683,19},product,[{atom,{7683,20},max_heap_size},{var,{7683,35},'MaxHeapSize'}]},{var,{7683,51},'OldMaxHeapSize'}]},[{type,{7684,7},constraint,[{atom,{7684,7},is_subtype},[{var,{7684,7},'MaxHeapSize'},{user_type,{7684,22},max_heap_size,[]}]]},{type,{7685,7},constraint,[{atom,{7685,7},is_subtype},[{var,{7685,7},'OldMaxHeapSize'},{user_type,{7685,25},max_heap_size,[]}]]}]]},{type,{7686,19},bounded_fun,[{type,{7686,19},'fun',[{type,{7686,19},product,[{atom,{7686,20},message_queue_data},{var,{7686,40},'MQD'}]},{var,{7686,48},'OldMQD'}]},[{type,{7687,7},constraint,[{atom,{7687,7},is_subtype},[{var,{7687,7},'MQD'},{user_type,{7687,14},message_queue_data,[]}]]},{type,{7688,7},constraint,[{atom,{7688,7},is_subtype},[{var,{7688,7},'OldMQD'},{user_type,{7688,17},message_queue_data,[]}]]}]]},{type,{7689,19},bounded_fun,[{type,{7689,19},'fun',[{type,{7689,19},product,[{atom,{7689,20},priority},{var,{7689,30},'Level'}]},{var,{7689,40},'OldLevel'}]},[{type,{7690,7},constraint,[{atom,{7690,7},is_subtype},[{var,{7690,7},'Level'},{user_type,{7690,16},priority_level,[]}]]},{type,{7691,7},constraint,[{atom,{7691,7},is_subtype},[{var,{7691,7},'OldLevel'},{user_type,{7691,19},priority_level,[]}]]}]]},{type,{7692,19},bounded_fun,[{type,{7692,19},'fun',[{type,{7692,19},product,[{atom,{7692,20},save_calls},{var,{7692,32},'N'}]},{var,{7692,38},'OldN'}]},[{type,{7693,7},constraint,[{atom,{7693,7},is_subtype},[{var,{7693,7},'N'},{type,{7693,12},range,[{integer,{7693,12},0},{integer,{7693,15},10000}]}]]},{type,{7694,7},constraint,[{atom,{7694,7},is_subtype},[{var,{7694,7},'OldN'},{type,{7694,15},range,[{integer,{7694,15},0},{integer,{7694,18},10000}]}]]}]]},{type,{7695,19},bounded_fun,[{type,{7695,19},'fun',[{type,{7695,19},product,[{atom,{7695,20},sensitive},{var,{7695,31},'Boolean'}]},{var,{7695,43},'OldBoolean'}]},[{type,{7696,7},constraint,[{atom,{7696,7},is_subtype},[{var,{7696,7},'Boolean'},{type,{7696,18},boolean,[]}]]},{type,{7697,7},constraint,[{atom,{7697,7},is_subtype},[{var,{7697,7},'OldBoolean'},{type,{7697,21},boolean,[]}]]}]]},{type,{7699,19},'fun',[{type,{7699,19},product,[{type,{7699,20},tuple,[{atom,{7699,21},monitor_nodes},{type,{7699,36},term,[]}]},{type,{7699,45},term,[]}]},{type,{7699,56},term,[]}]},{type,{7700,19},'fun',[{type,{7700,19},product,[{atom,{7700,20},monitor_nodes},{type,{7700,35},term,[]}]},{type,{7700,46},term,[]}]}]}}]}},{{function,open_port,2},{7025,2},[<<111,112,101,110,95,112,111,114,116,40,80,111,114,116,78,97,109,101,44,32,80,111,114,116,83,101,116,116,105,110,103,115,41>>],#{<<101,110>> => <<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,10,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,10,10,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,96,99,100,96,44,32,96,101,110,118,96,44,10,96,97,114,103,115,96,44,32,97,110,100,32,96,97,114,103,48,96,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,10,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,10,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,10,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,96,109,58,102,105,108,101,96,44,32,116,104,101,32,102,117,110,99,116,105,111,110,10,96,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,96,32,105,110,32,75,101,114,110,101,108,44,32,97,110,100,32,116,104,101,10,91,96,85,115,105,110,103,32,85,110,105,99,111,100,101,32,105,110,32,69,114,108,97,110,103,96,93,40,96,101,58,115,116,100,108,105,98,58,117,110,105,99,111,100,101,95,117,115,97,103,101,46,109,100,96,41,32,85,115,101,114,39,115,32,71,117,105,100,101,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,10,62,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,10,62,32,115,101,116,46,10,10,96,80,111,114,116,78,97,109,101,96,115,58,10,10,45,32,42,42,96,123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125,96,42,42,32,45,32,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,96,67,111,109,109,97,110,100,96,32,105,115,32,116,104,101,32,110,97,109,101,32,111,102,10,32,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,96,67,111,109,109,97,110,100,96,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,10,32,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,96,67,111,109,109,97,110,100,96,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,10,32,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,10,32,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,10,10,32,32,70,111,114,32,101,120,116,101,114,110,97,108,32,112,114,111,103,114,97,109,115,44,32,96,80,65,84,72,96,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,32,117,115,101,32,96,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,96,32,105,110,115,116,101,97,100,46,10,10,32,32,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,32,32,62,10,32,32,62,32,79,110,32,85,110,105,120,32,115,121,115,116,101,109,115,44,32,97,114,103,117,109,101,110,116,115,32,97,114,101,32,112,97,115,115,101,100,32,116,111,32,97,32,110,101,119,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,112,114,111,99,101,115,115,32,97,115,10,32,32,62,32,97,110,32,97,114,114,97,121,32,111,102,32,115,116,114,105,110,103,115,32,98,117,116,32,111,110,32,87,105,110,100,111,119,115,32,105,116,32,105,115,32,117,112,32,116,111,32,116,104,101,32,99,104,105,108,100,32,112,114,111,99,101,115,115,32,116,111,32,112,97,114,115,101,10,32,32,62,32,116,104,101,109,32,97,110,100,32,115,111,109,101,32,87,105,110,100,111,119,115,32,112,114,111,103,114,97,109,115,32,109,97,121,32,97,112,112,108,121,32,116,104,101,105,114,32,111,119,110,32,114,117,108,101,115,44,32,119,104,105,99,104,32,97,114,101,10,32,32,62,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,116,104,101,32,115,116,97,110,100,97,114,100,32,67,32,114,117,110,116,105,109,101,32,96,97,114,103,118,96,32,112,97,114,115,105,110,103,46,10,32,32,62,10,32,32,62,32,84,104,105,115,32,105,115,32,112,97,114,116,105,99,117,108,97,114,108,121,32,116,114,111,117,98,108,101,115,111,109,101,32,119,104,101,110,32,105,110,118,111,107,105,110,103,32,96,46,98,97,116,96,44,32,96,46,99,109,100,96,44,32,111,114,32,96,46,99,111,109,96,10,32,32,62,32,102,105,108,101,115,32,97,115,32,116,104,101,115,101,32,114,117,110,32,105,109,112,108,105,99,105,116,108,121,32,116,104,114,111,117,103,104,32,96,99,109,100,46,101,120,101,96,44,32,119,104,111,115,101,32,97,114,103,117,109,101,110,116,32,112,97,114,115,105,110,103,32,105,115,10,32,32,62,32,118,117,108,110,101,114,97,98,108,101,32,116,111,32,109,97,108,105,99,105,111,117,115,32,105,110,112,117,116,32,97,110,100,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,114,117,110,32,97,114,98,105,116,114,97,114,121,32,115,104,101,108,108,10,32,32,62,32,99,111,109,109,97,110,100,115,46,10,32,32,62,10,32,32,62,32,84,104,101,114,101,102,111,114,101,44,32,105,102,32,121,111,117,32,97,114,101,32,114,117,110,110,105,110,103,32,111,110,32,87,105,110,100,111,119,115,32,97,110,100,32,121,111,117,32,101,120,101,99,117,116,101,32,98,97,116,99,104,32,102,105,108,101,115,32,111,114,10,32,32,62,32,96,46,99,111,109,96,32,97,112,112,108,105,99,97,116,105,111,110,115,44,32,121,111,117,32,109,117,115,116,32,110,111,116,32,112,97,115,115,32,117,110,116,114,117,115,116,101,100,32,105,110,112,117,116,32,97,115,32,97,114,103,117,109,101,110,116,115,32,116,111,32,116,104,101,10,32,32,62,32,112,114,111,103,114,97,109,46,32,84,104,105,115,32,97,102,102,101,99,116,115,32,98,111,116,104,32,96,115,112,97,119,110,96,32,97,110,100,32,96,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,96,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,87,111,114,107,115,32,108,105,107,101,32,96,123,115,112,97,119,110,44,32,70,105,108,101,78,97,109,101,125,96,44,32,98,117,116,32,111,110,108,121,10,32,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,96,70,105,108,101,78,97,109,101,96,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,10,32,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,10,32,32,96,80,111,114,116,83,101,116,116,105,110,103,115,96,32,96,97,114,103,115,96,32,97,110,100,32,96,97,114,103,48,96,32,99,97,110,32,98,101,32,117,115,101,100,46,10,10,32,32,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,10,32,32,100,105,114,101,99,116,108,121,46,32,96,80,65,84,72,96,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,96,80,65,84,72,96,10,32,32,116,111,32,101,120,101,99,117,116,101,44,32,117,115,101,32,96,111,115,58,102,105,110,100,95,101,120,101,99,117,116,97,98,108,101,47,49,96,46,10,10,32,32,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,96,46,98,97,116,96,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,10,32,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,10,32,32,101,120,112,97,110,115,105,111,110,32,111,114,32,105,109,112,108,105,99,105,116,32,96,80,65,84,72,96,32,115,101,97,114,99,104,46,10,10,32,32,73,102,32,96,70,105,108,101,78,97,109,101,96,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,10,32,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,10,32,32,116,104,101,32,101,114,114,111,114,32,96,101,110,111,101,110,116,96,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,10,32,32,110,111,116,32,102,111,117,110,100,32,97,110,100,32,96,101,97,99,99,101,115,96,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,10,10,45,32,42,42,96,123,115,112,97,119,110,95,100,114,105,118,101,114,44,32,67,111,109,109,97,110,100,125,96,42,42,32,45,32,87,111,114,107,115,32,108,105,107,101,32,96,123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125,96,44,32,98,117,116,32,100,101,109,97,110,100,115,32,116,104,101,10,32,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,10,32,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,96,98,97,100,97,114,103,96,32,101,114,114,111,114,32,105,115,32,114,97,105,115,101,100,46,10,10,45,32,42,42,96,123,102,100,44,32,73,110,44,32,79,117,116,125,96,42,42,32,45,32,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,10,32,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,96,73,110,96,32,99,97,110,32,98,101,32,117,115,101,100,32,102,111,114,10,32,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,96,79,117,116,96,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,10,32,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,96,115,104,101,108,108,96,32,97,110,100,32,96,117,115,101,114,96,41,46,32,72,101,110,99,101,44,32,105,116,115,32,117,115,101,10,32,32,105,115,32,108,105,109,105,116,101,100,46,10,10,96,80,111,114,116,83,101,116,116,105,110,103,115,96,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,10,102,111,108,108,111,119,115,58,10,10,45,32,42,42,96,123,112,97,99,107,101,116,44,32,78,125,96,42,42,32,45,32,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,96,78,96,32,98,121,116,101,115,44,10,32,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,96,78,96,32,97,114,101,32,49,44,32,50,44,10,32,32,97,110,100,32,52,46,10,10,45,32,42,42,96,115,116,114,101,97,109,96,42,42,32,45,32,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,10,32,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,10,10,45,32,42,42,96,123,108,105,110,101,44,32,76,125,96,42,42,32,45,32,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,10,32,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,10,32,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,96,123,70,108,97,103,44,32,76,105,110,101,125,96,44,32,119,104,101,114,101,32,96,70,108,97,103,96,32,105,115,32,96,101,111,108,96,32,111,114,10,32,32,96,110,111,101,111,108,96,44,32,97,110,100,32,96,76,105,110,101,96,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,10,10,32,32,96,76,96,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,10,32,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,96,70,108,97,103,96,32,115,101,116,32,116,111,32,96,110,111,101,111,108,96,32,102,111,114,32,97,108,108,32,98,117,116,32,116,104,101,10,32,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,10,32,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,96,70,108,97,103,96,32,115,101,116,10,32,32,116,111,32,96,110,111,101,111,108,96,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,96,70,108,97,103,96,32,115,101,116,32,116,111,32,96,101,111,108,96,46,10,10,32,32,84,104,101,32,96,123,112,97,99,107,101,116,44,32,78,125,96,32,97,110,100,32,96,123,108,105,110,101,44,32,76,125,96,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,10,10,45,32,42,42,96,123,99,100,44,32,68,105,114,125,96,42,42,32,45,32,79,110,108,121,32,118,97,108,105,100,32,102,111,114,32,96,123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125,96,32,97,110,100,10,32,32,96,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,96,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,96,68,105,114,96,32,97,115,32,105,116,115,10,32,32,119,111,114,107,105,110,103,32,100,105,114,101,99,116,111,114,121,46,32,96,68,105,114,96,32,109,117,115,116,32,98,101,32,97,32,115,116,114,105,110,103,46,10,10,45,32,42,42,96,123,101,110,118,44,32,69,110,118,125,96,42,42,32,45,32,79,110,108,121,32,118,97,108,105,100,32,102,111,114,32,96,123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125,96,44,32,97,110,100,32,96,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,96,46,10,32,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,10,32,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,32,105,110,32,96,69,110,118,96,46,10,10,32,32,96,69,110,118,96,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,96,123,78,97,109,101,44,32,86,97,108,125,96,44,32,119,104,101,114,101,32,96,78,97,109,101,96,32,105,115,32,97,32,96,116,58,111,115,58,101,110,118,95,118,97,114,95,110,97,109,101,47,48,96,10,32,32,114,101,112,114,101,115,101,110,116,105,110,103,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,96,86,97,108,96,32,105,115,32,97,32,96,116,58,111,115,58,101,110,118,95,118,97,114,95,110,97,109,101,47,48,96,10,32,32,114,101,112,114,101,115,101,110,116,105,110,103,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,96,78,97,109,101,96,32,97,110,100,32,96,86,97,108,96,32,109,117,115,116,10,32,32,98,101,32,115,116,114,105,110,103,115,46,10,10,32,32,73,102,32,96,86,97,108,96,32,105,115,32,115,101,116,32,116,111,32,116,104,101,32,97,116,111,109,32,96,102,97,108,115,101,96,32,111,114,32,116,104,101,32,101,109,112,116,121,32,115,116,114,105,110,103,32,40,116,104,97,116,32,105,115,32,96,34,34,96,32,111,114,32,96,91,93,96,41,44,32,111,112,101,110,95,112,111,114,116,10,32,32,119,105,108,108,32,99,111,110,115,105,100,101,114,32,116,104,111,115,101,32,118,97,114,105,97,98,108,101,115,32,117,110,115,101,116,32,106,117,115,116,32,97,115,32,105,102,32,96,111,115,58,117,110,115,101,116,101,110,118,47,49,96,32,104,97,100,32,98,101,101,110,32,99,97,108,108,101,100,46,10,10,32,32,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,10,32,32,102,111,114,32,96,78,97,109,101,96,32,97,110,100,32,96,86,97,108,96,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,79,110,108,121,32,118,97,108,105,100,32,102,111,114,10,32,32,96,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,96,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,10,32,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,10,32,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,10,32,32,98,101,104,97,118,105,111,114,32,105,115,32,109,105,109,105,99,107,101,100,46,10,10,32,32,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,10,32,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,10,32,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,96,102,105,108,101,108,105,98,58,119,105,108,100,99,97,114,100,47,49,96,46,32,78,111,116,105,99,101,10,32,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,10,32,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,10,32,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,10,32,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,10,10,32,32,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,96,97,114,103,118,91,48,93,96,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,10,32,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,96,97,114,103,118,91,48,93,96,44,32,119,104,101,114,101,10,32,32,97,112,112,108,105,99,97,98,108,101,46,10,10,32,32,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,10,32,32,96,97,114,103,48,96,32,99,97,110,32,98,101,32,117,115,101,100,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,79,110,108,121,32,118,97,108,105,100,32,102,111,114,10,32,32,96,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,96,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,10,32,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,10,32,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,10,32,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,10,10,45,32,42,42,96,101,120,105,116,95,115,116,97,116,117,115,96,42,42,32,45,32,79,110,108,121,32,118,97,108,105,100,32,102,111,114,32,96,123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125,96,44,32,119,104,101,114,101,32,96,67,111,109,109,97,110,100,96,32,114,101,102,101,114,115,10,32,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,96,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,96,46,10,10,32,32,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,10,32,32,96,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,96,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,96,83,116,97,116,117,115,96,10,32,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,10,32,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,10,10,32,32,73,102,32,111,112,116,105,111,110,32,96,101,111,102,96,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,96,101,111,102,96,32,97,110,100,32,96,101,120,105,116,95,115,116,97,116,117,115,96,32,97,112,112,101,97,114,10,32,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,10,10,45,32,42,42,96,117,115,101,95,115,116,100,105,111,96,42,42,32,45,32,79,110,108,121,32,118,97,108,105,100,32,102,111,114,32,96,123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125,96,32,97,110,100,10,32,32,96,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,96,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,10,32,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,10,32,32,69,114,108,97,110,103,46,10,10,45,32,42,42,96,110,111,117,115,101,95,115,116,100,105,111,96,42,42,32,45,32,84,104,101,32,111,112,112,111,115,105,116,101,32,111,102,32,96,117,115,101,95,115,116,100,105,111,96,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,10,32,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,10,10,45,32,42,42,96,115,116,100,101,114,114,95,116,111,95,115,116,100,111,117,116,96,42,42,32,45,32,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,10,32,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,10,32,32,96,115,116,100,101,114,114,95,116,111,95,115,116,100,111,117,116,96,32,97,110,100,32,96,110,111,117,115,101,95,115,116,100,105,111,96,32,97,114,101,32,109,117,116,117,97,108,108,121,32,101,120,99,108,117,115,105,118,101,46,10,10,45,32,42,42,96,111,118,101,114,108,97,112,112,101,100,95,105,111,96,42,42,32,45,32,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,10,32,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,10,32,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,96,70,73,76,69,95,70,76,65,71,95,79,86,69,82,76,65,80,80,69,68,96,44,32,115,111,32,116,104,97,116,32,116,104,101,32,112,111,114,116,10,32,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,10,32,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,10,32,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,95,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,10,32,32,115,105,108,101,110,116,108,121,32,100,105,115,99,97,114,100,101,100,46,95,10,10,45,32,42,42,96,105,110,96,42,42,32,45,32,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,10,10,45,32,42,42,96,111,117,116,96,42,42,32,45,32,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,10,10,45,32,42,42,96,98,105,110,97,114,121,96,42,42,32,45,32,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,10,32,32,108,105,115,116,115,32,111,102,32,98,121,116,101,115,46,10,10,45,32,42,42,96,101,111,102,96,42,42,32,45,32,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,10,32,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,96,123,80,111,114,116,44,32,101,111,102,125,96,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,10,32,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,10,10,45,32,42,42,96,104,105,100,101,96,42,42,32,45,32,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,10,32,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,10,32,32,112,108,97,116,102,111,114,109,115,46,41,10,10,45,32,42,42,96,123,112,97,114,97,108,108,101,108,105,115,109,44,32,66,111,111,108,101,97,110,125,96,42,42,32,45,32,91,93,40,41,123,58,32,35,111,112,101,110,95,112,111,114,116,95,112,97,114,97,108,108,101,108,105,115,109,32,125,32,83,101,116,115,32,115,99,104,101,100,117,108,101,114,10,32,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,96,116,114,117,101,96,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,10,32,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,10,32,32,96,102,97,108,115,101,96,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,10,32,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,10,32,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,91,96,43,115,112,112,96,93,40,101,114,108,95,99,109,100,46,109,100,35,37,50,66,115,112,112,41,32,116,111,10,32,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,83,101,116,115,32,108,105,109,105,116,115,32,116,104,97,116,32,119,105,108,108,32,98,101,10,32,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,10,10,32,32,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,10,32,32,96,72,105,103,104,96,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,96,76,111,119,96,32,98,121,116,101,115,10,32,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,10,32,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,10,32,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,96,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,96,32,111,114,10,32,32,96,112,111,114,116,95,99,111,109,109,97,110,100,47,91,50,44,51,93,96,46,10,10,32,32,84,104,101,32,96,76,111,119,96,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,96,72,105,103,104,96,32,105,102,32,105,116,32,105,115,32,115,101,116,10,32,32,108,97,114,103,101,114,32,116,104,101,110,32,96,72,105,103,104,96,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,96,76,111,119,96,32,97,110,100,32,96,72,105,103,104,96,32,105,115,10,32,32,96,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,96,46,32,73,102,32,116,104,101,32,97,116,111,109,32,96,100,105,115,97,98,108,101,100,96,32,105,115,10,32,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,10,10,32,32,84,104,101,32,100,101,102,97,117,108,116,115,32,97,114,101,32,96,76,111,119,32,61,32,52,48,57,54,96,32,97,110,100,32,96,72,105,103,104,32,61,32,56,49,57,50,96,46,10,10,32,32,95,78,111,116,101,95,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,10,32,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,96,102,100,96,32,100,114,105,118,101,114,46,32,84,104,105,115,10,32,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,96,98,97,100,97,114,103,96,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,10,32,32,100,114,105,118,101,114,115,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,83,101,116,115,32,108,105,109,105,116,115,32,116,104,97,116,32,119,105,108,108,32,98,101,10,32,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,10,10,32,32,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,96,72,105,103,104,96,32,98,121,116,101,115,10,32,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,96,76,111,119,96,32,98,121,116,101,115,32,105,116,32,108,101,97,118,101,115,32,116,104,101,10,32,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,10,32,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,10,32,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,10,32,32,96,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,96,32,111,114,32,96,112,111,114,116,95,99,111,109,109,97,110,100,47,91,50,44,51,93,96,46,10,10,32,32,84,104,101,32,96,76,111,119,96,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,96,72,105,103,104,96,32,105,102,32,105,116,32,105,115,32,115,101,116,10,32,32,108,97,114,103,101,114,32,116,104,101,110,32,96,72,105,103,104,96,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,96,76,111,119,96,32,97,110,100,32,96,72,105,103,104,96,32,105,115,10,32,32,96,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,96,46,32,73,102,32,116,104,101,32,97,116,111,109,32,96,100,105,115,97,98,108,101,100,96,32,105,115,10,32,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,10,10,32,32,95,78,111,116,101,95,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,10,32,32,102,97,105,108,117,114,101,32,119,105,116,104,32,97,32,96,98,97,100,97,114,103,96,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,10,32,32,115,101,116,32,116,111,32,96,100,105,115,97,98,108,101,96,32,111,114,32,110,111,116,32,112,97,115,115,101,100,32,97,116,32,97,108,108,46,10,10,32,32,84,104,101,32,100,101,102,97,117,108,116,115,32,97,114,101,32,96,76,111,119,32,61,32,52,48,57,54,96,32,97,110,100,32,96,72,105,103,104,32,61,32,56,49,57,50,96,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,10,32,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,10,10,32,32,95,78,111,116,101,95,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,10,32,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,10,10,32,32,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,96,102,100,96,32,100,114,105,118,101,114,32,100,111,32,110,111,116,10,32,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,10,10,32,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,10,32,32,91,96,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,96,93,40,101,114,108,95,100,114,105,118,101,114,46,109,100,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,41,46,10,10,68,101,102,97,117,108,116,32,105,115,32,96,115,116,114,101,97,109,96,32,102,111,114,32,97,108,108,32,112,111,114,116,32,116,121,112,101,115,32,97,110,100,32,96,117,115,101,95,115,116,100,105,111,96,32,102,111,114,32,115,112,97,119,110,101,100,32,112,111,114,116,115,46,10,10,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,96,98,97,100,97,114,103,96,44,10,96,115,121,115,116,101,109,95,108,105,109,105,116,96,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,10,111,114,32,96,101,105,110,118,97,108,96,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,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,66,97,100,32,105,110,112,117,116,32,97,114,103,117,109,101,110,116,115,32,116,111,32,96,111,112,101,110,95,112,111,114,116,96,46,10,10,45,32,42,42,96,115,121,115,116,101,109,95,108,105,109,105,116,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,110,111,109,101,109,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,97,103,97,105,110,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,110,97,109,101,116,111,111,108,111,110,103,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,109,102,105,108,101,96,42,42,32,45,32,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,10,32,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,10,10,45,32,42,42,96,101,110,102,105,108,101,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,97,99,99,101,115,96,42,42,32,45,32,96,67,111,109,109,97,110,100,96,32,115,112,101,99,105,102,105,101,100,32,105,110,32,96,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,96,32,100,111,101,115,32,110,111,116,10,32,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,10,10,45,32,42,42,96,101,110,111,101,110,116,96,42,42,32,45,32,96,70,105,108,101,78,97,109,101,96,32,115,112,101,99,105,102,105,101,100,32,105,110,32,96,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,96,32,100,111,101,115,32,110,111,116,10,32,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,10,10,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,96,123,115,112,97,119,110,44,32,78,97,109,101,125,96,44,32,96,123,115,112,97,119,110,95,100,114,105,118,101,114,44,32,78,97,109,101,125,96,44,32,111,114,10,96,123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,78,97,109,101,125,96,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,10,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,10,96,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,96,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,96,80,111,115,105,120,67,111,100,101,96,44,32,115,101,101,10,96,109,58,102,105,108,101,96,46,10,10,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,10,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,91,96,43,81,96,93,40,101,114,108,95,99,109,100,46,109,100,35,109,97,120,95,112,111,114,116,115,41,32,116,111,32,91,101,114,108,93,40,101,114,108,95,99,109,100,46,109,100,41,46>>},#{group => ports,specification => [{attribute,{7317,2},spec,{{open_port,2},[{type,{7317,16},bounded_fun,[{type,{7317,16},'fun',[{type,{7317,16},product,[{var,{7317,17},'PortName'},{var,{7317,27},'PortSettings'}]},{type,{7317,44},port,[]}]},[{type,{7318,7},constraint,[{atom,{7318,7},is_subtype},[{var,{7318,7},'PortName'},{type,{7318,19},union,[{type,{7318,19},tuple,[{atom,{7318,20},spawn},{ann_type,{7318,27},[{var,{7318,27},'Command'},{type,{7318,38},union,[{type,{7318,38},string,[]},{type,{7318,49},binary,[]}]}]}]},{type,{7319,19},tuple,[{atom,{7319,20},spawn_driver},{ann_type,{7319,34},[{var,{7319,34},'Command'},{type,{7319,45},union,[{type,{7319,45},string,[]},{type,{7319,56},binary,[]}]}]}]},{type,{7320,19},tuple,[{atom,{7320,20},spawn_executable},{ann_type,{7320,38},[{var,{7320,38},'FileName'},{remote_type,{7320,50},[{atom,{7320,50},file},{atom,{7320,55},name_all},[]]}]}]},{type,{7321,19},tuple,[{atom,{7321,20},fd},{ann_type,{7321,24},[{var,{7321,24},'In'},{type,{7321,30},non_neg_integer,[]}]},{ann_type,{7321,49},[{var,{7321,49},'Out'},{type,{7321,56},non_neg_integer,[]}]}]}]}]]},{type,{7322,7},constraint,[{atom,{7322,7},is_subtype},[{var,{7322,7},'PortSettings'},{type,{7322,23},list,[{var,{7322,24},'Opt'}]}]]},{type,{7323,7},constraint,[{atom,{7323,7},is_subtype},[{var,{7323,7},'Opt'},{type,{7323,14},union,[{type,{7323,14},tuple,[{atom,{7323,15},packet},{ann_type,{7323,23},[{var,{7323,23},'N'},{type,{7323,28},union,[{integer,{7323,28},1},{integer,{7323,32},2},{integer,{7323,36},4}]}]}]},{atom,{7324,14},stream},{type,{7325,14},tuple,[{atom,{7325,15},line},{ann_type,{7325,21},[{var,{7325,21},'L'},{type,{7325,26},non_neg_integer,[]}]}]},{type,{7326,14},tuple,[{atom,{7326,15},cd},{ann_type,{7326,19},[{var,{7326,19},'Dir'},{type,{7326,26},union,[{type,{7326,26},string,[]},{type,{7326,37},binary,[]}]}]}]},{type,{7327,14},tuple,[{atom,{7327,15},env},{ann_type,{7327,20},[{var,{7327,20},'Env'},{type,{7327,27},list,[{type,{7327,28},tuple,[{ann_type,{7327,29},[{var,{7327,29},'Name'},{remote_type,{7327,37},[{atom,{7327,37},os},{atom,{7327,40},env_var_name},[]]}]},{ann_type,{7327,56},[{var,{7327,56},'Val'},{type,{7327,63},union,[{remote_type,{7327,63},[{atom,{7327,63},os},{atom,{7327,66},env_var_value},[]]},{type,{7327,84},nil,[]},{atom,{7327,89},false}]}]}]}]}]}]},{type,{7328,14},tuple,[{atom,{7328,15},args},{type,{7328,21},list,[{type,{7328,22},union,[{type,{7328,22},string,[]},{type,{7328,33},binary,[]}]}]}]},{type,{7329,14},tuple,[{atom,{7329,15},arg0},{type,{7329,21},union,[{type,{7329,21},string,[]},{type,{7329,32},binary,[]}]}]},{atom,{7330,14},exit_status},{atom,{7331,14},use_stdio},{atom,{7332,14},nouse_stdio},{atom,{7333,14},stderr_to_stdout},{atom,{7334,14},in},{atom,{7335,14},out},{atom,{7336,14},binary},{atom,{7337,14},eof},{type,{7338,7},tuple,[{atom,{7338,8},parallelism},{ann_type,{7338,21},[{var,{7338,21},'Boolean'},{type,{7338,32},boolean,[]}]}]},{atom,{7339,7},hide},{type,{7340,14},tuple,[{atom,{7340,15},busy_limits_port},{type,{7340,33},union,[{type,{7340,33},tuple,[{type,{7340,34},non_neg_integer,[]},{type,{7340,53},non_neg_integer,[]}]},{atom,{7340,74},disabled}]}]},{type,{7341,14},tuple,[{atom,{7341,15},busy_limits_msgq},{type,{7341,33},union,[{type,{7341,33},tuple,[{type,{7341,34},non_neg_integer,[]},{type,{7341,53},non_neg_integer,[]}]},{atom,{7341,74},disabled}]}]}]}]]}]]}]}}]}},{{function,make_tuple,3},{7001,2},[<<109,97,107,101,95,116,117,112,108,101,40,65,114,105,116,121,44,32,68,101,102,97,117,108,116,86,97,108,117,101,44,32,73,110,105,116,76,105,115,116,41>>],#{<<101,110>> => <<67,114,101,97,116,101,115,32,97,32,116,117,112,108,101,32,111,102,32,115,105,122,101,32,96,65,114,105,116,121,96,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,96,68,101,102,97,117,108,116,86,97,108,117,101,96,44,10,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,96,73,110,105,116,76,105,115,116,96,46,10,10,69,97,99,104,32,108,105,115,116,32,101,108,101,109,101,110,116,32,105,110,32,96,73,110,105,116,76,105,115,116,96,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,10,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,10,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,10,111,99,99,117,114,114,101,110,99,101,32,105,115,32,117,115,101,100,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{7018,2},spec,{{make_tuple,3},[{type,{7018,17},bounded_fun,[{type,{7018,17},'fun',[{type,{7018,17},product,[{var,{7018,18},'Arity'},{var,{7018,25},'DefaultValue'},{var,{7018,39},'InitList'}]},{type,{7018,52},tuple,any}]},[{type,{7019,7},constraint,[{atom,{7019,7},is_subtype},[{var,{7019,7},'Arity'},{type,{7019,16},arity,[]}]]},{type,{7020,7},constraint,[{atom,{7020,7},is_subtype},[{var,{7020,7},'DefaultValue'},{type,{7020,23},term,[]}]]},{type,{7021,7},constraint,[{atom,{7021,7},is_subtype},[{var,{7021,7},'InitList'},{type,{7021,19},list,[{type,{7021,20},tuple,[{ann_type,{7021,21},[{var,{7021,21},'Position'},{type,{7021,33},pos_integer,[]}]},{type,{7021,48},term,[]}]}]}]]}]]}]}}]}},{{function,make_tuple,2},{6982,2},[<<109,97,107,101,95,116,117,112,108,101,40,65,114,105,116,121,44,32,73,110,105,116,105,97,108,86,97,108,117,101,41>>],#{<<101,110>> => <<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,96,65,114,105,116,121,96,44,32,119,104,101,114,101,32,97,108,108,32,101,108,101,109,101,110,116,115,32,97,114,101,10,96,73,110,105,116,105,97,108,86,97,108,117,101,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{6994,2},spec,{{make_tuple,2},[{type,{6994,17},bounded_fun,[{type,{6994,17},'fun',[{type,{6994,17},product,[{var,{6994,18},'Arity'},{var,{6994,25},'InitialValue'}]},{type,{6994,42},tuple,any}]},[{type,{6995,7},constraint,[{atom,{6995,7},is_subtype},[{var,{6995,7},'Arity'},{type,{6995,16},arity,[]}]]},{type,{6996,7},constraint,[{atom,{6996,7},is_subtype},[{var,{6996,7},'InitialValue'},{type,{6996,23},term,[]}]]}]]}]}}]}},{{function,make_fun,3},{6973,2},[<<109,97,107,101,95,102,117,110,40,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,41>>],hidden,#{}},{{function,localtime_to_universaltime,2},{6938,2},[<<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,44,32,73,115,68,115,116,41>>],#{<<101,110>> => <<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,10,96,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,96,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,10,84,105,109,101,32,105,115,32,97,99,116,105,118,101,46,10,10,73,102,32,96,73,115,68,115,116,32,61,61,32,116,114,117,101,96,44,32,96,76,111,99,97,108,116,105,109,101,96,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,10,96,73,115,68,115,116,32,61,61,32,102,97,108,115,101,96,32,105,116,32,105,115,32,110,111,116,46,32,73,102,32,96,73,115,68,115,116,32,61,61,32,117,110,100,101,102,105,110,101,100,96,44,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,32,99,97,110,10,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,10,96,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,96,46,10,10,69,120,97,109,112,108,101,115,58,10,10,96,96,96,101,114,108,97,110,103,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,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,10,96,96,96,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,76,111,99,97,108,116,105,109,101,96,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>>},#{group => time,specification => [{attribute,{6962,2},spec,{{localtime_to_universaltime,2},[{type,{6962,33},bounded_fun,[{type,{6962,33},'fun',[{type,{6962,33},product,[{var,{6962,34},'Localtime'},{var,{6962,45},'IsDst'}]},{var,{6962,55},'Universaltime'}]},[{type,{6963,7},constraint,[{atom,{6963,7},is_subtype},[{var,{6963,7},'Localtime'},{remote_type,{6963,20},[{atom,{6963,20},calendar},{atom,{6963,29},datetime},[]]}]]},{type,{6964,7},constraint,[{atom,{6964,7},is_subtype},[{var,{6964,7},'Universaltime'},{remote_type,{6964,24},[{atom,{6964,24},calendar},{atom,{6964,33},datetime},[]]}]]},{type,{6965,7},constraint,[{atom,{6965,7},is_subtype},[{var,{6965,7},'IsDst'},{type,{6965,16},union,[{atom,{6965,16},true},{atom,{6965,23},false},{atom,{6965,31},undefined}]}]]}]]}]}}]}},{{function,load_nif,2},{6887,2},[<<108,111,97,100,95,110,105,102,40,80,97,116,104,44,32,76,111,97,100,73,110,102,111,41>>],#{<<101,110>> => <<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,10,102,111,114,32,97,32,109,111,100,117,108,101,46,10,10,96,80,97,116,104,96,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,10,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,96,46,115,111,96,32,102,111,114,32,85,110,105,120,32,97,110,100,32,96,46,100,108,108,96,32,102,111,114,32,87,105,110,100,111,119,115,41,46,10,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,10,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,10,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,10,108,105,98,114,97,114,121,44,32,115,101,101,32,91,96,101,114,108,95,110,105,102,40,51,41,96,93,40,101,114,108,95,110,105,102,46,109,100,41,46,10,10,96,76,111,97,100,73,110,102,111,96,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,10,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,10,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,10,10,84,104,101,32,99,97,108,108,32,116,111,32,91,96,108,111,97,100,95,110,105,102,47,50,96,93,40,96,108,111,97,100,95,110,105,102,47,50,96,41,32,109,117,115,116,32,98,101,32,109,97,100,101,32,95,100,105,114,101,99,116,108,121,95,32,102,114,111,109,32,116,104,101,32,69,114,108,97,110,103,10,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,96,111,107,96,44,32,111,114,10,96,123,101,114,114,111,114,44,123,82,101,97,115,111,110,44,84,101,120,116,125,125,96,32,105,102,32,108,111,97,100,105,110,103,32,102,97,105,108,115,46,32,96,82,101,97,115,111,110,96,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,10,119,104,105,108,101,32,96,84,101,120,116,96,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,10,102,97,105,108,117,114,101,58,10,10,45,32,42,42,96,108,111,97,100,95,102,97,105,108,101,100,96,42,42,32,45,32,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,10,10,45,32,42,42,96,98,97,100,95,108,105,98,96,42,42,32,45,32,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,10,32,32,111,102,32,116,104,101,32,99,97,108,108,105,110,103,32,109,111,100,117,108,101,46,10,10,45,32,42,42,96,108,111,97,100,32,124,32,117,112,103,114,97,100,101,96,42,42,32,45,32,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,10,10,45,32,42,42,96,114,101,108,111,97,100,96,42,42,32,45,32,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,10,32,32,112,114,101,118,105,111,117,115,108,121,32,100,101,112,114,101,99,97,116,101,100,32,96,114,101,108,111,97,100,96,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,10,10,45,32,42,42,96,111,108,100,95,99,111,100,101,96,42,42,32,45,32,84,104,101,32,99,97,108,108,32,116,111,32,91,96,108,111,97,100,95,110,105,102,47,50,96,93,40,96,108,111,97,100,95,110,105,102,47,50,96,41,32,119,97,115,32,109,97,100,101,32,102,114,111,109,32,116,104,101,10,32,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,10,10,73,102,32,116,104,101,32,91,96,45,110,105,102,115,40,41,96,93,40,96,101,58,115,121,115,116,101,109,58,109,111,100,117,108,101,115,46,109,100,35,110,105,102,115,95,97,116,116,114,105,98,117,116,101,96,41,32,97,116,116,114,105,98,117,116,101,32,105,115,32,117,115,101,100,10,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,115,116,32,98,101,32,100,101,99,108,97,114,101,100,32,97,115,32,115,117,99,104,10,102,111,114,32,91,96,108,111,97,100,95,110,105,102,47,50,96,93,40,96,108,111,97,100,95,110,105,102,47,50,96,41,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,10,100,101,99,108,97,114,101,100,32,119,105,116,104,32,116,104,101,32,96,45,110,105,102,115,40,41,96,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,10,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,10,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,10,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>>},#{group => code,specification => [{attribute,{6930,2},spec,{{load_nif,2},[{type,{6930,15},bounded_fun,[{type,{6930,15},'fun',[{type,{6930,15},product,[{var,{6930,16},'Path'},{var,{6930,22},'LoadInfo'}]},{type,{6930,36},union,[{atom,{6930,36},ok},{var,{6930,41},'Error'}]}]},[{type,{6931,7},constraint,[{atom,{6931,7},is_subtype},[{var,{6931,7},'Path'},{type,{6931,15},string,[]}]]},{type,{6932,7},constraint,[{atom,{6932,7},is_subtype},[{var,{6932,7},'LoadInfo'},{type,{6932,19},term,[]}]]},{type,{6933,7},constraint,[{atom,{6933,7},is_subtype},[{var,{6933,7},'Error'},{type,{6933,16},tuple,[{atom,{6933,17},error},{type,{6933,24},tuple,[{var,{6933,25},'Reason'},{ann_type,{6933,33},[{var,{6933,33},'Text'},{type,{6933,41},string,[]}]}]}]}]]},{type,{6934,7},constraint,[{atom,{6934,7},is_subtype},[{var,{6934,7},'Reason'},{type,{6934,17},union,[{atom,{6934,17},load_failed},{atom,{6934,31},bad_lib},{atom,{6934,41},load},{atom,{6934,48},reload},{atom,{6934,57},upgrade},{atom,{6934,67},old_code}]}]]}]]}]}}]}},{{function,load_module,2},{6835,2},[<<108,111,97,100,95,109,111,100,117,108,101,40,77,111,100,117,108,101,44,32,66,105,110,97,114,121,41>>],#{<<101,110>> => <<76,111,97,100,115,32,96,77,111,100,117,108,101,96,32,100,101,115,99,114,105,98,101,100,32,98,121,32,116,104,101,32,111,98,106,101,99,116,32,99,111,100,101,32,99,111,110,116,97,105,110,101,100,32,119,105,116,104,105,110,32,96,66,105,110,97,114,121,96,46,10,10,73,102,32,116,104,101,32,99,111,100,101,32,102,111,114,32,109,111,100,117,108,101,32,96,77,111,100,117,108,101,96,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,10,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,10,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,10,101,120,101,99,117,116,105,110,103,32,116,104,97,116,32,99,111,100,101,46,10,10,82,101,116,117,114,110,115,32,101,105,116,104,101,114,32,96,123,109,111,100,117,108,101,44,32,77,111,100,117,108,101,125,96,44,32,111,114,32,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,32,105,102,32,108,111,97,100,105,110,103,32,102,97,105,108,115,46,10,96,82,101,97,115,111,110,96,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,10,10,45,32,42,42,96,98,97,100,102,105,108,101,96,42,42,32,45,32,84,104,101,32,111,98,106,101,99,116,32,99,111,100,101,32,105,110,32,96,66,105,110,97,114,121,96,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,95,111,114,95,32,116,104,101,10,32,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,96,77,111,100,117,108,101,96,46,10,10,45,32,42,42,96,110,111,116,95,112,117,114,103,101,100,96,42,42,32,45,32,96,66,105,110,97,114,121,96,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,10,32,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,10,10,45,32,42,42,96,111,110,95,108,111,97,100,96,42,42,32,45,32,84,104,101,32,99,111,100,101,32,105,110,32,96,66,105,110,97,114,121,96,32,99,111,110,116,97,105,110,115,32,97,110,32,96,111,110,95,108,111,97,100,96,32,100,101,99,108,97,114,97,116,105,111,110,32,116,104,97,116,10,32,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,96,66,105,110,97,114,121,96,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,10,32,32,99,117,114,114,101,110,116,32,99,111,100,101,32,102,111,114,32,96,77,111,100,117,108,101,96,32,119,105,108,108,32,114,101,109,97,105,110,32,117,110,116,105,108,32,116,104,101,32,96,111,110,95,108,111,97,100,96,32,99,97,108,108,32,104,97,115,32,102,105,110,105,115,104,101,100,46,10,10,45,32,42,42,110,111,116,95,97,108,108,111,119,101,100,42,42,32,45,32,84,104,101,32,99,111,100,101,32,105,110,32,96,66,105,110,97,114,121,96,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,10,32,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,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,96,109,58,99,111,100,101,96,41,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,10,62,32,101,108,115,101,119,104,101,114,101,46>>},#{group => code,specification => [{attribute,{6865,2},spec,{{load_module,2},[{type,{6865,18},bounded_fun,[{type,{6865,18},'fun',[{type,{6865,18},product,[{var,{6865,19},'Module'},{var,{6865,27},'Binary'}]},{type,{6865,38},union,[{type,{6865,38},tuple,[{atom,{6865,39},module},{var,{6865,47},'Module'}]},{type,{6865,57},tuple,[{atom,{6865,58},error},{var,{6865,65},'Reason'}]}]}]},[{type,{6866,7},constraint,[{atom,{6866,7},is_subtype},[{var,{6866,7},'Module'},{type,{6866,17},module,[]}]]},{type,{6867,7},constraint,[{atom,{6867,7},is_subtype},[{var,{6867,7},'Binary'},{type,{6867,17},binary,[]}]]},{type,{6868,7},constraint,[{atom,{6868,7},is_subtype},[{var,{6868,7},'Reason'},{type,{6868,17},union,[{atom,{6868,17},badfile},{atom,{6868,27},not_purged},{atom,{6868,40},on_load},{type,{6869,17},tuple,[{atom,{6869,18},features_not_allowed},{type,{6869,40},list,[{type,{6869,41},atom,[]}]}]}]}]]}]]}]}}]}},{{function,is_tuple,1},{6826,2},[<<105,115,95,116,117,112,108,101,40,84,101,114,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,32,105,115,32,97,32,116,117,112,108,101,44,32,111,116,104,101,114,119,105,115,101,32,96,102,97,108,115,101,96,46>>},#{group => terms,specification => [{attribute,{6830,2},spec,{{is_tuple,1},[{type,{6830,15},bounded_fun,[{type,{6830,15},'fun',[{type,{6830,15},product,[{var,{6830,16},'Term'}]},{type,{6830,25},boolean,[]}]},[{type,{6831,7},constraint,[{atom,{6831,7},is_subtype},[{var,{6831,7},'Term'},{type,{6831,15},term,[]}]]}]]}]}}]}},{{function,is_reference,1},{6816,2},[<<105,115,95,114,101,102,101,114,101,110,99,101,40,84,101,114,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,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,96,102,97,108,115,101,96,46>>},#{group => terms,specification => [{attribute,{6820,2},spec,{{is_reference,1},[{type,{6820,19},bounded_fun,[{type,{6820,19},'fun',[{type,{6820,19},product,[{var,{6820,20},'Term'}]},{type,{6820,29},boolean,[]}]},[{type,{6821,7},constraint,[{atom,{6821,7},is_subtype},[{var,{6821,7},'Term'},{type,{6821,15},term,[]}]]}]]}]}}]}},{{function,is_record,3},{6793,2},[<<105,115,95,114,101,99,111,114,100,40,84,101,114,109,44,32,82,101,99,111,114,100,84,97,103,44,32,83,105,122,101,41>>],#{<<101,110>> => <<96,82,101,99,111,114,100,84,97,103,96,32,109,117,115,116,32,98,101,32,97,110,32,97,116,111,109,46,10,10,82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,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,96,82,101,99,111,114,100,84,97,103,96,44,32,97,110,100,32,105,116,115,10,115,105,122,101,32,105,115,32,96,83,105,122,101,96,46,32,79,116,104,101,114,119,105,115,101,32,114,101,116,117,114,110,115,32,96,102,97,108,115,101,96,46,10,10,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,96,82,101,99,111,114,100,84,97,103,96,32,105,115,32,97,32,108,105,116,101,114,97,108,32,97,116,111,109,32,97,110,100,32,96,83,105,122,101,96,32,105,115,32,97,32,108,105,116,101,114,97,108,10,105,110,116,101,103,101,114,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,91,96,105,115,95,114,101,99,111,114,100,47,50,96,93,40,96,105,115,95,114,101,99,111,114,100,47,50,96,41,32,105,115,32,116,111,32,98,101,32,117,115,101,100,46>>},#{group => terms,specification => [{attribute,{6808,2},spec,{{is_record,3},[{type,{6808,16},bounded_fun,[{type,{6808,16},'fun',[{type,{6808,16},product,[{var,{6808,17},'Term'},{var,{6808,22},'RecordTag'},{var,{6808,32},'Size'}]},{type,{6808,41},boolean,[]}]},[{type,{6809,7},constraint,[{atom,{6809,7},is_subtype},[{var,{6809,7},'Term'},{type,{6809,15},term,[]}]]},{type,{6810,7},constraint,[{atom,{6810,7},is_subtype},[{var,{6810,7},'RecordTag'},{type,{6810,20},atom,[]}]]},{type,{6811,7},constraint,[{atom,{6811,7},is_subtype},[{var,{6811,7},'Size'},{type,{6811,15},non_neg_integer,[]}]]}]]}]}}]}},{{function,is_record,2},{6771,2},[<<105,115,95,114,101,99,111,114,100,40,84,101,114,109,44,32,82,101,99,111,114,100,84,97,103,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,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,96,82,101,99,111,114,100,84,97,103,96,46,10,79,116,104,101,114,119,105,115,101,32,114,101,116,117,114,110,115,32,96,102,97,108,115,101,96,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,91,96,105,115,95,114,101,99,111,114,100,47,50,96,93,40,96,105,115,95,114,101,99,111,114,100,47,50,96,41,10,62,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,96,84,101,114,109,96,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,10,62,32,101,108,101,109,101,110,116,32,105,115,32,96,82,101,99,111,114,100,84,97,103,96,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,96,82,101,99,111,114,100,84,97,103,96,10,62,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,91,96,105,115,95,114,101,99,111,114,100,47,50,96,93,40,96,105,115,95,114,101,99,111,114,100,47,50,96,41,32,105,115,32,99,97,108,108,101,100,10,62,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,10,10,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,96,82,101,99,111,114,100,84,97,103,96,32,105,115,32,97,32,108,105,116,101,114,97,108,32,97,116,111,109,46>>},#{group => terms,specification => [{attribute,{6786,2},spec,{{is_record,2},[{type,{6786,16},bounded_fun,[{type,{6786,16},'fun',[{type,{6786,16},product,[{var,{6786,17},'Term'},{var,{6786,22},'RecordTag'}]},{type,{6786,36},boolean,[]}]},[{type,{6787,7},constraint,[{atom,{6787,7},is_subtype},[{var,{6787,7},'Term'},{type,{6787,15},term,[]}]]},{type,{6788,7},constraint,[{atom,{6788,7},is_subtype},[{var,{6788,7},'RecordTag'},{type,{6788,20},atom,[]}]]}]]}]}}]}},{{function,is_port,1},{6761,2},[<<105,115,95,112,111,114,116,40,84,101,114,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,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,96,102,97,108,115,101,96,46>>},#{group => terms,specification => [{attribute,{6765,2},spec,{{is_port,1},[{type,{6765,14},bounded_fun,[{type,{6765,14},'fun',[{type,{6765,14},product,[{var,{6765,15},'Term'}]},{type,{6765,24},boolean,[]}]},[{type,{6766,7},constraint,[{atom,{6766,7},is_subtype},[{var,{6766,7},'Term'},{type,{6766,15},term,[]}]]}]]}]}}]}},{{function,is_map,1},{6750,2},[<<105,115,95,109,97,112,40,84,101,114,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,32,105,115,32,97,32,109,97,112,44,32,111,116,104,101,114,119,105,115,101,32,96,102,97,108,115,101,96,46>>},#{group => terms,specification => [{attribute,{6755,2},spec,{{is_map,1},[{type,{6755,13},bounded_fun,[{type,{6755,13},'fun',[{type,{6755,13},product,[{var,{6755,14},'Term'}]},{type,{6755,23},boolean,[]}]},[{type,{6756,7},constraint,[{atom,{6756,7},is_subtype},[{var,{6756,7},'Term'},{type,{6756,15},term,[]}]]}]]}]}}],since => <<79,84,80,32,49,55,46,48>>}},{{function,is_pid,1},{6740,2},[<<105,115,95,112,105,100,40,84,101,114,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,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,96,102,97,108,115,101,96,46>>},#{group => terms,specification => [{attribute,{6744,2},spec,{{is_pid,1},[{type,{6744,13},bounded_fun,[{type,{6744,13},'fun',[{type,{6744,13},product,[{var,{6744,14},'Term'}]},{type,{6744,23},boolean,[]}]},[{type,{6745,7},constraint,[{atom,{6745,7},is_subtype},[{var,{6745,7},'Term'},{type,{6745,15},term,[]}]]}]]}]}}]}},{{function,is_number,1},{6729,2},[<<105,115,95,110,117,109,98,101,114,40,84,101,114,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,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,10,114,101,116,117,114,110,115,32,96,102,97,108,115,101,96,46>>},#{group => terms,specification => [{attribute,{6734,2},spec,{{is_number,1},[{type,{6734,16},bounded_fun,[{type,{6734,16},'fun',[{type,{6734,16},product,[{var,{6734,17},'Term'}]},{type,{6734,26},boolean,[]}]},[{type,{6735,7},constraint,[{atom,{6735,7},is_subtype},[{var,{6735,7},'Term'},{type,{6735,15},term,[]}]]}]]}]}}]}},{{function,is_list,1},{6718,2},[<<105,115,95,108,105,115,116,40,84,101,114,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,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,10,96,102,97,108,115,101,96,46>>},#{group => terms,specification => [{attribute,{6723,2},spec,{{is_list,1},[{type,{6723,14},bounded_fun,[{type,{6723,14},'fun',[{type,{6723,14},product,[{var,{6723,15},'Term'}]},{type,{6723,24},boolean,[]}]},[{type,{6724,7},constraint,[{atom,{6724,7},is_subtype},[{var,{6724,7},'Term'},{type,{6724,15},term,[]}]]}]]}]}}]}},{{function,is_integer,1},{6708,2},[<<105,115,95,105,110,116,101,103,101,114,40,84,101,114,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,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,96,102,97,108,115,101,96,46>>},#{group => terms,specification => [{attribute,{6712,2},spec,{{is_integer,1},[{type,{6712,17},bounded_fun,[{type,{6712,17},'fun',[{type,{6712,17},product,[{var,{6712,18},'Term'}]},{type,{6712,27},boolean,[]}]},[{type,{6713,7},constraint,[{atom,{6713,7},is_subtype},[{var,{6713,7},'Term'},{type,{6713,15},term,[]}]]}]]}]}}]}},{{function,is_function,2},{6696,2},[<<105,115,95,102,117,110,99,116,105,111,110,40,84,101,114,109,44,32,65,114,105,116,121,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,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,96,65,114,105,116,121,96,32,110,117,109,98,101,114,32,111,102,10,97,114,103,117,109,101,110,116,115,44,32,111,116,104,101,114,119,105,115,101,32,96,102,97,108,115,101,96,46>>},#{group => terms,specification => [{attribute,{6701,2},spec,{{is_function,2},[{type,{6701,18},bounded_fun,[{type,{6701,18},'fun',[{type,{6701,18},product,[{var,{6701,19},'Term'},{var,{6701,25},'Arity'}]},{type,{6701,35},boolean,[]}]},[{type,{6702,7},constraint,[{atom,{6702,7},is_subtype},[{var,{6702,7},'Term'},{type,{6702,15},term,[]}]]},{type,{6703,7},constraint,[{atom,{6703,7},is_subtype},[{var,{6703,7},'Arity'},{type,{6703,16},arity,[]}]]}]]}]}}]}},{{function,is_function,1},{6686,2},[<<105,115,95,102,117,110,99,116,105,111,110,40,84,101,114,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,32,105,115,32,97,32,102,117,110,44,32,111,116,104,101,114,119,105,115,101,32,96,102,97,108,115,101,96,46>>},#{group => terms,specification => [{attribute,{6690,2},spec,{{is_function,1},[{type,{6690,18},bounded_fun,[{type,{6690,18},'fun',[{type,{6690,18},product,[{var,{6690,19},'Term'}]},{type,{6690,28},boolean,[]}]},[{type,{6691,7},constraint,[{atom,{6691,7},is_subtype},[{var,{6691,7},'Term'},{type,{6691,15},term,[]}]]}]]}]}}]}},{{function,is_float,1},{6676,2},[<<105,115,95,102,108,111,97,116,40,84,101,114,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,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,96,102,97,108,115,101,96,46>>},#{group => terms,specification => [{attribute,{6680,2},spec,{{is_float,1},[{type,{6680,15},bounded_fun,[{type,{6680,15},'fun',[{type,{6680,15},product,[{var,{6680,16},'Term'}]},{type,{6680,25},boolean,[]}]},[{type,{6681,7},constraint,[{atom,{6681,7},is_subtype},[{var,{6681,7},'Term'},{type,{6681,15},term,[]}]]}]]}]}}]}},{{function,is_boolean,1},{6665,2},[<<105,115,95,98,111,111,108,101,97,110,40,84,101,114,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,32,105,115,32,116,104,101,32,97,116,111,109,32,96,116,114,117,101,96,32,111,114,32,116,104,101,32,97,116,111,109,32,96,102,97,108,115,101,96,32,40,116,104,97,116,32,105,115,44,32,97,10,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,96,102,97,108,115,101,96,46>>},#{group => terms,specification => [{attribute,{6670,2},spec,{{is_boolean,1},[{type,{6670,17},bounded_fun,[{type,{6670,17},'fun',[{type,{6670,17},product,[{var,{6670,18},'Term'}]},{type,{6670,27},boolean,[]}]},[{type,{6671,7},constraint,[{atom,{6671,7},is_subtype},[{var,{6671,7},'Term'},{type,{6671,15},term,[]}]]}]]}]}}]}},{{function,is_bitstring,1},{6655,2},[<<105,115,95,98,105,116,115,116,114,105,110,103,40,84,101,114,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,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,96,102,97,108,115,101,96,46>>},#{group => terms,specification => [{attribute,{6659,2},spec,{{is_bitstring,1},[{type,{6659,19},bounded_fun,[{type,{6659,19},'fun',[{type,{6659,19},product,[{var,{6659,20},'Term'}]},{type,{6659,29},boolean,[]}]},[{type,{6660,7},constraint,[{atom,{6660,7},is_subtype},[{var,{6660,7},'Term'},{type,{6660,15},term,[]}]]}]]}]}}]}},{{function,is_binary,1},{6643,2},[<<105,115,95,98,105,110,97,114,121,40,84,101,114,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,32,105,115,32,97,32,98,105,110,97,114,121,44,32,111,116,104,101,114,119,105,115,101,32,96,102,97,108,115,101,96,46,10,10,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>>},#{group => terms,specification => [{attribute,{6649,2},spec,{{is_binary,1},[{type,{6649,16},bounded_fun,[{type,{6649,16},'fun',[{type,{6649,16},product,[{var,{6649,17},'Term'}]},{type,{6649,26},boolean,[]}]},[{type,{6650,7},constraint,[{atom,{6650,7},is_subtype},[{var,{6650,7},'Term'},{type,{6650,15},term,[]}]]}]]}]}}]}},{{function,is_atom,1},{6633,2},[<<105,115,95,97,116,111,109,40,84,101,114,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,32,105,115,32,97,110,32,97,116,111,109,44,32,111,116,104,101,114,119,105,115,101,32,96,102,97,108,115,101,96,46>>},#{group => terms,specification => [{attribute,{6637,2},spec,{{is_atom,1},[{type,{6637,14},bounded_fun,[{type,{6637,14},'fun',[{type,{6637,14},product,[{var,{6637,15},'Term'}]},{type,{6637,24},boolean,[]}]},[{type,{6638,7},constraint,[{atom,{6638,7},is_subtype},[{var,{6638,7},'Term'},{type,{6638,15},term,[]}]]}]]}]}}]}},{{function,hd,1},{6604,2},[<<104,100,40,76,105,115,116,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,104,101,97,100,32,111,102,32,96,76,105,115,116,96,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,10,10,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,10,10,69,120,97,109,112,108,101,115,58,10,10,96,96,96,101,114,108,97,110,103,10,62,32,104,100,40,91,49,44,50,44,51,44,52,44,53,93,41,46,10,49,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,76,105,115,116,96,32,105,115,32,97,110,32,101,109,112,116,121,32,108,105,115,116,32,96,91,93,96,46>>},#{group => terms,specification => [{attribute,{6624,2},spec,{{hd,1},[{type,{6624,9},bounded_fun,[{type,{6624,9},'fun',[{type,{6624,9},product,[{var,{6624,10},'List'}]},{var,{6624,19},'Head'}]},[{type,{6625,7},constraint,[{atom,{6625,7},is_subtype},[{var,{6625,7},'List'},{type,{6625,15},nonempty_maybe_improper_list,[]}]]},{type,{6626,7},constraint,[{atom,{6626,7},is_subtype},[{var,{6626,7},'Head'},{type,{6626,15},term,[]}]]}]]}]}}]}},{{function,get_module_info,2},{6595,2},[<<103,101,116,95,109,111,100,117,108,101,95,105,110,102,111,40,77,111,100,117,108,101,44,32,73,116,101,109,41>>],hidden,#{}},{{function,element,2},{6575,2},[<<101,108,101,109,101,110,116,40,78,44,32,84,117,112,108,101,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,96,78,96,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,96,84,117,112,108,101,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{6586,2},spec,{{element,2},[{type,{6586,14},bounded_fun,[{type,{6586,14},'fun',[{type,{6586,14},product,[{var,{6586,15},'N'},{var,{6586,18},'Tuple'}]},{type,{6586,28},term,[]}]},[{type,{6587,5},constraint,[{atom,{6587,5},is_subtype},[{var,{6587,5},'N'},{type,{6587,10},pos_integer,[]}]]},{type,{6588,5},constraint,[{atom,{6588,5},is_subtype},[{var,{6588,5},'Tuple'},{type,{6588,14},tuple,any}]]}]]}]}}]}},{{function,append,2},{6567,2},[<<97,112,112,101,110,100,40,76,105,115,116,44,32,84,97,105,108,41>>],hidden,#{}},{{function,abs,1},{6544,2},[<<97,98,115,40,78,117,109,98,101,114,41>>],#{<<101,110>> => <<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,96,70,108,111,97,116,96,10,111,114,32,96,73,110,116,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{6558,2},spec,{{abs,1},[{type,{6558,10},bounded_fun,[{type,{6558,10},'fun',[{type,{6558,10},product,[{var,{6558,11},'Float'}]},{type,{6558,21},float,[]}]},[{type,{6559,7},constraint,[{atom,{6559,7},is_subtype},[{var,{6559,7},'Float'},{type,{6559,16},float,[]}]]}]]},{type,{6560,10},bounded_fun,[{type,{6560,10},'fun',[{type,{6560,10},product,[{var,{6560,11},'Int'}]},{type,{6560,19},non_neg_integer,[]}]},[{type,{6561,7},constraint,[{atom,{6561,7},is_subtype},[{var,{6561,7},'Int'},{type,{6561,14},integer,[]}]]}]]}]}}]}},{{function,whereis,1},{6516,2},[<<119,104,101,114,101,105,115,40,82,101,103,78,97,109,101,41>>],#{<<101,110>> => <<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,10,91,96,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,96,93,40,96,114,101,103,105,115,116,101,114,47,50,96,41,32,96,82,101,103,78,97,109,101,96,32,102,114,111,109,32,116,104,101,10,91,96,110,97,109,101,32,114,101,103,105,115,116,114,121,96,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,114,117,110,116,105,109,101,45,115,101,114,118,105,99,101,96,41,46,32,82,101,116,117,114,110,115,10,96,117,110,100,101,102,105,110,101,100,96,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,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,62,32,119,104,101,114,101,105,115,40,100,98,41,46,10,60,48,46,52,51,46,48,62,10,96,96,96>>},#{group => processes,specification => [{attribute,{6530,2},spec,{{whereis,1},[{type,{6530,14},bounded_fun,[{type,{6530,14},'fun',[{type,{6530,14},product,[{var,{6530,15},'RegName'}]},{type,{6530,27},union,[{type,{6530,27},pid,[]},{type,{6530,35},port,[]},{atom,{6530,44},undefined}]}]},[{type,{6531,7},constraint,[{atom,{6531,7},is_subtype},[{var,{6531,7},'RegName'},{type,{6531,18},atom,[]}]]}]]}]}}]}},{{function,unregister,1},{6489,2},[<<117,110,114,101,103,105,115,116,101,114,40,82,101,103,78,97,109,101,41>>],#{<<101,110>> => <<82,101,109,111,118,101,115,32,116,104,101,32,91,96,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,96,93,40,96,114,101,103,105,115,116,101,114,47,50,96,41,32,96,82,101,103,78,97,109,101,96,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,97,10,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,10,91,96,110,97,109,101,32,114,101,103,105,115,116,114,121,96,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,114,117,110,116,105,109,101,45,115,101,114,118,105,99,101,96,41,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,62,32,117,110,114,101,103,105,115,116,101,114,40,100,98,41,46,10,116,114,117,101,10,96,96,96,10,10,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,10,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,10,98,101,102,111,114,101,32,115,101,110,100,105,110,103,32,116,111,32,105,116,46,10,10,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,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,82,101,103,78,97,109,101,96,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>>},#{group => processes,specification => [{attribute,{6510,2},spec,{{unregister,1},[{type,{6510,17},bounded_fun,[{type,{6510,17},'fun',[{type,{6510,17},product,[{var,{6510,18},'RegName'}]},{atom,{6510,30},true}]},[{type,{6511,7},constraint,[{atom,{6511,7},is_subtype},[{var,{6511,7},'RegName'},{type,{6511,18},atom,[]}]]}]]}]}}]}},{{function,unlink,1},{6433,2},[<<117,110,108,105,110,107,40,73,100,41>>],#{<<101,110>> => <<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,10,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,73,100,96,46,10,10,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,10,10,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,96,108,105,110,107,47,49,96,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,10,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,95,80,114,111,99,101,115,115,101,115,95,32,99,104,97,112,116,101,114,32,105,110,32,116,104,101,32,95,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,10,77,97,110,117,97,108,95,58,10,10,45,32,91,76,105,110,107,115,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,108,105,110,107,115,96,41,10,45,32,91,83,101,110,100,105,110,103,32,69,120,105,116,32,83,105,103,110,97,108,115,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,115,101,110,100,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115,96,41,10,45,32,91,82,101,99,101,105,118,105,110,103,32,69,120,105,116,32,83,105,103,110,97,108,115,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,114,101,99,101,105,118,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115,96,41,10,10,79,110,99,101,32,91,96,117,110,108,105,110,107,40,73,100,41,96,93,40,96,117,110,108,105,110,107,47,49,96,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,10,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,10,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,10,91,116,114,97,112,112,105,110,103,32,101,120,105,116,115,93,40,35,112,114,111,99,101,115,115,95,102,108,97,103,95,116,114,97,112,95,101,120,105,116,41,44,32,97,110,10,96,123,39,69,88,73,84,39,44,32,73,100,44,32,69,120,105,116,82,101,97,115,111,110,125,96,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,10,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,91,96,117,110,108,105,110,107,40,73,100,41,96,93,40,96,117,110,108,105,110,107,47,49,96,41,32,99,97,108,108,10,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,96,123,39,69,88,73,84,39,44,32,73,100,44,32,69,120,105,116,82,101,97,115,111,110,125,96,32,109,101,115,115,97,103,101,32,109,97,121,32,98,101,32,116,104,101,10,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,10,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,96,101,120,105,116,47,50,96,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,10,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,10,91,96,117,110,108,105,110,107,40,73,100,41,96,93,40,96,117,110,108,105,110,107,47,49,96,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,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,10,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,10,91,108,105,110,107,32,112,114,111,116,111,99,111,108,93,40,101,114,108,95,100,105,115,116,95,112,114,111,116,111,99,111,108,46,109,100,35,108,105,110,107,95,112,114,111,116,111,99,111,108,41,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,10,95,68,105,115,116,114,105,98,117,116,105,111,110,32,80,114,111,116,111,99,111,108,95,32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32,95,69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101,95,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,91,95,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,95,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,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,96,41,10,62,32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32,95,80,114,111,99,101,115,115,101,115,95,32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32,95,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,95,46,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,73,100,96,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>>},#{group => processes,specification => [{attribute,{6483,2},spec,{{unlink,1},[{type,{6483,13},bounded_fun,[{type,{6483,13},'fun',[{type,{6483,13},product,[{var,{6483,14},'Id'}]},{atom,{6483,21},true}]},[{type,{6484,7},constraint,[{atom,{6484,7},is_subtype},[{var,{6484,7},'Id'},{type,{6484,13},union,[{type,{6484,13},pid,[]},{type,{6484,21},port,[]}]}]]}]]}]}}]}},{{function,universaltime_to_posixtime,1},{6426,2},[<<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,40,80,49,41>>],hidden,#{}},{{function,universaltime,0},{6405,2},[<<117,110,105,118,101,114,115,97,108,116,105,109,101,40,41>>],#{<<101,110>> => <<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,10,105,110,32,116,104,101,32,102,111,114,109,32,96,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,96,32,105,102,32,115,117,112,112,111,114,116,101,100,32,98,121,32,116,104,101,10,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,96,101,114,108,97,110,103,58,117,110,105,118,101,114,115,97,108,116,105,109,101,40,41,96,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,10,96,101,114,108,97,110,103,58,108,111,99,97,108,116,105,109,101,40,41,96,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,10,91,79,83,32,83,121,115,116,101,109,32,84,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,111,115,45,115,121,115,116,101,109,45,116,105,109,101,41,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => time,specification => [{attribute,{6420,2},spec,{{universaltime,0},[{type,{6420,20},bounded_fun,[{type,{6420,20},'fun',[{type,{6420,20},product,[]},{var,{6420,26},'DateTime'}]},[{type,{6421,7},constraint,[{atom,{6421,7},is_subtype},[{var,{6421,7},'DateTime'},{remote_type,{6421,19},[{atom,{6421,19},calendar},{atom,{6421,28},datetime},[]]}]]}]]}]}}]}},{{function,tuple_size,1},{6388,2},[<<116,117,112,108,101,95,115,105,122,101,40,84,117,112,108,101,41>>],#{<<101,110>> => <<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,96,84,117,112,108,101,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{6399,2},spec,{{tuple_size,1},[{type,{6399,17},bounded_fun,[{type,{6399,17},'fun',[{type,{6399,17},product,[{var,{6399,18},'Tuple'}]},{type,{6399,28},non_neg_integer,[]}]},[{type,{6400,7},constraint,[{atom,{6400,7},is_subtype},[{var,{6400,7},'Tuple'},{type,{6400,16},tuple,any}]]}]]}]}}]}},{{function,trunc,1},{6347,2},[<<116,114,117,110,99,40,78,117,109,98,101,114,41>>],#{<<101,110>> => <<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,96,78,117,109,98,101,114,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,62,32,116,114,117,110,99,40,53,46,55,41,46,10,53,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,62,32,116,114,117,110,99,40,45,53,46,55,41,46,10,45,53,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,62,32,116,114,117,110,99,40,53,41,46,10,53,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,73,110,32,116,104,101,32,108,97,115,116,32,101,120,97,109,112,108,101,44,32,91,96,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,96,93,40,96,116,114,117,110,99,47,49,96,41,32,101,118,97,108,117,97,116,101,115,32,116,111,10,96,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,56,96,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,10,96,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,57,46,48,96,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,10,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,96,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,56,46,48,96,44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,99,108,111,115,101,115,116,10,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,10,91,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,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,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,96,41,10,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>>},#{group => terms,specification => [{attribute,{6381,2},spec,{{trunc,1},[{type,{6381,12},bounded_fun,[{type,{6381,12},'fun',[{type,{6381,12},product,[{var,{6381,13},'Number'}]},{type,{6381,24},integer,[]}]},[{type,{6382,7},constraint,[{atom,{6382,7},is_subtype},[{var,{6382,7},'Number'},{type,{6382,17},number,[]}]]}]]}]}}]}},{{function,trace_info,2},{6323,2},[<<116,114,97,99,101,95,105,110,102,111,40,80,105,100,80,111,114,116,70,117,110,99,69,118,101,110,116,44,32,73,116,101,109,41>>],#{<<101,110>> => <<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,32,102,111,114,32,116,104,101,10,115,116,97,116,105,99,32,108,101,103,97,99,121,32,116,114,97,99,101,32,115,101,115,115,105,111,110,46,10,10,32,32,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,115,117,112,101,114,115,101,100,101,100,32,98,121,32,96,116,114,97,99,101,58,105,110,102,111,47,51,96,32,116,104,97,116,32,111,112,101,114,97,116,101,115,32,111,110,32,100,121,110,97,109,105,99,32,116,114,97,99,101,10,32,32,62,32,115,101,115,115,105,111,110,115,46>>},#{group => trace,specification => [{attribute,{6333,2},spec,{{trace_info,2},[{type,{6333,17},bounded_fun,[{type,{6333,17},'fun',[{type,{6333,17},product,[{var,{6333,18},'PidPortFuncEvent'},{var,{6333,36},'Item'}]},{var,{6333,45},'Res'}]},[{type,{6334,7},constraint,[{atom,{6334,7},is_subtype},[{var,{6334,7},'PidPortFuncEvent'},{type,{6334,27},union,[{type,{6334,27},pid,[]},{type,{6334,35},port,[]},{atom,{6334,44},new},{atom,{6334,50},new_processes},{atom,{6334,66},new_ports},{type,{6335,24},tuple,[{var,{6335,25},'Module'},{var,{6335,33},'Function'},{var,{6335,43},'Arity'}]},{atom,{6335,52},on_load},{atom,{6335,62},send},{atom,{6335,69},'receive'}]}]]},{type,{6336,7},constraint,[{atom,{6336,7},is_subtype},[{var,{6336,7},'Module'},{type,{6336,17},module,[]}]]},{type,{6337,7},constraint,[{atom,{6337,7},is_subtype},[{var,{6337,7},'Function'},{type,{6337,19},atom,[]}]]},{type,{6338,7},constraint,[{atom,{6338,7},is_subtype},[{var,{6338,7},'Arity'},{type,{6338,16},arity,[]}]]},{type,{6339,7},constraint,[{atom,{6339,7},is_subtype},[{var,{6339,7},'Item'},{type,{6339,15},union,[{atom,{6339,15},flags},{atom,{6339,23},tracer},{atom,{6339,32},traced},{atom,{6339,41},match_spec},{atom,{6340,15},meta},{atom,{6340,22},meta_match_spec},{atom,{6340,40},call_count},{atom,{6340,53},call_time},{atom,{6340,65},call_memory},{atom,{6340,79},all}]}]]},{type,{6341,7},constraint,[{atom,{6341,7},is_subtype},[{var,{6341,7},'Res'},{user_type,{6341,14},trace_info_return,[]}]]}]]}]}}]}},{{function,trace_delivered,1},{6277,2},[<<116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,40,84,114,97,99,101,101,41>>],#{<<101,110>> => <<67,97,108,108,105,110,103,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,109,97,107,101,115,32,115,117,114,101,32,97,108,108,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,10,10,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,91,96,101,114,108,97,110,103,58,116,114,97,99,101,47,51,96,93,40,96,116,114,97,99,101,47,51,96,41,44,10,96,109,58,115,101,113,95,116,114,97,99,101,96,44,32,111,114,32,91,96,101,114,108,97,110,103,58,115,121,115,116,101,109,95,112,114,111,102,105,108,101,47,50,96,93,40,96,115,121,115,116,101,109,95,112,114,111,102,105,108,101,47,50,96,41,41,32,105,115,32,100,105,115,108,111,99,97,116,101,100,10,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,10,96,84,114,97,99,101,101,96,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,10,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,10,114,101,97,99,104,101,100,32,116,104,101,32,116,114,97,99,101,114,44,32,117,115,101,32,96,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,96,46,10,10,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,10,116,104,101,32,112,111,105,110,116,32,116,104,97,116,32,96,84,114,97,99,101,101,96,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,10,96,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,96,44,32,116,104,101,110,32,97,32,96,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,96,10,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,96,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,96,32,46,10,10,78,111,116,105,99,101,32,116,104,97,116,32,109,101,115,115,97,103,101,32,96,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,96,32,100,111,101,115,32,95,110,111,116,95,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,10,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,95,97,114,101,32,116,111,32,98,101,10,100,101,108,105,118,101,114,101,100,95,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,96,84,114,97,99,101,101,96,32,105,115,32,110,111,116,44,32,97,110,100,32,104,97,115,10,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,95,110,111,95,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,104,97,118,101,10,98,101,101,110,32,100,101,108,105,118,101,114,101,100,32,119,104,101,110,32,116,104,101,32,96,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,96,32,109,101,115,115,97,103,101,32,97,114,114,105,118,101,115,46,10,10,78,111,116,105,99,101,32,116,104,97,116,32,96,84,114,97,99,101,101,96,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,10,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,96,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,96,32,114,101,115,105,100,101,115,32,111,110,46,32,84,104,101,10,115,112,101,99,105,97,108,32,96,84,114,97,99,101,101,96,32,97,116,111,109,32,96,97,108,108,96,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,10,116,104,101,32,110,111,100,101,46,10,10,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,91,84,114,97,99,101,114,32,77,111,100,117,108,101,93,40,96,109,58,101,114,108,95,116,114,97,99,101,114,96,41,44,32,97,110,121,32,109,101,115,115,97,103,101,32,115,101,110,116,32,105,110,10,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,10,96,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,96,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,46,10,10,69,120,97,109,112,108,101,58,32,80,114,111,99,101,115,115,32,96,65,96,32,105,115,32,96,84,114,97,99,101,101,96,44,32,112,111,114,116,32,96,66,96,32,105,115,32,116,114,97,99,101,114,44,32,97,110,100,32,112,114,111,99,101,115,115,32,96,67,96,32,105,115,32,116,104,101,10,112,111,114,116,32,111,119,110,101,114,32,111,102,32,96,66,96,46,32,96,67,96,32,119,97,110,116,115,32,116,111,32,99,108,111,115,101,32,96,66,96,32,119,104,101,110,32,96,65,96,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,10,116,114,97,99,101,32,105,115,32,110,111,116,32,116,114,117,110,99,97,116,101,100,44,32,96,67,96,32,99,97,110,32,99,97,108,108,32,96,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,96,32,119,104,101,110,32,96,65,96,32,101,120,105,116,115,44,10,97,110,100,32,119,97,105,116,32,102,111,114,32,109,101,115,115,97,103,101,32,96,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,96,32,98,101,102,111,114,101,32,99,108,111,115,105,110,103,32,96,66,96,46,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,84,114,97,99,101,101,96,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,10,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,96,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,96,32,114,101,115,105,100,101,115,32,111,110,46>>},#{group => trace,specification => [{attribute,{6316,2},spec,{{trace_delivered,1},[{type,{6316,22},bounded_fun,[{type,{6316,22},'fun',[{type,{6316,22},product,[{var,{6316,23},'Tracee'}]},{var,{6316,34},'Ref'}]},[{type,{6317,7},constraint,[{atom,{6317,7},is_subtype},[{var,{6317,7},'Tracee'},{type,{6317,17},union,[{type,{6317,17},pid,[]},{atom,{6317,25},all}]}]]},{type,{6318,7},constraint,[{atom,{6318,7},is_subtype},[{var,{6318,7},'Ref'},{type,{6318,14},reference,[]}]]}]]}]}}]}},{{function,trace,3},{6235,2},[<<116,114,97,99,101,40,80,105,100,80,111,114,116,83,112,101,99,44,32,72,111,119,44,32,70,108,97,103,76,105,115,116,41>>],#{<<101,110>> => <<84,117,114,110,32,111,110,32,111,114,32,111,102,102,32,116,114,97,99,101,32,102,108,97,103,115,32,111,110,32,112,114,111,99,101,115,115,101,115,32,111,114,32,112,111,114,116,115,32,102,111,114,32,116,104,101,32,115,116,97,116,105,99,32,108,101,103,97,99,121,32,116,114,97,99,101,32,115,101,115,115,105,111,110,46,10,10,32,32,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,115,117,112,101,114,115,101,100,101,100,32,98,121,32,96,116,114,97,99,101,58,112,114,111,99,101,115,115,47,52,96,32,97,110,100,32,96,116,114,97,99,101,58,112,111,114,116,47,52,96,32,116,104,97,116,10,32,32,62,32,111,112,101,114,97,116,101,32,111,110,32,100,121,110,97,109,105,99,32,116,114,97,99,101,32,115,101,115,115,105,111,110,115,46,10,10,65,114,103,117,109,101,110,116,32,96,70,108,97,103,76,105,115,116,96,32,99,97,110,32,99,111,110,116,97,105,110,32,116,119,111,32,97,100,100,105,116,105,111,110,97,108,32,111,112,116,105,111,110,115,58,10,10,45,32,42,42,96,123,116,114,97,99,101,114,44,32,84,114,97,99,101,114,125,96,42,42,32,45,32,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,96,84,114,97,99,101,114,96,10,32,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,10,32,32,108,111,99,97,108,32,112,111,114,116,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,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,10,32,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,10,32,32,109,111,100,117,108,101,44,32,115,101,101,32,96,109,58,101,114,108,95,116,114,97,99,101,114,96,46,10,10,73,102,32,110,111,32,96,116,114,97,99,101,114,96,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,10,109,101,115,115,97,103,101,115,46,32,84,104,101,32,108,101,103,97,99,121,32,116,114,97,99,101,32,115,101,115,115,105,111,110,32,104,97,115,32,110,111,32,115,112,101,99,105,102,105,101,100,32,116,114,97,99,101,114,46,10,10,70,111,114,32,102,117,114,116,104,101,114,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,115,101,101,32,96,116,114,97,99,101,58,112,114,111,99,101,115,115,47,52,96,32,97,110,100,32,96,116,114,97,99,101,58,112,111,114,116,47,52,96,46>>},#{group => trace,specification => [{attribute,{6260,2},spec,{{trace,3},[{type,{6260,12},bounded_fun,[{type,{6260,12},'fun',[{type,{6260,12},product,[{var,{6260,13},'PidPortSpec'},{var,{6260,26},'How'},{var,{6260,31},'FlagList'}]},{type,{6260,44},integer,[]}]},[{type,{6261,7},constraint,[{atom,{6261,7},is_subtype},[{var,{6261,7},'PidPortSpec'},{type,{6261,22},union,[{type,{6261,22},pid,[]},{type,{6261,30},port,[]},{atom,{6262,22},all},{atom,{6262,28},processes},{atom,{6262,40},ports},{atom,{6263,22},existing},{atom,{6263,33},existing_processes},{atom,{6263,54},existing_ports},{atom,{6264,22},new},{atom,{6264,28},new_processes},{atom,{6264,44},new_ports}]}]]},{type,{6265,7},constraint,[{atom,{6265,7},is_subtype},[{var,{6265,7},'How'},{type,{6265,14},boolean,[]}]]},{type,{6266,7},constraint,[{atom,{6266,7},is_subtype},[{var,{6266,7},'FlagList'},{type,{6266,19},list,[{user_type,{6266,20},trace_flag,[]}]}]]}]]}]}}]}},{{function,time,0},{6214,2},[<<116,105,109,101,40,41>>],#{<<101,110>> => <<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,96,123,72,111,117,114,44,32,77,105,110,117,116,101,44,32,83,101,99,111,110,100,125,96,46,10,10,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,10,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,10,91,79,83,32,83,121,115,116,101,109,32,84,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,111,115,45,115,121,115,116,101,109,45,116,105,109,101,41,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,62,32,116,105,109,101,40,41,46,10,123,57,44,52,50,44,52,52,125,10,96,96,96>>},#{group => time,specification => [{attribute,{6229,2},spec,{{time,0},[{type,{6229,11},bounded_fun,[{type,{6229,11},'fun',[{type,{6229,11},product,[]},{var,{6229,17},'Time'}]},[{type,{6230,7},constraint,[{atom,{6230,7},is_subtype},[{var,{6230,7},'Time'},{remote_type,{6230,15},[{atom,{6230,15},calendar},{atom,{6230,24},time},[]]}]]}]]}]}}]}},{{function,throw,1},{6173,2},[<<116,104,114,111,119,40,65,110,121,41>>],#{<<101,110>> => <<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,96,116,104,114,111,119,96,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,10,114,101,116,117,114,110,115,32,102,114,111,109,32,102,117,110,99,116,105,111,110,115,46,10,10,73,102,32,101,118,97,108,117,97,116,101,100,32,119,105,116,104,105,110,32,97,32,91,99,97,116,99,104,32,101,120,112,114,101,115,115,105,111,110,93,40,96,101,58,115,121,115,116,101,109,58,101,120,112,114,101,115,115,105,111,110,115,46,109,100,35,99,97,116,99,104,45,97,110,100,45,116,104,114,111,119,96,41,44,32,116,104,101,10,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,96,65,110,121,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,73,102,32,101,118,97,108,117,97,116,101,100,32,119,105,116,104,105,110,32,97,32,96,116,114,121,96,92,45,98,108,111,99,107,32,111,102,32,97,10,91,116,114,121,32,101,120,112,114,101,115,115,105,111,110,93,40,96,101,58,115,121,115,116,101,109,58,101,120,112,114,101,115,115,105,111,110,115,46,109,100,35,116,114,121,96,41,44,32,116,104,101,32,118,97,108,117,101,32,96,65,110,121,96,32,99,97,110,32,98,101,32,99,97,117,103,104,116,10,119,105,116,104,105,110,32,116,104,101,32,99,97,116,99,104,32,98,108,111,99,107,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,70,97,105,108,117,114,101,58,32,96,110,111,99,97,116,99,104,96,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,10,10,83,101,101,32,116,104,101,32,103,117,105,100,101,32,97,98,111,117,116,32,91,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,93,40,96,101,58,115,121,115,116,101,109,58,101,114,114,111,114,115,46,109,100,96,41,32,102,111,114,10,97,100,100,105,116,105,111,110,97,108,32,105,110,102,111,114,109,97,116,105,111,110,46>>},#{group => processes,specification => [{attribute,{6208,2},spec,{{throw,1},[{type,{6208,12},bounded_fun,[{type,{6208,12},'fun',[{type,{6208,12},product,[{var,{6208,13},'Any'}]},{type,{6208,21},no_return,[]}]},[{type,{6209,7},constraint,[{atom,{6209,7},is_subtype},[{var,{6209,7},'Any'},{type,{6209,14},term,[]}]]}]]}]}}]}},{{function,system_profile,2},{6121,2},[<<115,121,115,116,101,109,95,112,114,111,102,105,108,101,40,80,114,111,102,105,108,101,114,80,105,100,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<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,96,80,114,111,102,105,108,101,114,80,105,100,96,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,10,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,10,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,10,10,45,32,42,42,96,101,120,99,108,117,115,105,118,101,96,42,42,32,45,32,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,10,32,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,10,32,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,96,105,110,97,99,116,105,118,101,96,44,32,97,110,100,32,108,97,116,101,114,32,96,97,99,116,105,118,101,96,32,119,104,101,110,10,32,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,10,10,45,32,42,42,96,109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112,96,42,42,32,45,32,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,10,32,32,91,69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,101,114,108,97,110,103,45,109,111,110,111,116,111,110,105,99,45,116,105,109,101,41,46,32,84,104,101,32,116,105,109,101,10,32,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,10,32,32,96,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,96,46,10,10,45,32,42,42,96,114,117,110,110,97,98,108,101,95,112,114,111,99,115,96,42,42,32,45,32,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,10,32,32,97,32,109,101,115,115,97,103,101,44,32,96,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,96,44,32,105,115,32,115,101,110,116,32,116,111,32,96,80,114,111,102,105,108,101,114,80,105,100,96,46,32,82,117,110,110,105,110,103,10,32,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,10,32,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,10,10,45,32,42,42,96,114,117,110,110,97,98,108,101,95,112,111,114,116,115,96,42,42,32,45,32,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,10,32,32,109,101,115,115,97,103,101,44,32,96,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,96,44,32,105,115,32,115,101,110,116,32,116,111,32,96,80,114,111,102,105,108,101,114,80,105,100,96,46,10,10,45,32,42,42,96,115,99,104,101,100,117,108,101,114,96,42,42,32,45,32,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,10,32,32,96,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,96,44,32,105,115,32,115,101,110,116,32,116,111,32,96,80,114,111,102,105,108,101,114,80,105,100,96,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,32,91,69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,101,114,108,97,110,103,45,109,111,110,111,116,111,110,105,99,45,116,105,109,101,41,32,97,110,100,32,97,10,32,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,10,32,32,118,97,108,117,101,32,97,115,32,112,114,111,100,117,99,101,100,32,98,121,10,32,32,96,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,96,46,10,10,45,32,42,42,96,116,105,109,101,115,116,97,109,112,96,42,42,32,45,32,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,10,32,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,96,101,114,108,97,110,103,58,110,111,119,40,41,96,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,10,32,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,96,99,112,117,95,116,105,109,101,115,116,97,109,112,96,32,104,97,115,32,98,101,101,110,32,101,110,97,98,108,101,100,10,32,32,116,104,114,111,117,103,104,32,96,116,114,97,99,101,58,112,114,111,99,101,115,115,47,52,96,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,10,32,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,96,116,105,109,101,115,116,97,109,112,96,32,105,115,32,101,110,97,98,108,101,100,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,96,101,114,108,97,110,103,58,115,121,115,116,101,109,95,112,114,111,102,105,108,101,96,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>>},#{group => system,specification => [{attribute,{6164,2},spec,{{system_profile,2},[{type,{6164,21},bounded_fun,[{type,{6164,21},'fun',[{type,{6164,21},product,[{var,{6164,22},'ProfilerPid'},{var,{6164,35},'Options'}]},{var,{6164,47},'ProfilerSettings'}]},[{type,{6165,7},constraint,[{atom,{6165,7},is_subtype},[{var,{6165,7},'ProfilerPid'},{type,{6165,22},union,[{type,{6165,22},pid,[]},{type,{6165,30},port,[]},{atom,{6165,39},undefined}]}]]},{type,{6166,7},constraint,[{atom,{6166,7},is_subtype},[{var,{6166,7},'Options'},{type,{6166,18},list,[{user_type,{6166,20},system_profile_option,[]}]}]]},{type,{6167,7},constraint,[{atom,{6167,7},is_subtype},[{var,{6167,7},'ProfilerSettings'},{type,{6167,27},union,[{atom,{6167,27},undefined},{type,{6167,39},tuple,[{type,{6167,41},union,[{type,{6167,41},pid,[]},{type,{6167,49},port,[]}]},{type,{6167,57},list,[{user_type,{6167,59},system_profile_option,[]}]}]}]}]]}]]}]}}]}},{{function,system_profile,0},{6106,2},[<<115,121,115,116,101,109,95,112,114,111,102,105,108,101,40,41>>],#{<<101,110>> => <<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,10,91,96,101,114,108,97,110,103,58,115,121,115,116,101,109,95,112,114,111,102,105,108,101,47,50,96,93,40,96,115,121,115,116,101,109,95,112,114,111,102,105,108,101,47,50,96,41,32,97,115,32,96,123,80,114,111,102,105,108,101,114,80,105,100,44,32,79,112,116,105,111,110,115,125,96,44,32,111,114,10,96,117,110,100,101,102,105,110,101,100,96,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,10,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>>},#{group => system,specification => [{attribute,{6113,2},spec,{{system_profile,0},[{type,{6113,21},bounded_fun,[{type,{6113,21},'fun',[{type,{6113,21},product,[]},{var,{6113,27},'ProfilerSettings'}]},[{type,{6114,7},constraint,[{atom,{6114,7},is_subtype},[{var,{6114,7},'ProfilerSettings'},{type,{6114,27},union,[{atom,{6114,27},undefined},{type,{6114,39},tuple,[{var,{6114,41},'ProfilerPid'},{var,{6114,54},'Options'}]}]}]]},{type,{6115,7},constraint,[{atom,{6115,7},is_subtype},[{var,{6115,7},'ProfilerPid'},{type,{6115,22},union,[{type,{6115,22},pid,[]},{type,{6115,30},port,[]}]}]]},{type,{6116,7},constraint,[{atom,{6116,7},is_subtype},[{var,{6116,7},'Options'},{type,{6116,18},list,[{user_type,{6116,20},system_profile_option,[]}]}]]}]]}]}}]}},{{function,system_monitor,2},{5967,2},[<<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>>],#{<<101,110>> => <<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,96,77,111,110,105,116,111,114,80,105,100,96,32,105,115,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,10,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,10,10,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,10,10,45,32,42,42,96,123,108,111,110,103,95,103,99,44,32,84,105,109,101,125,96,42,42,32,45,32,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,10,32,32,96,84,105,109,101,96,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,96,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,96,32,105,115,10,32,32,115,101,110,116,32,116,111,32,96,77,111,110,105,116,111,114,80,105,100,96,46,32,96,71,99,80,105,100,96,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,96,73,110,102,111,96,32,105,115,10,32,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,10,10,32,32,79,110,101,32,111,102,32,116,104,101,32,116,117,112,108,101,115,32,105,115,32,96,123,116,105,109,101,111,117,116,44,32,71,99,84,105,109,101,125,96,44,32,119,104,101,114,101,32,96,71,99,84,105,109,101,96,32,105,115,32,116,104,101,32,116,105,109,101,32,102,111,114,32,116,104,101,10,32,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,10,32,32,96,104,101,97,112,95,115,105,122,101,96,44,32,96,104,101,97,112,95,98,108,111,99,107,95,115,105,122,101,96,44,32,96,115,116,97,99,107,95,115,105,122,101,96,44,32,96,109,98,117,102,95,115,105,122,101,96,44,32,96,111,108,100,95,104,101,97,112,95,115,105,122,101,96,44,10,32,32,97,110,100,32,96,111,108,100,95,104,101,97,112,95,98,108,111,99,107,95,115,105,122,101,96,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,10,32,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,91,96,103,99,95,109,105,110,111,114,95,115,116,97,114,116,96,93,40,96,109,58,116,114,97,99,101,35,103,99,95,109,105,110,111,114,95,115,116,97,114,116,96,41,32,40,115,101,101,10,32,32,96,116,114,97,99,101,58,112,114,111,99,101,115,115,47,52,96,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,10,32,32,116,117,112,108,101,115,32,105,110,32,116,104,101,32,96,73,110,102,111,96,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,10,10,45,32,42,42,96,123,108,111,110,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,44,32,123,68,105,115,97,98,108,101,44,32,69,110,97,98,108,101,125,125,96,42,42,32,45,32,73,102,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,108,101,110,103,116,104,32,111,102,10,32,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,114,101,97,99,104,32,96,69,110,97,98,108,101,96,32,108,101,110,103,116,104,44,32,97,32,96,108,111,110,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,96,32,109,111,110,105,116,111,114,10,32,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,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,77,111,110,105,116,111,114,80,105,100,96,46,32,84,104,101,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,10,32,32,119,105,108,108,32,98,101,32,111,110,32,116,104,101,32,102,111,114,109,32,96,123,109,111,110,105,116,111,114,44,32,80,105,100,44,32,108,111,110,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,44,32,76,111,110,103,125,96,44,32,119,104,101,114,101,32,96,80,105,100,96,32,105,115,10,32,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,103,111,116,32,97,32,108,111,110,103,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,97,110,100,32,96,76,111,110,103,96,10,32,32,119,105,108,108,32,101,113,117,97,108,32,96,116,114,117,101,96,32,105,110,100,105,99,97,116,105,110,103,32,116,104,97,116,32,105,116,32,105,115,32,105,110,32,97,32,95,108,111,110,103,32,109,101,115,115,97,103,101,32,113,117,101,117,101,95,32,115,116,97,116,101,46,32,78,111,10,32,32,109,111,114,101,32,96,108,111,110,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,96,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,115,32,119,105,108,108,32,98,101,32,115,101,110,116,32,100,117,101,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,10,32,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,80,105,100,96,32,117,110,116,105,108,32,105,116,115,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,108,101,110,103,116,104,32,102,97,108,108,115,32,100,111,119,110,32,116,111,32,97,32,108,101,110,103,116,104,32,111,102,10,32,32,96,68,105,115,97,98,108,101,96,32,108,101,110,103,116,104,46,32,87,104,101,110,32,116,104,105,115,32,104,97,112,112,101,110,115,44,32,97,32,96,108,111,110,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,96,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,10,32,32,119,105,116,104,32,96,76,111,110,103,96,32,101,113,117,97,108,32,116,111,32,96,102,97,108,115,101,96,32,119,105,108,108,32,98,101,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,10,32,32,96,77,111,110,105,116,111,114,80,105,100,96,32,105,110,100,105,99,97,116,105,110,103,32,116,104,97,116,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,110,111,32,108,111,110,103,101,114,32,105,110,32,97,32,95,108,111,110,103,32,109,101,115,115,97,103,101,10,32,32,113,117,101,117,101,95,32,115,116,97,116,101,46,32,65,115,32,111,102,32,116,104,105,115,44,32,105,102,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,108,101,110,103,116,104,32,115,104,111,117,108,100,32,97,103,97,105,110,32,114,101,97,99,104,10,32,32,96,69,110,97,98,108,101,96,32,108,101,110,103,116,104,44,32,97,32,110,101,119,32,96,108,111,110,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,96,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,32,119,105,116,104,32,96,76,111,110,103,96,32,115,101,116,32,116,111,10,32,32,96,116,114,117,101,96,32,119,105,108,108,32,97,103,97,105,110,32,98,101,32,115,101,110,116,46,32,84,104,97,116,32,105,115,44,32,97,32,96,108,111,110,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,96,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,32,105,115,10,32,32,115,101,110,116,32,119,104,101,110,32,97,32,112,114,111,99,101,115,115,32,101,110,116,101,114,115,32,111,114,32,108,101,97,118,101,115,32,97,32,95,108,111,110,103,32,109,101,115,115,97,103,101,32,113,117,101,117,101,95,32,115,116,97,116,101,32,119,104,101,114,101,32,116,104,101,115,101,10,32,32,115,116,97,116,101,32,99,104,97,110,103,101,115,32,97,114,101,32,100,101,102,105,110,101,100,32,98,121,32,116,104,101,32,96,69,110,97,98,108,101,96,32,97,110,100,32,96,68,105,115,97,98,108,101,96,32,112,97,114,97,109,101,116,101,114,115,46,10,10,32,32,96,69,110,97,98,108,101,96,32,108,101,110,103,116,104,32,109,117,115,116,32,98,101,32,97,110,32,105,110,116,101,103,101,114,32,108,97,114,103,101,114,32,116,104,97,110,32,122,101,114,111,32,97,110,100,32,96,68,105,115,97,98,108,101,96,32,108,101,110,103,116,104,32,109,117,115,116,10,32,32,98,101,32,97,110,32,105,110,116,101,103,101,114,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,122,101,114,111,46,32,96,68,105,115,97,98,108,101,96,32,108,101,110,103,116,104,32,109,117,115,116,32,97,108,115,111,32,98,101,10,32,32,115,109,97,108,108,101,114,32,116,104,97,110,32,96,69,110,97,98,108,101,96,32,108,101,110,103,116,104,46,32,73,102,32,116,104,101,32,97,98,111,118,101,32,105,115,32,110,111,116,32,115,97,116,105,115,102,105,101,100,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,119,105,108,108,10,32,32,102,97,105,108,32,119,105,116,104,32,97,32,96,98,97,100,97,114,103,96,32,101,114,114,111,114,32,101,120,99,101,112,116,105,111,110,46,32,89,111,117,32,97,114,101,32,114,101,99,111,109,109,101,110,100,101,100,32,116,111,32,117,115,101,32,97,32,109,117,99,104,10,32,32,115,109,97,108,108,101,114,32,118,97,108,117,101,32,102,111,114,32,96,68,105,115,97,98,108,101,96,32,108,101,110,103,116,104,32,116,104,97,110,32,96,69,110,97,98,108,101,96,32,108,101,110,103,116,104,32,105,110,32,111,114,100,101,114,32,110,111,116,32,116,111,32,98,101,10,32,32,102,108,111,111,100,101,100,32,119,105,116,104,32,96,108,111,110,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,96,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,115,46,10,10,45,32,42,42,96,123,108,111,110,103,95,115,99,104,101,100,117,108,101,44,32,84,105,109,101,125,96,42,42,32,45,32,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,10,32,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,96,84,105,109,101,96,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,10,32,32,96,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,96,32,105,115,32,115,101,110,116,32,116,111,32,96,77,111,110,105,116,111,114,80,105,100,96,46,10,32,32,96,80,105,100,79,114,80,111,114,116,96,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,96,73,110,102,111,96,32,105,115,32,97,32,108,105,115,116,32,111,102,10,32,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,10,10,32,32,73,102,32,97,32,96,116,58,112,105,100,47,48,96,44,32,116,104,101,32,116,117,112,108,101,115,32,96,123,116,105,109,101,111,117,116,44,32,77,105,108,108,105,115,125,96,44,32,96,123,105,110,44,32,76,111,99,97,116,105,111,110,125,96,44,32,97,110,100,10,32,32,96,123,111,117,116,44,32,76,111,99,97,116,105,111,110,125,96,32,97,114,101,32,112,114,101,115,101,110,116,44,32,119,104,101,114,101,32,96,76,111,99,97,116,105,111,110,96,32,105,115,32,101,105,116,104,101,114,32,97,110,32,77,70,65,10,32,32,40,96,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,96,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,10,32,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,96,117,110,100,101,102,105,110,101,100,96,46,10,10,32,32,73,102,32,97,32,96,116,58,112,111,114,116,47,48,96,44,32,116,104,101,32,116,117,112,108,101,115,32,96,123,116,105,109,101,111,117,116,44,32,77,105,108,108,105,115,125,96,32,97,110,100,32,96,123,112,111,114,116,95,111,112,44,79,112,125,96,32,97,114,101,10,32,32,112,114,101,115,101,110,116,46,32,96,79,112,96,32,105,115,32,111,110,101,32,111,102,32,96,112,114,111,99,95,115,105,103,96,44,32,96,116,105,109,101,111,117,116,96,44,32,96,105,110,112,117,116,96,44,32,96,111,117,116,112,117,116,96,44,32,96,101,118,101,110,116,96,44,32,111,114,10,32,32,96,100,105,115,116,95,99,109,100,96,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,10,10,32,32,96,112,114,111,99,95,115,105,103,96,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,10,32,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,96,116,105,109,101,111,117,116,96,44,32,96,114,101,97,100,121,95,105,110,112,117,116,96,44,10,32,32,96,114,101,97,100,121,95,111,117,116,112,117,116,96,44,32,96,101,118,101,110,116,96,44,32,97,110,100,32,96,111,117,116,112,117,116,118,96,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,10,32,32,100,105,115,116,114,105,98,117,116,105,111,110,41,46,32,86,97,108,117,101,32,96,77,105,108,108,105,115,96,32,105,110,32,116,117,112,108,101,32,96,116,105,109,101,111,117,116,96,32,105,110,102,111,114,109,115,32,97,98,111,117,116,32,116,104,101,10,32,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,10,32,32,111,114,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,96,84,105,109,101,96,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,10,32,32,99,97,110,32,98,101,32,97,100,100,101,100,32,116,111,32,116,104,101,32,96,73,110,102,111,96,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,10,32,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,10,10,32,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,10,45,32,42,42,96,123,108,97,114,103,101,95,104,101,97,112,44,32,83,105,122,101,125,96,42,42,32,45,32,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,10,32,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,96,83,105,122,101,96,32,119,111,114,100,115,44,32,97,32,109,101,115,115,97,103,101,10,32,32,96,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,96,32,105,115,32,115,101,110,116,32,116,111,32,96,77,111,110,105,116,111,114,80,105,100,96,46,32,96,71,99,80,105,100,96,32,97,110,100,10,32,32,96,73,110,102,111,96,32,97,114,101,32,116,104,101,32,115,97,109,101,32,97,115,32,102,111,114,32,96,108,111,110,103,95,103,99,96,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,10,32,32,119,105,116,104,32,96,116,105,109,101,111,117,116,96,32,105,115,32,110,111,116,32,112,114,101,115,101,110,116,46,10,10,32,32,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,10,32,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,10,32,32,104,105,103,104,101,114,32,116,104,97,110,32,96,83,105,122,101,96,46,10,10,32,32,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,10,32,32,91,96,109,97,120,95,104,101,97,112,95,115,105,122,101,96,93,40,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,41,44,32,105,116,32,105,115,32,107,105,108,108,101,100,32,98,101,102,111,114,101,10,32,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,10,10,45,32,42,42,96,98,117,115,121,95,112,111,114,116,96,42,42,32,45,32,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,10,32,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,96,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,96,32,105,115,32,115,101,110,116,32,116,111,10,32,32,96,77,111,110,105,116,111,114,80,105,100,96,46,32,96,83,117,115,80,105,100,96,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,96,80,111,114,116,96,46,10,10,45,32,42,42,96,98,117,115,121,95,100,105,115,116,95,112,111,114,116,96,91,93,40,41,123,58,32,35,98,117,115,121,95,100,105,115,116,95,112,111,114,116,32,125,32,42,42,32,32,10,32,32,32,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,10,32,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,96,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,96,10,32,32,105,115,32,115,101,110,116,32,116,111,32,96,77,111,110,105,116,111,114,80,105,100,96,46,32,96,83,117,115,80,105,100,96,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,10,32,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,96,80,111,114,116,96,46,10,10,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,10,91,96,101,114,108,97,110,103,58,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,48,96,93,40,96,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,48,96,41,46,10,10,84,104,101,32,97,114,103,117,109,101,110,116,115,32,116,111,32,91,96,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,50,96,93,40,96,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,50,96,41,32,115,112,101,99,105,102,105,101,115,32,104,111,119,32,97,108,108,10,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,10,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,96,77,111,110,105,116,111,114,80,105,100,96,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,10,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,10,105,110,99,108,117,100,101,32,105,116,32,105,110,32,116,104,101,32,108,105,115,116,32,96,79,112,116,105,111,110,115,96,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,10,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,96,77,111,110,105,116,111,114,80,105,100,96,32,116,101,114,109,105,110,97,116,101,115,46,10,10,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,10,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,10,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,10,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,32,96,123,108,111,110,103,95,103,99,44,32,48,125,96,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,10,62,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,10,62,10,62,32,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,10,62,32,116,105,103,104,116,46,10,10,70,97,105,108,117,114,101,115,58,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,77,111,110,105,116,111,114,80,105,100,96,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,77,111,110,105,116,111,114,80,105,100,96,32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,46>>},#{group => system,specification => [{attribute,{6096,2},spec,{{system_monitor,2},[{type,{6096,21},bounded_fun,[{type,{6096,21},'fun',[{type,{6096,21},product,[{var,{6096,22},'MonitorPid'},{var,{6096,34},'Options'}]},{var,{6096,46},'MonSettings'}]},[{type,{6097,7},constraint,[{atom,{6097,7},is_subtype},[{var,{6097,7},'MonitorPid'},{type,{6097,21},pid,[]}]]},{type,{6098,7},constraint,[{atom,{6098,7},is_subtype},[{var,{6098,7},'Options'},{type,{6098,18},list,[{user_type,{6098,20},system_monitor_option,[]}]}]]},{type,{6099,7},constraint,[{atom,{6099,7},is_subtype},[{var,{6099,7},'MonSettings'},{type,{6099,22},union,[{atom,{6099,22},undefined},{type,{6099,34},tuple,[{var,{6099,36},'OldMonitorPid'},{var,{6099,51},'OldOptions'}]}]}]]},{type,{6100,7},constraint,[{atom,{6100,7},is_subtype},[{var,{6100,7},'OldMonitorPid'},{type,{6100,24},pid,[]}]]},{type,{6101,7},constraint,[{atom,{6101,7},is_subtype},[{var,{6101,7},'OldOptions'},{type,{6101,21},list,[{user_type,{6101,23},system_monitor_option,[]}]}]]}]]}]}}]}},{{function,system_monitor,1},{5947,2},[<<115,121,115,116,101,109,95,109,111,110,105,116,111,114,40,65,114,103,41>>],#{<<101,110>> => <<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,96,117,110,100,101,102,105,110,101,100,96,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,10,115,101,116,116,105,110,103,115,32,97,114,101,32,99,108,101,97,114,101,100,46,10,10,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,96,123,77,111,110,105,116,111,114,80,105,100,44,32,79,112,116,105,111,110,115,125,96,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,10,99,97,108,108,105,110,103,32,91,96,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,96,93,40,96,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,50,96,41,46,10,10,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,10,91,96,101,114,108,97,110,103,58,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,48,96,93,40,96,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,48,96,41,46>>},#{group => system,specification => [{attribute,{5958,2},spec,{{system_monitor,1},[{type,{5958,21},bounded_fun,[{type,{5958,21},'fun',[{type,{5958,21},product,[{var,{5958,22},'Arg'}]},{var,{5958,30},'MonSettings'}]},[{type,{5959,7},constraint,[{atom,{5959,7},is_subtype},[{var,{5959,7},'Arg'},{type,{5959,14},union,[{atom,{5959,14},undefined},{type,{5959,26},tuple,[{var,{5959,28},'MonitorPid'},{var,{5959,40},'Options'}]}]}]]},{type,{5960,7},constraint,[{atom,{5960,7},is_subtype},[{var,{5960,7},'MonSettings'},{type,{5960,22},union,[{atom,{5960,22},undefined},{type,{5960,34},tuple,[{var,{5960,36},'MonitorPid'},{var,{5960,48},'Options'}]}]}]]},{type,{5961,7},constraint,[{atom,{5961,7},is_subtype},[{var,{5961,7},'MonitorPid'},{type,{5961,21},pid,[]}]]},{type,{5962,7},constraint,[{atom,{5962,7},is_subtype},[{var,{5962,7},'Options'},{type,{5962,18},list,[{user_type,{5962,20},system_monitor_option,[]}]}]]}]]}]}}]}},{{function,system_monitor,0},{5931,2},[<<115,121,115,116,101,109,95,109,111,110,105,116,111,114,40,41>>],#{<<101,110>> => <<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,10,91,96,101,114,108,97,110,103,58,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,50,96,93,40,96,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,50,96,41,32,97,115,32,96,123,77,111,110,105,116,111,114,80,105,100,44,32,79,112,116,105,111,110,115,125,96,44,32,111,114,10,96,117,110,100,101,102,105,110,101,100,96,32,105,102,32,110,111,32,115,101,116,116,105,110,103,115,32,101,120,105,115,116,46,10,10,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>>},#{group => system,specification => [{attribute,{5939,2},spec,{{system_monitor,0},[{type,{5939,21},bounded_fun,[{type,{5939,21},'fun',[{type,{5939,21},product,[]},{var,{5939,27},'MonSettings'}]},[{type,{5940,7},constraint,[{atom,{5940,7},is_subtype},[{var,{5940,7},'MonSettings'},{type,{5940,22},union,[{atom,{5940,22},undefined},{type,{5940,34},tuple,[{var,{5940,36},'MonitorPid'},{var,{5940,48},'Options'}]}]}]]},{type,{5941,7},constraint,[{atom,{5941,7},is_subtype},[{var,{5941,7},'MonitorPid'},{type,{5941,21},pid,[]}]]},{type,{5942,7},constraint,[{atom,{5942,7},is_subtype},[{var,{5942,7},'Options'},{type,{5942,18},list,[{user_type,{5942,20},system_monitor_option,[]}]}]]}]]}]}}]}},{{function,suspend_process,1},{5907,2},[<<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>>],#{<<101,110>> => <<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,96,83,117,115,112,101,110,100,101,101,96,46,32,69,113,117,105,118,97,108,101,110,116,32,116,111,32,99,97,108,108,105,110,103,10,91,96,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,96,93,40,96,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50,96,41,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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>>},#{group => processes,specification => [{attribute,{5916,2},spec,{{suspend_process,1},[{type,{5916,22},bounded_fun,[{type,{5916,22},'fun',[{type,{5916,22},product,[{var,{5916,23},'Suspendee'}]},{atom,{5916,37},true}]},[{type,{5917,7},constraint,[{atom,{5917,7},is_subtype},[{var,{5917,7},'Suspendee'},{type,{5917,20},pid,[]}]]}]]}]}}]}},{{function,suspend_process,2},{5808,2},[<<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,79,112,116,76,105,115,116,41>>],#{<<101,110>> => <<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,96,83,117,115,112,101,110,100,101,101,96,32,97,110,100,32,112,117,116,115,32,105,116,10,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,10,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,10,10,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,10,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,10,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,96,83,117,115,112,101,110,100,101,101,96,32,105,115,10,100,101,99,114,101,97,115,101,100,32,119,104,101,110,32,91,96,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,96,93,40,96,114,101,115,117,109,101,95,112,114,111,99,101,115,115,47,49,96,41,32,105,115,10,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,96,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,96,46,32,65,108,108,10,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,10,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,10,10,79,112,116,105,111,110,115,32,40,96,79,112,116,96,115,41,58,10,10,45,32,42,42,96,97,115,121,110,99,104,114,111,110,111,117,115,96,42,42,32,45,32,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,10,32,32,96,83,117,115,112,101,110,100,101,101,96,46,32,96,83,117,115,112,101,110,100,101,101,96,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,10,32,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,96,101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50,96,32,114,101,116,117,114,110,115,32,105,109,109,101,100,105,97,116,101,108,121,44,10,32,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,119,104,101,116,104,101,114,32,96,83,117,115,112,101,110,100,101,101,96,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,10,32,32,119,104,101,110,32,96,83,117,115,112,101,110,100,101,101,96,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,10,32,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,96,83,117,115,112,101,110,100,101,101,96,32,95,101,118,101,110,116,117,97,108,108,121,95,32,115,117,115,112,101,110,100,115,32,40,117,110,108,101,115,115,32,105,116,32,105,115,10,32,32,114,101,115,117,109,101,100,41,46,32,73,102,32,110,111,32,96,97,115,121,110,99,104,114,111,110,111,117,115,96,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,10,32,32,96,101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50,96,32,105,115,32,98,108,111,99,107,101,100,32,117,110,116,105,108,32,96,83,117,115,112,101,110,100,101,101,96,32,104,97,115,32,115,117,115,112,101,110,100,101,100,46,10,10,45,32,42,42,96,123,97,115,121,110,99,104,114,111,110,111,117,115,44,32,82,101,112,108,121,84,97,103,125,96,42,42,32,45,32,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,10,32,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,83,117,115,112,101,110,100,101,101,96,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,10,32,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,10,32,32,96,123,82,101,112,108,121,84,97,103,44,32,83,116,97,116,101,125,96,32,119,104,101,114,101,32,96,83,116,97,116,101,96,32,105,115,32,101,105,116,104,101,114,58,10,10,32,32,45,32,42,42,96,101,120,105,116,101,100,96,42,42,32,45,32,96,83,117,115,112,101,110,100,101,101,96,32,104,97,115,32,101,120,105,116,101,100,46,10,10,32,32,45,32,42,42,96,115,117,115,112,101,110,100,101,100,96,42,42,32,45,32,96,83,117,115,112,101,110,100,101,101,96,32,105,115,32,110,111,119,32,115,117,115,112,101,110,100,101,100,46,10,10,32,32,45,32,42,42,96,110,111,116,95,115,117,115,112,101,110,100,101,100,96,42,42,32,45,32,96,83,117,115,112,101,110,100,101,101,96,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,10,32,32,32,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,10,32,32,32,32,91,96,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,96,93,40,96,114,101,115,117,109,101,95,112,114,111,99,101,115,115,47,49,96,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,10,10,32,32,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,96,123,97,115,121,110,99,104,114,111,110,111,117,115,44,32,82,101,112,108,121,84,97,103,125,96,32,111,112,116,105,111,110,32,98,101,104,97,118,101,115,10,32,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,96,97,115,121,110,99,104,114,111,110,111,117,115,96,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,10,10,45,32,42,42,96,117,110,108,101,115,115,95,115,117,115,112,101,110,100,105,110,103,96,42,42,32,45,32,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,96,83,117,115,112,101,110,100,101,101,96,32,105,115,32,115,117,115,112,101,110,100,101,100,10,32,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,96,83,117,115,112,101,110,100,101,101,96,46,32,73,102,10,32,32,96,117,110,108,101,115,115,95,115,117,115,112,101,110,100,105,110,103,96,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,96,97,115,121,110,99,104,114,111,110,111,117,115,96,44,32,97,32,115,117,115,112,101,110,100,32,114,101,113,117,101,115,116,10,32,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,96,83,117,115,112,101,110,100,101,101,96,32,111,114,32,105,102,32,97,10,32,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,10,32,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,96,83,117,115,112,101,110,100,101,101,96,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,10,32,32,96,97,115,121,110,99,104,114,111,110,111,117,115,96,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,96,102,97,108,115,101,96,32,105,115,32,114,101,116,117,114,110,101,100,10,32,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,96,83,117,115,112,101,110,100,101,101,96,32,114,101,109,97,105,110,115,32,117,110,99,104,97,110,103,101,100,46,10,10,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,96,83,117,115,112,101,110,100,101,101,96,32,105,115,32,105,110,99,114,101,97,115,101,100,44,10,96,116,114,117,101,96,32,105,115,32,114,101,116,117,114,110,101,100,44,32,111,116,104,101,114,119,105,115,101,32,96,102,97,108,115,101,96,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,62,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,10,62,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,10,62,32,112,101,114,102,111,114,109,97,110,99,101,32,114,101,97,115,111,110,115,46,10,10,70,97,105,108,117,114,101,115,58,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,83,117,115,112,101,110,100,101,101,96,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,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,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,96,83,117,115,112,101,110,100,101,101,96,32,105,115,32,116,104,101,32,115,97,109,101,32,112,114,111,99,101,115,115,32,97,115,10,32,32,116,104,101,32,112,114,111,99,101,115,115,32,99,97,108,108,105,110,103,32,96,101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50,96,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,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,96,83,117,115,112,101,110,100,101,101,96,32,105,115,32,110,111,116,32,97,108,105,118,101,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,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,96,83,117,115,112,101,110,100,101,101,96,32,114,101,115,105,100,101,115,32,111,110,32,97,110,111,116,104,101,114,10,32,32,110,111,100,101,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,79,112,116,76,105,115,116,96,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,96,79,112,116,96,115,46,10,10,45,32,42,42,96,115,121,115,116,101,109,95,108,105,109,105,116,96,42,42,32,45,32,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,96,83,117,115,112,101,110,100,101,101,96,32,104,97,115,32,98,101,101,110,10,32,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,10,32,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,10,32,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>>},#{group => processes,specification => [{attribute,{5891,2},spec,{{suspend_process,2},[{type,{5891,22},bounded_fun,[{type,{5891,22},'fun',[{type,{5891,22},product,[{var,{5891,23},'Suspendee'},{var,{5891,34},'OptList'}]},{type,{5891,46},boolean,[]}]},[{type,{5892,7},constraint,[{atom,{5892,7},is_subtype},[{var,{5892,7},'Suspendee'},{type,{5892,20},pid,[]}]]},{type,{5893,7},constraint,[{atom,{5893,7},is_subtype},[{var,{5893,7},'OptList'},{type,{5893,18},list,[{var,{5893,19},'Opt'}]}]]},{type,{5894,7},constraint,[{atom,{5894,7},is_subtype},[{var,{5894,7},'Opt'},{type,{5894,14},union,[{atom,{5894,14},unless_suspending},{atom,{5894,34},asynchronous},{type,{5894,49},tuple,[{atom,{5894,50},asynchronous},{type,{5894,64},term,[]}]}]}]]}]]}]}}]}},{{function,start_timer,4},{5755,2},[<<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,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<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,96,123,116,105,109,101,111,117,116,44,32,84,105,109,101,114,82,101,102,44,32,77,115,103,125,96,10,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,96,68,101,115,116,96,46,10,10,96,79,112,116,105,111,110,96,115,58,10,10,45,32,42,42,96,123,97,98,115,44,32,102,97,108,115,101,125,96,42,42,32,45,32,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,96,84,105,109,101,96,32,118,97,108,117,101,32,105,115,10,32,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,95,114,101,108,97,116,105,118,101,95,32,99,117,114,114,101,110,116,10,32,32,91,69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,101,114,108,97,110,103,45,109,111,110,111,116,111,110,105,99,45,116,105,109,101,41,46,10,10,45,32,42,42,96,123,97,98,115,44,32,116,114,117,101,125,96,42,42,32,45,32,65,98,115,111,108,117,116,101,32,96,84,105,109,101,96,32,118,97,108,117,101,46,32,84,104,101,32,96,84,105,109,101,96,32,118,97,108,117,101,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,10,32,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,10,10,77,111,114,101,32,96,79,112,116,105,111,110,96,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,10,10,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,10,105,110,116,101,114,118,97,108,10,96,91,32,96,91,101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,93,40,96,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51,96,41,96,40,96,91,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,93,40,35,115,121,115,116,101,109,95,105,110,102,111,95,115,116,97,114,116,95,116,105,109,101,41,96,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,96,91,101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,93,40,96,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51,96,41,96,40,96,91,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,93,40,35,115,121,115,116,101,109,95,105,110,102,111,95,101,110,100,95,116,105,109,101,41,96,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,96,46,10,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,96,84,105,109,101,96,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,10,10,73,102,32,96,68,101,115,116,96,32,105,115,32,97,32,96,116,58,112,105,100,47,48,96,44,32,105,116,32,109,117,115,116,32,98,101,32,97,32,96,116,58,112,105,100,47,48,96,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,10,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,10,96,68,101,115,116,96,32,105,115,32,97,110,32,96,116,58,97,116,111,109,47,48,96,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,10,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,10,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,10,10,73,102,32,96,68,101,115,116,96,32,105,115,32,97,32,96,116,58,112,105,100,47,48,96,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,10,114,101,102,101,114,114,101,100,32,116,111,32,98,121,32,116,104,101,32,96,116,58,112,105,100,47,48,96,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,10,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,10,119,104,101,110,32,96,68,101,115,116,96,32,105,115,32,97,110,32,96,116,58,97,116,111,109,47,48,96,46,10,10,83,101,101,32,97,108,115,111,32,91,96,101,114,108,97,110,103,58,115,101,110,100,95,97,102,116,101,114,47,52,96,93,40,96,115,101,110,100,95,97,102,116,101,114,47,52,96,41,44,10,91,96,101,114,108,97,110,103,58,99,97,110,99,101,108,95,116,105,109,101,114,47,50,96,93,40,96,99,97,110,99,101,108,95,116,105,109,101,114,47,50,96,41,44,32,97,110,100,10,91,96,101,114,108,97,110,103,58,114,101,97,100,95,116,105,109,101,114,47,50,96,93,40,96,114,101,97,100,95,116,105,109,101,114,47,50,96,41,46,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,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,10,104,101,114,101,46>>},#{group => timer,specification => [{attribute,{5795,2},spec,{{start_timer,4},[{type,{5795,18},bounded_fun,[{type,{5795,18},'fun',[{type,{5795,18},product,[{var,{5795,19},'Time'},{var,{5795,25},'Dest'},{var,{5795,31},'Msg'},{var,{5795,36},'Options'}]},{var,{5795,48},'TimerRef'}]},[{type,{5796,7},constraint,[{atom,{5796,7},is_subtype},[{var,{5796,7},'Time'},{type,{5796,15},integer,[]}]]},{type,{5797,7},constraint,[{atom,{5797,7},is_subtype},[{var,{5797,7},'Dest'},{type,{5797,15},union,[{type,{5797,15},pid,[]},{type,{5797,23},atom,[]}]}]]},{type,{5798,7},constraint,[{atom,{5798,7},is_subtype},[{var,{5798,7},'Msg'},{type,{5798,14},term,[]}]]},{type,{5799,7},constraint,[{atom,{5799,7},is_subtype},[{var,{5799,7},'Options'},{type,{5799,18},list,[{var,{5799,19},'Option'}]}]]},{type,{5800,7},constraint,[{atom,{5800,7},is_subtype},[{var,{5800,7},'Abs'},{type,{5800,14},boolean,[]}]]},{type,{5801,7},constraint,[{atom,{5801,7},is_subtype},[{var,{5801,7},'Option'},{type,{5801,17},tuple,[{atom,{5801,18},abs},{var,{5801,23},'Abs'}]}]]},{type,{5802,7},constraint,[{atom,{5802,7},is_subtype},[{var,{5802,7},'TimerRef'},{type,{5802,19},reference,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,start_timer,3},{5751,1},[<<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,41>>],none,#{group => timer,equiv => <<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>>}},{{function,split_binary,2},{5714,2},[<<115,112,108,105,116,95,98,105,110,97,114,121,40,66,105,110,44,32,80,111,115,41>>],#{<<101,110>> => <<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,96,66,105,110,96,10,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,96,80,111,115,96,46,10,10,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,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{5736,2},spec,{{split_binary,2},[{type,{5736,19},bounded_fun,[{type,{5736,19},'fun',[{type,{5736,19},product,[{var,{5736,20},'Bin'},{var,{5736,25},'Pos'}]},{type,{5736,33},tuple,[{type,{5736,34},binary,[]},{type,{5736,44},binary,[]}]}]},[{type,{5737,7},constraint,[{atom,{5737,7},is_subtype},[{var,{5737,7},'Bin'},{type,{5737,14},binary,[]}]]},{type,{5738,7},constraint,[{atom,{5738,7},is_subtype},[{var,{5738,7},'Pos'},{type,{5738,14},non_neg_integer,[]}]]}]]}]}}]}},{{function,spawn_link,3},{5700,2},[<<115,112,97,119,110,95,108,105,110,107,40,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,103,115,41>>],#{<<101,110>> => <<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,10,96,77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,96,32,116,111,32,96,65,114,103,115,96,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,10,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,96,115,112,97,119,110,47,51,96,46>>},#{group => processes,specification => [{attribute,{5706,2},spec,{{spawn_link,3},[{type,{5706,17},bounded_fun,[{type,{5706,17},'fun',[{type,{5706,17},product,[{var,{5706,18},'Module'},{var,{5706,26},'Function'},{var,{5706,36},'Args'}]},{type,{5706,45},pid,[]}]},[{type,{5707,7},constraint,[{atom,{5707,7},is_subtype},[{var,{5707,7},'Module'},{type,{5707,17},module,[]}]]},{type,{5708,7},constraint,[{atom,{5708,7},is_subtype},[{var,{5708,7},'Function'},{type,{5708,19},atom,[]}]]},{type,{5709,7},constraint,[{atom,{5709,7},is_subtype},[{var,{5709,7},'Args'},{type,{5709,15},list,[{type,{5709,16},term,[]}]}]]}]]}]}}]}},{{function,spawn,3},{5672,2},[<<115,112,97,119,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>>],#{<<101,110>> => <<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,10,96,77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,96,32,116,111,32,96,65,114,103,115,96,46,10,10,91,96,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,96,93,40,96,101,114,114,111,114,95,104,97,110,100,108,101,114,96,41,32,105,115,10,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,96,77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,47,65,114,105,116,121,96,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,10,40,119,104,101,114,101,32,96,65,114,105,116,121,96,32,105,115,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32,96,65,114,103,115,96,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,10,40,115,101,101,32,96,112,114,111,99,101,115,115,95,102,108,97,103,47,50,96,41,46,32,73,102,10,96,101,114,114,111,114,95,104,97,110,100,108,101,114,96,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,10,96,101,114,114,111,114,95,104,97,110,100,108,101,114,96,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,96,117,110,100,101,102,96,10,111,99,99,117,114,115,46,10,10,69,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => processes,specification => [{attribute,{5692,2},spec,{{spawn,3},[{type,{5692,12},bounded_fun,[{type,{5692,12},'fun',[{type,{5692,12},product,[{var,{5692,13},'Module'},{var,{5692,21},'Function'},{var,{5692,31},'Args'}]},{type,{5692,40},pid,[]}]},[{type,{5693,7},constraint,[{atom,{5693,7},is_subtype},[{var,{5693,7},'Module'},{type,{5693,17},module,[]}]]},{type,{5694,7},constraint,[{atom,{5694,7},is_subtype},[{var,{5694,7},'Function'},{type,{5694,19},atom,[]}]]},{type,{5695,7},constraint,[{atom,{5695,7},is_subtype},[{var,{5695,7},'Args'},{type,{5695,15},list,[{type,{5695,16},term,[]}]}]]}]]}]}}]}},{{function,size,1},{5646,2},[<<115,105,122,101,40,73,116,101,109,41>>],#{<<101,110>> => <<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,10,98,105,116,115,116,114,105,110,103,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,10,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,10,114,111,117,110,100,101,100,32,95,100,111,119,110,95,46,10,10,83,101,101,32,97,108,115,111,32,96,116,117,112,108,101,95,115,105,122,101,47,49,96,44,32,96,98,121,116,101,95,115,105,122,101,47,49,96,44,32,97,110,100,32,96,98,105,116,95,115,105,122,101,47,49,96,46>>},#{group => terms,specification => [{attribute,{5666,2},spec,{{size,1},[{type,{5666,11},bounded_fun,[{type,{5666,11},'fun',[{type,{5666,11},product,[{var,{5666,12},'Item'}]},{type,{5666,21},non_neg_integer,[]}]},[{type,{5667,7},constraint,[{atom,{5667,7},is_subtype},[{var,{5667,7},'Item'},{type,{5667,15},union,[{type,{5667,15},tuple,any},{type,{5667,25},binary,[]}]}]]}]]}]}}]}},{{function,setnode,3},{5624,2},[<<115,101,116,110,111,100,101,40,78,111,100,101,44,32,68,105,115,116,67,116,114,108,114,44,32,79,112,116,115,41>>],hidden,#{}},{{function,setnode,2},{5616,2},[<<115,101,116,110,111,100,101,40,80,49,44,32,80,50,41>>],hidden,#{}},{{function,seq_trace_print,2},{5608,2},[<<115,101,113,95,116,114,97,99,101,95,112,114,105,110,116,40,80,49,44,32,80,50,41>>],hidden,#{}},{{function,seq_trace_print,1},{5601,2},[<<115,101,113,95,116,114,97,99,101,95,112,114,105,110,116,40,80,49,41>>],hidden,#{}},{{function,seq_trace,2},{5593,2},[<<115,101,113,95,116,114,97,99,101,40,80,49,44,32,80,50,41>>],hidden,#{}},{{function,send_after,4},{5573,2},[<<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,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<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,96,77,115,103,96,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,10,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,68,101,115,116,96,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,10,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,91,96,101,114,108,97,110,103,58,115,116,97,114,116,95,116,105,109,101,114,47,52,96,93,40,96,115,116,97,114,116,95,116,105,109,101,114,47,52,96,41,46>>},#{group => timer,specification => [{attribute,{5580,2},spec,{{send_after,4},[{type,{5580,17},bounded_fun,[{type,{5580,17},'fun',[{type,{5580,17},product,[{var,{5580,18},'Time'},{var,{5580,24},'Dest'},{var,{5580,30},'Msg'},{var,{5580,35},'Options'}]},{var,{5580,47},'TimerRef'}]},[{type,{5581,7},constraint,[{atom,{5581,7},is_subtype},[{var,{5581,7},'Time'},{type,{5581,15},integer,[]}]]},{type,{5582,7},constraint,[{atom,{5582,7},is_subtype},[{var,{5582,7},'Dest'},{type,{5582,15},union,[{type,{5582,15},pid,[]},{type,{5582,23},atom,[]}]}]]},{type,{5583,7},constraint,[{atom,{5583,7},is_subtype},[{var,{5583,7},'Msg'},{type,{5583,14},term,[]}]]},{type,{5584,7},constraint,[{atom,{5584,7},is_subtype},[{var,{5584,7},'Options'},{type,{5584,18},list,[{var,{5584,19},'Option'}]}]]},{type,{5585,7},constraint,[{atom,{5585,7},is_subtype},[{var,{5585,7},'Abs'},{type,{5585,14},boolean,[]}]]},{type,{5586,7},constraint,[{atom,{5586,7},is_subtype},[{var,{5586,7},'Option'},{type,{5586,17},tuple,[{atom,{5586,18},abs},{var,{5586,23},'Abs'}]}]]},{type,{5587,7},constraint,[{atom,{5587,7},is_subtype},[{var,{5587,7},'TimerRef'},{type,{5587,19},reference,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,send_after,3},{5569,1},[<<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,41>>],none,#{group => timer,equiv => <<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>>}},{{function,self,0},{5545,2},[<<115,101,108,102,40,41>>],#{<<101,110>> => <<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,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,62,32,115,101,108,102,40,41,46,10,60,48,46,50,54,46,48,62,10,96,96,96>>},#{group => processes,specification => [{attribute,{5556,2},spec,{{self,0},[{type,{5556,11},'fun',[{type,{5556,11},product,[]},{type,{5556,17},pid,[]}]}]}}]}},{{function,round,1},{5504,2},[<<114,111,117,110,100,40,78,117,109,98,101,114,41>>],#{<<101,110>> => <<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,96,78,117,109,98,101,114,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,114,111,117,110,100,40,52,50,46,49,41,46,10,52,50,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,114,111,117,110,100,40,53,46,53,41,46,10,54,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,114,111,117,110,100,40,45,53,46,53,41,46,10,45,54,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,73,110,32,116,104,101,32,108,97,115,116,32,101,120,97,109,112,108,101,44,32,91,96,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,96,93,40,96,114,111,117,110,100,47,49,96,41,32,101,118,97,108,117,97,116,101,115,32,116,111,10,96,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,56,96,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,10,96,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,57,46,48,96,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,10,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,96,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,56,46,48,96,44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,99,108,111,115,101,115,116,10,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,10,91,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,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,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,96,41,10,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>>},#{group => terms,specification => [{attribute,{5538,2},spec,{{round,1},[{type,{5538,12},bounded_fun,[{type,{5538,12},'fun',[{type,{5538,12},product,[{var,{5538,13},'Number'}]},{type,{5538,24},integer,[]}]},[{type,{5539,7},constraint,[{atom,{5539,7},is_subtype},[{var,{5539,7},'Number'},{type,{5539,17},number,[]}]]}]]}]}}]}},{{function,resume_process,1},{5472,2},[<<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>>],#{<<101,110>> => <<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,96,83,117,115,112,101,110,100,101,101,96,46,10,10,96,83,117,115,112,101,110,100,101,101,96,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,10,91,96,101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50,96,93,40,96,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50,96,41,32,111,114,10,91,96,101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,49,96,93,40,96,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,49,96,41,32,98,121,32,116,104,101,32,112,114,111,99,101,115,115,32,99,97,108,108,105,110,103,10,96,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,96,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,96,83,117,115,112,101,110,100,101,101,96,10,114,101,97,99,104,101,115,32,122,101,114,111,44,32,96,83,117,115,112,101,110,100,101,101,96,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,10,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,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,10,70,97,105,108,117,114,101,115,58,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,83,117,115,112,101,110,100,101,101,96,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,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,99,97,108,108,105,110,103,32,96,101,114,108,97,110,103,58,114,101,115,117,109,101,95,112,114,111,99,101,115,115,47,49,96,32,104,97,100,32,110,111,116,10,32,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,10,32,32,96,83,117,115,112,101,110,100,101,101,96,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,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,96,83,117,115,112,101,110,100,101,101,96,32,105,115,32,110,111,116,32,97,108,105,118,101,46>>},#{group => processes,specification => [{attribute,{5497,2},spec,{{resume_process,1},[{type,{5497,21},bounded_fun,[{type,{5497,21},'fun',[{type,{5497,21},product,[{var,{5497,22},'Suspendee'}]},{atom,{5497,36},true}]},[{type,{5498,7},constraint,[{atom,{5498,7},is_subtype},[{var,{5498,7},'Suspendee'},{type,{5498,20},pid,[]}]]}]]}]}}]}},{{function,registered,0},{5455,2},[<<114,101,103,105,115,116,101,114,101,100,40,41>>],#{<<101,110>> => <<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,96,114,101,103,105,115,116,101,114,47,50,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => processes,specification => [{attribute,{5466,2},spec,{{registered,0},[{type,{5466,17},bounded_fun,[{type,{5466,17},'fun',[{type,{5466,17},product,[]},{type,{5466,23},list,[{var,{5466,24},'RegName'}]}]},[{type,{5467,7},constraint,[{atom,{5467,7},is_subtype},[{var,{5467,7},'RegName'},{type,{5467,18},atom,[]}]]}]]}]}}]}},{{function,register,2},{5417,2},[<<114,101,103,105,115,116,101,114,40,82,101,103,78,97,109,101,44,32,80,105,100,79,114,80,111,114,116,41>>],#{<<101,110>> => <<82,101,103,105,115,116,101,114,115,32,116,104,101,32,110,97,109,101,32,96,82,101,103,78,97,109,101,96,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,10,105,100,101,110,116,105,102,105,101,114,32,105,110,32,116,104,101,10,91,96,110,97,109,101,32,114,101,103,105,115,116,114,121,96,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,114,117,110,116,105,109,101,45,115,101,114,118,105,99,101,96,41,46,10,96,82,101,103,78,97,109,101,96,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,10,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,96,82,101,103,78,97,109,101,32,33,32,77,101,115,115,97,103,101,96,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,10,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,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,10,91,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,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,118,105,115,105,98,108,101,45,114,101,115,111,117,114,99,101,115,96,41,10,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,10,10,70,97,105,108,117,114,101,115,58,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,80,105,100,79,114,80,111,114,116,96,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,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,82,101,103,78,97,109,101,96,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,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,10,32,32,110,97,109,101,41,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,82,101,103,78,97,109,101,96,32,105,115,32,116,104,101,32,97,116,111,109,32,96,117,110,100,101,102,105,110,101,100,96,46>>},#{group => processes,specification => [{attribute,{5448,2},spec,{{register,2},[{type,{5448,15},bounded_fun,[{type,{5448,15},'fun',[{type,{5448,15},product,[{var,{5448,16},'RegName'},{var,{5448,25},'PidOrPort'}]},{atom,{5448,39},true}]},[{type,{5449,7},constraint,[{atom,{5449,7},is_subtype},[{var,{5449,7},'RegName'},{type,{5449,18},atom,[]}]]},{type,{5450,7},constraint,[{atom,{5450,7},is_subtype},[{var,{5450,7},'PidOrPort'},{type,{5450,20},union,[{type,{5450,20},port,[]},{type,{5450,29},pid,[]}]}]]}]]}]}}]}},{{function,ref_to_list,1},{5402,2},[<<114,101,102,95,116,111,95,108,105,115,116,40,82,101,102,41>>],#{<<101,110>> => <<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,96,82,101,102,96,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,62,32,112,114,111,103,114,97,109,115,46>>},#{group => terms,specification => [{attribute,{5411,2},spec,{{ref_to_list,1},[{type,{5411,18},bounded_fun,[{type,{5411,18},'fun',[{type,{5411,18},product,[{var,{5411,19},'Ref'}]},{type,{5411,27},string,[]}]},[{type,{5412,7},constraint,[{atom,{5412,7},is_subtype},[{var,{5412,7},'Ref'},{type,{5412,14},reference,[]}]]}]]}]}}]}},{{function,read_timer,2},{5348,2},[<<114,101,97,100,95,116,105,109,101,114,40,84,105,109,101,114,82,101,102,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<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,10,91,96,101,114,108,97,110,103,58,115,116,97,114,116,95,116,105,109,101,114,96,93,40,96,115,116,97,114,116,95,116,105,109,101,114,47,52,96,41,32,111,114,10,91,96,101,114,108,97,110,103,58,115,101,110,100,95,97,102,116,101,114,96,93,40,96,115,101,110,100,95,97,102,116,101,114,47,52,96,41,46,32,96,84,105,109,101,114,82,101,102,96,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,10,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,10,10,96,79,112,116,105,111,110,115,96,58,10,10,45,32,42,42,96,123,97,115,121,110,99,44,32,65,115,121,110,99,125,96,42,42,32,45,32,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,96,65,115,121,110,99,96,10,32,32,100,101,102,97,117,108,116,115,32,116,111,32,96,102,97,108,115,101,96,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,10,32,32,73,110,32,116,104,105,115,32,99,97,115,101,44,32,116,104,101,32,96,82,101,115,117,108,116,96,32,105,115,32,114,101,116,117,114,110,101,100,32,98,121,32,96,101,114,108,97,110,103,58,114,101,97,100,95,116,105,109,101,114,96,46,32,87,104,101,110,32,96,65,115,121,110,99,96,32,105,115,10,32,32,96,116,114,117,101,96,44,32,96,101,114,108,97,110,103,58,114,101,97,100,95,116,105,109,101,114,96,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,10,32,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,10,32,32,96,111,107,96,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,96,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,96,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,10,32,32,99,97,108,108,101,114,32,111,102,32,96,101,114,108,97,110,103,58,114,101,97,100,95,116,105,109,101,114,96,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,10,10,77,111,114,101,32,96,79,112,116,105,111,110,96,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,10,10,73,102,32,96,82,101,115,117,108,116,96,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,10,116,105,109,101,114,32,101,120,112,105,114,101,115,46,10,10,73,102,32,96,82,101,115,117,108,116,96,32,105,115,32,96,102,97,108,115,101,96,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,96,84,105,109,101,114,82,101,102,96,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,46,10,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,96,84,105,109,101,114,82,101,102,96,10,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,10,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,10,62,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,10,62,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,10,62,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,10,62,32,111,112,116,105,111,110,32,96,123,97,115,121,110,99,44,32,116,114,117,101,125,96,46,32,73,102,32,117,115,105,110,103,32,111,112,116,105,111,110,32,96,123,97,115,121,110,99,44,32,102,97,108,115,101,125,96,44,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,10,62,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,10,10,83,101,101,32,97,108,115,111,32,91,96,101,114,108,97,110,103,58,115,101,110,100,95,97,102,116,101,114,47,52,96,93,40,96,115,101,110,100,95,97,102,116,101,114,47,52,96,41,44,10,91,96,101,114,108,97,110,103,58,115,116,97,114,116,95,116,105,109,101,114,47,52,96,93,40,96,115,116,97,114,116,95,116,105,109,101,114,47,52,96,41,44,32,97,110,100,10,91,96,101,114,108,97,110,103,58,99,97,110,99,101,108,95,116,105,109,101,114,47,50,96,93,40,96,99,97,110,99,101,108,95,116,105,109,101,114,47,50,96,41,46>>},#{group => timer,specification => [{attribute,{5390,2},spec,{{read_timer,2},[{type,{5390,17},bounded_fun,[{type,{5390,17},'fun',[{type,{5390,17},product,[{var,{5390,18},'TimerRef'},{var,{5390,28},'Options'}]},{type,{5390,40},union,[{var,{5390,40},'Result'},{atom,{5390,49},ok}]}]},[{type,{5391,7},constraint,[{atom,{5391,7},is_subtype},[{var,{5391,7},'TimerRef'},{type,{5391,19},reference,[]}]]},{type,{5392,7},constraint,[{atom,{5392,7},is_subtype},[{var,{5392,7},'Async'},{type,{5392,16},boolean,[]}]]},{type,{5393,7},constraint,[{atom,{5393,7},is_subtype},[{var,{5393,7},'Option'},{type,{5393,17},tuple,[{atom,{5393,18},async},{var,{5393,25},'Async'}]}]]},{type,{5394,7},constraint,[{atom,{5394,7},is_subtype},[{var,{5394,7},'Options'},{type,{5394,18},list,[{var,{5394,19},'Option'}]}]]},{type,{5395,7},constraint,[{atom,{5395,7},is_subtype},[{var,{5395,7},'Time'},{type,{5395,15},non_neg_integer,[]}]]},{type,{5396,7},constraint,[{atom,{5396,7},is_subtype},[{var,{5396,7},'Result'},{type,{5396,17},union,[{var,{5396,17},'Time'},{atom,{5396,24},false}]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,read_timer,1},{5344,1},[<<114,101,97,100,95,116,105,109,101,114,40,84,105,109,101,114,82,101,102,41>>],none,#{group => timer,equiv => <<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>>}},{{function,raise,3},{5287,2},[<<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>>],#{<<101,110>> => <<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,10,40,95,115,116,97,99,107,116,114,97,99,101,95,41,46,10,10,96,67,108,97,115,115,96,32,105,115,32,96,101,114,114,111,114,96,44,32,96,101,120,105,116,96,44,32,111,114,32,96,116,104,114,111,119,96,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,10,96,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,96,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,10,96,101,114,108,97,110,103,58,67,108,97,115,115,40,82,101,97,115,111,110,41,96,32,40,103,105,118,101,110,32,116,104,97,116,32,96,67,108,97,115,115,96,32,105,115,32,97,32,118,97,108,105,100,32,99,108,97,115,115,41,46,10,10,96,82,101,97,115,111,110,96,32,99,97,110,32,98,101,32,97,110,121,32,116,101,114,109,46,10,10,96,83,116,97,99,107,116,114,97,99,101,96,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,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,96,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,96,44,10,119,104,101,114,101,32,96,77,111,100,117,108,101,96,32,97,110,100,32,96,70,117,110,99,116,105,111,110,96,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,10,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,10,96,123,70,117,110,44,32,65,114,103,115,44,32,69,120,116,114,97,73,110,102,111,125,96,32,116,117,112,108,101,115,44,32,119,104,101,114,101,32,96,70,117,110,96,32,105,115,32,97,32,108,111,99,97,108,32,102,117,110,32,97,110,100,32,96,65,114,103,115,96,32,105,115,32,97,110,10,97,114,103,117,109,101,110,116,32,108,105,115,116,46,10,10,69,108,101,109,101,110,116,32,96,69,120,116,114,97,73,110,102,111,96,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,10,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,10,10,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,10,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,10,10,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,10,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,95,114,101,116,117,114,110,115,32,116,104,101,10,101,114,114,111,114,32,114,101,97,115,111,110,95,32,96,98,97,100,97,114,103,96,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,10,91,96,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,96,93,40,96,101,114,114,111,114,47,49,96,41,32,97,110,100,32,104,111,112,101,32,116,111,10,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,10,10,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,91,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,93,40,96,101,58,115,121,115,116,101,109,58,101,114,114,111,114,115,46,109,100,96,41,10,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>>},#{group => processes,specification => [{attribute,{5329,2},spec,{{raise,3},[{type,{5329,12},bounded_fun,[{type,{5329,12},'fun',[{type,{5329,12},product,[{var,{5329,13},'Class'},{var,{5329,20},'Reason'},{var,{5329,28},'Stacktrace'}]},{atom,{5329,43},badarg}]},[{type,{5330,7},constraint,[{atom,{5330,7},is_subtype},[{var,{5330,7},'Class'},{type,{5330,16},union,[{atom,{5330,16},error},{atom,{5330,26},exit},{atom,{5330,35},throw}]}]]},{type,{5331,7},constraint,[{atom,{5331,7},is_subtype},[{var,{5331,7},'Reason'},{type,{5331,17},term,[]}]]},{type,{5332,7},constraint,[{atom,{5332,7},is_subtype},[{var,{5332,7},'Stacktrace'},{user_type,{5332,21},raise_stacktrace,[]}]]}]]}]}}]}},{{function,put,2},{5255,2},[<<112,117,116,40,75,101,121,44,32,86,97,108,41>>],#{<<101,110>> => <<65,100,100,115,32,97,32,110,101,119,32,96,75,101,121,96,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,96,86,97,108,96,44,32,97,110,100,10,114,101,116,117,114,110,115,32,96,117,110,100,101,102,105,110,101,100,96,46,32,73,102,32,96,75,101,121,96,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,10,96,86,97,108,96,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,10,10,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,10,79,40,96,49,96,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,96,78,96,41,44,32,119,104,101,114,101,32,96,78,96,32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,10,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,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,84,104,101,32,118,97,108,117,101,115,32,115,116,111,114,101,100,32,119,104,101,110,32,96,112,117,116,96,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,96,99,97,116,99,104,96,32,97,114,101,10,62,32,110,111,116,32,114,101,116,114,97,99,116,101,100,32,105,102,32,97,32,96,116,104,114,111,119,96,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>>},#{group => processes,specification => [{attribute,{5279,2},spec,{{put,2},[{type,{5279,10},bounded_fun,[{type,{5279,10},'fun',[{type,{5279,10},product,[{var,{5279,11},'Key'},{var,{5279,16},'Val'}]},{type,{5279,24},term,[]}]},[{type,{5280,7},constraint,[{atom,{5280,7},is_subtype},[{var,{5280,7},'Key'},{type,{5280,14},term,[]}]]},{type,{5281,7},constraint,[{atom,{5281,7},is_subtype},[{var,{5281,7},'Val'},{type,{5281,14},term,[]}]]}]]}]}}]}},{{function,purge_module,1},{5223,2},[<<112,117,114,103,101,95,109,111,100,117,108,101,40,77,111,100,117,108,101,41>>],#{<<101,110>> => <<82,101,109,111,118,101,115,32,111,108,100,32,99,111,100,101,32,102,111,114,32,96,77,111,100,117,108,101,96,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,96,99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,47,50,96,10,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,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,96,109,58,99,111,100,101,96,41,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,10,62,32,101,108,115,101,119,104,101,114,101,46,10,10,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,10,62,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,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,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,96,77,111,100,117,108,101,96,46>>},#{group => code,specification => [{attribute,{5241,2},spec,{{purge_module,1},[{type,{5241,19},bounded_fun,[{type,{5241,19},'fun',[{type,{5241,19},product,[{var,{5241,20},'Module'}]},{atom,{5241,31},true}]},[{type,{5242,7},constraint,[{atom,{5242,7},is_subtype},[{var,{5242,7},'Module'},{type,{5242,17},atom,[]}]]}]]}]}}]}},{{function,processes,0},{5201,2},[<<112,114,111,99,101,115,115,101,115,40,41>>],#{<<101,110>> => <<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,10,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,10,10,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,10,91,96,105,115,95,112,114,111,99,101,115,115,95,97,108,105,118,101,47,49,96,93,40,96,105,115,95,112,114,111,99,101,115,115,95,97,108,105,118,101,47,49,96,41,32,114,101,116,117,114,110,115,32,96,102,97,108,115,101,96,32,102,111,114,32,97,110,32,101,120,105,116,105,110,103,10,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,10,96,112,114,111,99,101,115,115,101,115,47,48,96,46,10,10,69,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => processes,specification => [{attribute,{5218,2},spec,{{processes,0},[{type,{5218,16},'fun',[{type,{5218,16},product,[]},{type,{5218,22},list,[{type,{5218,23},pid,[]}]}]}]}}]}},{{function,process_info,1},{5154,2},[<<112,114,111,99,101,115,115,95,105,110,102,111,40,80,105,100,41>>],#{<<101,110>> => <<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,96,73,110,102,111,84,117,112,108,101,96,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,10,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,80,105,100,96,44,32,111,114,32,96,117,110,100,101,102,105,110,101,100,96,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,10,10,84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32,96,73,110,102,111,84,117,112,108,101,96,115,32,105,115,32,117,110,100,101,102,105,110,101,100,32,97,110,100,32,97,108,108,32,96,73,110,102,111,84,117,112,108,101,96,115,32,97,114,101,32,110,111,116,10,109,97,110,100,97,116,111,114,121,46,32,84,104,101,32,96,73,110,102,111,84,117,112,108,101,96,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,10,110,111,116,105,99,101,46,10,10,84,104,101,32,96,73,110,102,111,84,117,112,108,101,96,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,10,10,45,32,96,99,117,114,114,101,110,116,95,102,117,110,99,116,105,111,110,96,10,45,32,96,105,110,105,116,105,97,108,95,99,97,108,108,96,10,45,32,96,115,116,97,116,117,115,96,10,45,32,96,109,101,115,115,97,103,101,95,113,117,101,117,101,95,108,101,110,96,10,45,32,96,108,105,110,107,115,96,10,45,32,96,100,105,99,116,105,111,110,97,114,121,96,10,45,32,96,116,114,97,112,95,101,120,105,116,96,10,45,32,96,101,114,114,111,114,95,104,97,110,100,108,101,114,96,10,45,32,96,112,114,105,111,114,105,116,121,96,10,45,32,96,103,114,111,117,112,95,108,101,97,100,101,114,96,10,45,32,96,116,111,116,97,108,95,104,101,97,112,95,115,105,122,101,96,10,45,32,96,104,101,97,112,95,115,105,122,101,96,10,45,32,96,115,116,97,99,107,95,115,105,122,101,96,10,45,32,96,114,101,100,117,99,116,105,111,110,115,96,10,45,32,96,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,96,10,10,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,96,80,105,100,96,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,96,73,110,102,111,84,117,112,108,101,96,10,119,105,116,104,32,105,116,101,109,32,96,114,101,103,105,115,116,101,114,101,100,95,110,97,109,101,96,32,105,115,32,105,110,99,108,117,100,101,100,46,10,10,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,96,73,110,102,111,84,117,112,108,101,96,115,44,32,115,101,101,32,96,112,114,111,99,101,115,115,95,105,110,102,111,47,50,96,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,95,100,101,98,117,103,103,105,110,103,32,111,110,108,121,95,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,10,62,32,96,112,114,111,99,101,115,115,95,105,110,102,111,47,50,96,46,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,80,105,100,96,32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,46>>},#{group => processes,specification => [{attribute,{5193,2},spec,{{process_info,1},[{type,{5193,19},bounded_fun,[{type,{5193,19},'fun',[{type,{5193,19},product,[{var,{5193,20},'Pid'}]},{var,{5193,28},'Info'}]},[{type,{5194,7},constraint,[{atom,{5194,7},is_subtype},[{var,{5194,7},'Pid'},{type,{5194,14},pid,[]}]]},{type,{5195,7},constraint,[{atom,{5195,7},is_subtype},[{var,{5195,7},'Info'},{type,{5195,15},union,[{type,{5195,15},list,[{var,{5195,16},'InfoTuple'}]},{atom,{5195,29},undefined}]}]]},{type,{5196,7},constraint,[{atom,{5196,7},is_subtype},[{var,{5196,7},'InfoTuple'},{user_type,{5196,20},process_info_result_item,[]}]]}]]}]}}]}},{{function,process_flag,3},{5128,2},[<<112,114,111,99,101,115,115,95,102,108,97,103,40,80,105,100,44,32,70,108,97,103,44,32,86,97,108,117,101,41>>],#{<<101,110>> => <<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,96,80,105,100,96,44,32,105,110,32,116,104,101,32,115,97,109,101,32,109,97,110,110,101,114,32,97,115,10,96,112,114,111,99,101,115,115,95,102,108,97,103,47,50,96,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,96,70,108,97,103,96,10,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,91,96,112,114,111,99,101,115,115,95,102,108,97,103,47,50,96,93,40,96,112,114,111,99,101,115,115,95,102,108,97,103,47,50,96,41,44,10,110,97,109,101,108,121,32,96,115,97,118,101,95,99,97,108,108,115,96,46,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,80,105,100,96,32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,46>>},#{group => processes,specification => [{attribute,{5137,2},spec,{{process_flag,3},[{type,{5137,19},bounded_fun,[{type,{5137,19},'fun',[{type,{5137,19},product,[{var,{5137,20},'Pid'},{var,{5137,25},'Flag'},{var,{5137,31},'Value'}]},{var,{5137,41},'OldValue'}]},[{type,{5138,7},constraint,[{atom,{5138,7},is_subtype},[{var,{5138,7},'Pid'},{type,{5138,14},pid,[]}]]},{type,{5139,7},constraint,[{atom,{5139,7},is_subtype},[{var,{5139,7},'Flag'},{atom,{5139,15},save_calls}]]},{type,{5140,7},constraint,[{atom,{5140,7},is_subtype},[{var,{5140,7},'Value'},{type,{5140,16},non_neg_integer,[]}]]},{type,{5141,7},constraint,[{atom,{5141,7},is_subtype},[{var,{5141,7},'OldValue'},{type,{5141,19},non_neg_integer,[]}]]}]]}]}}]}},{{function,process_display,2},{5098,2},[<<112,114,111,99,101,115,115,95,100,105,115,112,108,97,121,40,80,105,100,44,32,84,121,112,101,41>>],#{<<101,110>> => <<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,96,80,105,100,96,32,111,110,32,91,115,116,97,110,100,97,114,100,32,101,114,114,111,114,93,40,96,116,58,105,111,58,115,116,97,110,100,97,114,100,95,101,114,114,111,114,47,48,96,41,46,10,10,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,96,84,121,112,101,96,32,105,115,32,96,98,97,99,107,116,114,97,99,101,96,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,10,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,10,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>>},#{group => processes,specification => [{attribute,{5106,2},spec,{{process_display,2},[{type,{5106,22},bounded_fun,[{type,{5106,22},'fun',[{type,{5106,22},product,[{var,{5106,23},'Pid'},{var,{5106,28},'Type'}]},{atom,{5106,37},true}]},[{type,{5107,7},constraint,[{atom,{5107,7},is_subtype},[{var,{5107,7},'Pid'},{type,{5107,14},pid,[]}]]},{type,{5108,7},constraint,[{atom,{5108,7},is_subtype},[{var,{5108,7},'Type'},{atom,{5108,15},backtrace}]]}]]}]}}]}},{{function,pre_loaded,0},{5086,2},[<<112,114,101,95,108,111,97,100,101,100,40,41>>],#{<<101,110>> => <<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,10,10,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,10,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,96,109,58,101,114,108,95,98,111,111,116,95,115,101,114,118,101,114,96,46>>},#{group => code,specification => [{attribute,{5092,2},spec,{{pre_loaded,0},[{type,{5092,17},'fun',[{type,{5092,17},product,[]},{type,{5092,23},list,[{type,{5092,24},module,[]}]}]}]}}]}},{{function,prepare_loading,2},{5050,2},[<<112,114,101,112,97,114,101,95,108,111,97,100,105,110,103,40,77,111,100,117,108,101,44,32,67,111,100,101,41>>],hidden,#{}},{{function,timestamp,0},{5011,2},[<<116,105,109,101,115,116,97,109,112,40,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,99,117,114,114,101,110,116,32,91,69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,101,114,108,97,110,103,45,115,121,115,116,101,109,45,116,105,109,101,41,32,111,110,10,116,104,101,32,102,111,114,109,97,116,32,96,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,96,46,10,10,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,96,111,115,58,116,105,109,101,115,116,97,109,112,47,48,96,32,97,110,100,32,116,104,101,32,100,101,112,114,101,99,97,116,101,100,32,91,96,101,114,108,97,110,103,58,110,111,119,47,48,96,93,40,96,110,111,119,47,48,96,41,32,117,115,101,46,10,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,96,101,114,108,97,110,103,58,116,105,109,101,115,116,97,109,112,40,41,96,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,10,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,10,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,10,91,96,101,114,108,97,110,103,58,115,121,115,116,101,109,95,116,105,109,101,47,49,96,93,40,96,115,121,115,116,101,109,95,116,105,109,101,47,49,96,41,46,10,10,84,104,101,32,96,101,114,108,97,110,103,58,116,105,109,101,115,116,97,109,112,40,41,96,32,66,73,70,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,58,10,10,96,96,96,99,10,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,10,96,96,96,10,10,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,10,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,84,104,105,115,32,116,105,109,101,32,105,115,32,95,110,111,116,95,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,10,62,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,10,62,32,91,116,105,109,101,32,119,97,114,112,32,109,111,100,101,115,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,116,105,109,101,45,119,97,114,112,45,109,111,100,101,115,41,32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>},#{group => time,specification => [{attribute,{5043,2},spec,{{timestamp,0},[{type,{5043,16},bounded_fun,[{type,{5043,16},'fun',[{type,{5043,16},product,[]},{var,{5043,22},'Timestamp'}]},[{type,{5044,7},constraint,[{atom,{5044,7},is_subtype},[{var,{5044,7},'Timestamp'},{user_type,{5044,20},timestamp,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,time_offset,1},{4993,2},[<<116,105,109,101,95,111,102,102,115,101,116,40,85,110,105,116,41>>],#{<<101,110>> => <<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,10,91,69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,101,114,108,97,110,103,45,109,111,110,111,116,111,110,105,99,45,116,105,109,101,41,32,97,110,100,10,91,69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,101,114,108,97,110,103,45,115,121,115,116,101,109,45,116,105,109,101,41,32,99,111,110,118,101,114,116,101,100,32,105,110,116,111,32,116,104,101,10,96,85,110,105,116,96,32,112,97,115,115,101,100,32,97,115,32,97,114,103,117,109,101,110,116,46,10,10,83,97,109,101,32,97,115,32,99,97,108,108,105,110,103,10,91,96,101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,96,93,40,96,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51,96,41,96,40,96,91,32,96,101,114,108,97,110,103,58,116,105,109,101,95,111,102,102,115,101,116,40,41,96,93,40,96,116,105,109,101,95,111,102,102,115,101,116,47,48,96,41,96,44,32,110,97,116,105,118,101,44,32,85,110,105,116,41,96,10,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,96,85,110,105,116,96,115,46>>},#{group => time,specification => [{attribute,{5005,2},spec,{{time_offset,1},[{type,{5005,18},bounded_fun,[{type,{5005,18},'fun',[{type,{5005,18},product,[{var,{5005,19},'Unit'}]},{type,{5005,28},integer,[]}]},[{type,{5006,7},constraint,[{atom,{5006,7},is_subtype},[{var,{5006,7},'Unit'},{user_type,{5006,15},time_unit,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,time_offset,0},{4962,2},[<<116,105,109,101,95,111,102,102,115,101,116,40,41>>],#{<<101,110>> => <<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,10,91,69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,101,114,108,97,110,103,45,109,111,110,111,116,111,110,105,99,45,116,105,109,101,41,32,97,110,100,10,91,69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,101,114,108,97,110,103,45,115,121,115,116,101,109,45,116,105,109,101,41,32,105,110,32,96,110,97,116,105,118,101,96,10,91,116,105,109,101,32,117,110,105,116,93,40,96,116,58,116,105,109,101,95,117,110,105,116,47,48,96,41,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,10,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,10,10,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,10,91,116,105,109,101,32,119,97,114,112,32,109,111,100,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,116,105,109,101,45,119,97,114,112,45,109,111,100,101,115,41,32,117,115,101,100,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,98,121,32,100,105,102,102,101,114,101,110,116,32,112,114,111,99,101,115,115,101,115,46,10,62,10,62,32,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,10,62,32,91,109,117,108,116,105,45,116,105,109,101,32,119,97,114,112,32,109,111,100,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,109,117,108,116,105,45,116,105,109,101,45,119,97,114,112,45,109,111,100,101,41,44,32,116,104,101,32,116,105,109,101,10,62,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,10,62,32,91,79,83,32,115,121,115,116,101,109,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,111,115,45,115,121,115,116,101,109,45,116,105,109,101,41,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,10,62,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,10,62,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,10,62,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,10,62,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>>},#{group => time,specification => [{attribute,{4988,2},spec,{{time_offset,0},[{type,{4988,18},'fun',[{type,{4988,18},product,[]},{type,{4988,24},integer,[]}]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,convert_time_unit,3},{4900,2},[<<99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,40,84,105,109,101,44,32,70,114,111,109,85,110,105,116,44,32,84,111,85,110,105,116,41>>],#{<<101,110>> => <<67,111,110,118,101,114,116,115,32,116,104,101,32,96,84,105,109,101,96,32,118,97,108,117,101,32,111,102,32,116,105,109,101,32,117,110,105,116,32,96,70,114,111,109,85,110,105,116,96,32,116,111,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,10,96,67,111,110,118,101,114,116,101,100,84,105,109,101,96,32,118,97,108,117,101,32,111,102,32,116,105,109,101,32,117,110,105,116,32,96,84,111,85,110,105,116,96,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,10,96,102,108,111,111,114,47,49,96,32,102,117,110,99,116,105,111,110,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,62,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,96,110,97,116,105,118,101,96,32,116,105,109,101,32,117,110,105,116,32,97,110,100,32,100,111,32,116,104,101,10,62,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>>},#{group => time,specification => [{attribute,{4913,2},spec,{{convert_time_unit,3},[{type,{4913,24},bounded_fun,[{type,{4913,24},'fun',[{type,{4913,24},product,[{var,{4913,25},'Time'},{var,{4913,31},'FromUnit'},{var,{4913,41},'ToUnit'}]},{var,{4913,52},'ConvertedTime'}]},[{type,{4914,7},constraint,[{atom,{4914,7},is_subtype},[{var,{4914,7},'Time'},{type,{4914,15},integer,[]}]]},{type,{4915,7},constraint,[{atom,{4915,7},is_subtype},[{var,{4915,7},'ConvertedTime'},{type,{4915,24},integer,[]}]]},{type,{4916,7},constraint,[{atom,{4916,7},is_subtype},[{var,{4916,7},'FromUnit'},{user_type,{4916,19},time_unit,[]}]]},{type,{4917,7},constraint,[{atom,{4917,7},is_subtype},[{var,{4917,7},'ToUnit'},{user_type,{4917,17},time_unit,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,system_time,1},{4879,2},[<<115,121,115,116,101,109,95,116,105,109,101,40,85,110,105,116,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,99,117,114,114,101,110,116,32,91,69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,101,114,108,97,110,103,45,115,121,115,116,101,109,45,116,105,109,101,41,10,99,111,110,118,101,114,116,101,100,32,105,110,116,111,32,116,104,101,32,96,85,110,105,116,96,32,112,97,115,115,101,100,32,97,115,32,97,114,103,117,109,101,110,116,46,10,10,67,97,108,108,105,110,103,32,96,101,114,108,97,110,103,58,115,121,115,116,101,109,95,116,105,109,101,40,85,110,105,116,41,96,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,10,91,96,101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,96,93,40,96,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51,96,41,96,40,96,91,96,101,114,108,97,110,103,58,115,121,115,116,101,109,95,116,105,109,101,40,41,96,93,40,96,115,121,115,116,101,109,95,116,105,109,101,47,48,96,41,96,44,32,110,97,116,105,118,101,44,32,85,110,105,116,41,96,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,84,104,105,115,32,116,105,109,101,32,105,115,32,95,110,111,116,95,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,10,62,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,10,62,32,91,116,105,109,101,32,119,97,114,112,32,109,111,100,101,115,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,116,105,109,101,45,119,97,114,112,45,109,111,100,101,115,41,32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>},#{group => time,specification => [{attribute,{4894,2},spec,{{system_time,1},[{type,{4894,18},bounded_fun,[{type,{4894,18},'fun',[{type,{4894,18},product,[{var,{4894,19},'Unit'}]},{type,{4894,28},integer,[]}]},[{type,{4895,7},constraint,[{atom,{4895,7},is_subtype},[{var,{4895,7},'Unit'},{user_type,{4895,15},time_unit,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,system_time,0},{4859,2},[<<115,121,115,116,101,109,95,116,105,109,101,40,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,99,117,114,114,101,110,116,32,91,69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,101,114,108,97,110,103,45,115,121,115,116,101,109,45,116,105,109,101,41,32,105,110,10,96,110,97,116,105,118,101,96,32,91,116,105,109,101,32,117,110,105,116,93,40,96,116,58,116,105,109,101,95,117,110,105,116,47,48,96,41,46,10,10,67,97,108,108,105,110,103,32,96,101,114,108,97,110,103,58,115,121,115,116,101,109,95,116,105,109,101,40,41,96,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,10,91,96,101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,40,41,96,93,40,96,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,48,96,41,96,43,96,91,96,101,114,108,97,110,103,58,116,105,109,101,95,111,102,102,115,101,116,40,41,96,93,40,96,116,105,109,101,95,111,102,102,115,101,116,47,48,96,41,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,84,104,105,115,32,116,105,109,101,32,105,115,32,95,110,111,116,95,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,10,62,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,10,62,32,91,116,105,109,101,32,119,97,114,112,32,109,111,100,101,115,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,116,105,109,101,45,119,97,114,112,45,109,111,100,101,115,41,32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>},#{group => time,specification => [{attribute,{4874,2},spec,{{system_time,0},[{type,{4874,18},'fun',[{type,{4874,18},product,[]},{type,{4874,24},integer,[]}]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,monotonic_time,1},{4842,2},[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,40,85,110,105,116,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,10,91,69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,101,114,108,97,110,103,45,109,111,110,111,116,111,110,105,99,45,116,105,109,101,41,32,99,111,110,118,101,114,116,101,100,32,105,110,116,111,10,116,104,101,32,96,85,110,105,116,96,32,112,97,115,115,101,100,32,97,115,32,97,114,103,117,109,101,110,116,46,10,10,83,97,109,101,32,97,115,32,99,97,108,108,105,110,103,10,91,96,101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,96,93,40,96,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51,96,41,96,40,96,91,32,96,101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,40,41,96,93,40,96,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,48,96,41,96,44,32,110,97,116,105,118,101,44,32,85,110,105,116,41,96,44,10,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,96,85,110,105,116,96,115,46>>},#{group => time,specification => [{attribute,{4853,2},spec,{{monotonic_time,1},[{type,{4853,21},bounded_fun,[{type,{4853,21},'fun',[{type,{4853,21},product,[{var,{4853,22},'Unit'}]},{type,{4853,31},integer,[]}]},[{type,{4854,7},constraint,[{atom,{4854,7},is_subtype},[{var,{4854,7},'Unit'},{user_type,{4854,15},time_unit,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,monotonic_time,0},{4810,2},[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,40,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,10,91,69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,101,114,108,97,110,103,45,109,111,110,111,116,111,110,105,99,45,116,105,109,101,41,32,105,110,32,96,110,97,116,105,118,101,96,10,91,116,105,109,101,32,117,110,105,116,93,40,96,116,58,116,105,109,101,95,117,110,105,116,47,48,96,41,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,10,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,84,104,105,115,32,105,115,32,97,10,62,32,91,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,109,111,110,111,116,111,110,105,99,97,108,108,121,45,105,110,99,114,101,97,115,105,110,103,41,32,116,105,109,101,44,10,62,32,98,117,116,32,95,110,111,116,95,32,97,10,62,32,91,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,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,115,116,114,105,99,116,108,121,45,109,111,110,111,116,111,110,105,99,97,108,108,121,45,105,110,99,114,101,97,115,105,110,103,41,10,62,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,96,101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,48,96,32,99,97,110,32,112,114,111,100,117,99,101,32,116,104,101,10,62,32,115,97,109,101,32,114,101,115,117,108,116,46,10,62,10,62,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,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,10,62,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,95,112,111,105,110,116,108,101,115,115,95,10,62,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,10,62,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,10,62,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,10,62,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,10,62,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,10,62,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,10,62,32,91,96,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,96,93,40,35,115,121,115,116,101,109,95,105,110,102,111,95,115,116,97,114,116,95,116,105,109,101,41,46>>},#{group => time,specification => [{attribute,{4837,2},spec,{{monotonic_time,0},[{type,{4837,21},'fun',[{type,{4837,21},product,[]},{type,{4837,27},integer,[]}]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,unique_integer,0},{4798,2},[<<117,110,105,113,117,101,95,105,110,116,101,103,101,114,40,41>>],#{<<101,110>> => <<71,101,110,101,114,97,116,101,115,32,97,110,100,32,114,101,116,117,114,110,115,32,97,110,10,91,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,93,40,96,101,58,115,121,115,116,101,109,58,115,121,115,116,101,109,95,108,105,109,105,116,115,46,109,100,35,117,110,105,113,117,101,95,105,110,116,101,103,101,114,115,96,41,46,10,69,113,117,105,118,97,108,101,110,116,32,116,111,32,99,97,108,108,105,110,103,32,91,96,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,96,93,40,96,117,110,105,113,117,101,95,105,110,116,101,103,101,114,47,49,96,41,46>>},#{group => terms,specification => [{attribute,{4805,2},spec,{{unique_integer,0},[{type,{4805,21},'fun',[{type,{4805,21},product,[]},{type,{4805,27},integer,[]}]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,unique_integer,1},{4732,2},[<<117,110,105,113,117,101,95,105,110,116,101,103,101,114,40,77,111,100,105,102,105,101,114,76,105,115,116,41>>],#{<<101,110>> => <<71,101,110,101,114,97,116,101,115,32,97,110,100,32,114,101,116,117,114,110,115,32,97,110,10,91,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,93,40,96,101,58,115,121,115,116,101,109,58,115,121,115,116,101,109,95,108,105,109,105,116,115,46,109,100,35,117,110,105,113,117,101,95,105,110,116,101,103,101,114,115,96,41,46,10,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,10,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,10,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,10,111,116,104,101,114,32,109,101,97,110,115,46,10,10,66,121,32,100,101,102,97,117,108,116,44,32,119,104,101,110,32,96,91,93,96,32,105,115,32,112,97,115,115,101,100,32,97,115,32,96,77,111,100,105,102,105,101,114,76,105,115,116,96,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,10,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,10,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,10,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,10,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,10,10,96,77,111,100,105,102,105,101,114,96,115,58,10,10,45,32,42,42,112,111,115,105,116,105,118,101,42,42,32,45,32,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,10,10,32,32,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,96,112,111,115,105,116,105,118,101,96,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,10,32,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,10,10,45,32,42,42,109,111,110,111,116,111,110,105,99,42,42,32,45,32,82,101,116,117,114,110,115,10,32,32,91,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,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,115,116,114,105,99,116,108,121,45,109,111,110,111,116,111,110,105,99,97,108,108,121,45,105,110,99,114,101,97,115,105,110,103,41,10,32,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,10,32,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,10,32,32,105,110,115,116,97,110,99,101,46,10,10,32,32,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,10,32,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,96,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,96,32,97,110,100,10,32,32,96,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,96,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,10,32,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,96,88,32,60,32,89,96,44,32,119,101,32,107,110,111,119,10,32,32,116,104,97,116,32,96,88,96,32,119,97,115,32,99,114,101,97,116,101,100,32,98,101,102,111,114,101,32,96,89,96,46,10,10,32,32,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,32,32,62,10,32,32,62,32,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,10,32,32,62,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,10,32,32,62,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,96,109,111,110,111,116,111,110,105,99,96,10,32,32,62,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,10,10,65,108,108,32,118,97,108,105,100,32,96,77,111,100,105,102,105,101,114,96,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,96,77,111,100,105,102,105,101,114,96,115,32,105,110,32,116,104,101,10,96,77,111,100,105,102,105,101,114,76,105,115,116,96,32,97,114,101,32,105,103,110,111,114,101,100,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,96,101,114,108,97,110,103,58,117,110,105,113,117,101,95,105,110,116,101,103,101,114,47,49,96,32,117,115,105,110,103,32,100,105,102,102,101,114,101,110,116,32,115,101,116,115,10,62,32,111,102,32,96,77,111,100,105,102,105,101,114,96,115,32,95,119,105,108,108,32,111,118,101,114,108,97,112,95,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,10,62,32,91,96,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,96,93,40,96,117,110,105,113,117,101,95,105,110,116,101,103,101,114,47,49,96,41,44,32,97,110,100,10,62,32,91,96,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,96,93,40,96,117,110,105,113,117,101,95,105,110,116,101,103,101,114,47,49,96,41,32,114,101,112,101,97,116,101,100,108,121,44,32,121,111,117,10,62,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,10,10,70,97,105,108,117,114,101,115,58,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,105,102,32,96,77,111,100,105,102,105,101,114,76,105,115,116,96,32,105,115,32,110,111,116,32,97,32,112,114,111,112,101,114,32,108,105,115,116,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,105,102,32,96,77,111,100,105,102,105,101,114,96,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>>},#{group => terms,specification => [{attribute,{4791,2},spec,{{unique_integer,1},[{type,{4791,21},bounded_fun,[{type,{4791,21},'fun',[{type,{4791,21},product,[{var,{4791,22},'ModifierList'}]},{type,{4791,39},integer,[]}]},[{type,{4792,7},constraint,[{atom,{4792,7},is_subtype},[{var,{4792,7},'ModifierList'},{type,{4792,23},list,[{var,{4792,24},'Modifier'}]}]]},{type,{4793,7},constraint,[{atom,{4793,7},is_subtype},[{var,{4793,7},'Modifier'},{type,{4793,19},union,[{atom,{4793,19},positive},{atom,{4793,30},monotonic}]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,posixtime_to_universaltime,1},{4726,2},[<<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,40,80,49,41>>],hidden,#{}},{{function,ports,0},{4714,2},[<<112,111,114,116,115,40,41>>],#{<<101,110>> => <<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,10,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46,10,10,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>>},#{group => ports,specification => [{attribute,{4721,2},spec,{{ports,0},[{type,{4721,12},'fun',[{type,{4721,12},product,[]},{type,{4721,18},list,[{type,{4721,19},port,[]}]}]}]}}]}},{{function,port_to_list,1},{4703,2},[<<112,111,114,116,95,116,111,95,108,105,115,116,40,80,111,114,116,41>>],#{<<101,110>> => <<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,10,96,80,111,114,116,96,46>>},#{group => terms,specification => [{attribute,{4708,2},spec,{{port_to_list,1},[{type,{4708,19},bounded_fun,[{type,{4708,19},'fun',[{type,{4708,19},product,[{var,{4708,20},'Port'}]},{type,{4708,29},string,[]}]},[{type,{4709,7},constraint,[{atom,{4709,7},is_subtype},[{var,{4709,7},'Port'},{type,{4709,15},port,[]}]]}]]}]}}]}},{{function,pid_to_list,1},{4680,2},[<<112,105,100,95,116,111,95,108,105,115,116,40,80,105,100,41>>],#{<<101,110>> => <<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,96,80,105,100,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,84,104,101,32,91,99,114,101,97,116,105,111,110,93,40,101,114,108,95,100,105,115,116,95,112,114,111,116,111,99,111,108,46,109,100,41,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,10,62,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,96,80,105,100,96,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,10,62,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>>},#{group => terms,specification => [{attribute,{4697,2},spec,{{pid_to_list,1},[{type,{4697,18},bounded_fun,[{type,{4697,18},'fun',[{type,{4697,18},product,[{var,{4697,19},'Pid'}]},{type,{4697,27},string,[]}]},[{type,{4698,7},constraint,[{atom,{4698,7},is_subtype},[{var,{4698,7},'Pid'},{type,{4698,14},pid,[]}]]}]]}]}}]}},{{function,phash2,2},{4657,2},[<<112,104,97,115,104,50,40,84,101,114,109,44,32,82,97,110,103,101,41>>],#{<<101,110>> => <<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,10,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,46,10,10,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,96,84,101,114,109,96,32,119,105,116,104,105,110,32,116,104,101,32,114,97,110,103,101,10,96,48,46,46,82,97,110,103,101,45,49,96,46,32,84,104,101,32,109,97,120,105,109,117,109,32,118,97,108,117,101,32,102,111,114,32,96,82,97,110,103,101,96,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,10,96,82,97,110,103,101,96,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,10,10,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,10,98,101,116,116,101,114,32,116,104,97,110,32,91,96,112,104,97,115,104,47,50,96,93,40,96,112,104,97,115,104,47,50,96,41,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,10,10,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,114,97,110,103,101,32,96,48,46,46,82,97,110,103,101,45,49,96,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,10,91,96,112,104,97,115,104,47,50,96,93,40,96,112,104,97,115,104,47,50,96,41,44,32,119,104,105,99,104,32,105,115,32,96,49,46,46,82,97,110,103,101,96,46>>},#{group => terms,specification => [{attribute,{4672,2},spec,{{phash2,2},[{type,{4672,13},bounded_fun,[{type,{4672,13},'fun',[{type,{4672,13},product,[{var,{4672,14},'Term'},{var,{4672,20},'Range'}]},{var,{4672,30},'Hash'}]},[{type,{4673,7},constraint,[{atom,{4673,7},is_subtype},[{var,{4673,7},'Term'},{type,{4673,15},term,[]}]]},{type,{4674,7},constraint,[{atom,{4674,7},is_subtype},[{var,{4674,7},'Range'},{type,{4674,16},pos_integer,[]}]]},{type,{4675,7},constraint,[{atom,{4675,7},is_subtype},[{var,{4675,7},'Hash'},{type,{4675,15},non_neg_integer,[]}]]}]]}]}}]}},{{function,phash2,1},{4653,1},[<<112,104,97,115,104,50,40,84,101,114,109,41>>],none,#{group => terms,equiv => <<112,104,97,115,104,50,47,50>>}},{{function,phash,2},{4627,2},[<<112,104,97,115,104,40,84,101,114,109,44,32,82,97,110,103,101,41>>],#{<<101,110>> => <<62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,91,96,101,114,108,97,110,103,58,112,104,97,115,104,50,47,50,96,93,40,96,112,104,97,115,104,50,47,50,96,41,32,115,104,111,117,108,100,32,98,101,32,117,115,101,100,10,62,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,96,101,114,108,97,110,103,58,112,104,97,115,104,40,88,44,78,41,96,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,10,62,32,96,101,114,108,97,110,103,58,112,104,97,115,104,50,40,88,44,78,41,96,10,10,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,10,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,10,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,96,84,101,114,109,96,32,119,105,116,104,105,110,32,116,104,101,32,114,97,110,103,101,10,96,49,46,46,82,97,110,103,101,96,46,32,84,104,101,32,109,97,120,105,109,117,109,32,118,97,108,117,101,32,102,111,114,32,96,82,97,110,103,101,96,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>>,group => deprecated,specification => [{attribute,{4640,2},spec,{{phash,2},[{type,{4640,12},bounded_fun,[{type,{4640,12},'fun',[{type,{4640,12},product,[{var,{4640,13},'Term'},{var,{4640,19},'Range'}]},{var,{4640,29},'Hash'}]},[{type,{4641,7},constraint,[{atom,{4641,7},is_subtype},[{var,{4641,7},'Term'},{type,{4641,15},term,[]}]]},{type,{4642,7},constraint,[{atom,{4642,7},is_subtype},[{var,{4642,7},'Range'},{type,{4642,16},pos_integer,[]}]]},{type,{4643,7},constraint,[{atom,{4643,7},is_subtype},[{var,{4643,7},'Hash'},{type,{4643,15},pos_integer,[]}]]}]]}]}}]}},{{function,now,0},{4599,2},[<<110,111,119,40,41>>],#{<<101,110>> => <<62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,95,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,95,10,62,10,62,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,10,62,32,91,84,105,109,101,32,97,110,100,32,84,105,109,101,32,67,111,114,114,101,99,116,105,111,110,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,41,32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46,10,62,32,83,112,101,99,105,102,105,99,97,108,108,121,44,32,115,101,99,116,105,111,110,32,91,68,111,115,32,97,110,100,32,68,111,110,116,39,115,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,68,111,115,95,97,110,100,95,68,111,110,116,115,41,10,62,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,96,101,114,108,97,110,103,58,110,111,119,47,48,96,46,10,10,82,101,116,117,114,110,115,32,116,104,101,32,116,117,112,108,101,32,96,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,96,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,10,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,10,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,10,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,10,114,101,116,117,114,110,32,118,97,108,117,101,32,102,114,111,109,32,96,101,114,108,97,110,103,58,110,111,119,47,48,96,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,10,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,10,115,107,101,119,101,100,46,10,10,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,10,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>>,group => deprecated,specification => [{attribute,{4621,2},spec,{{now,0},[{type,{4621,10},bounded_fun,[{type,{4621,10},'fun',[{type,{4621,10},product,[]},{var,{4621,16},'Timestamp'}]},[{type,{4622,7},constraint,[{atom,{4622,7},is_subtype},[{var,{4622,7},'Timestamp'},{user_type,{4622,20},timestamp,[]}]]}]]}]}}]}},{{function,node,1},{4586,2},[<<110,111,100,101,40,65,114,103,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,110,111,100,101,32,119,104,101,114,101,32,96,65,114,103,96,32,111,114,105,103,105,110,97,116,101,115,46,32,96,65,114,103,96,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,10,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,96,65,114,103,96,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,10,105,115,32,110,111,116,32,97,108,105,118,101,44,32,96,110,111,110,111,100,101,64,110,111,104,111,115,116,96,32,105,115,32,114,101,116,117,114,110,101,100,46>>},#{group => terms,specification => [{attribute,{4592,2},spec,{{node,1},[{type,{4592,11},bounded_fun,[{type,{4592,11},'fun',[{type,{4592,11},product,[{var,{4592,12},'Arg'}]},{var,{4592,20},'Node'}]},[{type,{4593,7},constraint,[{atom,{4593,7},is_subtype},[{var,{4593,7},'Arg'},{type,{4593,14},union,[{type,{4593,14},pid,[]},{type,{4593,22},port,[]},{type,{4593,31},reference,[]}]}]]},{type,{4594,7},constraint,[{atom,{4594,7},is_subtype},[{var,{4594,7},'Node'},{type,{4594,15},node,[]}]]}]]}]}}]}},{{function,node,0},{4574,2},[<<110,111,100,101,40,41>>],#{<<101,110>> => <<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,96,110,111,110,111,100,101,64,110,111,104,111,115,116,96,32,105,115,10,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>},#{group => distribution,specification => [{attribute,{4579,2},spec,{{node,0},[{type,{4579,11},bounded_fun,[{type,{4579,11},'fun',[{type,{4579,11},product,[]},{var,{4579,17},'Node'}]},[{type,{4580,7},constraint,[{atom,{4580,7},is_subtype},[{var,{4580,7},'Node'},{type,{4580,15},node,[]}]]}]]}]}}]}},{{function,nif_error,2},{4559,2},[<<110,105,102,95,101,114,114,111,114,40,82,101,97,115,111,110,44,32,65,114,103,115,41>>],#{<<101,110>> => <<87,111,114,107,115,32,101,120,97,99,116,108,121,32,108,105,107,101,32,96,101,114,114,111,114,47,50,96,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,10,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,10,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>>},#{group => processes,specification => [{attribute,{4566,2},spec,{{nif_error,2},[{type,{4566,16},bounded_fun,[{type,{4566,16},'fun',[{type,{4566,16},product,[{var,{4566,17},'Reason'},{var,{4566,25},'Args'}]},{type,{4566,34},no_return,[]}]},[{type,{4567,7},constraint,[{atom,{4567,7},is_subtype},[{var,{4567,7},'Reason'},{type,{4567,17},term,[]}]]},{type,{4568,7},constraint,[{atom,{4568,7},is_subtype},[{var,{4568,7},'Args'},{type,{4568,15},list,[{type,{4568,16},term,[]}]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66>>}},{{function,nif_error,1},{4545,2},[<<110,105,102,95,101,114,114,111,114,40,82,101,97,115,111,110,41>>],#{<<101,110>> => <<87,111,114,107,115,32,101,120,97,99,116,108,121,32,108,105,107,101,32,96,101,114,114,111,114,47,49,96,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,10,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,10,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>>},#{group => processes,specification => [{attribute,{4552,2},spec,{{nif_error,1},[{type,{4552,16},bounded_fun,[{type,{4552,16},'fun',[{type,{4552,16},product,[{var,{4552,17},'Reason'}]},{type,{4552,28},no_return,[]}]},[{type,{4553,7},constraint,[{atom,{4553,7},is_subtype},[{var,{4553,7},'Reason'},{type,{4553,17},term,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66>>}},{{function,monitor_node,3},{4515,2},[<<109,111,110,105,116,111,114,95,110,111,100,101,40,78,111,100,101,44,32,70,108,97,103,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<66,101,104,97,118,101,115,32,97,115,32,96,109,111,110,105,116,111,114,95,110,111,100,101,47,50,96,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,10,115,112,101,99,105,102,105,101,100,44,32,110,97,109,101,108,121,32,96,97,108,108,111,119,95,112,97,115,115,105,118,101,95,99,111,110,110,101,99,116,96,46,10,10,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,10,102,111,114,32,116,104,101,32,95,109,111,110,105,116,111,114,101,100,32,110,111,100,101,95,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,10,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,10,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,96,100,105,115,116,95,97,117,116,111,95,99,111,110,110,101,99,116,32,111,110,99,101,96,46,10,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,96,97,108,108,111,119,95,112,97,115,115,105,118,101,95,99,111,110,110,101,99,116,96,32,104,97,115,32,110,111,32,101,102,102,101,99,116,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,79,112,116,105,111,110,32,96,97,108,108,111,119,95,112,97,115,115,105,118,101,95,99,111,110,110,101,99,116,96,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,10,62,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,10,62,32,107,110,111,119,110,32,105,110,32,97,100,118,97,110,99,101,46,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,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,10,109,97,108,102,111,114,109,101,100,46>>},#{group => distribution,specification => [{attribute,{4535,2},spec,{{monitor_node,3},[{type,{4535,19},bounded_fun,[{type,{4535,19},'fun',[{type,{4535,19},product,[{var,{4535,20},'Node'},{var,{4535,26},'Flag'},{var,{4535,32},'Options'}]},{atom,{4535,44},true}]},[{type,{4536,7},constraint,[{atom,{4536,7},is_subtype},[{var,{4536,7},'Node'},{type,{4536,15},node,[]}]]},{type,{4537,7},constraint,[{atom,{4537,7},is_subtype},[{var,{4537,7},'Flag'},{type,{4537,15},boolean,[]}]]},{type,{4538,7},constraint,[{atom,{4538,7},is_subtype},[{var,{4538,7},'Options'},{type,{4538,18},list,[{var,{4538,19},'Option'}]}]]},{type,{4539,7},constraint,[{atom,{4539,7},is_subtype},[{var,{4539,7},'Option'},{atom,{4539,17},allow_passive_connect}]]}]]}]}}]}},{{function,monitor_node,2},{4483,2},[<<109,111,110,105,116,111,114,95,110,111,100,101,40,78,111,100,101,44,32,70,108,97,103,41>>],#{<<101,110>> => <<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,96,78,111,100,101,96,46,32,73,102,32,96,70,108,97,103,96,32,105,115,32,96,116,114,117,101,96,44,32,109,111,110,105,116,111,114,105,110,103,32,105,115,32,116,117,114,110,101,100,10,111,110,46,32,73,102,32,96,70,108,97,103,96,32,105,115,32,96,102,97,108,115,101,96,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,10,10,77,97,107,105,110,103,32,115,101,118,101,114,97,108,32,99,97,108,108,115,32,116,111,32,91,96,109,111,110,105,116,111,114,95,110,111,100,101,40,78,111,100,101,44,32,116,114,117,101,41,96,93,40,96,109,111,110,105,116,111,114,95,110,111,100,101,47,50,96,41,32,102,111,114,32,116,104,101,10,115,97,109,101,32,96,78,111,100,101,96,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,10,105,110,115,116,97,110,99,101,115,46,10,10,73,102,32,96,78,111,100,101,96,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,96,123,110,111,100,101,100,111,119,110,44,32,78,111,100,101,125,96,32,105,115,32,100,101,108,105,118,101,114,101,100,10,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,10,91,96,109,111,110,105,116,111,114,95,110,111,100,101,40,78,111,100,101,44,32,116,114,117,101,41,96,93,40,96,109,111,110,105,116,111,114,95,110,111,100,101,47,50,96,41,32,97,110,100,32,96,78,111,100,101,96,32,116,101,114,109,105,110,97,116,101,115,44,32,116,119,111,10,96,110,111,100,101,100,111,119,110,96,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,10,96,78,111,100,101,96,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,96,110,111,100,101,100,111,119,110,96,32,109,101,115,115,97,103,101,32,105,115,10,100,101,108,105,118,101,114,101,100,46,10,10,84,104,101,32,100,101,108,105,118,101,114,121,32,111,102,32,116,104,101,32,96,110,111,100,101,100,111,119,110,96,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,10,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,10,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,96,110,111,100,101,100,111,119,110,96,32,115,105,103,110,97,108,10,105,115,32,115,101,110,116,44,32,121,111,117,32,115,104,111,117,108,100,32,117,115,101,32,96,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,96,46,10,10,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,10,10,70,97,105,108,117,114,101,58,32,96,110,111,116,97,108,105,118,101,96,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>>},#{group => distribution,specification => [{attribute,{4508,2},spec,{{monitor_node,2},[{type,{4508,19},bounded_fun,[{type,{4508,19},'fun',[{type,{4508,19},product,[{var,{4508,20},'Node'},{var,{4508,26},'Flag'}]},{atom,{4508,35},true}]},[{type,{4509,7},constraint,[{atom,{4509,7},is_subtype},[{var,{4509,7},'Node'},{type,{4509,15},node,[]}]]},{type,{4510,7},constraint,[{atom,{4510,7},is_subtype},[{var,{4510,7},'Flag'},{type,{4510,15},boolean,[]}]]}]]}]}}]}},{{function,monitor,3},{4353,2},[<<109,111,110,105,116,111,114,40,84,121,112,101,44,32,73,116,101,109,44,32,79,112,116,115,41>>],#{<<101,110>> => <<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,10,96,109,111,110,105,116,111,114,47,50,96,46,32,84,104,101,32,96,84,121,112,101,96,32,97,110,100,32,96,73,116,101,109,96,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,10,112,97,115,115,101,100,32,116,111,32,91,96,109,111,110,105,116,111,114,47,50,96,93,40,96,109,111,110,105,116,111,114,47,50,96,41,46,10,10,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,10,10,45,32,42,42,96,123,97,108,105,97,115,44,32,85,110,97,108,105,97,115,79,112,116,125,96,42,42,32,45,32,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,10,32,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,10,32,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,96,97,108,105,97,115,47,48,96,46,32,84,104,101,32,96,85,110,97,108,105,97,115,79,112,116,96,10,32,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,10,10,32,32,45,32,42,42,96,101,120,112,108,105,99,105,116,95,117,110,97,108,105,97,115,96,42,42,32,45,32,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,96,117,110,97,108,105,97,115,47,49,96,32,119,105,108,108,10,32,32,32,32,100,101,97,99,116,105,118,97,116,101,32,116,104,101,32,97,108,105,97,115,46,10,10,32,32,45,32,42,42,96,100,101,109,111,110,105,116,111,114,96,42,42,32,45,32,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,10,32,32,32,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,96,100,101,109,111,110,105,116,111,114,47,49,96,32,111,114,10,32,32,32,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,96,39,68,79,87,78,39,96,32,109,101,115,115,97,103,101,32,105,115,10,32,32,32,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,10,32,32,32,32,99,97,108,108,32,116,111,32,91,96,117,110,97,108,105,97,115,47,49,96,93,40,96,117,110,97,108,105,97,115,47,49,96,41,46,10,10,32,32,45,32,42,42,96,114,101,112,108,121,95,100,101,109,111,110,105,116,111,114,96,42,42,32,45,32,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,10,32,32,32,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,96,100,101,109,111,110,105,116,111,114,96,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,10,32,32,32,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,10,32,32,32,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,10,32,32,32,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,10,32,32,32,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,10,32,32,32,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,10,32,32,32,32,97,32,114,101,112,108,121,32,111,114,32,97,32,96,39,68,79,87,78,39,96,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,10,32,32,32,32,99,97,108,108,32,116,111,32,91,96,117,110,97,108,105,97,115,47,49,96,93,40,96,117,110,97,108,105,97,115,47,49,96,41,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,10,32,32,32,32,116,104,101,32,91,96,117,110,97,108,105,97,115,47,49,96,93,40,96,117,110,97,108,105,97,115,47,49,96,41,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,10,10,32,32,69,120,97,109,112,108,101,58,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,115,101,114,118,101,114,40,41,32,45,62,10,32,32,32,32,32,32,114,101,99,101,105,118,101,10,32,32,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,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,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,32,32,101,110,100,44,10,32,32,32,32,32,32,115,101,114,118,101,114,40,41,46,10,10,32,32,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,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,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,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,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,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,32,32,114,101,99,101,105,118,101,10,32,32,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,32,32,82,101,115,117,108,116,59,10,32,32,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,32,32,101,114,114,111,114,40,69,120,105,116,82,101,97,115,111,110,41,10,32,32,32,32,32,32,101,110,100,46,10,32,32,96,96,96,10,10,32,32,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,10,32,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,10,10,32,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,111,99,101,115,115,32,97,108,105,97,115,101,115,32,115,101,101,32,116,104,101,10,32,32,91,95,80,114,111,99,101,115,115,32,65,108,105,97,115,101,115,95,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,112,114,111,99,101,115,115,45,97,108,105,97,115,101,115,96,41,32,115,101,99,116,105,111,110,10,32,32,111,102,32,116,104,101,32,95,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,95,46,10,10,45,32,42,42,96,123,116,97,103,44,32,85,115,101,114,68,101,102,105,110,101,100,84,97,103,125,96,42,42,32,45,32,82,101,112,108,97,99,101,32,116,104,101,32,100,101,102,97,117,108,116,32,96,84,97,103,96,32,119,105,116,104,32,96,85,115,101,114,68,101,102,105,110,101,100,84,97,103,96,10,32,32,105,110,32,116,104,101,32,91,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,93,40,35,109,111,110,105,116,111,114,95,109,101,115,115,97,103,101,41,32,100,101,108,105,118,101,114,101,100,32,119,104,101,110,32,116,104,101,10,32,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,96,39,68,79,87,78,39,96,32,116,97,103,10,32,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,96,85,115,101,114,68,101,102,105,110,101,100,84,97,103,96,46,10,10,32,32,65,110,32,101,120,97,109,112,108,101,32,111,102,32,104,111,119,32,116,104,101,32,96,123,116,97,103,44,32,85,115,101,114,68,101,102,105,110,101,100,84,97,103,125,96,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,10,32,32,101,110,97,98,108,101,32,116,104,101,32,110,101,119,10,32,32,91,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,93,40,96,101,58,115,121,115,116,101,109,58,101,102,102,95,103,117,105,100,101,95,112,114,111,99,101,115,115,101,115,46,109,100,35,114,101,99,101,105,118,105,110,103,45,109,101,115,115,97,103,101,115,96,41,44,10,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,115,101,114,118,101,114,40,41,32,45,62,10,32,32,32,32,32,32,114,101,99,101,105,118,101,10,32,32,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,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,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,32,32,101,110,100,44,10,32,32,32,32,32,32,115,101,114,118,101,114,40,41,46,10,10,32,32,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,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,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,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,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,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,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,32,32,83,101,114,118,101,114,80,105,100,115,41,44,10,32,32,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,32,32,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,32,32,65,99,99,59,10,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,44,32,65,99,99,41,32,45,62,10,32,32,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,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,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,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,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,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,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,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,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,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,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,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,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,32,32,101,110,100,44,10,32,32,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,32,32,96,96,96,10,10,32,32,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,10,32,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>>},#{group => processes,specification => [{attribute,{4471,2},spec,{{monitor,3},[{type,{4472,7},bounded_fun,[{type,{4472,7},'fun',[{type,{4472,7},product,[{atom,{4472,8},process},{user_type,{4472,17},monitor_process_identifier,[]},{type,{4472,47},list,[{user_type,{4472,48},monitor_option,[]}]}]},{var,{4472,70},'MonitorRef'}]},[{type,{4473,9},constraint,[{atom,{4473,9},is_subtype},[{var,{4473,9},'MonitorRef'},{type,{4473,23},reference,[]}]]}]]},{type,{4474,7},bounded_fun,[{type,{4474,7},'fun',[{type,{4474,7},product,[{atom,{4474,8},port},{user_type,{4474,14},monitor_port_identifier,[]},{type,{4474,41},list,[{user_type,{4474,42},monitor_option,[]}]}]},{var,{4474,64},'MonitorRef'}]},[{type,{4475,9},constraint,[{atom,{4475,9},is_subtype},[{var,{4475,9},'MonitorRef'},{type,{4475,23},reference,[]}]]}]]},{type,{4476,7},bounded_fun,[{type,{4476,7},'fun',[{type,{4476,7},product,[{atom,{4476,8},time_offset},{atom,{4476,21},clock_service},{type,{4476,36},list,[{user_type,{4476,37},monitor_option,[]}]}]},{var,{4476,59},'MonitorRef'}]},[{type,{4477,9},constraint,[{atom,{4477,9},is_subtype},[{var,{4477,9},'MonitorRef'},{type,{4477,23},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,52,46,48>>}},{{function,monitor,2},{4200,2},[<<109,111,110,105,116,111,114,40,84,121,112,101,44,32,73,116,101,109,41>>],#{<<101,110>> => <<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,96,84,121,112,101,96,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,96,73,116,101,109,96,46,10,10,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,10,111,102,32,96,109,111,110,105,116,111,114,47,50,96,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,10,123,58,32,35,109,111,110,105,116,111,114,95,109,101,115,115,97,103,101,125,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,10,10,96,84,121,112,101,96,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,96,112,114,111,99,101,115,115,96,44,32,96,112,111,114,116,96,32,111,114,32,96,116,105,109,101,95,111,102,102,115,101,116,96,46,10,10,65,32,96,112,114,111,99,101,115,115,96,32,111,114,32,96,112,111,114,116,96,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,10,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,10,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,10,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,10,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,10,96,100,101,109,111,110,105,116,111,114,47,49,96,32,105,115,32,99,97,108,108,101,100,46,10,10,65,32,96,112,114,111,99,101,115,115,96,32,111,114,32,96,112,111,114,116,96,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,96,82,101,103,105,115,116,101,114,101,100,78,97,109,101,96,32,116,111,32,96,116,58,112,105,100,47,48,96,10,111,114,32,96,116,58,112,111,114,116,47,48,96,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,10,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,10,10,87,104,101,110,32,97,32,96,112,114,111,99,101,115,115,96,32,111,114,32,96,112,111,114,116,96,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,96,39,68,79,87,78,39,96,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,116,104,97,116,10,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,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,73,110,32,116,104,101,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,32,96,77,111,110,105,116,111,114,82,101,102,96,32,97,110,100,32,96,84,121,112,101,96,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,10,101,97,114,108,105,101,114,44,32,97,110,100,58,10,10,45,32,42,42,96,79,98,106,101,99,116,96,42,42,32,45,32,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,10,32,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,96,79,98,106,101,99,116,96,32,119,105,108,108,32,98,101,32,101,113,117,97,108,32,116,111,32,116,104,101,32,96,116,58,112,105,100,47,48,96,10,32,32,111,114,32,96,116,58,112,111,114,116,47,48,96,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,10,32,32,110,97,109,101,44,32,96,79,98,106,101,99,116,96,32,119,105,108,108,32,104,97,118,101,32,102,111,114,109,97,116,32,96,123,82,101,103,105,115,116,101,114,101,100,78,97,109,101,44,32,78,111,100,101,125,96,32,119,104,101,114,101,10,32,32,96,82,101,103,105,115,116,101,114,101,100,78,97,109,101,96,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,10,32,32,96,109,111,110,105,116,111,114,47,50,96,32,99,97,108,108,32,97,110,100,32,96,78,111,100,101,96,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,10,32,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,96,78,111,100,101,96,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,10,10,45,32,42,42,96,73,110,102,111,96,42,42,32,45,32,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,96,110,111,112,114,111,99,96,32,40,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,10,32,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,96,110,111,99,111,110,110,101,99,116,105,111,110,96,32,40,110,111,10,32,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,10,10,45,32,42,42,77,111,110,105,116,111,114,105,110,103,32,97,32,96,112,114,111,99,101,115,115,96,123,58,32,35,109,111,110,105,116,111,114,95,112,114,111,99,101,115,115,32,125,42,42,32,45,32,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,10,32,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,96,73,116,101,109,96,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,97,10,32,32,96,116,58,112,105,100,47,48,96,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,96,82,101,103,105,115,116,101,114,101,100,78,97,109,101,96,32,111,114,32,97,32,116,117,112,108,101,10,32,32,96,123,82,101,103,105,115,116,101,114,101,100,78,97,109,101,44,32,78,111,100,101,125,96,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,10,10,32,32,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,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,96,98,97,100,97,114,103,96,10,32,32,62,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,10,32,32,62,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,10,32,32,62,10,32,32,62,32,78,111,119,44,32,115,117,99,104,32,97,32,99,97,108,108,32,116,111,32,96,109,111,110,105,116,111,114,96,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,10,32,32,62,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,10,32,32,62,32,96,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,96,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,10,32,32,62,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,10,32,32,62,32,109,111,110,105,116,111,114,101,100,32,112,114,111,99,101,115,115,46,10,10,45,32,42,42,77,111,110,105,116,111,114,105,110,103,32,97,32,96,112,111,114,116,96,123,58,32,35,109,111,110,105,116,111,114,95,112,111,114,116,32,125,42,42,32,45,32,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,10,32,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,96,73,116,101,109,96,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,97,32,96,116,58,112,111,114,116,47,48,96,10,32,32,40,111,110,108,121,32,108,111,99,97,108,41,44,32,97,110,32,97,116,111,109,32,96,82,101,103,105,115,116,101,114,101,100,78,97,109,101,96,32,111,114,32,97,32,116,117,112,108,101,32,96,123,82,101,103,105,115,116,101,114,101,100,78,97,109,101,44,32,78,111,100,101,125,96,32,102,111,114,10,32,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,10,32,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,96,98,97,100,97,114,103,96,46,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,49,57,46,48,46,10,10,45,32,42,42,77,111,110,105,116,111,114,105,110,103,32,97,32,96,116,105,109,101,95,111,102,102,115,101,116,96,123,58,32,35,109,111,110,105,116,111,114,95,116,105,109,101,95,111,102,102,115,101,116,32,125,42,42,32,45,32,77,111,110,105,116,111,114,115,32,99,104,97,110,103,101,115,32,105,110,10,32,32,96,116,105,109,101,95,111,102,102,115,101,116,47,48,96,32,98,101,116,119,101,101,110,10,32,32,91,69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,101,114,108,97,110,103,45,109,111,110,111,116,111,110,105,99,45,116,105,109,101,41,32,97,110,100,10,32,32,91,69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,101,114,108,97,110,103,45,115,121,115,116,101,109,45,116,105,109,101,41,46,32,79,110,101,32,118,97,108,105,100,32,96,73,116,101,109,96,10,32,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,96,116,105,109,101,95,111,102,102,115,101,116,32,84,121,112,101,96,44,32,110,97,109,101,108,121,32,116,104,101,32,97,116,111,109,10,32,32,96,99,108,111,99,107,95,115,101,114,118,105,99,101,96,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,97,116,111,109,32,96,99,108,111,99,107,95,115,101,114,118,105,99,101,96,32,105,115,32,95,110,111,116,95,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,10,32,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,10,32,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,10,10,32,32,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,10,32,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,10,32,32,102,105,110,97,108,32,100,117,114,105,110,103,10,32,32,91,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,93,40,35,115,121,115,116,101,109,95,102,108,97,103,95,116,105,109,101,95,111,102,102,115,101,116,41,32,119,104,101,110,32,116,104,101,10,32,32,91,115,105,110,103,108,101,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,115,105,110,103,108,101,45,116,105,109,101,45,119,97,114,112,45,109,111,100,101,41,32,105,115,32,117,115,101,100,46,10,32,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,10,32,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,10,10,32,32,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,10,32,32,91,109,117,108,116,105,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,109,117,108,116,105,45,116,105,109,101,45,119,97,114,112,45,109,111,100,101,41,44,32,116,104,101,32,116,105,109,101,10,32,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,10,32,32,91,79,83,32,115,121,115,116,101,109,32,116,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,111,115,45,115,121,115,116,101,109,45,116,105,109,101,41,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,10,32,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,10,32,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,10,32,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,10,32,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,10,10,32,32,84,104,101,32,109,111,110,105,116,111,114,32,105,115,32,95,110,111,116,95,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,10,32,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,10,10,32,32,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,96,39,67,72,65,78,71,69,39,96,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,10,32,32,112,114,111,99,101,115,115,46,32,65,32,96,39,67,72,65,78,71,69,39,96,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,10,32,32,96,96,96,10,10,32,32,119,104,101,114,101,32,96,77,111,110,105,116,111,114,82,101,102,96,44,32,96,84,121,112,101,96,44,32,97,110,100,32,96,73,116,101,109,96,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,10,32,32,96,78,101,119,84,105,109,101,79,102,102,115,101,116,96,32,105,115,32,116,104,101,32,110,101,119,32,116,105,109,101,32,111,102,102,115,101,116,46,10,10,32,32,87,104,101,110,32,116,104,101,32,96,39,67,72,65,78,71,69,39,96,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,10,32,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,10,32,32,96,101,114,108,97,110,103,58,116,105,109,101,95,111,102,102,115,101,116,47,48,96,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,10,32,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,96,101,114,108,97,110,103,58,116,105,109,101,95,111,102,102,115,101,116,47,48,96,32,98,101,102,111,114,101,32,121,111,117,32,103,101,116,10,32,32,116,104,101,32,96,39,67,72,65,78,71,69,39,96,32,109,101,115,115,97,103,101,46,10,10,32,32,65,118,97,105,108,97,98,108,101,32,115,105,110,99,101,32,79,84,80,32,49,56,46,48,46,10,10,77,97,107,105,110,103,32,115,101,118,101,114,97,108,32,99,97,108,108,115,32,116,111,32,96,109,111,110,105,116,111,114,47,50,96,32,102,111,114,32,116,104,101,32,115,97,109,101,32,96,73,116,101,109,96,32,97,110,100,47,111,114,10,96,84,121,112,101,96,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,10,10,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,96,84,121,112,101,96,115,32,97,110,100,10,96,73,116,101,109,96,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,73,102,32,111,114,32,119,104,101,110,32,96,109,111,110,105,116,111,114,47,50,96,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,10,62,32,96,84,97,103,96,44,32,96,79,98,106,101,99,116,96,44,32,97,110,100,32,96,73,110,102,111,96,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,91,95,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,95,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,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,96,41,10,62,32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32,95,80,114,111,99,101,115,115,101,115,95,32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32,95,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,95,46>>},#{group => processes,specification => [{attribute,{4341,2},spec,{{monitor,2},[{type,{4342,7},bounded_fun,[{type,{4342,7},'fun',[{type,{4342,7},product,[{atom,{4342,8},process},{user_type,{4342,17},monitor_process_identifier,[]}]},{var,{4342,50},'MonitorRef'}]},[{type,{4343,9},constraint,[{atom,{4343,9},is_subtype},[{var,{4343,9},'MonitorRef'},{type,{4343,23},reference,[]}]]}]]},{type,{4344,7},bounded_fun,[{type,{4344,7},'fun',[{type,{4344,7},product,[{atom,{4344,8},port},{user_type,{4344,14},monitor_port_identifier,[]}]},{var,{4344,44},'MonitorRef'}]},[{type,{4345,9},constraint,[{atom,{4345,9},is_subtype},[{var,{4345,9},'MonitorRef'},{type,{4345,23},reference,[]}]]}]]},{type,{4346,7},bounded_fun,[{type,{4346,7},'fun',[{type,{4346,7},product,[{atom,{4346,8},time_offset},{atom,{4346,21},clock_service}]},{var,{4346,39},'MonitorRef'}]},[{type,{4347,9},constraint,[{atom,{4347,9},is_subtype},[{var,{4347,9},'MonitorRef'},{type,{4347,23},reference,[]}]]}]]}]}}]}},{{function,module_loaded,1},{4180,2},[<<109,111,100,117,108,101,95,108,111,97,100,101,100,40,77,111,100,117,108,101,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,116,104,101,32,109,111,100,117,108,101,32,96,77,111,100,117,108,101,96,32,105,115,32,108,111,97,100,101,100,32,97,115,10,91,95,99,117,114,114,101,110,116,32,99,111,100,101,95,93,40,96,101,58,115,121,115,116,101,109,58,99,111,100,101,95,108,111,97,100,105,110,103,46,109,100,35,99,111,100,101,45,114,101,112,108,97,99,101,109,101,110,116,96,41,59,32,111,116,104,101,114,119,105,115,101,44,10,96,102,97,108,115,101,96,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>>},#{group => code,specification => [{attribute,{4186,2},spec,{{module_loaded,1},[{type,{4186,20},bounded_fun,[{type,{4186,20},'fun',[{type,{4186,20},product,[{var,{4186,21},'Module'}]},{type,{4186,32},boolean,[]}]},[{type,{4187,7},constraint,[{atom,{4187,7},is_subtype},[{var,{4187,7},'Module'},{type,{4187,17},module,[]}]]}]]}]}}]}},{{function,md5_update,2},{4170,2},[<<109,100,53,95,117,112,100,97,116,101,40,67,111,110,116,101,120,116,44,32,68,97,116,97,41>>],#{<<101,110>> => <<85,112,100,97,116,101,32,97,110,32,77,68,53,32,96,67,111,110,116,101,120,116,96,32,119,105,116,104,32,96,68,97,116,97,96,32,97,110,100,32,114,101,116,117,114,110,115,32,97,32,96,78,101,119,67,111,110,116,101,120,116,96,46>>},#{group => checksum,specification => [{attribute,{4172,2},spec,{{md5_update,2},[{type,{4172,17},bounded_fun,[{type,{4172,17},'fun',[{type,{4172,17},product,[{var,{4172,18},'Context'},{var,{4172,27},'Data'}]},{var,{4172,36},'NewContext'}]},[{type,{4173,7},constraint,[{atom,{4173,7},is_subtype},[{var,{4173,7},'Context'},{type,{4173,18},binary,[]}]]},{type,{4174,7},constraint,[{atom,{4174,7},is_subtype},[{var,{4174,7},'Data'},{type,{4174,15},iodata,[]}]]},{type,{4175,7},constraint,[{atom,{4175,7},is_subtype},[{var,{4175,7},'NewContext'},{type,{4175,21},binary,[]}]]}]]}]}}]}},{{function,md5_init,0},{4159,2},[<<109,100,53,95,105,110,105,116,40,41>>],#{<<101,110>> => <<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,10,91,96,109,100,53,95,117,112,100,97,116,101,47,50,96,93,40,96,109,100,53,95,117,112,100,97,116,101,47,50,96,41,46>>},#{group => checksum,specification => [{attribute,{4164,2},spec,{{md5_init,0},[{type,{4164,15},bounded_fun,[{type,{4164,15},'fun',[{type,{4164,15},product,[]},{var,{4164,21},'Context'}]},[{type,{4165,7},constraint,[{atom,{4165,7},is_subtype},[{var,{4165,7},'Context'},{type,{4165,18},binary,[]}]]}]]}]}}]}},{{function,md5_final,1},{4147,2},[<<109,100,53,95,102,105,110,97,108,40,67,111,110,116,101,120,116,41>>],#{<<101,110>> => <<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,96,67,111,110,116,101,120,116,96,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,96,77,68,53,96,32,109,101,115,115,97,103,101,10,100,105,103,101,115,116,46>>},#{group => checksum,specification => [{attribute,{4152,2},spec,{{md5_final,1},[{type,{4152,16},bounded_fun,[{type,{4152,16},'fun',[{type,{4152,16},product,[{var,{4152,17},'Context'}]},{var,{4152,29},'Digest'}]},[{type,{4153,7},constraint,[{atom,{4153,7},is_subtype},[{var,{4153,7},'Context'},{type,{4153,18},binary,[]}]]},{type,{4154,7},constraint,[{atom,{4154,7},is_subtype},[{var,{4154,7},'Digest'},{type,{4154,17},binary,[]}]]}]]}]}}]}},{{function,md5,1},{4126,2},[<<109,100,53,40,68,97,116,97,41>>],#{<<101,110>> => <<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,96,68,97,116,97,96,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,10,49,50,56,32,98,105,116,115,32,40,49,54,32,98,121,116,101,115,41,46,32,96,68,97,116,97,96,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,10,98,105,110,97,114,105,101,115,46,10,10,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,10,91,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,93,40,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,41,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,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,32,105,115,32,95,110,111,116,95,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,10,62,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>>},#{group => checksum,specification => [{attribute,{4140,2},spec,{{md5,1},[{type,{4140,10},bounded_fun,[{type,{4140,10},'fun',[{type,{4140,10},product,[{var,{4140,11},'Data'}]},{var,{4140,20},'Digest'}]},[{type,{4141,7},constraint,[{atom,{4141,7},is_subtype},[{var,{4141,7},'Data'},{type,{4141,15},iodata,[]}]]},{type,{4142,7},constraint,[{atom,{4142,7},is_subtype},[{var,{4142,7},'Digest'},{type,{4142,17},binary,[]}]]}]]}]}}]}},{{function,match_spec_test,3},{4085,2},[<<109,97,116,99,104,95,115,112,101,99,95,116,101,115,116,40,77,97,116,99,104,65,103,97,105,110,115,116,44,32,77,97,116,99,104,83,112,101,99,44,32,84,121,112,101,41>>],#{<<101,110>> => <<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,96,101,116,115,58,115,101,108,101,99,116,47,50,96,32,97,110,100,10,96,116,114,97,99,101,58,102,117,110,99,116,105,111,110,47,52,96,46,10,10,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,10,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,10,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,10,96,123,101,114,114,111,114,44,32,69,114,114,111,114,115,125,96,32,105,115,32,114,101,116,117,114,110,101,100,44,32,119,104,101,114,101,32,96,69,114,114,111,114,115,96,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,10,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,10,10,73,102,32,96,84,121,112,101,96,32,105,115,32,96,116,97,98,108,101,96,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,10,116,104,101,110,32,114,101,116,117,114,110,115,32,96,123,111,107,44,82,101,115,117,108,116,44,91,93,44,87,97,114,110,105,110,103,115,125,96,44,32,119,104,101,114,101,32,96,82,101,115,117,108,116,96,32,105,115,32,119,104,97,116,32,119,111,117,108,100,32,104,97,118,101,32,98,101,101,110,10,116,104,101,32,114,101,115,117,108,116,32,105,110,32,97,32,114,101,97,108,32,96,101,116,115,58,115,101,108,101,99,116,47,50,96,32,99,97,108,108,44,32,111,114,32,96,102,97,108,115,101,96,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,10,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,10,10,73,102,32,96,84,121,112,101,96,32,105,115,32,96,116,114,97,99,101,96,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,10,114,101,116,117,114,110,115,32,96,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,96,44,32,119,104,101,114,101,32,96,82,101,115,117,108,116,96,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,10,10,45,32,96,116,114,117,101,96,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,10,45,32,96,102,97,108,115,101,96,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,10,45,32,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,10,10,96,70,108,97,103,115,96,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,10,105,115,32,111,110,108,121,32,96,114,101,116,117,114,110,95,116,114,97,99,101,96,46,10,10,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,10,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,46,10,10,83,101,101,32,97,108,115,111,32,96,101,116,115,58,116,101,115,116,95,109,115,47,50,96,46>>},#{group => terms,specification => [{attribute,{4117,2},spec,{{match_spec_test,3},[{type,{4117,22},bounded_fun,[{type,{4117,22},'fun',[{type,{4117,22},product,[{var,{4117,23},'MatchAgainst'},{var,{4117,37},'MatchSpec'},{var,{4117,48},'Type'}]},{var,{4117,57},'TestResult'}]},[{type,{4118,7},constraint,[{atom,{4118,7},is_subtype},[{var,{4118,7},'MatchAgainst'},{type,{4118,23},union,[{type,{4118,23},list,[{type,{4118,24},term,[]}]},{type,{4118,34},tuple,any}]}]]},{type,{4119,7},constraint,[{atom,{4119,7},is_subtype},[{var,{4119,7},'MatchSpec'},{type,{4119,20},term,[]}]]},{type,{4120,7},constraint,[{atom,{4120,7},is_subtype},[{var,{4120,7},'Type'},{type,{4120,15},union,[{atom,{4120,15},table},{atom,{4120,23},trace}]}]]},{type,{4121,7},constraint,[{atom,{4121,7},is_subtype},[{var,{4121,7},'TestResult'},{type,{4121,21},union,[{type,{4121,21},tuple,[{atom,{4121,22},ok},{type,{4121,26},term,[]},{type,{4121,34},list,[{atom,{4121,35},return_trace}]},{type,{4121,50},list,[{type,{4121,52},tuple,[{type,{4121,53},union,[{atom,{4121,53},error},{atom,{4121,61},warning}]},{type,{4121,70},string,[]}]}]}]},{type,{4121,85},tuple,[{atom,{4121,86},error},{type,{4121,93},list,[{type,{4121,95},tuple,[{type,{4121,96},union,[{atom,{4121,96},error},{atom,{4121,104},warning}]},{type,{4121,113},string,[]}]}]}]}]}]]}]]}]}}],since => <<79,84,80,32,49,57,46,48>>}},{{function,map_get,2},{4060,2},[<<109,97,112,95,103,101,116,40,75,101,121,44,32,77,97,112,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,118,97,108,117,101,32,96,86,97,108,117,101,96,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,96,75,101,121,96,32,105,102,32,96,77,97,112,96,32,99,111,110,116,97,105,110,115,32,96,75,101,121,96,46,10,10,84,104,101,32,99,97,108,108,32,102,97,105,108,115,32,119,105,116,104,32,97,32,96,123,98,97,100,109,97,112,44,77,97,112,125,96,32,101,120,99,101,112,116,105,111,110,32,105,102,32,96,77,97,112,96,32,105,115,32,110,111,116,32,97,32,109,97,112,44,32,111,114,32,119,105,116,104,32,97,10,96,123,98,97,100,107,101,121,44,75,101,121,125,96,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,96,75,101,121,96,46,10,10,95,69,120,97,109,112,108,101,58,95,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{4077,2},spec,{{map_get,2},[{type,{4077,14},bounded_fun,[{type,{4077,14},'fun',[{type,{4077,14},product,[{var,{4077,15},'Key'},{var,{4077,20},'Map'}]},{var,{4077,28},'Value'}]},[{type,{4078,7},constraint,[{atom,{4078,7},is_subtype},[{var,{4078,7},'Map'},{type,{4078,14},map,any}]]},{type,{4079,7},constraint,[{atom,{4079,7},is_subtype},[{var,{4079,7},'Key'},{type,{4079,14},any,[]}]]},{type,{4080,7},constraint,[{atom,{4080,7},is_subtype},[{var,{4080,7},'Value'},{type,{4080,16},any,[]}]]}]]}]}}],since => <<79,84,80,32,50,49,46,48>>}},{{function,map_size,1},{4042,2},[<<109,97,112,95,115,105,122,101,40,77,97,112,41>>],#{<<101,110>> => <<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,96,77,97,112,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{4054,2},spec,{{map_size,1},[{type,{4054,15},bounded_fun,[{type,{4054,15},'fun',[{type,{4054,15},product,[{var,{4054,16},'Map'}]},{type,{4054,24},non_neg_integer,[]}]},[{type,{4055,7},constraint,[{atom,{4055,7},is_subtype},[{var,{4055,7},'Map'},{type,{4055,14},map,any}]]}]]}]}}],since => <<79,84,80,32,49,55,46,48>>}},{{function,make_ref,0},{4026,2},[<<109,97,107,101,95,114,101,102,40,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,97,32,91,117,110,105,113,117,101,32,114,101,102,101,114,101,110,99,101,93,40,96,101,58,115,121,115,116,101,109,58,115,121,115,116,101,109,95,108,105,109,105,116,115,46,109,100,35,117,110,105,113,117,101,95,114,101,102,101,114,101,110,99,101,115,96,41,46,32,84,104,101,10,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,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,66,101,102,111,114,101,32,79,84,80,32,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,10,62,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,10,62,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>>},#{group => terms,specification => [{attribute,{4037,2},spec,{{make_ref,0},[{type,{4037,15},'fun',[{type,{4037,15},product,[]},{type,{4037,21},reference,[]}]}]}}]}},{{function,localtime,0},{4004,2},[<<108,111,99,97,108,116,105,109,101,40,41>>],#{<<101,110>> => <<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,10,96,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,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,10,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,10,91,79,83,32,83,121,115,116,101,109,32,84,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,111,115,45,115,121,115,116,101,109,45,116,105,109,101,41,46>>},#{group => time,specification => [{attribute,{4020,2},spec,{{localtime,0},[{type,{4020,16},bounded_fun,[{type,{4020,16},'fun',[{type,{4020,16},product,[]},{var,{4020,22},'DateTime'}]},[{type,{4021,7},constraint,[{atom,{4021,7},is_subtype},[{var,{4021,7},'DateTime'},{remote_type,{4021,19},[{atom,{4021,19},calendar},{atom,{4021,28},datetime},[]]}]]}]]}]}}]}},{{function,loaded,0},{3991,2},[<<108,111,97,100,101,100,40,41>>],#{<<101,110>> => <<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,10,112,114,101,108,111,97,100,101,100,32,109,111,100,117,108,101,115,46,10,10,83,101,101,32,97,108,115,111,32,96,109,58,99,111,100,101,96,46>>},#{group => code,specification => [{attribute,{3998,2},spec,{{loaded,0},[{type,{3998,13},bounded_fun,[{type,{3998,13},'fun',[{type,{3998,13},product,[]},{type,{3998,19},list,[{var,{3998,20},'Module'}]}]},[{type,{3999,7},constraint,[{atom,{3999,7},is_subtype},[{var,{3999,7},'Module'},{type,{3999,17},module,[]}]]}]]}]}}]}},{{function,list_to_tuple,1},{3974,2},[<<108,105,115,116,95,116,111,95,116,117,112,108,101,40,76,105,115,116,41>>],#{<<101,110>> => <<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,96,76,105,115,116,96,44,32,102,111,114,32,101,120,97,109,112,108,101,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,96,76,105,115,116,96,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>>},#{group => terms,specification => [{attribute,{3985,2},spec,{{list_to_tuple,1},[{type,{3985,20},bounded_fun,[{type,{3985,20},'fun',[{type,{3985,20},product,[{var,{3985,21},'List'}]},{type,{3985,30},tuple,any}]},[{type,{3986,7},constraint,[{atom,{3986,7},is_subtype},[{var,{3986,7},'List'},{type,{3986,15},list,[{type,{3986,16},term,[]}]}]]}]]}]}}]}},{{function,list_to_ref,1},{3949,2},[<<108,105,115,116,95,116,111,95,114,101,102,40,83,116,114,105,110,103,41>>],#{<<101,110>> => <<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,96,83,116,114,105,110,103,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,83,116,114,105,110,103,96,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,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,62,32,112,114,111,103,114,97,109,115,46>>},#{group => terms,specification => [{attribute,{3968,2},spec,{{list_to_ref,1},[{type,{3968,18},bounded_fun,[{type,{3968,18},'fun',[{type,{3968,18},product,[{var,{3968,19},'String'}]},{type,{3968,30},reference,[]}]},[{type,{3969,7},constraint,[{atom,{3969,7},is_subtype},[{var,{3969,7},'String'},{type,{3969,17},string,[]}]]}]]}]}}],since => <<79,84,80,32,50,48,46,48>>}},{{function,list_to_port,1},{3923,2},[<<108,105,115,116,95,116,111,95,112,111,114,116,40,83,116,114,105,110,103,41>>],#{<<101,110>> => <<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,96,83,116,114,105,110,103,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,83,116,114,105,110,103,96,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,10,105,100,101,110,116,105,102,105,101,114,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,62,32,112,114,111,103,114,97,109,115,46>>},#{group => terms,specification => [{attribute,{3943,2},spec,{{list_to_port,1},[{type,{3943,19},bounded_fun,[{type,{3943,19},'fun',[{type,{3943,19},product,[{var,{3943,20},'String'}]},{type,{3943,31},port,[]}]},[{type,{3944,7},constraint,[{atom,{3944,7},is_subtype},[{var,{3944,7},'String'},{type,{3944,17},string,[]}]]}]]}]}}],since => <<79,84,80,32,50,48,46,48>>}},{{function,list_to_pid,1},{3898,2},[<<108,105,115,116,95,116,111,95,112,105,100,40,83,116,114,105,110,103,41>>],#{<<101,110>> => <<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,96,83,116,114,105,110,103,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,83,116,114,105,110,103,96,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,10,105,100,101,110,116,105,102,105,101,114,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,62,32,112,114,111,103,114,97,109,115,46>>},#{group => terms,specification => [{attribute,{3917,2},spec,{{list_to_pid,1},[{type,{3917,18},bounded_fun,[{type,{3917,18},'fun',[{type,{3917,18},product,[{var,{3917,19},'String'}]},{type,{3917,30},pid,[]}]},[{type,{3918,7},constraint,[{atom,{3918,7},is_subtype},[{var,{3918,7},'String'},{type,{3918,17},string,[]}]]}]]}]}}]}},{{function,list_to_integer,2},{3837,2},[<<108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,83,116,114,105,110,103,44,32,66,97,115,101,41>>],#{<<101,110>> => <<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,96,66,97,115,101,96,32,105,115,32,96,83,116,114,105,110,103,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,70,111,114,32,101,120,97,109,112,108,101,44,32,119,104,101,110,32,96,66,97,115,101,96,32,105,115,32,49,54,44,32,96,83,116,114,105,110,103,96,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,10,96,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,96,46,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,83,116,114,105,110,103,96,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>>},#{group => terms,specification => [{attribute,{3873,2},spec,{{list_to_integer,2},[{type,{3873,22},bounded_fun,[{type,{3873,22},'fun',[{type,{3873,22},product,[{var,{3873,23},'String'},{var,{3873,31},'Base'}]},{type,{3873,40},integer,[]}]},[{type,{3874,7},constraint,[{atom,{3874,7},is_subtype},[{var,{3874,7},'String'},{type,{3874,17},string,[]}]]},{type,{3875,7},constraint,[{atom,{3875,7},is_subtype},[{var,{3875,7},'Base'},{type,{3875,15},range,[{integer,{3875,15},2},{integer,{3875,18},36}]}]]}]]}]}}]}},{{function,list_to_integer,1},{3785,2},[<<108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,83,116,114,105,110,103,41>>],#{<<101,110>> => <<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,96,83,116,114,105,110,103,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,96,83,116,114,105,110,103,96,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,10,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,96,43,96,34,32,111,114,32,34,96,45,96,34,32,99,104,97,114,97,99,116,101,114,32,40,116,104,97,116,32,105,115,44,32,96,83,116,114,105,110,103,96,32,109,117,115,116,10,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,96,34,94,91,43,45,93,63,91,48,45,57,93,43,36,34,96,41,46,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,83,116,114,105,110,103,96,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>>},#{group => terms,specification => [{attribute,{3812,2},spec,{{list_to_integer,1},[{type,{3812,22},bounded_fun,[{type,{3812,22},'fun',[{type,{3812,22},product,[{var,{3812,23},'String'}]},{type,{3812,34},integer,[]}]},[{type,{3813,7},constraint,[{atom,{3813,7},is_subtype},[{var,{3813,7},'String'},{type,{3813,17},string,[]}]]}]]}]}}]}},{{function,list_to_float,1},{3762,2},[<<108,105,115,116,95,116,111,95,102,108,111,97,116,40,83,116,114,105,110,103,41>>],#{<<101,110>> => <<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,96,83,116,114,105,110,103,96,46,32,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,10,91,69,114,108,97,110,103,32,102,108,111,97,116,32,108,105,116,101,114,97,108,115,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,96,41,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,10,97,114,101,32,110,111,116,32,112,101,114,109,105,116,116,101,100,46,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,83,116,114,105,110,103,96,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>>},#{group => terms,specification => [{attribute,{3779,2},spec,{{list_to_float,1},[{type,{3779,20},bounded_fun,[{type,{3779,20},'fun',[{type,{3779,20},product,[{var,{3779,21},'String'}]},{type,{3779,32},float,[]}]},[{type,{3780,7},constraint,[{atom,{3780,7},is_subtype},[{var,{3780,7},'String'},{type,{3780,17},string,[]}]]}]]}]}}]}},{{function,list_to_existing_atom,1},{3738,2},[<<108,105,115,116,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,40,83,116,114,105,110,103,41>>],#{<<101,110>> => <<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,96,83,116,114,105,110,103,96,44,32,98,117,116,32,111,110,108,121,32,105,102,32,116,104,101,114,101,10,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,10,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,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,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,10,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32,96,83,116,114,105,110,103,96,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,114,101,119,114,105,116,101,32,91,96,97,116,111,109,95,116,111,95,108,105,115,116,40,115,111,109,101,95,97,116,111,109,41,96,93,40,96,97,116,111,109,95,116,111,95,108,105,115,116,47,49,96,41,32,116,111,32,96,34,115,111,109,101,95,97,116,111,109,34,96,46,32,73,102,10,62,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,96,115,111,109,101,95,97,116,111,109,96,32,105,110,32,116,104,101,32,99,111,110,116,97,105,110,105,110,103,10,62,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,10,62,32,115,117,98,115,101,113,117,101,110,116,32,99,97,108,108,32,116,111,10,62,32,91,96,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,96,93,40,96,108,105,115,116,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,49,96,41,32,119,105,108,108,32,102,97,105,108,46>>},#{group => terms,specification => [{attribute,{3756,2},spec,{{list_to_existing_atom,1},[{type,{3756,28},bounded_fun,[{type,{3756,28},'fun',[{type,{3756,28},product,[{var,{3756,29},'String'}]},{type,{3756,40},atom,[]}]},[{type,{3757,7},constraint,[{atom,{3757,7},is_subtype},[{var,{3757,7},'String'},{type,{3757,17},string,[]}]]}]]}]}}]}},{{function,list_to_bitstring,1},{3713,2},[<<108,105,115,116,95,116,111,95,98,105,116,115,116,114,105,110,103,40,66,105,116,115,116,114,105,110,103,76,105,115,116,41>>],#{<<101,110>> => <<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,10,96,66,105,116,115,116,114,105,110,103,76,105,115,116,96,46,32,40,84,104,101,32,108,97,115,116,32,116,97,105,108,32,105,110,32,96,66,105,116,115,116,114,105,110,103,76,105,115,116,96,32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,98,101,32,97,10,98,105,116,115,116,114,105,110,103,46,41,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{3732,2},spec,{{list_to_bitstring,1},[{type,{3732,24},bounded_fun,[{type,{3732,24},'fun',[{type,{3732,24},product,[{var,{3732,25},'BitstringList'}]},{type,{3732,43},bitstring,[]}]},[{type,{3733,7},constraint,[{atom,{3733,7},is_subtype},[{var,{3733,7},'BitstringList'},{user_type,{3733,24},bitstring_list,[]}]]}]]}]}}]}},{{function,list_to_binary,1},{3690,2},[<<108,105,115,116,95,116,111,95,98,105,110,97,114,121,40,73,111,76,105,115,116,41>>],#{<<101,110>> => <<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,96,73,111,76,105,115,116,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{3707,2},spec,{{list_to_binary,1},[{type,{3707,21},bounded_fun,[{type,{3707,21},'fun',[{type,{3707,21},product,[{var,{3707,22},'IoList'}]},{type,{3707,33},binary,[]}]},[{type,{3708,7},constraint,[{atom,{3708,7},is_subtype},[{var,{3708,7},'IoList'},{type,{3708,17},iolist,[]}]]}]]}]}}]}},{{function,list_to_atom,1},{3654,2},[<<108,105,115,116,95,116,111,95,97,116,111,109,40,83,116,114,105,110,103,41>>],#{<<101,110>> => <<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,96,83,116,114,105,110,103,96,46,10,10,65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,50,48,44,32,96,83,116,114,105,110,103,96,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,10,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,10,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,10,62,32,91,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,83,121,115,116,101,109,32,76,105,109,105,116,115,41,93,40,96,101,58,115,121,115,116,101,109,58,115,121,115,116,101,109,95,108,105,109,105,116,115,46,109,100,96,41,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,84,104,101,114,101,32,105,115,32,97,32,91,99,111,110,102,105,103,117,114,97,98,108,101,32,108,105,109,105,116,93,40,96,101,58,115,121,115,116,101,109,58,115,121,115,116,101,109,95,108,105,109,105,116,115,46,109,100,35,97,116,111,109,115,96,41,10,62,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,10,62,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,10,62,32,96,108,105,115,116,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,49,96,32,105,115,32,97,32,98,101,116,116,101,114,32,111,112,116,105,111,110,32,116,104,97,110,10,62,32,91,96,108,105,115,116,95,116,111,95,97,116,111,109,47,49,96,93,40,96,108,105,115,116,95,116,111,95,97,116,111,109,47,49,96,41,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,10,62,32,91,69,102,102,105,99,105,101,110,99,121,32,71,117,105,100,101,32,40,115,101,99,116,105,111,110,32,83,121,115,116,101,109,32,76,105,109,105,116,115,41,93,40,96,101,58,115,121,115,116,101,109,58,115,121,115,116,101,109,95,108,105,109,105,116,115,46,109,100,96,41,46,10,10,69,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{3684,2},spec,{{list_to_atom,1},[{type,{3684,19},bounded_fun,[{type,{3684,19},'fun',[{type,{3684,19},product,[{var,{3684,20},'String'}]},{type,{3684,31},atom,[]}]},[{type,{3685,7},constraint,[{atom,{3685,7},is_subtype},[{var,{3685,7},'String'},{type,{3685,17},string,[]}]]}]]}]}}]}},{{function,link,1},{3594,2},[<<108,105,110,107,40,80,105,100,79,114,80,111,114,116,41>>],#{<<101,110>> => <<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,10,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,80,105,100,79,114,80,111,114,116,96,46,10,10,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,10,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,10,10,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,10,91,115,101,110,100,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,115,101,110,100,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115,96,41,32,116,111,10,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,10,91,101,120,105,116,32,114,101,97,115,111,110,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,108,105,110,107,95,101,120,105,116,95,115,105,103,110,97,108,95,114,101,97,115,111,110,96,41,32,111,102,32,116,104,101,10,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,10,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,96,110,111,112,114,111,99,96,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,10,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,10,40,96,110,111,99,111,110,110,101,99,116,105,111,110,96,32,101,120,105,116,32,114,101,97,115,111,110,41,46,10,10,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,96,117,110,108,105,110,107,47,49,96,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,10,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,95,80,114,111,99,101,115,115,101,115,95,32,99,104,97,112,116,101,114,32,105,110,32,116,104,101,32,95,69,114,108,97,110,103,10,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,95,58,10,10,45,32,91,76,105,110,107,115,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,108,105,110,107,115,96,41,10,45,32,91,83,101,110,100,105,110,103,32,69,120,105,116,32,83,105,103,110,97,108,115,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,115,101,110,100,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115,96,41,10,45,32,91,82,101,99,101,105,118,105,110,103,32,69,120,105,116,32,83,105,103,110,97,108,115,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,114,101,99,101,105,118,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115,96,41,10,10,70,111,114,32,104,105,115,116,111,114,105,99,97,108,32,114,101,97,115,111,110,115,44,32,91,96,108,105,110,107,47,49,96,93,40,96,108,105,110,107,47,49,96,41,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,10,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,10,100,111,101,115,32,110,111,116,32,91,116,114,97,112,32,101,120,105,116,115,93,40,35,112,114,111,99,101,115,115,95,102,108,97,103,95,116,114,97,112,95,101,120,105,116,41,46,32,73,102,32,116,104,101,32,97,98,111,118,101,32,105,115,32,116,114,117,101,10,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,91,96,108,105,110,107,47,49,96,93,40,96,108,105,110,107,47,49,96,41,32,119,105,108,108,32,114,97,105,115,101,32,97,32,96,110,111,112,114,111,99,96,32,101,114,114,111,114,10,95,101,120,99,101,112,116,105,111,110,95,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,10,91,96,108,105,110,107,47,49,96,93,40,96,108,105,110,107,47,49,96,41,32,114,101,116,117,114,110,101,100,32,96,116,114,117,101,96,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,10,115,105,103,110,97,108,32,119,105,116,104,32,96,110,111,112,114,111,99,96,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,10,96,110,111,112,114,111,99,96,32,91,101,120,99,101,112,116,105,111,110,93,40,96,101,58,115,121,115,116,101,109,58,101,114,114,111,114,115,46,109,100,35,101,120,99,101,112,116,105,111,110,115,96,41,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,10,97,110,32,91,101,120,105,116,32,115,105,103,110,97,108,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,115,101,110,100,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115,96,41,32,119,105,116,104,32,101,120,105,116,10,114,101,97,115,111,110,32,96,110,111,112,114,111,99,96,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,10,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,10,10,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,10,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,10,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,91,108,105,110,107,32,112,114,111,116,111,99,111,108,93,40,101,114,108,95,100,105,115,116,95,112,114,111,116,111,99,111,108,46,109,100,35,108,105,110,107,95,112,114,111,116,111,99,111,108,41,10,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,95,68,105,115,116,114,105,98,117,116,105,111,110,32,80,114,111,116,111,99,111,108,95,32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32,95,69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101,95,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,91,95,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,95,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,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,96,41,10,62,32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32,95,80,114,111,99,101,115,115,101,115,95,32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32,95,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,95,46,10,10,70,97,105,108,117,114,101,58,10,10,45,32,96,98,97,100,97,114,103,96,32,105,102,32,96,80,105,100,79,114,80,111,114,116,96,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,10,45,32,96,110,111,112,114,111,99,96,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,10,32,32,100,101,115,99,114,105,98,101,100,32,97,98,111,118,101,46>>},#{group => processes,specification => [{attribute,{3648,2},spec,{{link,1},[{type,{3648,11},bounded_fun,[{type,{3648,11},'fun',[{type,{3648,11},product,[{var,{3648,12},'PidOrPort'}]},{atom,{3648,26},true}]},[{type,{3649,7},constraint,[{atom,{3649,7},is_subtype},[{var,{3649,7},'PidOrPort'},{type,{3649,20},union,[{type,{3649,20},pid,[]},{type,{3649,28},port,[]}]}]]}]]}]}}]}},{{function,length,1},{3577,2},[<<108,101,110,103,116,104,40,76,105,115,116,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32,96,76,105,115,116,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{3588,2},spec,{{length,1},[{type,{3588,13},bounded_fun,[{type,{3588,13},'fun',[{type,{3588,13},product,[{var,{3588,14},'List'}]},{type,{3588,23},non_neg_integer,[]}]},[{type,{3589,7},constraint,[{atom,{3589,7},is_subtype},[{var,{3589,7},'List'},{type,{3589,15},list,[{type,{3589,16},term,[]}]}]]}]]}]}}]}},{{function,is_process_alive,1},{3542,2},[<<105,115,95,112,114,111,99,101,115,115,95,97,108,105,118,101,40,80,105,100,41>>],#{<<101,110>> => <<96,80,105,100,96,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,10,10,82,101,116,117,114,110,115,32,96,116,114,117,101,96,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,10,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,96,102,97,108,115,101,96,46,10,10,73,102,32,112,114,111,99,101,115,115,32,96,80,49,96,32,99,97,108,108,115,32,91,96,105,115,95,112,114,111,99,101,115,115,95,97,108,105,118,101,40,80,50,80,105,100,41,96,93,40,96,105,115,95,112,114,111,99,101,115,115,95,97,108,105,118,101,47,49,96,41,32,105,116,32,105,115,10,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,96,80,49,96,32,116,111,32,96,80,50,96,32,40,96,80,50,96,32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,119,105,116,104,10,105,100,101,110,116,105,102,105,101,114,32,96,80,50,80,105,100,96,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,96,80,50,96,32,98,101,102,111,114,101,32,116,104,101,10,97,108,105,118,101,110,101,115,115,32,111,102,32,96,80,50,96,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,10,91,96,105,115,95,112,114,111,99,101,115,115,95,97,108,105,118,101,47,49,96,93,40,96,105,115,95,112,114,111,99,101,115,115,95,97,108,105,118,101,47,49,96,41,32,116,111,32,108,101,116,32,97,32,112,114,111,99,101,115,115,32,96,80,49,96,32,119,97,105,116,32,117,110,116,105,108,32,97,10,112,114,111,99,101,115,115,32,96,80,50,96,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,96,107,105,108,108,96,32,102,114,111,109,32,80,49,44,32,105,115,10,107,105,108,108,101,100,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,91,115,105,103,110,97,108,115,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,115,105,103,110,97,108,115,96,41,10,97,110,100,32,91,101,114,108,97,110,103,58,101,120,105,116,47,50,93,40,96,101,120,105,116,47,50,96,41,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,10,115,105,103,110,97,108,115,46>>},#{group => processes,specification => [{attribute,{3570,2},spec,{{is_process_alive,1},[{type,{3570,23},bounded_fun,[{type,{3570,23},'fun',[{type,{3570,23},product,[{var,{3570,24},'Pid'}]},{type,{3570,32},boolean,[]}]},[{type,{3571,7},constraint,[{atom,{3571,7},is_subtype},[{var,{3571,7},'Pid'},{type,{3571,14},pid,[]}]]}]]}]}}]}},{{function,is_map_key,2},{3516,2},[<<105,115,95,109,97,112,95,107,101,121,40,75,101,121,44,32,77,97,112,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,109,97,112,32,96,77,97,112,96,32,99,111,110,116,97,105,110,115,32,96,75,101,121,96,32,97,110,100,32,114,101,116,117,114,110,115,32,96,102,97,108,115,101,96,32,105,102,32,105,116,32,100,111,101,115,32,110,111,116,10,99,111,110,116,97,105,110,32,116,104,101,32,96,75,101,121,96,46,10,10,84,104,101,32,99,97,108,108,32,102,97,105,108,115,32,119,105,116,104,32,97,32,96,123,98,97,100,109,97,112,44,77,97,112,125,96,32,101,120,99,101,112,116,105,111,110,32,105,102,32,96,77,97,112,96,32,105,115,32,110,111,116,32,97,32,109,97,112,46,10,10,95,69,120,97,109,112,108,101,58,95,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{3535,2},spec,{{is_map_key,2},[{type,{3535,17},bounded_fun,[{type,{3535,17},'fun',[{type,{3535,17},product,[{var,{3535,18},'Key'},{var,{3535,23},'Map'}]},{type,{3535,31},boolean,[]}]},[{type,{3536,5},constraint,[{atom,{3536,5},is_subtype},[{var,{3536,5},'Key'},{type,{3536,12},term,[]}]]},{type,{3537,5},constraint,[{atom,{3537,5},is_subtype},[{var,{3537,5},'Map'},{type,{3537,12},map,any}]]}]]}]}}],since => <<79,84,80,32,50,49,46,48>>}},{{function,is_builtin,3},{3501,2},[<<105,115,95,98,117,105,108,116,105,110,40,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,41>>],#{<<101,110>> => <<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,10,10,82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,47,65,114,105,116,121,96,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,10,96,102,97,108,115,101,96,46>>},#{group => code,specification => [{attribute,{3508,2},spec,{{is_builtin,3},[{type,{3508,17},bounded_fun,[{type,{3508,17},'fun',[{type,{3508,17},product,[{var,{3508,18},'Module'},{var,{3508,26},'Function'},{var,{3508,36},'Arity'}]},{type,{3508,46},boolean,[]}]},[{type,{3509,7},constraint,[{atom,{3509,7},is_subtype},[{var,{3509,7},'Module'},{type,{3509,17},module,[]}]]},{type,{3510,7},constraint,[{atom,{3510,7},is_subtype},[{var,{3510,7},'Function'},{type,{3510,19},atom,[]}]]},{type,{3511,7},constraint,[{atom,{3511,7},is_subtype},[{var,{3511,7},'Arity'},{type,{3511,16},arity,[]}]]}]]}]}}]}},{{function,is_alive,0},{3485,2},[<<105,115,95,97,108,105,118,101,40,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,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,10,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,96,102,97,108,115,101,96,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,10,10,49,46,32,91,96,34,101,114,108,32,45,110,97,109,101,32,76,79,78,71,78,65,77,69,34,96,93,40,101,114,108,95,99,109,100,46,109,100,35,110,97,109,101,41,32,111,114,44,10,49,46,32,91,96,34,101,114,108,32,45,115,110,97,109,101,32,83,72,79,82,84,78,65,77,69,34,96,93,40,101,114,108,95,99,109,100,46,109,100,35,115,110,97,109,101,41,46,10,10,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,10,96,110,101,116,95,107,101,114,110,101,108,58,115,116,97,114,116,47,50,96,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,96,110,101,116,95,107,101,114,110,101,108,58,115,116,111,112,47,48,96,46>>},#{group => distribution,specification => [{attribute,{3496,2},spec,{{is_alive,0},[{type,{3496,15},'fun',[{type,{3496,15},product,[]},{type,{3496,21},boolean,[]}]}]}}]}},{{function,iolist_to_iovec,1},{3446,2},[<<105,111,108,105,115,116,95,116,111,95,105,111,118,101,99,40,73,111,76,105,115,116,79,114,66,105,110,97,114,121,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,97,110,32,91,105,111,118,101,99,93,40,96,116,58,105,111,118,101,99,47,48,96,41,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,10,96,73,111,76,105,115,116,79,114,66,105,110,97,114,121,96,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,10,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,10,102,117,110,99,116,105,111,110,115,32,115,117,99,104,32,97,115,32,91,96,101,110,105,102,95,105,110,115,112,101,99,116,95,105,111,118,101,99,96,93,40,101,114,108,95,110,105,102,46,109,100,35,101,110,105,102,95,105,110,115,112,101,99,116,95,105,111,118,101,99,41,32,111,114,32,100,111,10,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,10,96,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49,96,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,10,91,111,102,102,45,104,101,97,112,32,98,105,110,97,114,105,101,115,93,40,96,101,58,115,121,115,116,101,109,58,98,105,110,97,114,121,104,97,110,100,108,105,110,103,46,109,100,35,114,101,102,99,95,98,105,110,97,114,121,96,41,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{3479,2},spec,{{iolist_to_iovec,1},[{type,{3479,22},bounded_fun,[{type,{3479,22},'fun',[{type,{3479,22},product,[{var,{3479,23},'IoListOrBinary'}]},{user_type,{3479,42},iovec,[]}]},[{type,{3480,7},constraint,[{atom,{3480,7},is_subtype},[{var,{3480,7},'IoListOrBinary'},{type,{3480,25},union,[{type,{3480,25},iolist,[]},{type,{3480,36},binary,[]}]}]]}]]}]}}],since => <<79,84,80,32,50,48,46,49>>}},{{function,iolist_to_binary,1},{3422,2},[<<105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,40,73,111,76,105,115,116,79,114,66,105,110,97,114,121,41>>],#{<<101,110>> => <<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,10,96,73,111,76,105,115,116,79,114,66,105,110,97,114,121,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{3440,2},spec,{{iolist_to_binary,1},[{type,{3440,23},bounded_fun,[{type,{3440,23},'fun',[{type,{3440,23},product,[{var,{3440,24},'IoListOrBinary'}]},{type,{3440,43},binary,[]}]},[{type,{3441,7},constraint,[{atom,{3441,7},is_subtype},[{var,{3441,7},'IoListOrBinary'},{type,{3441,25},union,[{type,{3441,25},iolist,[]},{type,{3441,36},binary,[]}]}]]}]]}]}}]}},{{function,iolist_size,1},{3404,2},[<<105,111,108,105,115,116,95,115,105,122,101,40,73,116,101,109,41>>],#{<<101,110>> => <<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,10,114,101,115,117,108,116,32,111,102,32,91,96,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,40,73,116,101,109,41,96,93,40,96,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49,96,41,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{3416,2},spec,{{iolist_size,1},[{type,{3416,18},bounded_fun,[{type,{3416,18},'fun',[{type,{3416,18},product,[{var,{3416,19},'Item'}]},{type,{3416,28},non_neg_integer,[]}]},[{type,{3417,7},constraint,[{atom,{3417,7},is_subtype},[{var,{3417,7},'Item'},{type,{3417,15},union,[{type,{3417,15},iolist,[]},{type,{3417,26},binary,[]}]}]]}]]}]}}]}},{{function,integer_to_list,1},{3387,2},[<<105,110,116,101,103,101,114,95,116,111,95,108,105,115,116,40,73,110,116,101,103,101,114,41>>],#{<<101,110>> => <<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,96,73,110,116,101,103,101,114,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{3398,2},spec,{{integer_to_list,1},[{type,{3398,22},bounded_fun,[{type,{3398,22},'fun',[{type,{3398,22},product,[{var,{3398,23},'Integer'}]},{type,{3398,35},string,[]}]},[{type,{3399,7},constraint,[{atom,{3399,7},is_subtype},[{var,{3399,7},'Integer'},{type,{3399,18},integer,[]}]]}]]}]}}]}},{{function,integer_to_binary,1},{3369,2},[<<105,110,116,101,103,101,114,95,116,111,95,98,105,110,97,114,121,40,73,110,116,101,103,101,114,41>>],#{<<101,110>> => <<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,96,73,110,116,101,103,101,114,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{3381,2},spec,{{integer_to_binary,1},[{type,{3381,24},bounded_fun,[{type,{3381,24},'fun',[{type,{3381,24},product,[{var,{3381,25},'Integer'}]},{type,{3381,37},binary,[]}]},[{type,{3382,7},constraint,[{atom,{3382,7},is_subtype},[{var,{3382,7},'Integer'},{type,{3382,18},integer,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,insert_element,3},{3346,2},[<<105,110,115,101,114,116,95,101,108,101,109,101,110,116,40,73,110,100,101,120,44,32,84,117,112,108,101,49,44,32,84,101,114,109,41>>],#{<<101,110>> => <<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,96,84,101,114,109,96,32,105,110,115,101,114,116,101,100,32,97,116,32,112,111,115,105,116,105,111,110,32,96,73,110,100,101,120,96,32,105,110,32,116,117,112,108,101,10,96,84,117,112,108,101,49,96,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,96,73,110,100,101,120,96,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,10,104,105,103,104,101,114,32,105,110,32,116,104,101,32,110,101,119,32,116,117,112,108,101,32,96,84,117,112,108,101,50,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{3360,2},spec,{{insert_element,3},[{type,{3360,21},bounded_fun,[{type,{3360,21},'fun',[{type,{3360,21},product,[{var,{3360,22},'Index'},{var,{3360,29},'Tuple1'},{var,{3360,37},'Term'}]},{var,{3360,46},'Tuple2'}]},[{type,{3361,7},constraint,[{atom,{3361,7},is_subtype},[{var,{3361,7},'Index'},{type,{3361,17},pos_integer,[]}]]},{type,{3362,7},constraint,[{atom,{3362,7},is_subtype},[{var,{3362,7},'Tuple1'},{type,{3362,17},tuple,any}]]},{type,{3363,7},constraint,[{atom,{3363,7},is_subtype},[{var,{3363,7},'Tuple2'},{type,{3363,17},tuple,any}]]},{type,{3364,7},constraint,[{atom,{3364,7},is_subtype},[{var,{3364,7},'Term'},{type,{3364,17},term,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,hibernate,3},{3306,2},[<<104,105,98,101,114,110,97,116,101,40,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,103,115,41>>],#{<<101,110>> => <<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,10,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,10,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,10,10,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,10,96,77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,96,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,96,65,114,103,115,96,32,119,105,116,104,32,116,104,101,32,99,97,108,108,32,115,116,97,99,107,10,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,10,96,101,114,108,97,110,103,58,104,105,98,101,114,110,97,116,101,47,51,96,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,10,96,77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,47,65,114,105,116,121,96,32,109,117,115,116,32,98,101,32,101,120,112,111,114,116,101,100,32,40,96,65,114,105,116,121,96,32,61,58,61,10,91,96,108,101,110,103,116,104,40,65,114,103,115,41,96,93,40,96,108,101,110,103,116,104,47,49,96,41,41,46,10,10,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,10,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,10,10,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,96,101,114,108,97,110,103,58,104,105,98,101,114,110,97,116,101,47,51,96,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,10,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,10,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,10,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,10,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,41,46,10,10,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,10,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,10,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,10,10,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,96,99,97,116,99,104,96,32,105,115,10,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,10,112,114,111,99,101,115,115,101,115,32,115,116,97,114,116,101,100,32,117,115,105,110,103,32,96,112,114,111,99,95,108,105,98,96,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,96,103,101,110,95,115,101,114,118,101,114,96,10,112,114,111,99,101,115,115,101,115,41,44,32,97,114,101,32,116,111,32,117,115,101,32,96,112,114,111,99,95,108,105,98,58,104,105,98,101,114,110,97,116,101,47,51,96,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,10,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>>},#{group => processes,specification => [{attribute,{3338,2},spec,{{hibernate,3},[{type,{3338,16},bounded_fun,[{type,{3338,16},'fun',[{type,{3338,16},product,[{var,{3338,17},'Module'},{var,{3338,25},'Function'},{var,{3338,35},'Args'}]},{type,{3338,44},no_return,[]}]},[{type,{3339,7},constraint,[{atom,{3339,7},is_subtype},[{var,{3339,7},'Module'},{type,{3339,17},module,[]}]]},{type,{3340,7},constraint,[{atom,{3340,7},is_subtype},[{var,{3340,7},'Function'},{type,{3340,19},atom,[]}]]},{type,{3341,7},constraint,[{atom,{3341,7},is_subtype},[{var,{3341,7},'Args'},{type,{3341,15},list,[{type,{3341,16},term,[]}]}]]}]]}]}}]}},{{function,has_prepared_code_on_load,1},{3299,2},[<<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,40,80,114,101,112,97,114,101,100,67,111,100,101,41>>],hidden,#{}},{{function,halt,2},{3190,2},[<<104,97,108,116,47,50>>],#{<<101,110>> => <<72,97,108,116,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,104,97,108,116,40,83,116,97,116,117,115,32,58,58,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,44,32,79,112,116,105,111,110,115,32,58,58,32,104,97,108,116,95,111,112,116,105,111,110,115,40,41,41,10,32,32,96,96,96,10,32,32,123,58,32,35,104,97,108,116,95,115,116,97,116,117,115,95,50,32,125,10,10,32,32,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,96,83,116,97,116,117,115,96,46,10,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,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,10,32,32,62,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,10,10,32,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,111,112,116,105,111,110,115,32,97,114,101,32,118,97,108,105,100,58,10,10,32,32,45,32,42,42,96,123,102,108,117,115,104,44,32,69,110,97,98,108,101,70,108,117,115,104,105,110,103,125,96,123,58,32,35,104,97,108,116,95,102,108,117,115,104,32,125,42,42,32,45,32,73,102,32,96,69,110,97,98,108,101,70,108,117,115,104,105,110,103,96,32,101,113,117,97,108,115,10,32,32,32,32,96,116,114,117,101,96,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,10,32,32,32,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,10,10,32,32,32,32,45,32,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,10,32,32,32,32,45,32,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,10,32,32,32,32,45,32,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,10,32,32,32,32,45,32,67,97,108,108,32,97,108,108,32,105,110,115,116,97,108,108,101,100,32,91,78,73,70,32,95,111,110,32,104,97,108,116,95,32,99,97,108,108,98,97,99,107,115,93,40,101,114,108,95,110,105,102,46,109,100,35,111,110,95,104,97,108,116,41,46,10,32,32,32,32,45,32,87,97,105,116,32,102,111,114,32,97,108,108,32,111,110,103,111,105,110,103,10,32,32,32,32,32,32,91,78,73,70,32,99,97,108,108,115,32,119,105,116,104,32,116,104,101,32,95,100,101,108,97,121,32,104,97,108,116,95,32,115,101,116,116,105,110,103,93,40,101,114,108,95,110,105,102,46,109,100,35,100,101,108,97,121,95,104,97,108,116,41,32,101,110,97,98,108,101,100,10,32,32,32,32,32,32,116,111,32,114,101,116,117,114,110,46,10,32,32,32,32,45,32,67,97,108,108,32,97,108,108,32,105,110,115,116,97,108,108,101,100,32,96,97,116,101,120,105,116,96,47,96,111,110,95,101,120,105,116,96,32,99,97,108,108,98,97,99,107,115,46,10,10,32,32,32,32,73,102,32,96,69,110,97,98,108,101,70,108,117,115,104,105,110,103,96,32,101,113,117,97,108,115,32,96,102,97,108,115,101,96,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,10,32,32,32,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,10,10,32,32,32,32,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,32,32,62,10,32,32,32,32,62,32,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,96,97,116,101,120,105,116,96,47,96,111,110,95,101,120,105,116,96,10,32,32,32,32,62,32,99,97,108,108,98,97,99,107,115,32,97,108,115,111,32,119,104,101,110,32,96,102,108,117,115,104,96,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,10,32,32,32,32,62,32,108,111,110,103,101,114,32,116,104,101,32,99,97,115,101,46,10,10,32,32,45,32,42,42,96,123,102,108,117,115,104,95,116,105,109,101,111,117,116,44,32,84,105,109,101,111,117,116,32,58,58,32,48,46,46,50,49,52,55,52,56,51,54,52,55,32,124,32,105,110,102,105,110,105,116,121,125,96,123,58,32,35,104,97,108,116,95,102,108,117,115,104,95,116,105,109,101,111,117,116,32,125,42,42,32,45,10,32,32,32,32,83,101,116,115,32,97,32,108,105,109,105,116,32,111,110,32,116,104,101,32,116,105,109,101,32,97,108,108,111,119,101,100,32,102,111,114,32,91,102,108,117,115,104,105,110,103,93,40,35,104,97,108,116,95,102,108,117,115,104,41,32,112,114,105,111,114,32,116,111,10,32,32,32,32,116,101,114,109,105,110,97,116,105,111,110,32,111,102,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,96,84,105,109,101,111,117,116,96,32,105,115,32,105,110,32,109,105,108,108,105,115,101,99,111,110,100,115,46,32,84,104,101,32,100,101,102,97,117,108,116,10,32,32,32,32,118,97,108,117,101,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,98,121,32,116,104,101,32,116,104,101,32,96,101,114,108,96,32,91,96,43,122,104,102,116,32,60,84,105,109,101,111,117,116,62,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,122,104,102,116,41,10,32,32,32,32,99,111,109,109,97,110,100,32,108,105,110,101,32,102,108,97,103,46,10,10,32,32,32,32,73,102,32,102,108,117,115,104,105,110,103,32,104,97,115,32,98,101,101,110,32,111,110,103,111,105,110,103,32,102,111,114,32,96,84,105,109,101,111,117,116,96,32,109,105,108,108,105,115,101,99,111,110,100,115,44,32,102,108,117,115,104,105,110,103,32,111,112,101,114,97,116,105,111,110,115,10,32,32,32,32,119,105,108,108,32,98,101,32,105,110,116,101,114,114,117,112,116,101,100,32,97,110,100,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,105,109,109,101,100,105,97,116,101,108,121,32,98,101,32,116,101,114,109,105,110,97,116,101,100,10,32,32,32,32,119,105,116,104,32,116,104,101,32,101,120,105,116,32,99,111,100,101,32,96,50,53,53,96,46,32,73,102,32,102,108,117,115,104,105,110,103,32,105,115,32,110,111,116,32,101,110,97,98,108,101,100,44,32,116,104,101,32,116,105,109,101,111,117,116,32,119,105,108,108,32,104,97,118,101,10,32,32,32,32,110,111,32,101,102,102,101,99,116,32,111,110,32,116,104,101,32,115,121,115,116,101,109,46,10,10,32,32,32,32,83,101,101,32,97,108,115,111,32,116,104,101,32,96,101,114,108,96,32,91,96,43,122,104,102,116,32,60,84,105,109,101,111,117,116,62,96,93,40,101,114,108,95,99,109,100,46,109,100,35,43,122,104,102,116,41,32,99,111,109,109,97,110,100,32,108,105,110,101,32,102,108,97,103,46,10,32,32,32,32,78,111,116,101,32,116,104,97,116,32,116,104,101,32,115,104,111,114,116,101,115,116,32,116,105,109,101,111,117,116,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,102,108,97,103,32,97,110,100,32,116,104,101,10,32,32,32,32,96,102,108,117,115,104,95,116,105,109,101,111,117,116,96,32,111,112,116,105,111,110,32,119,105,108,108,32,98,101,32,116,104,101,32,97,99,116,117,97,108,32,116,105,109,101,111,117,116,32,118,97,108,117,101,32,105,110,32,101,102,102,101,99,116,46,10,10,32,32,32,32,83,105,110,99,101,58,32,79,84,80,32,50,55,46,48,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,104,97,108,116,40,65,98,111,114,116,32,58,58,32,97,98,111,114,116,44,32,79,112,116,105,111,110,115,32,58,58,32,104,97,108,116,95,111,112,116,105,111,110,115,40,41,41,10,32,32,96,96,96,10,32,32,123,58,32,35,104,97,108,116,95,97,98,111,114,116,95,50,32,125,10,10,32,32,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,10,32,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,10,32,32,101,120,101,99,117,116,105,110,103,32,105,110,46,10,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,84,104,101,32,91,96,123,102,108,117,115,104,44,32,98,111,111,108,101,97,110,40,41,125,96,93,40,35,104,97,108,116,95,102,108,117,115,104,41,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,10,32,32,62,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,10,10,45,32,96,96,96,101,114,108,97,110,103,10,32,32,104,97,108,116,40,67,114,97,115,104,68,117,109,112,83,108,111,103,97,110,32,58,58,32,115,116,114,105,110,103,40,41,44,32,79,112,116,105,111,110,115,32,58,58,32,104,97,108,116,95,111,112,116,105,111,110,115,40,41,41,10,32,32,96,96,96,10,32,32,123,58,32,35,104,97,108,116,95,99,114,97,115,104,95,100,117,109,112,95,50,32,125,10,10,32,32,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,10,32,32,91,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,93,40,99,114,97,115,104,95,100,117,109,112,46,109,100,41,46,32,84,104,101,32,115,116,114,105,110,103,32,96,67,114,97,115,104,68,117,109,112,83,108,111,103,97,110,96,32,119,105,108,108,32,98,101,32,117,115,101,100,10,32,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,10,32,32,96,67,114,97,115,104,68,117,109,112,83,108,111,103,97,110,96,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,10,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,84,104,101,32,91,96,123,102,108,117,115,104,44,32,98,111,111,108,101,97,110,40,41,125,96,93,40,35,104,97,108,116,95,102,108,117,115,104,41,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,10,32,32,62,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,10,10,32,32,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,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,10,32,32,62,10,32,32,62,32,45,32,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,96,67,114,97,115,104,68,117,109,112,83,108,111,103,97,110,96,32,119,97,115,32,108,111,110,103,101,114,10,32,32,62,32,32,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,10,32,32,62,32,32,32,99,104,97,114,97,99,116,101,114,115,46,10,32,32,62,32,45,32,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,10,32,32,62,32,32,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>>},#{group => system,specification => [{attribute,{3287,2},spec,{{halt,2},[{type,{3287,11},'fun',[{type,{3287,11},product,[{ann_type,{3287,12},[{var,{3287,12},'Status'},{type,{3287,22},non_neg_integer,[]}]},{ann_type,{3287,41},[{var,{3287,41},'Options'},{user_type,{3287,52},halt_options,[]}]}]},{type,{3288,11},no_return,[]}]},{type,{3289,11},'fun',[{type,{3289,11},product,[{ann_type,{3289,12},[{var,{3289,12},'Abort'},{atom,{3289,21},abort}]},{ann_type,{3289,28},[{var,{3289,28},'Options'},{user_type,{3289,39},halt_options,[]}]}]},{type,{3290,11},no_return,[]}]},{type,{3291,11},'fun',[{type,{3291,11},product,[{ann_type,{3291,12},[{var,{3291,12},'CrashDumpSlogan'},{type,{3291,31},string,[]}]},{ann_type,{3291,41},[{var,{3291,41},'Options'},{user_type,{3291,52},halt_options,[]}]}]},{type,{3292,11},no_return,[]}]}]}}],since => <<79,84,80,32,82,49,53,66,48,49>>}},{{function,halt,1},{3156,2},[<<104,97,108,116,40,72,97,108,116,84,121,112,101,41>>],#{<<101,110>> => <<69,113,117,105,118,97,108,101,110,116,32,116,111,32,99,97,108,108,105,110,103,32,91,96,104,97,108,116,40,72,97,108,116,84,121,112,101,44,32,91,93,41,96,93,40,96,104,97,108,116,47,50,96,41,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => system,specification => [{attribute,{3169,2},spec,{{halt,1},[{type,{3169,11},'fun',[{type,{3169,11},product,[{ann_type,{3169,12},[{var,{3169,12},'Status'},{type,{3169,22},non_neg_integer,[]}]}]},{type,{3170,11},no_return,[]}]},{type,{3171,11},'fun',[{type,{3171,11},product,[{ann_type,{3171,12},[{var,{3171,12},'Abort'},{atom,{3171,21},abort}]}]},{type,{3172,11},no_return,[]}]},{type,{3173,11},'fun',[{type,{3173,11},product,[{ann_type,{3173,12},[{var,{3173,12},'CrashDumpSlogan'},{type,{3173,31},string,[]}]}]},{type,{3174,11},no_return,[]}]}]}}]}},{{function,halt,0},{3139,2},[<<104,97,108,116,40,41>>],#{<<101,110>> => <<69,113,117,105,118,97,108,101,110,116,32,116,111,32,99,97,108,108,105,110,103,32,91,96,104,97,108,116,40,48,44,32,91,93,41,96,93,40,96,104,97,108,116,47,50,96,41,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,62,32,104,97,108,116,40,41,46,10,111,115,95,112,114,111,109,112,116,37,10,96,96,96>>},#{group => system,specification => [{attribute,{3150,2},spec,{{halt,0},[{type,{3150,11},'fun',[{type,{3150,11},product,[]},{type,{3150,17},no_return,[]}]}]}}]}},{{function,group_leader,2},{3095,2},[<<103,114,111,117,112,95,108,101,97,100,101,114,40,71,114,111,117,112,76,101,97,100,101,114,44,32,80,105,100,41>>],#{<<101,110>> => <<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,96,80,105,100,96,32,116,111,32,96,71,114,111,117,112,76,101,97,100,101,114,96,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,10,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,10,96,105,110,105,116,96,46,10,10,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,10,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,10,97,112,112,108,105,99,97,116,105,111,110,32,109,97,115,116,101,114,46,10,10,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,10,91,80,114,111,99,101,115,115,101,115,32,67,104,97,112,116,101,114,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,115,105,103,110,97,108,115,96,41,32,105,110,32,116,104,101,32,95,69,114,108,97,110,103,10,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,95,46,10,10,83,101,101,32,97,108,115,111,32,96,103,114,111,117,112,95,108,101,97,100,101,114,47,48,96,32,97,110,100,10,91,79,84,80,32,100,101,115,105,103,110,32,112,114,105,110,99,105,112,108,101,115,93,40,96,101,58,115,121,115,116,101,109,58,97,112,112,108,105,99,97,116,105,111,110,115,46,109,100,35,115,116,111,112,112,105,110,103,96,41,32,114,101,108,97,116,101,100,32,116,111,32,115,116,97,114,116,105,110,103,10,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,91,95,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,95,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,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,96,41,10,62,32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32,95,80,114,111,99,101,115,115,101,115,95,32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32,95,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,95,46>>},#{group => processes,specification => [{attribute,{3119,2},spec,{{group_leader,2},[{type,{3119,19},bounded_fun,[{type,{3119,19},'fun',[{type,{3119,19},product,[{var,{3119,20},'GroupLeader'},{var,{3119,33},'Pid'}]},{atom,{3119,41},true}]},[{type,{3120,7},constraint,[{atom,{3120,7},is_subtype},[{var,{3120,7},'GroupLeader'},{type,{3120,22},pid,[]}]]},{type,{3121,7},constraint,[{atom,{3121,7},is_subtype},[{var,{3121,7},'Pid'},{type,{3121,14},pid,[]}]]}]]}]}}]}},{{function,group_leader,0},{3069,2},[<<103,114,111,117,112,95,108,101,97,100,101,114,40,41>>],#{<<101,110>> => <<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,10,116,104,101,32,102,117,110,99,116,105,111,110,46,10,10,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,95,103,114,111,117,112,10,108,101,97,100,101,114,95,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,10,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,10,10,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,96,105,110,105,116,96,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,10,108,101,97,100,101,114,32,111,102,32,97,108,108,32,112,114,111,99,101,115,115,101,115,46,32,68,117,114,105,110,103,32,116,104,101,32,98,111,111,116,32,111,102,32,97,32,115,121,115,116,101,109,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,102,111,114,10,112,114,111,99,101,115,115,101,115,32,119,105,108,108,32,98,101,32,99,104,97,110,103,101,100,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,110,101,101,100,32,111,102,32,116,104,101,32,115,121,115,116,101,109,46,32,83,111,109,101,32,101,120,97,109,112,108,101,115,10,119,104,101,114,101,32,116,104,105,115,32,105,115,32,100,111,110,101,32,97,114,101,58,10,10,45,32,87,104,101,110,32,97,110,32,97,112,112,108,105,99,97,116,105,111,110,32,105,115,32,115,116,97,114,116,101,100,44,32,116,104,101,32,116,111,112,32,115,117,112,101,114,118,105,115,111,114,32,111,102,32,116,104,97,116,32,97,112,112,108,105,99,97,116,105,111,110,32,119,105,108,108,10,32,32,104,97,118,101,32,105,116,115,32,103,114,111,117,112,32,108,101,97,100,101,114,32,115,101,116,32,116,111,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,109,97,115,116,101,114,46,32,83,101,101,32,96,97,112,112,108,105,99,97,116,105,111,110,58,115,116,97,114,116,47,50,96,10,32,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46,10,45,32,87,104,101,110,32,114,117,110,110,105,110,103,32,116,101,115,116,115,44,32,98,111,116,104,32,91,96,99,111,109,109,111,110,95,116,101,115,116,96,93,40,96,101,58,99,111,109,109,111,110,95,116,101,115,116,58,105,110,100,101,120,46,104,116,109,108,96,41,32,97,110,100,10,32,32,96,109,58,101,117,110,105,116,96,32,115,101,116,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,105,110,32,111,114,100,101,114,32,116,111,32,99,97,112,116,117,114,101,32,97,110,121,32,73,47,79,32,102,114,111,109,32,116,104,101,32,116,101,115,116,99,97,115,101,46,10,45,32,84,104,101,32,91,105,110,116,101,114,97,99,116,105,118,101,32,115,104,101,108,108,93,40,96,109,58,115,104,101,108,108,96,41,32,115,101,116,115,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,116,111,32,105,110,116,101,114,99,101,112,116,32,73,47,79,46>>},#{group => processes,specification => [{attribute,{3090,2},spec,{{group_leader,0},[{type,{3090,19},'fun',[{type,{3090,19},product,[]},{type,{3090,25},pid,[]}]}]}}]}},{{function,get_module_info,1},{3061,2},[<<103,101,116,95,109,111,100,117,108,101,95,105,110,102,111,40,77,111,100,117,108,101,41>>],hidden,#{}},{{function,get_keys,1},{3036,2},[<<103,101,116,95,107,101,121,115,40,86,97,108,41>>],#{<<101,110>> => <<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,96,86,97,108,96,32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,10,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,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => processes,specification => [{attribute,{3054,2},spec,{{get_keys,1},[{type,{3054,15},bounded_fun,[{type,{3054,15},'fun',[{type,{3054,15},product,[{var,{3054,16},'Val'}]},{type,{3054,24},list,[{var,{3054,25},'Key'}]}]},[{type,{3055,7},constraint,[{atom,{3055,7},is_subtype},[{var,{3055,7},'Val'},{type,{3055,14},term,[]}]]},{type,{3056,7},constraint,[{atom,{3056,7},is_subtype},[{var,{3056,7},'Key'},{type,{3056,14},term,[]}]]}]]}]}}]}},{{function,get_keys,0},{3014,2},[<<103,101,116,95,107,101,121,115,40,41>>],#{<<101,110>> => <<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,10,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,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => processes,specification => [{attribute,{3030,2},spec,{{get_keys,0},[{type,{3030,15},bounded_fun,[{type,{3030,15},'fun',[{type,{3030,15},product,[]},{type,{3030,21},list,[{var,{3030,22},'Key'}]}]},[{type,{3031,7},constraint,[{atom,{3031,7},is_subtype},[{var,{3031,7},'Key'},{type,{3031,14},term,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,get,1},{2988,2},[<<103,101,116,40,75,101,121,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32,96,86,97,108,96,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,96,75,101,121,96,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,10,96,117,110,100,101,102,105,110,101,100,96,32,105,102,32,96,75,101,121,96,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,10,10,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,10,79,40,96,49,96,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,96,78,96,41,44,32,119,104,101,114,101,32,96,78,96,32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,10,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,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => processes,specification => [{attribute,{3007,2},spec,{{get,1},[{type,{3007,10},bounded_fun,[{type,{3007,10},'fun',[{type,{3007,10},product,[{var,{3007,11},'Key'}]},{type,{3007,19},union,[{var,{3007,19},'Val'},{atom,{3007,25},undefined}]}]},[{type,{3008,7},constraint,[{atom,{3008,7},is_subtype},[{var,{3008,7},'Key'},{type,{3008,14},term,[]}]]},{type,{3009,7},constraint,[{atom,{3009,7},is_subtype},[{var,{3009,7},'Val'},{type,{3009,14},term,[]}]]}]]}]}}]}},{{function,get,0},{2966,2},[<<103,101,116,40,41>>],#{<<101,110>> => <<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,96,123,75,101,121,44,32,86,97,108,125,96,32,116,117,112,108,101,115,46,32,84,104,101,32,105,116,101,109,115,32,105,110,10,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,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => processes,specification => [{attribute,{2981,2},spec,{{get,0},[{type,{2981,10},bounded_fun,[{type,{2981,10},'fun',[{type,{2981,10},product,[]},{type,{2981,16},list,[{type,{2981,17},tuple,[{var,{2981,18},'Key'},{var,{2981,23},'Val'}]}]}]},[{type,{2982,7},constraint,[{atom,{2982,7},is_subtype},[{var,{2982,7},'Key'},{type,{2982,14},term,[]}]]},{type,{2983,7},constraint,[{atom,{2983,7},is_subtype},[{var,{2983,7},'Val'},{type,{2983,14},term,[]}]]}]]}]}}]}},{{function,garbage_collect_message_area,0},{2960,2},[<<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,40,41>>],hidden,#{}},{{function,garbage_collect,2},{2874,2},[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,40,80,105,100,44,32,79,112,116,105,111,110,76,105,115,116,41>>],#{<<101,110>> => <<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,96,80,105,100,96,46,10,10,96,79,112,116,105,111,110,96,58,10,10,45,32,42,42,96,123,97,115,121,110,99,44,32,82,101,113,117,101,115,116,73,100,125,96,42,42,32,45,32,84,104,101,32,102,117,110,99,116,105,111,110,10,32,32,91,96,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,50,96,93,40,96,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,50,96,41,32,114,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32,96,97,115,121,110,99,96,10,32,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,10,32,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,10,32,32,102,111,114,109,32,96,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,96,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,32,116,121,112,101,46,32,68,101,102,97,117,108,116,32,118,97,108,117,101,32,105,115,32,96,39,109,97,106,111,114,39,96,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,10,32,32,111,112,116,105,111,110,32,96,39,109,105,110,111,114,39,96,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,10,32,32,114,117,110,46,10,10,73,102,32,96,80,105,100,96,32,101,113,117,97,108,115,32,96,115,101,108,102,47,48,96,44,32,97,110,100,32,110,111,32,96,97,115,121,110,99,96,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,10,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,10,96,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,48,96,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,10,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,80,105,100,96,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,96,97,115,121,110,99,96,10,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,96,71,67,82,101,115,117,108,116,96,32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,110,100,32,99,97,110,10,98,101,32,114,101,116,117,114,110,101,100,46,10,10,96,71,67,82,101,115,117,108,116,96,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,10,102,111,108,108,111,119,115,58,10,10,45,32,42,42,96,116,114,117,101,96,42,42,32,45,32,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,96,80,105,100,96,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,10,10,45,32,42,42,96,102,97,108,115,101,96,42,42,32,45,32,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,10,32,32,98,121,32,96,80,105,100,96,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,10,10,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,96,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,48,96,46,10,10,70,97,105,108,117,114,101,115,58,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,80,105,100,96,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,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,79,112,116,105,111,110,76,105,115,116,96,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>>},#{group => processes,specification => [{attribute,{2915,2},spec,{{garbage_collect,2},[{type,{2915,22},bounded_fun,[{type,{2915,22},'fun',[{type,{2915,22},product,[{var,{2915,23},'Pid'},{var,{2915,28},'OptionList'}]},{type,{2915,43},union,[{var,{2915,43},'GCResult'},{atom,{2915,54},async}]}]},[{type,{2916,7},constraint,[{atom,{2916,7},is_subtype},[{var,{2916,7},'Pid'},{type,{2916,14},pid,[]}]]},{type,{2917,7},constraint,[{atom,{2917,7},is_subtype},[{var,{2917,7},'RequestId'},{type,{2917,20},term,[]}]]},{type,{2918,7},constraint,[{atom,{2918,7},is_subtype},[{var,{2918,7},'Option'},{type,{2918,17},union,[{type,{2918,17},tuple,[{atom,{2918,18},async},{var,{2918,25},'RequestId'}]},{type,{2918,38},tuple,[{atom,{2918,39},type},{type,{2918,45},union,[{atom,{2918,45},major},{atom,{2918,55},minor}]}]}]}]]},{type,{2919,7},constraint,[{atom,{2919,7},is_subtype},[{var,{2919,7},'OptionList'},{type,{2919,21},list,[{var,{2919,22},'Option'}]}]]},{type,{2920,7},constraint,[{atom,{2920,7},is_subtype},[{var,{2920,7},'GCResult'},{type,{2920,19},boolean,[]}]]}]]}]}}],since => <<79,84,80,32,49,55,46,48>>}},{{function,garbage_collect,1},{2861,1},[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,40,80,105,100,41>>],none,#{group => processes,equiv => <<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,40,80,105,100,44,32,91,93,41>>}},{{function,garbage_collect,0},{2839,2},[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,40,41>>],#{<<101,110>> => <<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,10,10,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,10,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,10,111,114,32,110,111,116,32,97,116,32,97,108,108,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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>>},#{group => processes,specification => [{attribute,{2851,2},spec,{{garbage_collect,0},[{type,{2851,22},'fun',[{type,{2851,22},product,[]},{atom,{2851,28},true}]}]}}]}},{{function,function_exported,3},{2824,2},[<<102,117,110,99,116,105,111,110,95,101,120,112,111,114,116,101,100,40,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,116,104,101,32,109,111,100,117,108,101,32,96,77,111,100,117,108,101,96,32,105,115,10,91,99,117,114,114,101,110,116,93,40,96,101,58,115,121,115,116,101,109,58,99,111,100,101,95,108,111,97,100,105,110,103,46,109,100,35,99,111,100,101,45,114,101,112,108,97,99,101,109,101,110,116,96,41,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,10,102,117,110,99,116,105,111,110,32,96,70,117,110,99,116,105,111,110,47,65,114,105,116,121,96,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,10,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,96,102,97,108,115,101,96,46>>},#{group => code,specification => [{attribute,{2831,2},spec,{{function_exported,3},[{type,{2831,24},bounded_fun,[{type,{2831,24},'fun',[{type,{2831,24},product,[{var,{2831,25},'Module'},{var,{2831,33},'Function'},{var,{2831,43},'Arity'}]},{type,{2831,53},boolean,[]}]},[{type,{2832,7},constraint,[{atom,{2832,7},is_subtype},[{var,{2832,7},'Module'},{type,{2832,17},module,[]}]]},{type,{2833,7},constraint,[{atom,{2833,7},is_subtype},[{var,{2833,7},'Function'},{type,{2833,19},atom,[]}]]},{type,{2834,7},constraint,[{atom,{2834,7},is_subtype},[{var,{2834,7},'Arity'},{type,{2834,16},arity,[]}]]}]]}]}}]}},{{function,fun_to_list,1},{2740,2},[<<102,117,110,95,116,111,95,108,105,115,116,40,70,117,110,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,83,116,114,105,110,103,96,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,96,70,117,110,96,46,10,10,96,83,116,114,105,110,103,96,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,96,70,117,110,96,32,119,97,115,32,99,114,101,97,116,101,100,32,98,121,32,97,10,91,102,117,110,32,101,120,112,114,101,115,115,105,111,110,93,40,96,101,58,115,121,115,116,101,109,58,101,120,112,114,101,115,115,105,111,110,115,46,109,100,35,102,117,110,45,101,120,112,114,101,115,115,105,111,110,115,96,41,32,111,102,32,116,104,101,32,102,111,114,109,10,96,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,96,58,10,10,96,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,96,10,10,84,104,101,32,102,111,114,109,32,111,102,32,96,83,116,114,105,110,103,96,32,119,104,101,110,32,96,70,117,110,96,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,10,91,102,117,110,32,101,120,112,114,101,115,115,105,111,110,115,93,40,96,101,58,115,121,115,116,101,109,58,101,120,112,114,101,115,115,105,111,110,115,46,109,100,35,102,117,110,45,101,120,112,114,101,115,115,105,111,110,115,96,41,32,100,105,102,102,101,114,115,32,100,101,112,101,110,100,105,110,103,10,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,10,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,10,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,10,10,45,32,42,42,99,111,109,112,105,108,101,100,32,99,111,100,101,42,42,32,45,32,96,34,35,70,117,110,60,77,46,73,46,85,62,34,96,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,10,32,32,110,97,109,101,100,32,96,109,111,100,117,108,101,96,44,32,96,105,110,100,101,120,96,32,97,110,100,32,96,117,110,105,113,96,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,111,102,10,32,32,91,96,101,114,108,97,110,103,58,102,117,110,95,105,110,102,111,40,70,117,110,41,96,93,40,96,102,117,110,95,105,110,102,111,47,49,96,41,46,10,10,45,32,42,42,117,110,99,111,109,112,105,108,101,100,32,99,111,100,101,42,42,32,45,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,105,110,32,117,110,99,111,109,112,105,108,101,100,32,99,111,100,101,10,32,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,10,32,32,91,96,102,117,110,95,116,111,95,108,105,115,116,47,49,96,93,40,96,102,117,110,95,116,111,95,108,105,115,116,47,49,96,41,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,91,96,102,117,110,95,116,111,95,108,105,115,116,47,49,96,93,40,96,102,117,110,95,116,111,95,108,105,115,116,47,49,96,41,32,116,111,32,99,104,101,99,107,32,105,102,32,116,119,111,10,62,32,102,117,110,115,32,97,114,101,32,101,113,117,97,108,32,97,115,32,91,96,102,117,110,95,116,111,95,108,105,115,116,47,49,96,93,40,96,102,117,110,95,116,111,95,108,105,115,116,47,49,96,41,32,100,111,101,115,32,110,111,116,32,116,97,107,101,32,116,104,101,32,102,117,110,39,115,10,62,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,91,96,101,114,108,97,110,103,58,102,117,110,95,105,110,102,111,47,49,96,93,40,96,102,117,110,95,105,110,102,111,47,49,96,41,32,102,111,114,32,104,111,119,32,116,111,10,62,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,10,10,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,84,104,101,32,111,117,116,112,117,116,32,111,102,32,91,96,102,117,110,95,116,111,95,108,105,115,116,47,49,96,93,40,96,102,117,110,95,116,111,95,108,105,115,116,47,49,96,41,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,10,62,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,10,10,69,120,97,109,112,108,101,115,58,10,10,96,96,96,101,114,108,97,110,103,10,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,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,69,120,112,108,97,110,97,116,105,111,110,58,32,96,102,117,110,32,116,101,115,116,58,97,100,100,47,49,96,32,105,115,32,117,112,103,114,97,100,97,98,108,101,32,98,117,116,32,96,116,101,115,116,58,97,100,100,50,40,41,96,32,105,115,32,110,111,116,32,117,112,103,114,97,100,97,98,108,101,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,69,120,112,108,97,110,97,116,105,111,110,58,32,96,116,101,115,116,58,97,100,100,40,49,41,96,32,97,110,100,32,96,116,101,115,116,58,97,100,100,40,52,50,41,96,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,10,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,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,10,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,10,10,96,96,96,101,114,108,97,110,103,10,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,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,10,96,96,96,10,10,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,10,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,10,91,96,102,117,110,95,116,111,95,108,105,115,116,47,49,96,93,40,96,102,117,110,95,116,111,95,108,105,115,116,47,49,96,41,46>>},#{group => terms,specification => [{attribute,{2818,2},spec,{{fun_to_list,1},[{type,{2818,18},bounded_fun,[{type,{2818,18},'fun',[{type,{2818,18},product,[{var,{2818,19},'Fun'}]},{ann_type,{2818,27},[{var,{2818,27},'String'},{type,{2818,37},string,[]}]}]},[{type,{2819,7},constraint,[{atom,{2819,7},is_subtype},[{var,{2819,7},'Fun'},{type,{2819,14},function,[]}]]}]]}]}}]}},{{function,fun_info_mfa,1},{2730,2},[<<102,117,110,95,105,110,102,111,95,109,102,97,40,70,117,110,41>>],hidden,#{}},{{function,fun_info,2},{2708,2},[<<102,117,110,95,105,110,102,111,40,70,117,110,44,32,73,116,101,109,41>>],#{<<101,110>> => <<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,96,70,117,110,96,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32,96,73,116,101,109,96,44,32,105,110,32,116,104,101,32,102,111,114,109,10,96,123,73,116,101,109,44,73,110,102,111,125,96,46,10,10,70,111,114,32,97,110,121,32,102,117,110,44,32,96,73,116,101,109,96,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,96,109,111,100,117,108,101,96,44,32,96,110,97,109,101,96,44,32,96,97,114,105,116,121,96,44,32,96,101,110,118,96,44,32,111,114,10,96,116,121,112,101,96,46,10,10,70,111,114,32,97,32,108,111,99,97,108,32,102,117,110,44,32,96,73,116,101,109,96,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,96,105,110,100,101,120,96,44,32,96,110,101,119,95,105,110,100,101,120,96,44,10,96,110,101,119,95,117,110,105,113,96,44,32,96,117,110,105,113,96,44,32,97,110,100,32,96,112,105,100,96,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,10,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,96,117,110,100,101,102,105,110,101,100,96,46,10,10,83,101,101,32,91,96,101,114,108,97,110,103,58,102,117,110,95,105,110,102,111,47,49,96,93,40,96,102,117,110,95,105,110,102,111,47,49,96,41,46>>},#{group => terms,specification => [{attribute,{2722,2},spec,{{fun_info,2},[{type,{2722,15},bounded_fun,[{type,{2722,15},'fun',[{type,{2722,15},product,[{var,{2722,16},'Fun'},{var,{2722,21},'Item'}]},{type,{2722,30},tuple,[{var,{2722,31},'Item'},{var,{2722,37},'Info'}]}]},[{type,{2723,7},constraint,[{atom,{2723,7},is_subtype},[{var,{2723,7},'Fun'},{type,{2723,14},function,[]}]]},{type,{2724,7},constraint,[{atom,{2724,7},is_subtype},[{var,{2724,7},'Item'},{user_type,{2724,15},fun_info_item,[]}]]},{type,{2725,7},constraint,[{atom,{2725,7},is_subtype},[{var,{2725,7},'Info'},{type,{2725,15},term,[]}]]}]]}]}}]}},{{function,floor,1},{2690,2},[<<102,108,111,111,114,40,78,117,109,98,101,114,41>>],#{<<101,110>> => <<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,96,78,117,109,98,101,114,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,62,32,102,108,111,111,114,40,45,49,48,46,53,41,46,10,45,49,49,10,96,96,96>>},#{group => terms,specification => [{attribute,{2702,2},spec,{{floor,1},[{type,{2702,12},bounded_fun,[{type,{2702,12},'fun',[{type,{2702,12},product,[{var,{2702,13},'Number'}]},{type,{2702,24},integer,[]}]},[{type,{2703,7},constraint,[{atom,{2703,7},is_subtype},[{var,{2703,7},'Number'},{type,{2703,17},number,[]}]]}]]}]}}],since => <<79,84,80,32,50,48,46,48>>}},{{function,float_to_list,2},{2633,2},[<<102,108,111,97,116,95,116,111,95,108,105,115,116,40,70,108,111,97,116,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<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,96,70,108,111,97,116,96,32,117,115,105,110,103,32,102,105,120,101,100,10,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,10,10,65,118,97,105,108,97,98,108,101,32,111,112,116,105,111,110,115,58,10,10,45,32,73,102,32,111,112,116,105,111,110,32,96,100,101,99,105,109,97,108,115,96,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,10,32,32,96,68,101,99,105,109,97,108,115,96,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,10,32,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,96,98,97,100,97,114,103,96,46,10,45,32,73,102,32,111,112,116,105,111,110,32,96,99,111,109,112,97,99,116,96,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,10,32,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,96,100,101,99,105,109,97,108,115,96,46,10,45,32,73,102,32,111,112,116,105,111,110,32,96,115,99,105,101,110,116,105,102,105,99,96,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,10,32,32,110,111,116,97,116,105,111,110,32,119,105,116,104,32,96,68,101,99,105,109,97,108,115,96,32,100,105,103,105,116,115,32,111,102,32,112,114,101,99,105,115,105,111,110,46,10,45,32,73,102,32,111,112,116,105,111,110,32,96,115,104,111,114,116,96,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,10,32,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,10,32,32,96,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,96,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,10,32,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,10,32,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,10,32,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,10,32,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,10,45,32,73,102,32,96,79,112,116,105,111,110,115,96,32,105,115,32,96,91,93,96,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,96,102,108,111,97,116,95,116,111,95,108,105,115,116,47,49,96,46,10,10,69,120,97,109,112,108,101,115,58,10,10,96,96,96,101,114,108,97,110,103,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,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,10,96,96,96,10,10,73,110,32,116,104,101,32,108,97,115,116,32,101,120,97,109,112,108,101,44,32,91,96,102,108,111,97,116,95,116,111,95,108,105,115,116,40,48,46,49,43,48,46,50,41,96,93,40,96,102,108,111,97,116,95,116,111,95,108,105,115,116,47,49,96,41,32,101,118,97,108,117,97,116,101,115,32,116,111,10,96,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,96,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,10,91,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,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,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,96,41,46>>},#{group => terms,specification => [{attribute,{2678,2},spec,{{float_to_list,2},[{type,{2678,20},bounded_fun,[{type,{2678,20},'fun',[{type,{2678,20},product,[{var,{2678,21},'Float'},{var,{2678,28},'Options'}]},{type,{2678,40},string,[]}]},[{type,{2679,7},constraint,[{atom,{2679,7},is_subtype},[{var,{2679,7},'Float'},{type,{2679,16},float,[]}]]},{type,{2680,7},constraint,[{atom,{2680,7},is_subtype},[{var,{2680,7},'Options'},{type,{2680,18},list,[{var,{2680,19},'Option'}]}]]},{type,{2681,7},constraint,[{atom,{2681,7},is_subtype},[{var,{2681,7},'Option'},{type,{2681,18},union,[{type,{2681,18},tuple,[{atom,{2681,19},decimals},{ann_type,{2681,29},[{var,{2681,29},'Decimals'},{type,{2681,41},range,[{integer,{2681,41},0},{integer,{2681,44},253}]}]}]},{type,{2682,18},tuple,[{atom,{2682,19},scientific},{ann_type,{2682,31},[{var,{2682,31},'Decimals'},{type,{2682,43},range,[{integer,{2682,43},0},{integer,{2682,46},249}]}]}]},{atom,{2683,18},compact},{atom,{2684,18},short}]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,float_to_list,1},{2629,1},[<<102,108,111,97,116,95,116,111,95,108,105,115,116,40,70,108,111,97,116,41>>],none,#{group => terms,equiv => <<102,108,111,97,116,95,116,111,95,108,105,115,116,40,70,108,111,97,116,44,32,91,123,115,99,105,101,110,116,105,102,105,99,44,32,50,48,125,93,41>>}},{{function,float_to_binary,2},{2589,2},[<<102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,40,70,108,111,97,116,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<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,96,70,108,111,97,116,96,32,117,115,105,110,103,32,102,105,120,101,100,10,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,10,10,96,79,112,116,105,111,110,115,96,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,96,102,108,111,97,116,95,116,111,95,108,105,115,116,47,50,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,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,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{2614,2},spec,{{float_to_binary,2},[{type,{2614,22},bounded_fun,[{type,{2614,22},'fun',[{type,{2614,22},product,[{var,{2614,23},'Float'},{var,{2614,30},'Options'}]},{type,{2614,42},binary,[]}]},[{type,{2615,7},constraint,[{atom,{2615,7},is_subtype},[{var,{2615,7},'Float'},{type,{2615,16},float,[]}]]},{type,{2616,7},constraint,[{atom,{2616,7},is_subtype},[{var,{2616,7},'Options'},{type,{2616,18},list,[{var,{2616,19},'Option'}]}]]},{type,{2617,7},constraint,[{atom,{2617,7},is_subtype},[{var,{2617,7},'Option'},{type,{2617,18},union,[{type,{2617,18},tuple,[{atom,{2617,19},decimals},{ann_type,{2617,29},[{var,{2617,29},'Decimals'},{type,{2617,41},range,[{integer,{2617,41},0},{integer,{2617,44},253}]}]}]},{type,{2618,18},tuple,[{atom,{2618,19},scientific},{ann_type,{2618,31},[{var,{2618,31},'Decimals'},{type,{2618,43},range,[{integer,{2618,43},0},{integer,{2618,46},249}]}]}]},{atom,{2619,18},compact},{atom,{2620,18},short}]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,float_to_binary,1},{2585,1},[<<102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,40,70,108,111,97,116,41>>],none,#{group => terms,equiv => <<102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,40,70,108,111,97,116,44,32,91,123,115,99,105,101,110,116,105,102,105,99,44,32,50,48,125,93,41>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,float,1},{2555,2},[<<102,108,111,97,116,40,78,117,109,98,101,114,41>>],#{<<101,110>> => <<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,96,78,117,109,98,101,114,96,32,116,111,32,97,32,102,108,111,97,116,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,62,32,102,108,111,97,116,40,53,53,41,46,10,53,53,46,48,10,96,96,96,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,96,105,115,95,102,108,111,97,116,47,49,96,32,105,110,115,116,101,97,100,46,10,62,10,62,32,87,104,101,110,32,91,96,102,108,111,97,116,47,49,96,93,40,96,102,108,111,97,116,47,49,96,41,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,10,62,32,39,96,102,108,111,97,116,40,65,41,32,61,61,32,52,46,48,96,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>>},#{group => terms,specification => [{attribute,{2574,2},spec,{{float,1},[{type,{2574,12},bounded_fun,[{type,{2574,12},'fun',[{type,{2574,12},product,[{var,{2574,13},'Number'}]},{type,{2574,24},float,[]}]},[{type,{2575,7},constraint,[{atom,{2575,7},is_subtype},[{var,{2575,7},'Number'},{type,{2575,17},number,[]}]]}]]}]}}]}},{{function,finish_after_on_load,2},{2546,2},[<<102,105,110,105,115,104,95,97,102,116,101,114,95,111,110,95,108,111,97,100,40,80,49,44,32,80,50,41>>],hidden,#{}},{{function,finish_loading,1},{2536,2},[<<102,105,110,105,115,104,95,108,111,97,100,105,110,103,40,80,114,101,112,97,114,101,100,67,111,100,101,76,105,115,116,41>>],hidden,#{}},{{function,external_size,2},{2507,2},[<<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>>],#{<<101,110>> => <<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,10,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,10,10,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,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,79,112,116,105,111,110,32,96,123,109,105,110,111,114,95,118,101,114,115,105,111,110,44,32,86,101,114,115,105,111,110,125,96,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,10,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,96,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50,96,46>>},#{group => terms,specification => [{attribute,{2525,2},spec,{{external_size,2},[{type,{2525,20},bounded_fun,[{type,{2525,20},'fun',[{type,{2525,20},product,[{var,{2525,21},'Term'},{var,{2525,27},'Options'}]},{type,{2525,39},non_neg_integer,[]}]},[{type,{2526,7},constraint,[{atom,{2526,7},is_subtype},[{var,{2526,7},'Term'},{type,{2526,15},term,[]}]]},{type,{2527,7},constraint,[{atom,{2527,7},is_subtype},[{var,{2527,7},'Options'},{type,{2527,18},list,[{type,{2527,19},union,[{atom,{2527,19},compressed},{type,{2528,10},tuple,[{atom,{2528,11},compressed},{ann_type,{2528,23},[{var,{2528,23},'Level'},{type,{2528,32},range,[{integer,{2528,32},0},{integer,{2528,35},9}]}]}]},{atom,{2529,10},deterministic},{type,{2530,10},tuple,[{atom,{2530,11},minor_version},{ann_type,{2530,26},[{var,{2530,26},'Version'},{type,{2530,37},range,[{integer,{2530,37},0},{integer,{2530,40},2}]}]}]},{atom,{2531,10},local}]}]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66,48,52>>}},{{function,external_size,1},{2480,2},[<<101,120,116,101,114,110,97,108,95,115,105,122,101,40,84,101,114,109,41>>],#{<<101,110>> => <<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,10,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,10,10,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,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{2501,2},spec,{{external_size,1},[{type,{2501,20},bounded_fun,[{type,{2501,20},'fun',[{type,{2501,20},product,[{var,{2501,21},'Term'}]},{type,{2501,30},non_neg_integer,[]}]},[{type,{2502,7},constraint,[{atom,{2502,7},is_subtype},[{var,{2502,7},'Term'},{type,{2502,15},term,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66,48,52>>}},{{function,exit_signal,2},{2472,2},[<<101,120,105,116,95,115,105,103,110,97,108,40,80,105,100,44,32,82,101,97,115,111,110,41>>],hidden,#{}},{{function,exit,2},{2402,2},[<<101,120,105,116,40,80,105,100,44,32,82,101,97,115,111,110,41>>],#{<<101,110>> => <<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,96,82,101,97,115,111,110,96,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,10,98,121,32,96,80,105,100,96,46,10,10,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,96,82,101,97,115,111,110,96,32,105,115,32,97,110,121,32,116,101,114,109,44,32,101,120,99,101,112,116,32,96,110,111,114,109,97,108,96,32,111,114,10,96,107,105,108,108,96,44,32,97,110,100,32,96,80,96,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,96,80,105,100,96,58,10,10,45,32,73,102,32,96,80,96,32,105,115,32,110,111,116,32,91,116,114,97,112,112,105,110,103,32,101,120,105,116,115,93,40,96,112,114,111,99,101,115,115,95,102,108,97,103,47,50,96,41,44,32,96,80,96,32,101,120,105,116,115,32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,10,32,32,96,82,101,97,115,111,110,96,46,10,45,32,73,102,32,96,80,96,32,105,115,32,91,116,114,97,112,112,105,110,103,32,101,120,105,116,115,93,40,96,112,114,111,99,101,115,115,95,102,108,97,103,47,50,96,41,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,10,32,32,105,110,116,111,32,97,32,109,101,115,115,97,103,101,32,96,123,39,69,88,73,84,39,44,32,70,114,111,109,44,32,82,101,97,115,111,110,125,96,44,32,119,104,101,114,101,32,96,70,114,111,109,96,32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,10,32,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,10,32,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,111,102,32,96,80,96,46,10,10,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,96,82,101,97,115,111,110,96,32,105,115,32,116,104,101,32,116,101,114,109,32,96,110,111,114,109,97,108,96,32,97,110,100,32,96,80,105,100,96,32,105,115,32,116,104,101,10,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,112,114,111,99,101,115,115,32,96,80,96,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,10,96,101,114,108,97,110,103,58,101,120,105,116,40,80,105,100,44,32,110,111,114,109,97,108,41,96,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,10,96,110,111,114,109,97,108,96,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,10,10,45,32,73,102,32,96,80,96,32,105,115,32,91,116,114,97,112,112,105,110,103,32,101,120,105,116,115,93,40,96,112,114,111,99,101,115,115,95,102,108,97,103,47,50,96,41,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,10,32,32,105,110,116,111,32,97,32,109,101,115,115,97,103,101,32,96,123,39,69,88,73,84,39,44,32,70,114,111,109,44,32,110,111,114,109,97,108,125,96,44,32,119,104,101,114,101,32,96,70,114,111,109,96,32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,10,32,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,96,80,96,39,115,10,32,32,109,101,115,115,97,103,101,32,113,117,101,117,101,46,10,45,32,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,96,80,96,32,105,115,32,110,111,116,32,116,114,97,112,112,105,110,103,32,101,120,105,116,115,46,10,10,73,102,32,96,82,101,97,115,111,110,96,32,105,115,32,116,104,101,32,97,116,111,109,32,96,107,105,108,108,96,44,32,116,104,97,116,32,105,115,44,32,105,102,32,91,96,101,120,105,116,40,80,105,100,44,32,107,105,108,108,41,96,93,40,96,101,120,105,116,47,50,96,41,32,105,115,10,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,10,96,80,105,100,96,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,96,107,105,108,108,101,100,96,46,32,84,104,101,32,101,120,105,116,32,114,101,97,115,111,110,32,105,115,10,99,104,97,110,103,101,100,32,102,114,111,109,32,96,107,105,108,108,96,32,116,111,32,96,107,105,108,108,101,100,96,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,10,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,91,96,101,120,105,116,40,80,105,100,44,32,107,105,108,108,41,96,93,40,96,101,120,105,116,47,50,96,41,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,84,104,101,32,102,117,110,99,116,105,111,110,115,32,91,96,101,114,108,97,110,103,58,101,120,105,116,47,49,96,93,40,96,101,120,105,116,47,49,96,41,32,97,110,100,32,91,96,101,114,108,97,110,103,58,101,120,105,116,47,50,96,93,40,96,101,120,105,116,47,50,96,41,32,97,114,101,10,62,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,10,62,32,96,101,114,108,97,110,103,58,101,120,105,116,47,49,96,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,10,62,32,112,114,111,99,101,115,115,32,119,104,105,108,101,32,96,101,114,108,97,110,103,58,101,120,105,116,47,50,96,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,10,62,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,96,101,114,108,97,110,103,58,101,120,105,116,47,49,96,32,114,97,105,115,101,115,32,97,110,10,62,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,96,101,114,108,97,110,103,58,101,120,105,116,47,50,96,32,100,111,101,115,32,110,111,116,32,99,97,117,115,101,32,97,110,121,10,62,32,101,120,99,101,112,116,105,111,110,32,116,111,32,98,101,32,114,97,105,115,101,100,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,62,32,112,114,111,99,101,115,115,32,96,80,96,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,96,110,111,114,109,97,108,96,32,116,111,32,105,116,115,101,108,102,44,32,116,104,97,116,32,105,115,10,62,32,96,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,96,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,10,62,10,62,32,45,32,73,102,32,96,80,96,32,105,115,32,91,116,114,97,112,112,105,110,103,32,101,120,105,116,115,93,40,96,112,114,111,99,101,115,115,95,102,108,97,103,47,50,96,41,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,10,62,32,32,32,105,110,116,111,32,97,32,109,101,115,115,97,103,101,32,96,123,39,69,88,73,84,39,44,32,70,114,111,109,44,32,110,111,114,109,97,108,125,96,44,32,119,104,101,114,101,32,96,70,114,111,109,96,32,105,115,32,96,80,96,39,115,32,112,114,111,99,101,115,115,10,62,32,32,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,96,80,96,39,115,32,109,101,115,115,97,103,101,32,113,117,101,117,101,46,10,62,32,45,32,96,80,96,32,101,120,105,116,115,32,119,105,116,104,32,114,101,97,115,111,110,32,96,110,111,114,109,97,108,96,32,105,102,32,96,80,96,32,105,115,32,110,111,116,32,116,114,97,112,112,105,110,103,32,101,120,105,116,115,46,10,62,10,62,32,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,10,62,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,96,110,111,114,109,97,108,96,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,10,62,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,91,95,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,95,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,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,96,41,10,62,32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32,95,80,114,111,99,101,115,115,101,115,95,32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32,95,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,95,46>>},#{group => processes,specification => [{attribute,{2465,2},spec,{{exit,2},[{type,{2465,11},bounded_fun,[{type,{2465,11},'fun',[{type,{2465,11},product,[{var,{2465,12},'Pid'},{var,{2465,17},'Reason'}]},{atom,{2465,28},true}]},[{type,{2466,7},constraint,[{atom,{2466,7},is_subtype},[{var,{2466,7},'Pid'},{type,{2466,14},union,[{type,{2466,14},pid,[]},{type,{2466,22},port,[]}]}]]},{type,{2467,7},constraint,[{atom,{2467,7},is_subtype},[{var,{2467,7},'Reason'},{type,{2467,17},term,[]}]]}]]}]}}]}},{{function,exit,1},{2361,2},[<<101,120,105,116,40,82,101,97,115,111,110,41>>],#{<<101,110>> => <<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,96,101,120,105,116,96,32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32,96,82,101,97,115,111,110,96,46,10,10,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,10,10,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,96,101,120,105,116,96,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,10,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,10,10,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,91,96,101,114,114,111,114,47,49,44,50,44,51,96,93,40,96,101,114,114,111,114,47,49,96,41,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,10,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,10,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,10,10,83,101,101,32,116,104,101,32,103,117,105,100,101,32,97,98,111,117,116,32,91,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,93,40,96,101,58,115,121,115,116,101,109,58,101,114,114,111,114,115,46,109,100,96,41,32,102,111,114,10,97,100,100,105,116,105,111,110,97,108,32,105,110,102,111,114,109,97,116,105,111,110,46,10,10,69,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,73,102,32,97,32,112,114,111,99,101,115,115,32,99,97,108,108,115,32,91,96,101,120,105,116,40,107,105,108,108,41,96,93,40,96,101,120,105,116,47,49,96,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,10,62,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,96,107,105,108,108,96,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,10,62,32,114,101,97,115,111,110,32,96,107,105,108,108,96,32,40,110,111,116,32,96,107,105,108,108,101,100,96,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,10,62,32,101,120,105,116,32,114,101,97,115,111,110,32,96,107,105,108,108,96,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,10,62,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,96,107,105,108,108,96,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,10,62,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,10,62,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,91,96,101,114,108,97,110,103,58,101,120,105,116,47,50,96,93,40,96,101,120,105,116,47,50,96,41,46>>},#{group => processes,specification => [{attribute,{2396,2},spec,{{exit,1},[{type,{2396,11},bounded_fun,[{type,{2396,11},'fun',[{type,{2396,11},product,[{var,{2396,12},'Reason'}]},{type,{2396,23},no_return,[]}]},[{type,{2397,7},constraint,[{atom,{2397,7},is_subtype},[{var,{2397,7},'Reason'},{type,{2397,17},term,[]}]]}]]}]}}]}},{{function,error,3},{2321,2},[<<101,114,114,111,114,40,82,101,97,115,111,110,44,32,65,114,103,115,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<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,96,101,114,114,111,114,96,32,119,105,116,104,32,116,104,101,32,114,101,97,115,111,110,32,96,82,101,97,115,111,110,96,46,32,96,65,114,103,115,96,32,105,115,10,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,10,96,110,111,110,101,96,46,10,10,73,102,32,96,65,114,103,115,96,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,10,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,96,110,111,110,101,96,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,10,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,10,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,10,10,73,102,32,116,104,101,32,96,101,114,114,111,114,95,105,110,102,111,96,32,111,112,116,105,111,110,32,105,115,32,103,105,118,101,110,44,32,116,104,101,32,96,69,114,114,111,114,73,110,102,111,77,97,112,96,32,119,105,108,108,32,98,101,32,105,110,115,101,114,116,101,100,32,105,110,116,111,10,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,96,69,114,114,111,114,73,110,102,111,77,97,112,96,32,105,115,32,116,111,32,98,101,32,117,115,101,100,32,98,121,10,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,91,96,101,114,108,95,101,114,114,111,114,96,93,40,96,101,114,108,95,101,114,114,111,114,58,102,111,114,109,97,116,95,101,120,99,101,112,116,105,111,110,47,52,96,41,32,116,111,10,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,10,10,84,104,101,32,100,101,102,97,117,108,116,32,96,109,111,100,117,108,101,96,32,111,102,32,116,104,101,32,96,69,114,114,111,114,73,110,102,111,77,97,112,96,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,10,96,101,114,114,111,114,47,51,96,32,105,115,32,109,97,100,101,46,32,84,104,101,32,100,101,102,97,117,108,116,32,96,102,117,110,99,116,105,111,110,96,32,105,115,32,96,102,111,114,109,97,116,95,101,114,114,111,114,96,46,32,83,101,101,10,91,96,102,111,114,109,97,116,95,101,114,114,111,114,47,50,96,93,40,96,99,58,101,114,108,95,101,114,114,111,114,58,102,111,114,109,97,116,95,101,114,114,111,114,47,50,96,41,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,10,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,10,10,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,96,101,114,114,111,114,96,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,10,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,10,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,10,91,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,93,40,96,101,58,115,121,115,116,101,109,58,101,114,114,111,114,115,46,109,100,96,41,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>>},#{group => processes,specification => [{attribute,{2348,2},spec,{{error,3},[{type,{2348,12},bounded_fun,[{type,{2348,12},'fun',[{type,{2348,12},product,[{var,{2348,13},'Reason'},{var,{2348,21},'Args'},{var,{2348,27},'Options'}]},{type,{2348,39},no_return,[]}]},[{type,{2349,7},constraint,[{atom,{2349,7},is_subtype},[{var,{2349,7},'Reason'},{type,{2349,17},term,[]}]]},{type,{2350,7},constraint,[{atom,{2350,7},is_subtype},[{var,{2350,7},'Args'},{type,{2350,15},union,[{type,{2350,15},list,[{type,{2350,16},term,[]}]},{atom,{2350,26},none}]}]]},{type,{2351,7},constraint,[{atom,{2351,7},is_subtype},[{var,{2351,7},'Options'},{type,{2351,18},list,[{var,{2351,19},'Option'}]}]]},{type,{2352,7},constraint,[{atom,{2352,7},is_subtype},[{var,{2352,7},'Option'},{type,{2352,17},tuple,[{atom,{2352,18},error_info},{var,{2352,32},'ErrorInfoMap'}]}]]},{type,{2353,7},constraint,[{atom,{2353,7},is_subtype},[{var,{2353,7},'ErrorInfoMap'},{type,{2353,23},map,[{type,{2353,33},map_field_assoc,[{atom,{2353,25},cause},{type,{2353,36},term,[]}]},{type,{2354,34},map_field_assoc,[{atom,{2354,25},module},{type,{2354,37},module,[]}]},{type,{2355,36},map_field_assoc,[{atom,{2355,25},function},{type,{2355,39},atom,[]}]}]}]]}]]}]}}],since => <<79,84,80,32,50,52,46,48>>}},{{function,error,2},{2275,2},[<<101,114,114,111,114,40,82,101,97,115,111,110,44,32,65,114,103,115,41>>],#{<<101,110>> => <<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,96,101,114,114,111,114,96,32,119,105,116,104,32,116,104,101,32,114,101,97,115,111,110,32,96,82,101,97,115,111,110,96,46,32,96,65,114,103,115,96,32,105,115,10,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,10,96,110,111,110,101,96,46,10,10,73,102,32,96,65,114,103,115,96,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,10,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,96,110,111,110,101,96,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,10,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,10,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,10,10,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,96,101,114,114,111,114,96,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,10,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,10,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,10,91,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,93,40,96,101,58,115,121,115,116,101,109,58,101,114,114,111,114,115,46,109,100,96,41,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,10,69,120,97,109,112,108,101,58,10,10,96,116,101,115,116,46,101,114,108,96,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,69,114,108,97,110,103,32,115,104,101,108,108,58,10,10,96,96,96,101,114,108,97,110,103,10,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,96,96,96>>},#{group => processes,specification => [{attribute,{2312,2},spec,{{error,2},[{type,{2312,12},bounded_fun,[{type,{2312,12},'fun',[{type,{2312,12},product,[{var,{2312,13},'Reason'},{var,{2312,21},'Args'}]},{type,{2312,30},no_return,[]}]},[{type,{2313,7},constraint,[{atom,{2313,7},is_subtype},[{var,{2313,7},'Reason'},{type,{2313,17},term,[]}]]},{type,{2314,7},constraint,[{atom,{2314,7},is_subtype},[{var,{2314,7},'Args'},{type,{2314,15},union,[{type,{2314,15},list,[{type,{2314,16},term,[]}]},{atom,{2314,26},none}]}]]}]]}]}}]}},{{function,error,1},{2245,2},[<<101,114,114,111,114,40,82,101,97,115,111,110,41>>],#{<<101,110>> => <<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,96,101,114,114,111,114,96,32,119,105,116,104,32,116,104,101,32,114,101,97,115,111,110,32,96,82,101,97,115,111,110,96,46,10,10,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,10,10,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,96,101,114,114,111,114,96,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,10,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,10,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,10,91,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,93,40,96,101,58,115,121,115,116,101,109,58,101,114,114,111,114,115,46,109,100,96,41,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,10,69,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => processes,specification => [{attribute,{2268,2},spec,{{error,1},[{type,{2268,12},bounded_fun,[{type,{2268,12},'fun',[{type,{2268,12},product,[{var,{2268,13},'Reason'}]},{type,{2268,24},no_return,[]}]},[{type,{2269,7},constraint,[{atom,{2269,7},is_subtype},[{var,{2269,7},'Reason'},{type,{2269,17},term,[]}]]}]]}]}}]}},{{function,erase,1},{2219,2},[<<101,114,97,115,101,40,75,101,121,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32,96,86,97,108,96,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,96,75,101,121,96,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,10,100,105,99,116,105,111,110,97,114,121,46,32,82,101,116,117,114,110,115,32,96,117,110,100,101,102,105,110,101,100,96,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,96,75,101,121,96,46,10,10,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,10,79,40,96,49,96,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,96,78,96,41,44,32,119,104,101,114,101,32,96,78,96,32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,10,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,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => processes,specification => [{attribute,{2237,2},spec,{{erase,1},[{type,{2237,12},bounded_fun,[{type,{2237,12},'fun',[{type,{2237,12},product,[{var,{2237,13},'Key'}]},{type,{2237,21},union,[{var,{2237,21},'Val'},{atom,{2237,27},undefined}]}]},[{type,{2238,7},constraint,[{atom,{2238,7},is_subtype},[{var,{2238,7},'Key'},{type,{2238,14},term,[]}]]},{type,{2239,7},constraint,[{atom,{2239,7},is_subtype},[{var,{2239,7},'Val'},{type,{2239,14},term,[]}]]}]]}]}}]}},{{function,erase,0},{2199,2},[<<101,114,97,115,101,40,41>>],#{<<101,110>> => <<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,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => processes,specification => [{attribute,{2212,2},spec,{{erase,0},[{type,{2212,12},bounded_fun,[{type,{2212,12},'fun',[{type,{2212,12},product,[]},{type,{2212,18},list,[{type,{2212,19},tuple,[{var,{2212,20},'Key'},{var,{2212,25},'Val'}]}]}]},[{type,{2213,7},constraint,[{atom,{2213,7},is_subtype},[{var,{2213,7},'Key'},{type,{2213,14},term,[]}]]},{type,{2214,7},constraint,[{atom,{2214,7},is_subtype},[{var,{2214,7},'Val'},{type,{2214,14},term,[]}]]}]]}]}}]}},{{function,dt_spread_tag,1},{2192,2},[<<100,116,95,115,112,114,101,97,100,95,116,97,103,40,66,111,111,108,41>>],hidden,#{}},{{function,dt_restore_tag,1},{2185,2},[<<100,116,95,114,101,115,116,111,114,101,95,116,97,103,40,84,97,103,68,97,116,97,41>>],hidden,#{}},{{function,dt_put_tag,1},{2178,2},[<<100,116,95,112,117,116,95,116,97,103,40,73,111,68,97,116,97,41>>],hidden,#{}},{{function,dt_prepend_vm_tag_data,1},{2170,2},[<<100,116,95,112,114,101,112,101,110,100,95,118,109,95,116,97,103,95,100,97,116,97,40,73,111,68,97,116,97,41>>],hidden,#{}},{{function,dt_get_tag_data,0},{2164,2},[<<100,116,95,103,101,116,95,116,97,103,95,100,97,116,97,40,41>>],hidden,#{}},{{function,dt_get_tag,0},{2158,2},[<<100,116,95,103,101,116,95,116,97,103,40,41>>],hidden,#{}},{{function,dt_append_vm_tag_data,1},{2150,2},[<<100,116,95,97,112,112,101,110,100,95,118,109,95,116,97,103,95,100,97,116,97,40,73,111,68,97,116,97,41>>],hidden,#{}},{{function,display_string,2},{2142,2},[<<100,105,115,112,108,97,121,95,115,116,114,105,110,103,40,68,101,118,105,99,101,44,32,80,49,41>>],hidden,#{}},{{function,display_string,1},{2131,2},[<<100,105,115,112,108,97,121,95,115,116,114,105,110,103,40,80,49,41>>],hidden,#{}},{{function,display,1},{2115,2},[<<100,105,115,112,108,97,121,40,84,101,114,109,41>>],#{<<101,110>> => <<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,96,84,101,114,109,96,32,111,110,32,116,104,101,32,115,116,97,110,100,97,114,100,32,111,117,116,112,117,116,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,62,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,10,62,32,116,104,101,32,116,101,114,109,32,105,110,32,69,114,108,97,110,103,46>>},#{group => terms,specification => [{attribute,{2125,2},spec,{{display,1},[{type,{2125,14},bounded_fun,[{type,{2125,14},'fun',[{type,{2125,14},product,[{var,{2125,15},'Term'}]},{atom,{2125,24},true}]},[{type,{2126,7},constraint,[{atom,{2126,7},is_subtype},[{var,{2126,7},'Term'},{type,{2126,15},term,[]}]]}]]}]}}]}},{{function,unalias,1},{2092,2},[<<117,110,97,108,105,97,115,40,65,108,105,97,115,41>>],#{<<101,110>> => <<68,101,97,99,116,105,118,97,116,101,32,116,104,101,32,97,108,105,97,115,32,96,65,108,105,97,115,96,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,10,10,65,110,32,97,108,105,97,115,32,99,97,110,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,98,101,32,99,114,101,97,116,101,100,32,118,105,97,32,96,97,108,105,97,115,47,48,96,32,111,114,32,96,109,111,110,105,116,111,114,47,51,96,46,10,91,96,117,110,97,108,105,97,115,47,49,96,93,40,96,117,110,97,108,105,97,115,47,49,96,41,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,10,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,10,10,82,101,116,117,114,110,115,32,116,114,117,101,32,105,102,32,96,65,108,105,97,115,96,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,10,111,116,104,101,114,119,105,115,101,44,32,102,97,108,115,101,46,10,10,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,10,91,95,80,114,111,99,101,115,115,32,65,108,105,97,115,101,115,95,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,112,114,111,99,101,115,115,45,97,108,105,97,115,101,115,96,41,32,115,101,99,116,105,111,110,32,111,102,10,116,104,101,32,95,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,95,46>>},#{group => processes,specification => [{attribute,{2108,2},spec,{{unalias,1},[{type,{2108,14},bounded_fun,[{type,{2108,14},'fun',[{type,{2108,14},product,[{var,{2108,15},'Alias'}]},{type,{2108,25},boolean,[]}]},[{type,{2109,7},constraint,[{atom,{2109,7},is_subtype},[{var,{2109,7},'Alias'},{type,{2109,16},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,52,46,48>>}},{{function,alias,1},{2033,2},[<<97,108,105,97,115,40,79,112,116,115,41>>],#{<<101,110>> => <<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,10,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,10,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,96,117,110,97,108,105,97,115,47,49,96,46,10,10,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,91,96,97,108,105,97,115,47,49,96,93,40,96,97,108,105,97,115,47,49,96,41,58,10,10,45,32,42,42,96,101,120,112,108,105,99,105,116,95,117,110,97,108,105,97,115,96,42,42,32,45,32,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,10,32,32,91,96,117,110,97,108,105,97,115,47,49,96,93,40,96,117,110,97,108,105,97,115,47,49,96,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,98,101,104,97,118,105,111,117,114,32,105,102,32,110,111,32,111,112,116,105,111,110,115,10,32,32,97,114,101,32,112,97,115,115,101,100,32,111,114,32,105,102,32,96,97,108,105,97,115,47,48,96,32,105,115,32,99,97,108,108,101,100,46,10,10,45,32,42,42,96,114,101,112,108,121,96,42,42,32,45,32,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,10,32,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,10,32,32,99,97,108,108,32,116,111,32,91,96,117,110,97,108,105,97,115,47,49,96,93,40,96,117,110,97,108,105,97,115,47,49,96,41,46,10,10,69,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,96,96,96,10,10,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,10,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,10,10,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,10,91,95,80,114,111,99,101,115,115,32,65,108,105,97,115,101,115,95,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,35,112,114,111,99,101,115,115,45,97,108,105,97,115,101,115,96,41,32,115,101,99,116,105,111,110,32,111,102,10,116,104,101,32,95,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,95,46>>},#{group => processes,specification => [{attribute,{2085,2},spec,{{alias,1},[{type,{2085,12},bounded_fun,[{type,{2085,12},'fun',[{type,{2085,12},product,[{var,{2085,13},'Opts'}]},{var,{2085,22},'Alias'}]},[{type,{2086,7},constraint,[{atom,{2086,7},is_subtype},[{var,{2086,7},'Alias'},{type,{2086,16},reference,[]}]]},{type,{2087,7},constraint,[{atom,{2087,7},is_subtype},[{var,{2087,7},'Opts'},{type,{2087,15},list,[{type,{2087,16},union,[{atom,{2087,16},explicit_unalias},{atom,{2087,37},reply}]}]}]]}]]}]}}],since => <<79,84,80,32,50,52,46,48>>}},{{function,alias,0},{2030,1},[<<97,108,105,97,115,40,41>>],none,#{group => processes,equiv => <<97,108,105,97,115,40,91,93,41>>,since => <<79,84,80,32,50,52,46,48>>}},{{function,demonitor,2},{1968,2},[<<100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,44,32,79,112,116,105,111,110,76,105,115,116,41>>],#{<<101,110>> => <<84,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,105,115,32,96,116,114,117,101,96,32,117,110,108,101,115,115,32,96,105,110,102,111,96,32,105,115,32,112,97,114,116,32,111,102,32,96,79,112,116,105,111,110,76,105,115,116,96,46,10,10,91,96,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,96,93,40,96,100,101,109,111,110,105,116,111,114,47,50,96,41,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,10,91,96,100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,41,96,93,40,96,100,101,109,111,110,105,116,111,114,47,49,96,41,46,10,10,96,79,112,116,105,111,110,96,115,58,10,10,45,32,42,42,96,102,108,117,115,104,96,42,42,32,45,32,82,101,109,111,118,101,115,32,40,111,110,101,41,32,96,123,95,44,32,77,111,110,105,116,111,114,82,101,102,44,32,95,44,32,95,44,32,95,125,96,32,109,101,115,115,97,103,101,44,32,105,102,32,116,104,101,114,101,32,105,115,10,32,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,10,10,32,32,67,97,108,108,105,110,103,32,91,96,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,96,93,40,96,100,101,109,111,110,105,116,111,114,47,50,96,41,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,116,104,101,10,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,41,44,10,32,32,114,101,99,101,105,118,101,10,32,32,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,32,32,116,114,117,101,10,32,32,97,102,116,101,114,32,48,32,45,62,10,32,32,32,32,32,32,32,32,32,32,116,114,117,101,10,32,32,101,110,100,10,32,32,96,96,96,10,10,45,32,42,42,96,105,110,102,111,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,116,114,117,101,96,42,42,32,45,32,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,96,39,68,79,87,78,39,96,10,32,32,32,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,10,32,32,32,32,100,101,108,105,118,101,114,101,100,46,10,10,32,32,45,32,42,42,96,102,97,108,115,101,96,42,42,32,45,32,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,10,32,32,32,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,96,39,68,79,87,78,39,96,32,109,101,115,115,97,103,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,10,32,32,32,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,10,10,32,32,73,102,32,111,112,116,105,111,110,32,96,105,110,102,111,96,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,96,102,108,117,115,104,96,44,32,96,102,97,108,115,101,96,32,105,115,32,114,101,116,117,114,110,101,100,32,105,102,32,97,10,32,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,96,116,114,117,101,96,46,10,10,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,10,70,97,105,108,117,114,101,115,58,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,79,112,116,105,111,110,76,105,115,116,96,32,105,115,32,110,111,116,32,97,32,108,105,115,116,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,79,112,116,105,111,110,96,32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,111,112,116,105,111,110,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,84,104,101,32,115,97,109,101,32,102,97,105,108,117,114,101,32,97,115,32,102,111,114,32,96,100,101,109,111,110,105,116,111,114,47,49,96,46>>},#{group => processes,specification => [{attribute,{2018,2},spec,{{demonitor,2},[{type,{2018,16},bounded_fun,[{type,{2018,16},'fun',[{type,{2018,16},product,[{var,{2018,17},'MonitorRef'},{var,{2018,29},'OptionList'}]},{type,{2018,44},boolean,[]}]},[{type,{2019,7},constraint,[{atom,{2019,7},is_subtype},[{var,{2019,7},'MonitorRef'},{type,{2019,21},reference,[]}]]},{type,{2020,7},constraint,[{atom,{2020,7},is_subtype},[{var,{2020,7},'OptionList'},{type,{2020,21},list,[{var,{2020,22},'Option'}]}]]},{type,{2021,7},constraint,[{atom,{2021,7},is_subtype},[{var,{2021,7},'Option'},{type,{2021,17},union,[{atom,{2021,17},flush},{atom,{2021,25},info}]}]]}]]}]}}]}},{{function,demonitor,1},{1925,2},[<<100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,41>>],#{<<101,110>> => <<73,102,32,96,77,111,110,105,116,111,114,82,101,102,96,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,10,96,109,111,110,105,116,111,114,47,50,96,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,10,111,102,102,44,32,110,111,116,104,105,110,103,32,104,97,112,112,101,110,115,46,10,10,79,110,99,101,32,91,96,100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,41,96,93,40,96,100,101,109,111,110,105,116,111,114,47,49,96,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,10,116,104,97,116,32,110,111,32,96,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,96,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,10,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,10,96,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,96,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,10,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,10,97,32,96,39,68,79,87,78,39,96,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,10,91,96,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,96,93,40,96,100,101,109,111,110,105,116,111,114,47,50,96,41,32,99,97,110,32,98,101,32,117,115,101,100,32,105,110,115,116,101,97,100,32,111,102,10,91,96,100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,41,96,93,40,96,100,101,109,111,110,105,116,111,114,47,49,96,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,91,95,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,95,93,40,96,101,58,115,121,115,116,101,109,58,114,101,102,95,109,97,110,95,112,114,111,99,101,115,115,101,115,46,109,100,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,96,41,10,62,32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32,95,80,114,111,99,101,115,115,101,115,95,32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32,95,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,95,46,10,10,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,91,96,100,101,109,111,110,105,116,111,114,47,49,96,93,40,96,100,101,109,111,110,105,116,111,114,47,49,96,41,32,98,101,104,97,118,101,100,10,62,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,10,62,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,10,62,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,95,110,111,116,95,32,116,111,32,114,101,99,101,105,118,101,32,97,10,62,32,96,68,79,87,78,96,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,10,62,10,62,32,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,10,62,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,10,62,32,114,101,115,117,108,116,115,32,111,102,32,116,104,101,32,109,111,110,105,116,111,114,46,10,10,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,96,77,111,110,105,116,111,114,82,101,102,96,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,10,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,10,116,104,101,32,99,97,108,108,32,102,97,105,108,115,32,119,105,116,104,32,96,98,97,100,97,114,103,96,44,32,102,111,114,32,101,120,97,109,112,108,101,32,105,102,32,96,77,111,110,105,116,111,114,82,101,102,96,32,105,115,32,97,32,114,101,109,111,116,101,32,114,101,102,101,114,101,110,99,101,46>>},#{group => processes,specification => [{attribute,{1961,2},spec,{{demonitor,1},[{type,{1961,16},bounded_fun,[{type,{1961,16},'fun',[{type,{1961,16},product,[{var,{1961,17},'MonitorRef'}]},{atom,{1961,32},true}]},[{type,{1962,7},constraint,[{atom,{1962,7},is_subtype},[{var,{1962,7},'MonitorRef'},{type,{1962,21},reference,[]}]]}]]}]}}]}},{{function,delete_module,1},{1906,2},[<<100,101,108,101,116,101,95,109,111,100,117,108,101,40,77,111,100,117,108,101,41>>],#{<<101,110>> => <<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,96,77,111,100,117,108,101,96,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,10,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,96,117,110,100,101,102,105,110,101,100,96,32,105,102,32,116,104,101,32,109,111,100,117,108,101,32,100,111,101,115,10,110,111,116,32,101,120,105,115,116,44,32,111,116,104,101,114,119,105,115,101,32,96,116,114,117,101,96,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,96,109,58,99,111,100,101,96,41,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,10,62,32,101,108,115,101,119,104,101,114,101,46,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,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,96,77,111,100,117,108,101,96,46>>},#{group => code,specification => [{attribute,{1919,2},spec,{{delete_module,1},[{type,{1919,20},bounded_fun,[{type,{1919,20},'fun',[{type,{1919,20},product,[{var,{1919,21},'Module'}]},{type,{1919,32},union,[{atom,{1919,32},true},{atom,{1919,39},undefined}]}]},[{type,{1920,7},constraint,[{atom,{1920,7},is_subtype},[{var,{1920,7},'Module'},{type,{1920,17},module,[]}]]}]]}]}}]}},{{function,delete_element,2},{1886,2},[<<100,101,108,101,116,101,95,101,108,101,109,101,110,116,40,73,110,100,101,120,44,32,84,117,112,108,101,49,41>>],#{<<101,110>> => <<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,96,73,110,100,101,120,96,32,114,101,109,111,118,101,100,32,102,114,111,109,32,116,117,112,108,101,32,96,84,117,112,108,101,49,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{1898,2},spec,{{delete_element,2},[{type,{1898,21},bounded_fun,[{type,{1898,21},'fun',[{type,{1898,21},product,[{var,{1898,22},'Index'},{var,{1898,29},'Tuple1'}]},{var,{1898,40},'Tuple2'}]},[{type,{1899,7},constraint,[{atom,{1899,7},is_subtype},[{var,{1899,7},'Index'},{type,{1899,17},pos_integer,[]}]]},{type,{1900,7},constraint,[{atom,{1900,7},is_subtype},[{var,{1900,7},'Tuple1'},{type,{1900,17},tuple,any}]]},{type,{1901,7},constraint,[{atom,{1901,7},is_subtype},[{var,{1901,7},'Tuple2'},{type,{1901,17},tuple,any}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,decode_packet,3},{1697,2},[<<100,101,99,111,100,101,95,112,97,99,107,101,116,40,84,121,112,101,44,32,66,105,110,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<68,101,99,111,100,101,115,32,116,104,101,32,98,105,110,97,114,121,32,96,66,105,110,96,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,96,84,121,112,101,96,46,10,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,96,123,112,97,99,107,101,116,44,84,121,112,101,125,46,96,10,10,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,96,66,105,110,96,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,10,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,96,123,111,107,44,80,97,99,107,101,116,44,82,101,115,116,125,96,46,10,10,73,102,32,96,66,105,110,96,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,96,123,109,111,114,101,44,76,101,110,103,116,104,125,96,32,105,115,32,114,101,116,117,114,110,101,100,46,10,96,76,101,110,103,116,104,96,32,105,115,32,101,105,116,104,101,114,32,116,104,101,32,101,120,112,101,99,116,101,100,32,95,116,111,116,97,108,32,115,105,122,101,95,32,111,102,32,116,104,101,32,112,97,99,107,101,116,44,32,111,114,32,96,117,110,100,101,102,105,110,101,100,96,32,105,102,10,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,96,100,101,99,111,100,101,95,112,97,99,107,101,116,96,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,10,119,105,116,104,32,109,111,114,101,32,100,97,116,97,32,97,100,100,101,100,46,10,10,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,96,123,101,114,114,111,114,44,82,101,97,115,111,110,125,96,32,105,115,10,114,101,116,117,114,110,101,100,46,10,10,96,84,121,112,101,96,115,58,10,10,45,32,42,42,96,114,97,119,32,124,32,48,96,42,42,32,45,32,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,10,32,32,117,110,108,101,115,115,32,105,116,32,105,115,32,101,109,112,116,121,46,10,10,45,32,42,42,96,49,32,124,32,50,32,124,32,52,96,42,42,32,45,32,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,10,32,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,10,32,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,10,32,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,10,10,45,32,42,42,96,108,105,110,101,96,42,42,32,45,32,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,10,32,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,10,32,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,96,108,105,110,101,95,108,101,110,103,116,104,96,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,84,104,101,32,104,101,97,100,101,114,32,105,115,32,95,110,111,116,95,32,115,116,114,105,112,112,101,100,32,111,102,102,46,10,10,32,32,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,10,10,32,32,45,32,42,42,96,97,115,110,49,96,32,92,45,32,65,83,78,46,49,32,66,69,82,42,42,10,10,32,32,45,32,42,42,96,115,117,110,114,109,96,32,92,45,32,83,117,110,39,115,32,82,80,67,32,101,110,99,111,100,105,110,103,42,42,10,10,32,32,45,32,42,42,96,99,100,114,96,32,92,45,32,67,79,82,66,65,32,40,71,73,79,80,32,49,46,49,41,42,42,10,10,32,32,45,32,42,42,96,102,99,103,105,96,32,92,45,32,70,97,115,116,32,67,71,73,42,42,10,10,32,32,45,32,42,42,96,116,112,107,116,96,32,92,45,32,84,80,75,84,32,102,111,114,109,97,116,32,92,91,82,70,67,49,48,48,54,93,42,42,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,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,96,72,116,116,112,80,97,99,107,101,116,96,32,100,101,115,99,114,105,98,101,100,10,32,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,10,32,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,96,72,116,116,112,69,114,114,111,114,96,46,10,10,32,32,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,10,32,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,10,32,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,10,32,32,96,34,83,101,99,45,87,101,98,115,111,99,107,101,116,45,75,101,121,34,96,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,10,32,32,96,85,110,109,111,100,105,102,105,101,100,70,105,101,108,100,96,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,10,10,32,32,84,104,101,32,112,114,111,116,111,99,111,108,32,116,121,112,101,32,96,104,116,116,112,96,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,10,32,32,96,72,116,116,112,82,101,113,117,101,115,116,96,32,111,114,32,97,110,32,96,72,116,116,112,82,101,115,112,111,110,115,101,96,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,10,32,32,96,104,116,116,112,104,96,32,116,111,32,103,101,116,32,96,72,116,116,112,72,101,97,100,101,114,96,115,32,117,110,116,105,108,32,96,104,116,116,112,95,101,111,104,96,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,10,32,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,10,10,32,32,84,104,101,32,118,97,114,105,97,110,116,115,32,96,104,116,116,112,95,98,105,110,96,32,97,110,100,32,96,104,116,116,112,104,95,98,105,110,96,32,114,101,116,117,114,110,32,115,116,114,105,110,103,115,32,40,96,72,116,116,112,83,116,114,105,110,103,96,41,32,97,115,10,32,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,10,10,32,32,83,105,110,99,101,32,79,84,80,32,50,54,46,48,44,32,96,72,111,115,116,96,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,96,91,93,96,44,32,97,115,32,100,101,102,105,110,101,100,32,105,110,10,32,32,91,82,70,67,50,55,51,50,32,93,40,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,41,46,10,10,79,112,116,105,111,110,115,58,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,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,10,32,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,10,32,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,10,10,45,32,42,42,96,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,96,42,42,32,45,32,70,111,114,32,112,97,99,107,101,116,32,116,121,112,101,32,96,108,105,110,101,96,44,32,108,105,110,101,115,32,108,111,110,103,101,114,10,32,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,10,10,32,32,79,112,116,105,111,110,32,96,108,105,110,101,95,108,101,110,103,116,104,96,32,97,108,115,111,32,97,112,112,108,105,101,115,32,116,111,32,96,104,116,116,112,42,96,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,10,32,32,111,112,116,105,111,110,32,96,112,97,99,107,101,116,95,115,105,122,101,96,32,105,102,32,96,112,97,99,107,101,116,95,115,105,122,101,96,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,10,32,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,10,10,45,32,42,42,96,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,96,42,42,32,45,32,70,111,114,32,112,97,99,107,101,116,32,116,121,112,101,32,96,108,105,110,101,96,44,32,115,101,116,115,32,116,104,101,10,32,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,96,36,92,110,96,46,10,10,69,120,97,109,112,108,101,115,58,10,10,96,96,96,101,114,108,97,110,103,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,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{1789,2},spec,{{decode_packet,3},[{type,{1789,20},bounded_fun,[{type,{1789,20},'fun',[{type,{1789,20},product,[{var,{1789,21},'Type'},{var,{1789,27},'Bin'},{var,{1789,32},'Options'}]},{type,{1790,35},union,[{type,{1790,35},tuple,[{atom,{1790,36},ok},{var,{1790,40},'Packet'},{var,{1790,48},'Rest'}]},{type,{1791,35},tuple,[{atom,{1791,36},more},{var,{1791,42},'Length'}]},{type,{1792,35},tuple,[{atom,{1792,36},error},{var,{1792,43},'Reason'}]}]}]},[{type,{1793,7},constraint,[{atom,{1793,7},is_subtype},[{var,{1793,7},'Type'},{type,{1793,15},union,[{atom,{1793,15},raw},{integer,{1793,23},0},{integer,{1793,27},1},{integer,{1793,31},2},{integer,{1793,35},4},{atom,{1793,39},asn1},{atom,{1793,48},cdr},{atom,{1793,56},sunrm},{atom,{1793,66},fcgi},{atom,{1794,15},tpkt},{atom,{1794,24},line},{atom,{1794,33},http},{atom,{1794,42},http_bin},{atom,{1794,55},httph},{atom,{1794,65},httph_bin}]}]]},{type,{1795,7},constraint,[{atom,{1795,7},is_subtype},[{var,{1795,7},'Bin'},{type,{1795,14},binary,[]}]]},{type,{1796,7},constraint,[{atom,{1796,7},is_subtype},[{var,{1796,7},'Options'},{type,{1796,18},list,[{var,{1796,19},'Opt'}]}]]},{type,{1797,7},constraint,[{atom,{1797,7},is_subtype},[{var,{1797,7},'Opt'},{type,{1797,14},union,[{type,{1797,14},tuple,[{atom,{1797,15},packet_size},{type,{1797,28},non_neg_integer,[]}]},{type,{1798,14},tuple,[{atom,{1798,15},line_length},{type,{1798,28},non_neg_integer,[]}]}]}]]},{type,{1799,7},constraint,[{atom,{1799,7},is_subtype},[{var,{1799,7},'Packet'},{type,{1799,17},union,[{type,{1799,17},binary,[]},{var,{1799,28},'HttpPacket'}]}]]},{type,{1800,7},constraint,[{atom,{1800,7},is_subtype},[{var,{1800,7},'Rest'},{type,{1800,15},binary,[]}]]},{type,{1801,7},constraint,[{atom,{1801,7},is_subtype},[{var,{1801,7},'Length'},{type,{1801,17},union,[{type,{1801,17},non_neg_integer,[]},{atom,{1801,37},undefined}]}]]},{type,{1802,7},constraint,[{atom,{1802,7},is_subtype},[{var,{1802,7},'Reason'},{type,{1802,17},term,[]}]]},{type,{1803,7},constraint,[{atom,{1803,7},is_subtype},[{var,{1803,7},'HttpPacket'},{type,{1803,21},union,[{var,{1803,21},'HttpRequest'},{var,{1804,21},'HttpResponse'},{var,{1805,21},'HttpHeader'},{atom,{1806,21},http_eoh},{var,{1807,21},'HttpError'}]}]]},{type,{1808,7},constraint,[{atom,{1808,7},is_subtype},[{var,{1808,7},'HttpRequest'},{type,{1808,22},tuple,[{atom,{1808,23},http_request},{var,{1808,39},'HttpMethod'},{var,{1808,51},'HttpUri'},{var,{1808,60},'HttpVersion'}]}]]},{type,{1809,7},constraint,[{atom,{1809,7},is_subtype},[{var,{1809,7},'HttpResponse'},{type,{1809,23},tuple,[{atom,{1809,24},http_response},{var,{1809,41},'HttpVersion'},{type,{1809,54},integer,[]},{var,{1809,65},'HttpString'}]}]]},{type,{1810,7},constraint,[{atom,{1810,7},is_subtype},[{var,{1810,7},'HttpHeader'},{type,{1810,21},tuple,[{atom,{1810,22},http_header},{type,{1811,22},integer,[]},{var,{1812,22},'HttpField'},{ann_type,{1813,22},[{var,{1813,22},'UnmodifiedField'},{var,{1813,41},'HttpString'}]},{ann_type,{1814,22},[{var,{1814,22},'Value'},{var,{1814,31},'HttpString'}]}]}]]},{type,{1815,7},constraint,[{atom,{1815,7},is_subtype},[{var,{1815,7},'HttpError'},{type,{1815,20},tuple,[{atom,{1815,21},http_error},{var,{1815,35},'HttpString'}]}]]},{type,{1816,7},constraint,[{atom,{1816,7},is_subtype},[{var,{1816,7},'HttpMethod'},{type,{1816,21},union,[{atom,{1816,21},'OPTIONS'},{atom,{1816,33},'GET'},{atom,{1816,41},'HEAD'},{atom,{1816,50},'POST'},{atom,{1816,59},'PUT'},{atom,{1816,67},'DELETE'},{atom,{1817,21},'TRACE'},{var,{1817,31},'HttpString'}]}]]},{type,{1818,7},constraint,[{atom,{1818,7},is_subtype},[{var,{1818,7},'HttpUri'},{type,{1818,18},union,[{atom,{1818,18},'*'},{type,{1819,18},tuple,[{atom,{1819,20},absoluteURI},{type,{1820,20},union,[{atom,{1820,20},http},{atom,{1820,29},https}]},{ann_type,{1821,20},[{var,{1821,20},'Host'},{var,{1821,28},'HttpString'}]},{ann_type,{1822,20},[{var,{1822,20},'Port'},{type,{1822,28},union,[{remote_type,{1822,28},[{atom,{1822,28},inet},{atom,{1822,33},port_number},[]]},{atom,{1822,49},undefined}]}]},{ann_type,{1823,20},[{var,{1823,20},'Path'},{var,{1823,28},'HttpString'}]}]},{type,{1824,18},tuple,[{atom,{1824,19},scheme},{ann_type,{1824,29},[{var,{1824,29},'Scheme'},{var,{1824,39},'HttpString'}]},{var,{1824,51},'HttpString'}]},{type,{1825,18},tuple,[{atom,{1825,19},abs_path},{var,{1825,31},'HttpString'}]},{var,{1826,18},'HttpString'}]}]]},{type,{1827,7},constraint,[{atom,{1827,7},is_subtype},[{var,{1827,7},'HttpVersion'},{type,{1827,22},tuple,[{ann_type,{1827,23},[{var,{1827,23},'Major'},{type,{1827,32},non_neg_integer,[]}]},{ann_type,{1827,51},[{var,{1827,51},'Minor'},{type,{1827,60},non_neg_integer,[]}]}]}]]},{type,{1828,7},constraint,[{atom,{1828,7},is_subtype},[{var,{1828,7},'HttpField'},{type,{1828,20},union,[{atom,{1828,20},'Cache-Control'},{atom,{1829,20},'Connection'},{atom,{1830,20},'Date'},{atom,{1831,20},'Pragma'},{atom,{1832,20},'Transfer-Encoding'},{atom,{1833,20},'Upgrade'},{atom,{1834,20},'Via'},{atom,{1835,20},'Accept'},{atom,{1836,20},'Accept-Charset'},{atom,{1837,20},'Accept-Encoding'},{atom,{1838,20},'Accept-Language'},{atom,{1839,20},'Authorization'},{atom,{1840,20},'From'},{atom,{1841,20},'Host'},{atom,{1842,20},'If-Modified-Since'},{atom,{1843,20},'If-Match'},{atom,{1844,20},'If-None-Match'},{atom,{1845,20},'If-Range'},{atom,{1846,20},'If-Unmodified-Since'},{atom,{1847,20},'Max-Forwards'},{atom,{1848,20},'Proxy-Authorization'},{atom,{1849,20},'Range'},{atom,{1850,20},'Referer'},{atom,{1851,20},'User-Agent'},{atom,{1852,20},'Age'},{atom,{1853,20},'Location'},{atom,{1854,20},'Proxy-Authenticate'},{atom,{1855,20},'Public'},{atom,{1856,20},'Retry-After'},{atom,{1857,20},'Server'},{atom,{1858,20},'Vary'},{atom,{1859,20},'Warning'},{atom,{1860,19},'Www-Authenticate'},{atom,{1861,20},'Allow'},{atom,{1862,20},'Content-Base'},{atom,{1863,20},'Content-Encoding'},{atom,{1864,20},'Content-Language'},{atom,{1865,20},'Content-Length'},{atom,{1866,20},'Content-Location'},{atom,{1867,20},'Content-Md5'},{atom,{1868,20},'Content-Range'},{atom,{1869,20},'Content-Type'},{atom,{1870,20},'Etag'},{atom,{1871,20},'Expires'},{atom,{1872,20},'Last-Modified'},{atom,{1873,20},'Accept-Ranges'},{atom,{1874,20},'Set-Cookie'},{atom,{1875,20},'Set-Cookie2'},{atom,{1876,20},'X-Forwarded-For'},{atom,{1877,20},'Cookie'},{atom,{1878,20},'Keep-Alive'},{atom,{1879,20},'Proxy-Connection'},{var,{1880,20},'HttpString'}]}]]},{type,{1881,7},constraint,[{atom,{1881,7},is_subtype},[{var,{1881,7},'HttpString'},{type,{1881,21},union,[{type,{1881,21},string,[]},{type,{1881,32},binary,[]}]}]]}]]}]}}]}},{{function,date,0},{1676,2},[<<100,97,116,101,40,41>>],#{<<101,110>> => <<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,96,123,89,101,97,114,44,32,77,111,110,116,104,44,32,68,97,121,125,96,46,10,10,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,10,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,10,91,79,83,32,83,121,115,116,101,109,32,84,105,109,101,93,40,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,46,109,100,35,111,115,45,115,121,115,116,101,109,45,116,105,109,101,41,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,62,32,100,97,116,101,40,41,46,10,123,49,57,57,53,44,50,44,49,57,125,10,96,96,96>>},#{group => time,specification => [{attribute,{1691,2},spec,{{date,0},[{type,{1691,11},bounded_fun,[{type,{1691,11},'fun',[{type,{1691,11},product,[]},{var,{1691,17},'Date'}]},[{type,{1692,7},constraint,[{atom,{1692,7},is_subtype},[{var,{1692,7},'Date'},{remote_type,{1692,15},[{atom,{1692,15},calendar},{atom,{1692,24},date},[]]}]]}]]}]}}]}},{{function,crc32_combine,3},{1646,2},[<<99,114,99,51,50,95,99,111,109,98,105,110,101,40,70,105,114,115,116,67,114,99,44,32,83,101,99,111,110,100,67,114,99,44,32,83,101,99,111,110,100,83,105,122,101,41>>],#{<<101,110>> => <<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,10,10,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,10,116,111,32,98,101,32,107,110,111,119,110,46,10,10,84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,111,100,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,96,90,96,32,97,115,32,116,104,105,115,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => checksum,specification => [{attribute,{1668,2},spec,{{crc32_combine,3},[{type,{1668,20},bounded_fun,[{type,{1668,20},'fun',[{type,{1668,20},product,[{var,{1668,21},'FirstCrc'},{var,{1668,31},'SecondCrc'},{var,{1668,42},'SecondSize'}]},{type,{1668,57},non_neg_integer,[]}]},[{type,{1669,7},constraint,[{atom,{1669,7},is_subtype},[{var,{1669,7},'FirstCrc'},{type,{1669,19},non_neg_integer,[]}]]},{type,{1670,7},constraint,[{atom,{1670,7},is_subtype},[{var,{1670,7},'SecondCrc'},{type,{1670,20},non_neg_integer,[]}]]},{type,{1671,7},constraint,[{atom,{1671,7},is_subtype},[{var,{1671,7},'SecondSize'},{type,{1671,21},non_neg_integer,[]}]]}]]}]}}]}},{{function,crc32,2},{1621,2},[<<99,114,99,51,50,40,79,108,100,67,114,99,44,32,68,97,116,97,41>>],#{<<101,110>> => <<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,10,96,79,108,100,67,114,99,96,44,32,119,105,116,104,32,116,104,101,32,99,104,101,99,107,115,117,109,32,111,102,32,96,68,97,116,97,96,46,10,10,84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,111,100,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,96,89,96,32,97,115,32,116,104,105,115,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => checksum,specification => [{attribute,{1639,2},spec,{{crc32,2},[{type,{1639,12},bounded_fun,[{type,{1639,12},'fun',[{type,{1639,12},product,[{var,{1639,13},'OldCrc'},{var,{1639,21},'Data'}]},{type,{1639,30},non_neg_integer,[]}]},[{type,{1640,7},constraint,[{atom,{1640,7},is_subtype},[{var,{1640,7},'OldCrc'},{type,{1640,17},non_neg_integer,[]}]]},{type,{1641,7},constraint,[{atom,{1641,7},is_subtype},[{var,{1641,7},'Data'},{type,{1641,15},iodata,[]}]]}]]}]}}]}},{{function,crc32,1},{1613,2},[<<99,114,99,51,50,40,68,97,116,97,41>>],#{<<101,110>> => <<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,96,68,97,116,97,96,46>>},#{group => checksum,specification => [{attribute,{1615,2},spec,{{crc32,1},[{type,{1615,12},bounded_fun,[{type,{1615,12},'fun',[{type,{1615,12},product,[{var,{1615,13},'Data'}]},{type,{1615,22},non_neg_integer,[]}]},[{type,{1616,7},constraint,[{atom,{1616,7},is_subtype},[{var,{1616,7},'Data'},{type,{1616,15},iodata,[]}]]}]]}]}}]}},{{function,check_process_code,3},{1529,2},[<<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,79,112,116,105,111,110,76,105,115,116,41>>],#{<<101,110>> => <<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,96,80,105,100,96,32,101,120,101,99,117,116,101,115,32,111,108,100,32,99,111,100,101,32,102,111,114,10,96,77,111,100,117,108,101,96,46,10,10,96,79,112,116,105,111,110,96,115,58,10,10,45,32,42,42,96,123,97,108,108,111,119,95,103,99,44,32,98,111,111,108,101,97,110,40,41,125,96,42,42,32,45,32,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,10,32,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,96,123,97,108,108,111,119,95,103,99,44,32,102,97,108,115,101,125,96,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,10,32,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,10,32,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,96,67,104,101,99,107,82,101,115,117,108,116,96,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,10,32,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,96,123,97,108,108,111,119,95,103,99,44,32,116,114,117,101,125,96,46,10,10,45,32,42,42,96,123,97,115,121,110,99,44,32,82,101,113,117,101,115,116,73,100,125,96,42,42,32,45,32,84,104,101,32,102,117,110,99,116,105,111,110,10,32,32,91,96,99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,47,51,96,93,40,96,99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,47,51,96,41,32,114,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32,96,97,115,121,110,99,96,10,32,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,10,32,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,10,32,32,102,111,114,109,32,96,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,96,46,10,10,73,102,32,96,80,105,100,96,32,101,113,117,97,108,115,32,96,115,101,108,102,47,48,96,44,32,97,110,100,32,110,111,32,96,97,115,121,110,99,96,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,10,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,10,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32,96,80,105,100,96,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,96,97,115,121,110,99,96,10,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,96,67,104,101,99,107,82,101,115,117,108,116,96,32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,110,100,10,99,97,110,32,98,101,32,114,101,116,117,114,110,101,100,46,10,10,96,67,104,101,99,107,82,101,115,117,108,116,96,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,10,10,45,32,42,42,96,116,114,117,101,96,42,42,32,45,32,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,96,80,105,100,96,32,101,120,101,99,117,116,101,115,32,111,108,100,32,99,111,100,101,32,102,111,114,32,96,77,111,100,117,108,101,96,46,10,32,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,10,32,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,10,32,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,10,10,45,32,42,42,96,102,97,108,115,101,96,42,42,32,45,32,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,96,80,105,100,96,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,10,32,32,96,77,111,100,117,108,101,96,46,10,10,45,32,42,42,96,97,98,111,114,116,101,100,96,42,42,32,45,32,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,10,32,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,10,32,32,98,121,32,112,97,115,115,105,110,103,32,111,112,116,105,111,110,32,96,123,97,108,108,111,119,95,103,99,44,32,102,97,108,115,101,125,96,46,10,10,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,85,112,32,117,110,116,105,108,32,69,82,84,83,32,118,101,114,115,105,111,110,32,56,46,92,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,10,62,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,10,62,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,96,102,117,110,96,115,32,105,110,32,112,114,111,99,101,115,115,10,62,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,10,62,10,62,32,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,10,62,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,96,102,117,110,96,115,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,46,10,62,32,73,102,32,115,117,99,104,32,96,102,117,110,96,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,10,62,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,96,102,117,110,96,32,105,115,32,114,101,99,101,105,118,101,100,32,98,121,32,116,104,101,10,62,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,10,62,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,10,62,32,91,98,117,105,108,100,105,110,103,32,79,84,80,93,40,96,101,58,115,121,115,116,101,109,58,105,110,115,116,97,108,108,46,109,100,35,97,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,101,114,108,97,110,103,45,111,116,112,95,99,111,110,102,105,103,117,114,105,110,103,96,41,44,10,62,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,10,10,83,101,101,32,97,108,115,111,32,96,109,58,99,111,100,101,96,46,10,10,70,97,105,108,117,114,101,115,58,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,80,105,100,96,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,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,77,111,100,117,108,101,96,32,105,115,32,110,111,116,32,97,110,32,97,116,111,109,46,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,73,102,32,96,79,112,116,105,111,110,76,105,115,116,96,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>>},#{group => code,specification => [{attribute,{1595,2},spec,{{check_process_code,3},[{type,{1595,25},bounded_fun,[{type,{1595,25},'fun',[{type,{1595,25},product,[{var,{1595,26},'Pid'},{var,{1595,31},'Module'},{var,{1595,39},'OptionList'}]},{type,{1595,54},union,[{var,{1595,54},'CheckResult'},{atom,{1595,68},async}]}]},[{type,{1596,7},constraint,[{atom,{1596,7},is_subtype},[{var,{1596,7},'Pid'},{type,{1596,14},pid,[]}]]},{type,{1597,7},constraint,[{atom,{1597,7},is_subtype},[{var,{1597,7},'Module'},{type,{1597,17},module,[]}]]},{type,{1598,7},constraint,[{atom,{1598,7},is_subtype},[{var,{1598,7},'RequestId'},{type,{1598,20},term,[]}]]},{type,{1599,7},constraint,[{atom,{1599,7},is_subtype},[{var,{1599,7},'Option'},{type,{1599,17},union,[{type,{1599,17},tuple,[{atom,{1599,18},async},{var,{1599,25},'RequestId'}]},{type,{1599,38},tuple,[{atom,{1599,39},allow_gc},{type,{1599,49},boolean,[]}]}]}]]},{type,{1600,7},constraint,[{atom,{1600,7},is_subtype},[{var,{1600,7},'OptionList'},{type,{1600,21},list,[{var,{1600,22},'Option'}]}]]},{type,{1601,7},constraint,[{atom,{1601,7},is_subtype},[{var,{1601,7},'CheckResult'},{type,{1601,22},union,[{type,{1601,22},boolean,[]},{atom,{1601,34},aborted}]}]]}]]}]}}],since => <<79,84,80,32,49,55,46,48>>}},{{function,check_process_code,2},{1521,1},[<<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,41>>],none,#{group => code,equiv => <<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>>}},{{function,check_old_code,1},{1501,2},[<<99,104,101,99,107,95,111,108,100,95,99,111,100,101,40,77,111,100,117,108,101,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,77,111,100,117,108,101,96,32,104,97,115,10,91,111,108,100,32,99,111,100,101,93,40,96,101,58,115,121,115,116,101,109,58,99,111,100,101,95,108,111,97,100,105,110,103,46,109,100,35,99,111,100,101,45,114,101,112,108,97,99,101,109,101,110,116,96,41,44,32,111,116,104,101,114,119,105,115,101,32,96,102,97,108,115,101,96,46,10,10,83,101,101,32,97,108,115,111,32,96,109,58,99,111,100,101,96,46>>},#{group => code,specification => [{attribute,{1509,2},spec,{{check_old_code,1},[{type,{1509,21},bounded_fun,[{type,{1509,21},'fun',[{type,{1509,21},product,[{var,{1509,22},'Module'}]},{type,{1509,33},boolean,[]}]},[{type,{1510,7},constraint,[{atom,{1510,7},is_subtype},[{var,{1510,7},'Module'},{type,{1510,17},module,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66,48,52>>}},{{function,ceil,1},{1483,2},[<<99,101,105,108,40,78,117,109,98,101,114,41>>],#{<<101,110>> => <<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,96,78,117,109,98,101,114,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,62,32,99,101,105,108,40,53,46,53,41,46,10,54,10,96,96,96>>},#{group => terms,specification => [{attribute,{1495,2},spec,{{ceil,1},[{type,{1495,11},bounded_fun,[{type,{1495,11},'fun',[{type,{1495,11},product,[{var,{1495,12},'Number'}]},{type,{1495,23},integer,[]}]},[{type,{1496,7},constraint,[{atom,{1496,7},is_subtype},[{var,{1496,7},'Number'},{type,{1496,17},number,[]}]]}]]}]}}],since => <<79,84,80,32,50,48,46,48>>}},{{function,cancel_timer,2},{1417,2},[<<99,97,110,99,101,108,95,116,105,109,101,114,40,84,105,109,101,114,82,101,102,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<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,91,96,101,114,108,97,110,103,58,115,116,97,114,116,95,116,105,109,101,114,96,93,40,96,115,116,97,114,116,95,116,105,109,101,114,47,52,96,41,10,111,114,32,91,96,101,114,108,97,110,103,58,115,101,110,100,95,97,102,116,101,114,96,93,40,96,115,101,110,100,95,97,102,116,101,114,47,52,96,41,46,32,96,84,105,109,101,114,82,101,102,96,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,10,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,10,10,96,79,112,116,105,111,110,96,115,58,10,10,45,32,42,42,96,123,97,115,121,110,99,44,32,65,115,121,110,99,125,96,42,42,32,45,32,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,96,65,115,121,110,99,96,32,100,101,102,97,117,108,116,115,10,32,32,116,111,32,96,102,97,108,115,101,96,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,10,32,32,96,65,115,121,110,99,96,32,105,115,32,115,101,116,32,116,111,32,96,116,114,117,101,96,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,10,32,32,84,104,97,116,32,105,115,44,32,96,99,97,110,99,101,108,95,116,105,109,101,114,40,41,96,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,10,32,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,96,111,107,96,46,10,10,45,32,42,42,96,123,105,110,102,111,44,32,73,110,102,111,125,96,42,42,32,45,32,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,96,82,101,115,117,108,116,96,32,111,102,32,116,104,101,10,32,32,99,97,110,99,101,108,108,97,116,105,111,110,46,32,96,73,110,102,111,96,32,100,101,102,97,117,108,116,115,32,116,111,32,96,116,114,117,101,96,44,32,119,104,105,99,104,32,109,101,97,110,115,32,116,104,101,32,96,82,101,115,117,108,116,96,32,105,115,32,103,105,118,101,110,46,10,32,32,87,104,101,110,32,96,73,110,102,111,96,32,105,115,32,115,101,116,32,116,111,32,96,102,97,108,115,101,96,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,10,32,32,99,97,110,99,101,108,108,97,116,105,111,110,32,105,115,32,103,105,118,101,110,46,10,10,32,32,45,32,87,104,101,110,32,96,65,115,121,110,99,96,32,105,115,32,96,102,97,108,115,101,96,58,32,105,102,32,96,73,110,102,111,96,32,105,115,32,96,116,114,117,101,96,44,32,116,104,101,32,96,82,101,115,117,108,116,96,32,105,115,32,114,101,116,117,114,110,101,100,32,98,121,10,32,32,32,32,96,101,114,108,97,110,103,58,99,97,110,99,101,108,95,116,105,109,101,114,40,41,96,46,32,111,116,104,101,114,119,105,115,101,32,96,111,107,96,32,105,115,32,114,101,116,117,114,110,101,100,46,10,32,32,45,32,87,104,101,110,32,96,65,115,121,110,99,96,32,105,115,32,96,116,114,117,101,96,58,32,105,102,32,96,73,110,102,111,96,32,105,115,32,96,116,114,117,101,96,44,32,97,32,109,101,115,115,97,103,101,32,111,110,32,116,104,101,32,102,111,114,109,10,32,32,32,32,96,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,96,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,10,32,32,32,32,96,101,114,108,97,110,103,58,99,97,110,99,101,108,95,116,105,109,101,114,40,41,96,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,10,32,32,32,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,10,10,77,111,114,101,32,96,79,112,116,105,111,110,96,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,10,10,73,102,32,96,82,101,115,117,108,116,96,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,10,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,10,10,73,102,32,96,82,101,115,117,108,116,96,32,105,115,32,96,102,97,108,115,101,96,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,96,84,105,109,101,114,82,101,102,96,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,46,10,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,10,98,101,99,97,117,115,101,32,96,84,105,109,101,114,82,101,102,96,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,10,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,10,62,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,10,62,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,10,62,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,10,62,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,96,123,97,115,121,110,99,44,32,116,114,117,101,125,96,46,32,73,102,32,117,115,105,110,103,10,62,32,111,112,116,105,111,110,32,96,123,97,115,121,110,99,44,32,102,97,108,115,101,125,96,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,10,62,32,98,101,101,110,32,112,101,114,102,111,114,109,101,100,46,10,10,83,101,101,32,97,108,115,111,32,91,96,101,114,108,97,110,103,58,115,101,110,100,95,97,102,116,101,114,47,52,96,93,40,96,115,101,110,100,95,97,102,116,101,114,47,52,96,41,44,10,91,96,101,114,108,97,110,103,58,115,116,97,114,116,95,116,105,109,101,114,47,52,96,93,40,96,115,116,97,114,116,95,116,105,109,101,114,47,52,96,41,44,32,97,110,100,10,91,96,101,114,108,97,110,103,58,114,101,97,100,95,116,105,109,101,114,47,50,96,93,40,96,114,101,97,100,95,116,105,109,101,114,47,50,96,41,46>>},#{group => time,specification => [{attribute,{1469,2},spec,{{cancel_timer,2},[{type,{1469,19},bounded_fun,[{type,{1469,19},'fun',[{type,{1469,19},product,[{var,{1469,20},'TimerRef'},{var,{1469,30},'Options'}]},{type,{1469,42},union,[{var,{1469,42},'Result'},{atom,{1469,51},ok}]}]},[{type,{1470,7},constraint,[{atom,{1470,7},is_subtype},[{var,{1470,7},'TimerRef'},{type,{1470,19},reference,[]}]]},{type,{1471,7},constraint,[{atom,{1471,7},is_subtype},[{var,{1471,7},'Async'},{type,{1471,16},boolean,[]}]]},{type,{1472,7},constraint,[{atom,{1472,7},is_subtype},[{var,{1472,7},'Info'},{type,{1472,15},boolean,[]}]]},{type,{1473,7},constraint,[{atom,{1473,7},is_subtype},[{var,{1473,7},'Option'},{type,{1473,17},union,[{type,{1473,17},tuple,[{atom,{1473,18},async},{var,{1473,25},'Async'}]},{type,{1473,34},tuple,[{atom,{1473,35},info},{var,{1473,41},'Info'}]}]}]]},{type,{1474,7},constraint,[{atom,{1474,7},is_subtype},[{var,{1474,7},'Options'},{type,{1474,18},list,[{var,{1474,19},'Option'}]}]]},{type,{1475,7},constraint,[{atom,{1475,7},is_subtype},[{var,{1475,7},'Time'},{type,{1475,15},non_neg_integer,[]}]]},{type,{1476,7},constraint,[{atom,{1476,7},is_subtype},[{var,{1476,7},'Result'},{type,{1476,17},union,[{var,{1476,17},'Time'},{atom,{1476,24},false}]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,cancel_timer,1},{1413,1},[<<99,97,110,99,101,108,95,116,105,109,101,114,40,84,105,109,101,114,82,101,102,41>>],none,#{group => time,equiv => <<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>>}},{{function,call_on_load_function,1},{1399,2},[<<99,97,108,108,95,111,110,95,108,111,97,100,95,102,117,110,99,116,105,111,110,40,80,49,41>>],hidden,#{}},{{function,byte_size,1},{1378,2},[<<98,121,116,101,95,115,105,122,101,40,66,105,116,115,116,114,105,110,103,41>>],#{<<101,110>> => <<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,96,66,105,116,115,116,114,105,110,103,96,46,10,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,96,66,105,116,115,116,114,105,110,103,96,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,10,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,95,117,112,95,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{1393,2},spec,{{byte_size,1},[{type,{1393,16},bounded_fun,[{type,{1393,16},'fun',[{type,{1393,16},product,[{var,{1393,17},'Bitstring'}]},{type,{1393,31},non_neg_integer,[]}]},[{type,{1394,7},constraint,[{atom,{1394,7},is_subtype},[{var,{1394,7},'Bitstring'},{type,{1394,20},bitstring,[]}]]}]]}]}}]}},{{function,bump_reductions,1},{1357,2},[<<98,117,109,112,95,114,101,100,117,99,116,105,111,110,115,40,82,101,100,117,99,116,105,111,110,115,41>>],#{<<101,110>> => <<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,10,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,10,10,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,10,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,10,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,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,62,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>>},#{group => processes,specification => [{attribute,{1371,2},spec,{{bump_reductions,1},[{type,{1371,22},bounded_fun,[{type,{1371,22},'fun',[{type,{1371,22},product,[{var,{1371,23},'Reductions'}]},{atom,{1371,38},true}]},[{type,{1372,7},constraint,[{atom,{1372,7},is_subtype},[{var,{1372,7},'Reductions'},{type,{1372,21},pos_integer,[]}]]}]]}]}}]}},{{function,bitstring_to_list,1},{1332,2},[<<98,105,116,115,116,114,105,110,103,95,116,111,95,108,105,115,116,40,66,105,116,115,116,114,105,110,103,41>>],#{<<101,110>> => <<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,96,66,105,116,115,116,114,105,110,103,96,46,10,10,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,10,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,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{1351,2},spec,{{bitstring_to_list,1},[{type,{1351,24},bounded_fun,[{type,{1351,24},'fun',[{type,{1351,24},product,[{var,{1351,25},'Bitstring'}]},{type,{1351,39},list,[{type,{1351,40},union,[{type,{1351,40},byte,[]},{type,{1351,49},bitstring,[]}]}]}]},[{type,{1352,7},constraint,[{atom,{1352,7},is_subtype},[{var,{1352,7},'Bitstring'},{type,{1352,20},bitstring,[]}]]}]]}]}}]}},{{function,bit_size,1},{1313,2},[<<98,105,116,95,115,105,122,101,40,66,105,116,115,116,114,105,110,103,41>>],#{<<101,110>> => <<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,96,66,105,116,115,116,114,105,110,103,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{1326,2},spec,{{bit_size,1},[{type,{1326,15},bounded_fun,[{type,{1326,15},'fun',[{type,{1326,15},product,[{var,{1326,16},'Bitstring'}]},{type,{1326,30},non_neg_integer,[]}]},[{type,{1327,7},constraint,[{atom,{1327,7},is_subtype},[{var,{1327,7},'Bitstring'},{type,{1327,20},bitstring,[]}]]}]]}]}}]}},{{function,binary_to_term,2},{1250,2},[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,40,66,105,110,97,114,121,44,32,79,112,116,115,41>>],#{<<101,110>> => <<69,113,117,105,118,97,108,101,110,116,32,116,111,32,91,96,98,105,110,97,114,121,95,116,111,95,116,101,114,109,40,66,105,110,97,114,121,41,96,93,40,96,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49,96,41,44,32,98,117,116,32,99,97,110,32,98,101,32,99,111,110,102,105,103,117,114,101,100,32,116,111,10,102,105,116,32,115,112,101,99,105,97,108,32,112,117,114,112,111,115,101,115,46,10,10,84,104,101,32,97,108,108,111,119,101,100,32,111,112,116,105,111,110,115,32,97,114,101,58,10,10,45,32,42,42,96,115,97,102,101,96,42,42,32,45,32,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,10,10,32,32,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,10,32,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,96,98,97,100,97,114,103,96,10,32,32,101,114,114,111,114,46,10,10,32,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,32,32,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,32,32,62,32,104,101,108,108,111,46,10,32,32,104,101,108,108,111,10,32,32,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,32,32,104,101,108,108,111,10,32,32,96,96,96,10,10,32,32,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,32,32,62,10,32,32,62,32,84,104,101,32,96,115,97,102,101,96,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,10,32,32,62,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,10,32,32,62,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,10,32,32,62,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,10,32,32,62,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,10,10,45,32,42,42,96,117,115,101,100,96,42,42,32,45,32,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,96,123,84,101,114,109,44,32,85,115,101,100,125,96,32,119,104,101,114,101,32,96,85,115,101,100,96,32,105,115,32,116,104,101,10,32,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,96,66,105,110,97,114,121,96,46,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,32,32,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,32,32,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,32,32,123,104,101,108,108,111,44,32,57,125,10,32,32,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,32,32,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,10,32,32,96,96,96,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,115,97,102,101,96,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,10,10,83,101,101,32,97,108,115,111,32,96,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49,96,44,32,96,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49,96,44,32,97,110,100,32,96,108,105,115,116,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,49,96,46>>},#{group => terms,specification => [{attribute,{1303,2},spec,{{binary_to_term,2},[{type,{1303,21},bounded_fun,[{type,{1303,21},'fun',[{type,{1303,21},product,[{var,{1303,22},'Binary'},{var,{1303,30},'Opts'}]},{type,{1303,39},union,[{type,{1303,39},term,[]},{type,{1303,48},tuple,[{type,{1303,49},term,[]},{var,{1303,57},'Used'}]}]}]},[{type,{1304,7},constraint,[{atom,{1304,7},is_subtype},[{var,{1304,7},'Binary'},{user_type,{1304,17},ext_binary,[]}]]},{type,{1305,7},constraint,[{atom,{1305,7},is_subtype},[{var,{1305,7},'Opt'},{type,{1305,14},union,[{atom,{1305,14},safe},{atom,{1305,21},used}]}]]},{type,{1306,7},constraint,[{atom,{1306,7},is_subtype},[{var,{1306,7},'Opts'},{type,{1306,15},list,[{var,{1306,16},'Opt'}]}]]},{type,{1307,7},constraint,[{atom,{1307,7},is_subtype},[{var,{1307,7},'Used'},{type,{1307,15},pos_integer,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,51,66,48,52>>}},{{function,binary_to_term,1},{1221,2},[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,40,66,105,110,97,114,121,41>>],#{<<101,110>> => <<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,96,66,105,110,97,114,121,96,44,10,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,10,91,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,93,40,101,114,108,95,101,120,116,95,100,105,115,116,46,109,100,41,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,62,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,10,62,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,10,62,32,99,97,115,101,115,44,32,99,111,110,115,105,100,101,114,32,117,115,105,110,103,32,91,96,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,50,96,93,40,96,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,50,96,41,32,119,105,116,104,32,116,104,101,32,96,115,97,102,101,96,10,62,32,111,112,116,105,111,110,46,10,10,83,101,101,32,97,108,115,111,32,96,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49,96,32,97,110,100,32,96,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,50,96,46>>},#{group => terms,specification => [{attribute,{1244,2},spec,{{binary_to_term,1},[{type,{1244,21},bounded_fun,[{type,{1244,21},'fun',[{type,{1244,21},product,[{var,{1244,22},'Binary'}]},{type,{1244,33},term,[]}]},[{type,{1245,7},constraint,[{atom,{1245,7},is_subtype},[{var,{1245,7},'Binary'},{user_type,{1245,17},ext_binary,[]}]]}]]}]}}]}},{{function,binary_to_list,3},{1201,2},[<<98,105,110,97,114,121,95,116,111,95,108,105,115,116,40,66,105,110,97,114,121,44,32,83,116,97,114,116,44,32,83,116,111,112,41>>],#{<<101,110>> => <<65,115,32,91,96,98,105,110,97,114,121,95,116,111,95,108,105,115,116,47,49,96,93,40,96,98,105,110,97,114,121,95,116,111,95,108,105,115,116,47,49,96,41,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,10,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,96,83,116,97,114,116,96,32,116,111,32,112,111,115,105,116,105,111,110,32,96,83,116,111,112,96,32,105,110,32,96,66,105,110,97,114,121,96,46,10,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,95,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,95,32,78,101,119,10,62,32,99,111,100,101,32,105,115,32,116,111,32,117,115,101,32,96,98,105,110,97,114,121,58,98,105,110,95,116,111,95,108,105,115,116,47,51,96,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,10,62,32,109,111,100,117,108,101,32,96,98,105,110,97,114,121,96,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>>},#{group => terms,specification => [{attribute,{1213,2},spec,{{binary_to_list,3},[{type,{1213,21},bounded_fun,[{type,{1213,21},'fun',[{type,{1213,21},product,[{var,{1213,22},'Binary'},{var,{1213,30},'Start'},{var,{1213,37},'Stop'}]},{type,{1213,46},list,[{type,{1213,47},byte,[]}]}]},[{type,{1214,7},constraint,[{atom,{1214,7},is_subtype},[{var,{1214,7},'Binary'},{type,{1214,17},binary,[]}]]},{type,{1215,7},constraint,[{atom,{1215,7},is_subtype},[{var,{1215,7},'Start'},{type,{1215,16},pos_integer,[]}]]},{type,{1216,7},constraint,[{atom,{1216,7},is_subtype},[{var,{1216,7},'Stop'},{type,{1216,15},pos_integer,[]}]]}]]}]}}]}},{{function,binary_to_list,1},{1193,2},[<<98,105,110,97,114,121,95,116,111,95,108,105,115,116,40,66,105,110,97,114,121,41>>],#{<<101,110>> => <<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,96,66,105,110,97,114,121,96,46>>},#{group => terms,specification => [{attribute,{1195,2},spec,{{binary_to_list,1},[{type,{1195,21},bounded_fun,[{type,{1195,21},'fun',[{type,{1195,21},product,[{var,{1195,22},'Binary'}]},{type,{1195,33},list,[{type,{1195,34},byte,[]}]}]},[{type,{1196,7},constraint,[{atom,{1196,7},is_subtype},[{var,{1196,7},'Binary'},{type,{1196,17},binary,[]}]]}]]}]}}]}},{{function,binary_to_integer,2},{1015,2},[<<98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,40,66,105,110,97,114,121,44,32,66,97,115,101,41>>],#{<<101,110>> => <<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,96,66,97,115,101,96,32,105,115,32,96,66,105,110,97,114,121,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,91,96,98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,47,50,96,93,40,96,98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,47,50,96,41,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,10,97,115,32,96,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,47,50,96,46,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,66,105,110,97,114,121,96,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>>},#{group => terms,specification => [{attribute,{1032,2},spec,{{binary_to_integer,2},[{type,{1032,24},bounded_fun,[{type,{1032,24},'fun',[{type,{1032,24},product,[{var,{1032,25},'Binary'},{var,{1032,33},'Base'}]},{type,{1032,42},integer,[]}]},[{type,{1033,7},constraint,[{atom,{1033,7},is_subtype},[{var,{1033,7},'Binary'},{type,{1033,17},binary,[]}]]},{type,{1034,7},constraint,[{atom,{1034,7},is_subtype},[{var,{1034,7},'Base'},{type,{1034,15},range,[{integer,{1034,15},2},{integer,{1034,18},36}]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,binary_to_integer,1},{980,2},[<<98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,40,66,105,110,97,114,121,41>>],#{<<101,110>> => <<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,96,66,105,110,97,114,121,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,91,96,98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,47,49,96,93,40,96,98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,47,49,96,41,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,10,97,115,32,96,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,47,49,96,46,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,66,105,110,97,114,121,96,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>>},#{group => terms,specification => [{attribute,{997,2},spec,{{binary_to_integer,1},[{type,{997,24},bounded_fun,[{type,{997,24},'fun',[{type,{997,24},product,[{var,{997,25},'Binary'}]},{type,{997,36},integer,[]}]},[{type,{998,7},constraint,[{atom,{998,7},is_subtype},[{var,{998,7},'Binary'},{type,{998,17},binary,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,binary_to_float,1},{956,2},[<<98,105,110,97,114,121,95,116,111,95,102,108,111,97,116,40,66,105,110,97,114,121,41>>],#{<<101,110>> => <<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,96,66,105,110,97,114,121,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,10,91,69,114,108,97,110,103,32,102,108,111,97,116,32,108,105,116,101,114,97,108,115,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,96,41,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,10,97,114,101,32,110,111,116,32,112,101,114,109,105,116,116,101,100,46,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,66,105,110,97,114,121,96,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>>},#{group => terms,specification => [{attribute,{974,2},spec,{{binary_to_float,1},[{type,{974,22},bounded_fun,[{type,{974,22},'fun',[{type,{974,22},product,[{var,{974,23},'Binary'}]},{type,{974,34},float,[]}]},[{type,{975,7},constraint,[{atom,{975,7},is_subtype},[{var,{975,7},'Binary'},{type,{975,17},binary,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,binary_to_existing_atom,2},{914,2},[<<98,105,110,97,114,121,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,40,66,105,110,97,114,121,44,32,69,110,99,111,100,105,110,103,41>>],#{<<101,110>> => <<65,115,32,96,98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50,96,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,10,10,84,104,101,32,69,114,108,97,110,103,32,115,121,115,116,101,109,32,104,97,115,32,97,32,91,99,111,110,102,105,103,117,114,97,98,108,101,32,108,105,109,105,116,93,40,96,101,58,115,121,115,116,101,109,58,115,121,115,116,101,109,95,108,105,109,105,116,115,46,109,100,35,97,116,111,109,115,96,41,32,102,111,114,32,116,104,101,10,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,10,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,10,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,10,117,115,105,110,103,32,96,98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50,96,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,10,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,10,10,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,10,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,10,91,96,98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50,96,93,40,96,98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50,96,41,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,10,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,10,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,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,114,101,119,114,105,116,101,32,91,96,97,116,111,109,95,116,111,95,108,105,115,116,40,115,111,109,101,95,97,116,111,109,41,96,93,40,96,97,116,111,109,95,116,111,95,108,105,115,116,47,49,96,41,32,116,111,32,96,34,115,111,109,101,95,97,116,111,109,34,96,46,32,73,102,10,62,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,96,115,111,109,101,95,97,116,111,109,96,32,105,110,32,116,104,101,32,99,111,110,116,97,105,110,105,110,103,10,62,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,10,62,32,115,117,98,115,101,113,117,101,110,116,32,99,97,108,108,32,116,111,10,62,32,91,96,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,96,93,40,96,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,96,41,10,62,32,119,105,108,108,32,102,97,105,108,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,10,62,32,91,69,102,102,105,99,105,101,110,99,121,32,71,117,105,100,101,32,40,115,101,99,116,105,111,110,32,83,121,115,116,101,109,32,76,105,109,105,116,115,41,93,40,96,101,58,115,121,115,116,101,109,58,115,121,115,116,101,109,95,108,105,109,105,116,115,46,109,100,96,41,46>>},#{group => terms,specification => [{attribute,{949,2},spec,{{binary_to_existing_atom,2},[{type,{949,30},bounded_fun,[{type,{949,30},'fun',[{type,{949,30},product,[{var,{949,31},'Binary'},{var,{949,39},'Encoding'}]},{type,{949,52},atom,[]}]},[{type,{950,7},constraint,[{atom,{950,7},is_subtype},[{var,{950,7},'Binary'},{type,{950,17},binary,[]}]]},{type,{951,7},constraint,[{atom,{951,7},is_subtype},[{var,{951,7},'Encoding'},{type,{951,19},union,[{atom,{951,19},latin1},{atom,{951,28},unicode},{atom,{951,38},utf8}]}]]}]]}]}}]}},{{function,binary_to_existing_atom,1},{906,1},[<<98,105,110,97,114,121,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,40,66,105,110,97,114,121,41>>],none,#{group => terms,equiv => <<98,105,110,97,114,121,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,40,66,105,110,97,114,121,44,32,117,116,102,56,41>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,binary_to_atom,2},{857,2},[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109,40,66,105,110,97,114,121,44,32,69,110,99,111,100,105,110,103,41>>],#{<<101,110>> => <<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,96,66,105,110,97,114,121,96,46,32,73,102,32,96,69,110,99,111,100,105,110,103,96,32,105,115,32,96,117,116,102,56,96,10,111,114,32,96,117,110,105,99,111,100,101,96,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,10,10,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,50,48,44,32,91,96,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,96,93,40,96,98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50,96,41,32,105,115,10,62,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,10,62,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,10,62,32,91,69,102,102,105,99,105,101,110,99,121,32,71,117,105,100,101,32,40,115,101,99,116,105,111,110,32,83,121,115,116,101,109,32,76,105,109,105,116,115,41,93,40,96,101,58,115,121,115,116,101,109,58,115,121,115,116,101,109,95,108,105,109,105,116,115,46,109,100,96,41,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,10,62,32,91,96,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,96,93,40,96,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,96,41,32,105,115,32,97,32,98,101,116,116,101,114,32,111,112,116,105,111,110,10,62,32,116,104,97,110,32,91,96,98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50,96,93,40,96,98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50,96,41,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,10,62,32,105,110,32,91,69,102,102,105,99,105,101,110,99,121,32,71,117,105,100,101,32,40,115,101,99,116,105,111,110,32,83,121,115,116,101,109,32,76,105,109,105,116,115,41,93,40,96,101,58,115,121,115,116,101,109,58,115,121,115,116,101,109,95,108,105,109,105,116,115,46,109,100,35,97,116,111,109,115,96,41,46,10,10,69,120,97,109,112,108,101,115,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{894,2},spec,{{binary_to_atom,2},[{type,{894,21},bounded_fun,[{type,{894,21},'fun',[{type,{894,21},product,[{var,{894,22},'Binary'},{var,{894,30},'Encoding'}]},{type,{894,43},atom,[]}]},[{type,{895,7},constraint,[{atom,{895,7},is_subtype},[{var,{895,7},'Binary'},{type,{895,17},binary,[]}]]},{type,{896,7},constraint,[{atom,{896,7},is_subtype},[{var,{896,7},'Encoding'},{type,{896,19},union,[{atom,{896,19},latin1},{atom,{896,28},unicode},{atom,{896,38},utf8}]}]]}]]}]}}]}},{{function,binary_to_atom,1},{849,1},[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109,40,66,105,110,97,114,121,41>>],none,#{group => terms,equiv => <<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>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,binary_part,3},{840,1},[<<98,105,110,97,114,121,95,112,97,114,116,40,83,117,98,106,101,99,116,44,32,83,116,97,114,116,44,32,76,101,110,103,116,104,41>>],none,#{group => terms,equiv => <<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>>,since => <<79,84,80,32,82,49,52,66>>}},{{function,binary_part,2},{798,2},[<<98,105,110,97,114,121,95,112,97,114,116,40,83,117,98,106,101,99,116,44,32,80,111,115,76,101,110,41>>],#{<<101,110>> => <<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,96,80,111,115,76,101,110,96,46,10,10,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,46,32,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,70,97,105,108,117,114,101,58,32,96,98,97,100,97,114,103,96,32,105,102,32,96,80,111,115,76,101,110,96,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,10,10,96,83,116,97,114,116,96,32,105,115,32,122,101,114,111,45,98,97,115,101,100,44,32,116,104,97,116,32,105,115,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,70,111,114,32,100,101,116,97,105,108,115,32,97,98,111,117,116,32,116,104,101,32,96,80,111,115,76,101,110,96,32,115,101,109,97,110,116,105,99,115,44,32,115,101,101,32,96,109,58,98,105,110,97,114,121,96,46>>},#{group => terms,specification => [{attribute,{825,2},spec,{{binary_part,2},[{type,{825,18},bounded_fun,[{type,{825,18},'fun',[{type,{825,18},product,[{var,{825,19},'Subject'},{var,{825,28},'PosLen'}]},{type,{825,39},binary,[]}]},[{type,{826,7},constraint,[{atom,{826,7},is_subtype},[{var,{826,7},'Subject'},{type,{826,18},binary,[]}]]},{type,{827,7},constraint,[{atom,{827,7},is_subtype},[{var,{827,7},'PosLen'},{type,{827,17},tuple,[{ann_type,{827,18},[{var,{827,18},'Start'},{type,{827,27},non_neg_integer,[]}]},{ann_type,{827,46},[{var,{827,46},'Length'},{type,{827,56},integer,[]}]}]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66>>}},{{function,atom_to_list,1},{772,2},[<<97,116,111,109,95,116,111,95,108,105,115,116,40,65,116,111,109,41>>],#{<<101,110>> => <<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,10,111,102,32,96,65,116,111,109,96,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,83,101,101,32,96,109,58,117,110,105,99,111,100,101,96,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>>},#{group => terms,specification => [{attribute,{791,2},spec,{{atom_to_list,1},[{type,{791,19},bounded_fun,[{type,{791,19},'fun',[{type,{791,19},product,[{var,{791,20},'Atom'}]},{type,{791,29},string,[]}]},[{type,{792,7},constraint,[{atom,{792,7},is_subtype},[{var,{792,7},'Atom'},{type,{792,15},atom,[]}]]}]]}]}}]}},{{function,atom_to_binary,2},{744,2},[<<97,116,111,109,95,116,111,95,98,105,110,97,114,121,40,65,116,111,109,44,32,69,110,99,111,100,105,110,103,41>>],#{<<101,110>> => <<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,96,65,116,111,109,96,46,10,10,73,102,32,96,69,110,99,111,100,105,110,103,96,32,105,115,32,96,108,97,116,105,110,49,96,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,10,114,101,112,114,101,115,101,110,116,97,116,105,111,110,46,32,73,102,32,96,69,110,99,111,100,105,110,103,96,32,105,115,32,96,117,116,102,56,96,32,111,114,32,96,117,110,105,99,111,100,101,96,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,10,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,10,10,62,32,35,35,35,35,32,67,104,97,110,103,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,32,91,96,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,96,93,40,96,97,116,111,109,95,116,111,95,98,105,110,97,114,121,47,50,96,41,32,109,97,121,32,102,97,105,108,32,105,102,32,116,104,101,32,116,101,120,116,10,62,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,102,111,114,32,96,65,116,111,109,96,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,10,10,69,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{765,2},spec,{{atom_to_binary,2},[{type,{765,21},bounded_fun,[{type,{765,21},'fun',[{type,{765,21},product,[{var,{765,22},'Atom'},{var,{765,28},'Encoding'}]},{type,{765,41},binary,[]}]},[{type,{766,7},constraint,[{atom,{766,7},is_subtype},[{var,{766,7},'Atom'},{type,{766,15},atom,[]}]]},{type,{767,7},constraint,[{atom,{767,7},is_subtype},[{var,{767,7},'Encoding'},{type,{767,19},union,[{atom,{767,19},latin1},{atom,{767,28},unicode},{atom,{767,38},utf8}]}]]}]]}]}}]}},{{function,atom_to_binary,1},{735,1},[<<97,116,111,109,95,116,111,95,98,105,110,97,114,121,40,65,116,111,109,41>>],none,#{group => terms,equiv => <<97,116,111,109,95,116,111,95,98,105,110,97,114,121,40,65,116,111,109,44,32,117,116,102,56,41>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,append_element,2},{706,2},[<<97,112,112,101,110,100,95,101,108,101,109,101,110,116,40,84,117,112,108,101,49,44,32,84,101,114,109,41>>],#{<<101,110>> => <<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,96,84,117,112,108,101,49,96,44,32,97,110,100,32,99,111,110,116,97,105,110,115,32,116,104,101,10,101,108,101,109,101,110,116,115,32,105,110,32,96,84,117,112,108,101,49,96,32,102,111,108,108,111,119,101,100,32,98,121,32,96,84,101,114,109,96,32,97,115,32,116,104,101,32,108,97,115,116,32,101,108,101,109,101,110,116,46,10,10,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,10,91,96,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,96,93,40,96,108,105,115,116,95,116,111,95,116,117,112,108,101,47,49,96,41,44,32,98,117,116,32,109,117,99,104,10,102,97,115,116,101,114,46,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => terms,specification => [{attribute,{722,2},spec,{{append_element,2},[{type,{722,21},bounded_fun,[{type,{722,21},'fun',[{type,{722,21},product,[{var,{722,22},'Tuple1'},{var,{722,30},'Term'}]},{var,{722,39},'Tuple2'}]},[{type,{723,7},constraint,[{atom,{723,7},is_subtype},[{var,{723,7},'Tuple1'},{type,{723,17},tuple,any}]]},{type,{724,7},constraint,[{atom,{724,7},is_subtype},[{var,{724,7},'Tuple2'},{type,{724,17},tuple,any}]]},{type,{725,7},constraint,[{atom,{725,7},is_subtype},[{var,{725,7},'Term'},{type,{725,15},term,[]}]]}]]}]}}]}},{{function,adler32_combine,3},{676,2},[<<97,100,108,101,114,51,50,95,99,111,109,98,105,110,101,40,70,105,114,115,116,65,100,108,101,114,44,32,83,101,99,111,110,100,65,100,108,101,114,44,32,83,101,99,111,110,100,83,105,122,101,41>>],#{<<101,110>> => <<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,10,10,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,10,116,111,32,98,101,32,107,110,111,119,110,46,10,10,84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,111,100,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,96,90,96,32,97,115,32,116,104,105,115,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => checksum,specification => [{attribute,{698,2},spec,{{adler32_combine,3},[{type,{698,22},bounded_fun,[{type,{698,22},'fun',[{type,{698,22},product,[{var,{698,23},'FirstAdler'},{var,{698,35},'SecondAdler'},{var,{698,48},'SecondSize'}]},{type,{698,63},non_neg_integer,[]}]},[{type,{699,7},constraint,[{atom,{699,7},is_subtype},[{var,{699,7},'FirstAdler'},{type,{699,21},non_neg_integer,[]}]]},{type,{700,7},constraint,[{atom,{700,7},is_subtype},[{var,{700,7},'SecondAdler'},{type,{700,22},non_neg_integer,[]}]]},{type,{701,7},constraint,[{atom,{701,7},is_subtype},[{var,{701,7},'SecondSize'},{type,{701,21},non_neg_integer,[]}]]}]]}]}}]}},{{function,adler32,2},{651,2},[<<97,100,108,101,114,51,50,40,79,108,100,65,100,108,101,114,44,32,68,97,116,97,41>>],#{<<101,110>> => <<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,10,96,79,108,100,65,100,108,101,114,96,44,32,119,105,116,104,32,116,104,101,32,99,104,101,99,107,115,117,109,32,111,102,32,96,68,97,116,97,96,46,10,10,84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,111,100,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,96,89,96,32,97,115,32,116,104,105,115,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{group => checksum,specification => [{attribute,{669,2},spec,{{adler32,2},[{type,{669,14},bounded_fun,[{type,{669,14},'fun',[{type,{669,14},product,[{var,{669,15},'OldAdler'},{var,{669,25},'Data'}]},{type,{669,34},non_neg_integer,[]}]},[{type,{670,7},constraint,[{atom,{670,7},is_subtype},[{var,{670,7},'OldAdler'},{type,{670,19},non_neg_integer,[]}]]},{type,{671,7},constraint,[{atom,{671,7},is_subtype},[{var,{671,7},'Data'},{type,{671,15},iodata,[]}]]}]]}]}}]}},{{function,adler32,1},{643,2},[<<97,100,108,101,114,51,50,40,68,97,116,97,41>>],#{<<101,110>> => <<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,96,68,97,116,97,96,46>>},#{group => checksum,specification => [{attribute,{645,2},spec,{{adler32,1},[{type,{645,14},bounded_fun,[{type,{645,14},'fun',[{type,{645,14},product,[{var,{645,15},'Data'}]},{type,{645,24},non_neg_integer,[]}]},[{type,{646,7},constraint,[{atom,{646,7},is_subtype},[{var,{646,7},'Data'},{type,{646,15},iodata,[]}]]}]]}]}}]}}]}. \ 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 66a9064baef5..f288e634b4de 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,[],[<<70,105,108,101,32,105,110,116,101,114,102,97,99,101,32,109,111,100,117,108,101,46>>]},{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>>],#{<<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,{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>>}},{{function,copy,2},[{file,[102,105,108,101,46,101,114,108]},{location,771}],[<<99,111,112,121,47,50>>],#{},#{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>>,equiv => {function,copy,3}}},{{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>>],#{<<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,{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>>,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>>],#{},#{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>>,equiv => {function,delete,2},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,50>>]},<<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>>,{a,[{href,<<115,116,100,108,105,98,58,105,111,35,103,101,116,95,99,104,97,114,115,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,[],[<<105,111,58,103,101,116,95,99,104,97,114,115,47,51>>]}]},<<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,[]},{remote_type,{585,33},[{atom,{585,33},io},{atom,{585,36},device},[]]}]}]]},{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>>],#{<<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,{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>>,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>>],#{},#{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>>,equiv => {function,read_file_info,2},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>>,{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>>]}]},<<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,[]},{remote_type,{607,33},[{atom,{607,33},io},{atom,{607,36},device},[]]}]}]]},{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>>],#{<<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,{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>>,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>>],#{},#{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>>,equiv => {function,read_link_info,2},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,32,73,102,32,121,111,117,32,119,97,110,116,32,116,111,32,119,114,105,116,101,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>>}],[{code,[],[<<117,110,105,99,111,100,101,58,99,104,97,114,100,97,116,97,40,41>>]}]},<<32,116,111,32,116,104,101,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<32,121,111,117,32,115,104,111,117,108,100,32,117,115,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111,35,112,117,116,95,99,104,97,114,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,112,117,116,95,99,104,97,114,115,47,50>>]}]},<<32,105,110,115,116,101,97,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,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,[]},{remote_type,{671,33},[{atom,{671,33},io},{atom,{671,36},device},[]]}]}]]},{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,56>>}},{{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,53>>}},{{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>>],#{<<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,{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,54>>,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>>],#{},#{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,54>>,equiv => {function,write_file_info,3},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 +{docs_v1,{21,2},erlang,<<116,101,120,116,47,109,97,114,107,100,111,119,110>>,#{<<101,110>> => <<70,105,108,101,32,105,110,116,101,114,102,97,99,101,32,109,111,100,117,108,101,46,10,10,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,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,62,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,10,62,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,10,62,32,87,105,110,100,111,119,115,44,32,111,114,32,91,96,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50,96,93,40,96,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50,96,41,32,111,110,32,97,110,121,32,79,83,32,97,116,32,116,104,101,32,116,105,109,101,10,62,32,111,102,32,119,114,105,116,105,110,103,46,10,10,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,10,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,96,110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,47,48,96,46,32,73,116,32,114,101,116,117,114,110,115,32,96,108,97,116,105,110,49,96,10,111,114,32,96,117,116,102,56,96,46,10,10,73,110,32,96,108,97,116,105,110,49,96,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,10,96,117,116,102,56,96,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,10,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,10,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,10,10,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,10,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,96,117,116,102,56,96,32,109,111,100,101,46,10,10,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,10,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,96,117,116,102,56,96,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,10,96,108,97,116,105,110,49,96,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,96,43,102,110,108,96,32,40,116,111,32,102,111,114,99,101,32,96,108,97,116,105,110,49,96,32,109,111,100,101,41,32,111,114,10,96,43,102,110,117,96,32,40,116,111,32,102,111,114,99,101,32,96,117,116,102,56,96,32,109,111,100,101,41,32,119,104,101,110,32,115,116,97,114,116,105,110,103,32,91,96,101,114,108,96,93,40,96,101,58,101,114,116,115,58,101,114,108,95,99,109,100,46,109,100,96,41,46,10,10,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,10,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,10,76,97,116,105,110,45,49,46,32,84,104,101,32,99,111,110,99,101,112,116,32,111,102,32,95,114,97,119,32,102,105,108,101,110,97,109,101,115,95,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,10,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,96,117,116,102,56,96,32,109,111,100,101,46,10,10,65,32,95,114,97,119,32,102,105,108,101,110,97,109,101,95,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,10,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,10,10,87,104,101,110,32,114,117,110,110,105,110,103,32,105,110,32,96,117,116,102,56,96,32,109,111,100,101,44,32,102,117,110,99,116,105,111,110,115,32,96,108,105,115,116,95,100,105,114,47,49,96,32,97,110,100,32,96,114,101,97,100,95,108,105,110,107,47,49,96,32,110,101,118,101,114,10,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,10,102,117,110,99,116,105,111,110,115,32,91,96,108,105,115,116,95,100,105,114,95,97,108,108,47,49,96,93,40,96,109,58,102,105,108,101,35,108,105,115,116,95,100,105,114,95,97,108,108,96,41,32,97,110,100,10,91,96,114,101,97,100,95,108,105,110,107,95,97,108,108,47,49,96,93,40,96,109,58,102,105,108,101,35,114,101,97,100,95,108,105,110,107,95,97,108,108,96,41,46,10,10,83,101,101,32,97,108,115,111,32,115,101,99,116,105,111,110,10,91,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,93,40,96,101,58,115,116,100,108,105,98,58,117,110,105,99,111,100,101,95,117,115,97,103,101,46,109,100,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,96,41,10,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,10,62,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,10,62,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,95,114,101,106,101,99,116,101,100,95,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,10,62,32,111,112,101,114,97,116,105,111,110,115,32,102,97,105,108,46,10,10,35,35,32,80,79,83,73,88,32,69,114,114,111,114,32,67,111,100,101,115,10,10,45,32,96,101,97,99,99,101,115,96,32,92,45,32,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,10,45,32,96,101,97,103,97,105,110,96,32,92,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,10,45,32,96,101,98,97,100,102,96,32,92,45,32,66,97,100,32,102,105,108,101,32,110,117,109,98,101,114,10,45,32,96,101,98,117,115,121,96,32,92,45,32,70,105,108,101,32,98,117,115,121,10,45,32,96,101,100,113,117,111,116,96,32,92,45,32,68,105,115,107,32,113,117,111,116,97,32,101,120,99,101,101,100,101,100,10,45,32,96,101,101,120,105,115,116,96,32,92,45,32,70,105,108,101,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,10,45,32,96,101,102,97,117,108,116,96,32,92,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,10,45,32,96,101,102,98,105,103,96,32,92,45,32,70,105,108,101,32,116,111,111,32,108,97,114,103,101,10,45,32,96,101,105,110,116,114,96,32,92,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,10,45,32,96,101,105,110,118,97,108,96,32,92,45,32,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,10,45,32,96,101,105,111,96,32,92,45,32,73,47,79,32,101,114,114,111,114,10,45,32,96,101,105,115,100,105,114,96,32,92,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,10,45,32,96,101,108,111,111,112,96,32,92,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,10,45,32,96,101,109,102,105,108,101,96,32,92,45,32,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,10,45,32,96,101,109,108,105,110,107,96,32,92,45,32,84,111,111,32,109,97,110,121,32,108,105,110,107,115,10,45,32,96,101,110,97,109,101,116,111,111,108,111,110,103,96,32,92,45,32,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,10,45,32,96,101,110,102,105,108,101,96,32,92,45,32,70,105,108,101,32,116,97,98,108,101,32,111,118,101,114,102,108,111,119,10,45,32,96,101,110,111,100,101,118,96,32,92,45,32,78,111,32,115,117,99,104,32,100,101,118,105,99,101,10,45,32,96,101,110,111,101,110,116,96,32,92,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,10,45,32,96,101,110,111,109,101,109,96,32,92,45,32,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,10,45,32,96,101,110,111,115,112,99,96,32,92,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,10,45,32,96,101,110,111,116,98,108,107,96,32,92,45,32,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,10,45,32,96,101,110,111,116,100,105,114,96,32,92,45,32,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,10,45,32,96,101,110,111,116,115,117,112,96,32,92,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,10,45,32,96,101,110,120,105,111,96,32,92,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,10,45,32,96,101,112,101,114,109,96,32,92,45,32,78,111,116,32,111,119,110,101,114,10,45,32,96,101,112,105,112,101,96,32,92,45,32,66,114,111,107,101,110,32,112,105,112,101,10,45,32,96,101,114,111,102,115,96,32,92,45,32,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,10,45,32,96,101,115,112,105,112,101,96,32,92,45,32,73,110,118,97,108,105,100,32,115,101,101,107,10,45,32,96,101,115,114,99,104,96,32,92,45,32,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,10,45,32,96,101,115,116,97,108,101,96,32,92,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,10,45,32,96,101,120,100,101,118,96,32,92,45,32,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,10,10,35,35,32,80,101,114,102,111,114,109,97,110,99,101,10,10,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,10,10,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,10,96,109,58,105,111,96,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,10,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,10,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,10,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,10,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,10,62,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,10,62,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,10,62,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,10,10,96,111,112,101,110,47,50,96,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,96,100,101,108,97,121,101,100,95,119,114,105,116,101,96,32,97,110,100,32,96,114,101,97,100,95,97,104,101,97,100,96,32,116,111,32,116,117,114,110,32,111,110,10,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,10,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,10,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,10,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,10,115,101,99,111,110,100,115,32,119,104,101,110,32,116,101,115,116,101,100,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,10,96,119,114,105,116,101,47,50,96,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,10,102,97,115,116,101,114,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,10,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,10,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,10,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,10,91,96,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,96,93,40,96,119,114,105,116,101,47,50,96,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,10,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,10,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,107,101,114,110,101,108,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,96,109,58,105,111,96,44,32,116,104,101,32,112,114,111,99,101,115,115,10,62,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,10,62,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,10,10,35,35,32,83,101,101,32,65,108,115,111,10,10,96,109,58,102,105,108,101,110,97,109,101,96>>},#{otp_doc_vsn => {1,0,0}},[{{type,file_info_option,0},{337,2},[<<102,105,108,101,95,105,110,102,111,95,111,112,116,105,111,110,40,41>>],none,#{exported => false}},{{type,sendfile_option,0},{335,2},[<<115,101,110,100,102,105,108,101,95,111,112,116,105,111,110,40,41>>],none,#{exported => false}},{{type,read_file_option,0},{334,2},[<<114,101,97,100,95,102,105,108,101,95,111,112,116,105,111,110,40,41>>],none,#{exported => false}},{{type,delete_option,0},{333,2},[<<100,101,108,101,116,101,95,111,112,116,105,111,110,40,41>>],none,#{exported => false}},{{type,posix_file_advise,0},{331,2},[<<112,111,115,105,120,95,102,105,108,101,95,97,100,118,105,115,101,40,41>>],none,#{exported => false}},{{type,date_time,0},{329,2},[<<100,97,116,101,95,116,105,109,101,40,41>>],#{<<101,110>> => <<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>>},#{exported => true,specification => [{attribute,{330,2},type,{date_time,{remote_type,{330,22},[{atom,{330,22},calendar},{atom,{330,31},datetime},[]]},[]}}]}},{{type,posix,0},{306,2},[<<112,111,115,105,120,40,41>>],#{<<101,110>> => <<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,10,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>>},#{exported => true,specification => [{attribute,{310,2},type,{posix,{type,{311,9},union,[{atom,{311,9},eacces},{atom,{311,20},eagain},{atom,{312,9},ebadf},{atom,{312,19},ebadmsg},{atom,{312,31},ebusy},{atom,{313,9},edeadlk},{atom,{313,21},edeadlock},{atom,{313,35},edquot},{atom,{314,9},eexist},{atom,{315,9},efault},{atom,{315,20},efbig},{atom,{315,30},eftype},{atom,{316,9},eintr},{atom,{316,19},einval},{atom,{316,30},eio},{atom,{316,38},eisdir},{atom,{317,9},eloop},{atom,{318,9},emfile},{atom,{318,20},emlink},{atom,{318,31},emultihop},{atom,{319,9},enametoolong},{atom,{319,26},enfile},{atom,{320,9},enobufs},{atom,{320,21},enodev},{atom,{320,32},enolck},{atom,{320,43},enolink},{atom,{320,55},enoent},{atom,{321,9},enomem},{atom,{321,20},enospc},{atom,{321,31},enosr},{atom,{321,41},enostr},{atom,{321,52},enosys},{atom,{322,9},enotblk},{atom,{322,21},enotdir},{atom,{322,33},enotsup},{atom,{322,45},enxio},{atom,{323,9},eopnotsupp},{atom,{323,24},eoverflow},{atom,{324,9},eperm},{atom,{324,19},epipe},{atom,{325,9},erange},{atom,{325,20},erofs},{atom,{326,9},espipe},{atom,{326,21},esrch},{atom,{326,32},estale},{atom,{327,9},etxtbsy},{atom,{328,9},exdev}]},[]}}]}},{{type,name_all,0},{295,2},[<<110,97,109,101,95,97,108,108,40,41>>],#{<<101,110>> => <<65,32,102,105,108,101,32,110,97,109,101,32,117,115,101,100,32,97,115,32,105,110,112,117,116,32,105,110,116,111,32,96,109,58,102,105,108,101,96,32,65,80,73,32,102,117,110,99,116,105,111,110,115,46,10,10,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,10,96,82,97,119,70,105,108,101,110,97,109,101,96,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,10,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,10,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,10,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,95,110,111,116,95,32,97,108,108,111,119,101,100,32,105,110,10,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>>},#{exported => true,specification => [{attribute,{305,2},type,{name_all,{type,{305,22},union,[{type,{305,22},string,[]},{type,{305,33},atom,[]},{user_type,{305,42},deep_list,[]},{ann_type,{305,57},[{var,{305,57},'RawFilename'},{type,{305,72},binary,[]}]}]},[]}}]}},{{type,name,0},{288,2},[<<110,97,109,101,40,41>>],#{<<101,110>> => <<65,32,114,101,115,116,114,105,99,116,101,100,32,102,105,108,101,32,110,97,109,101,32,117,115,101,100,32,97,115,32,105,110,112,117,116,32,105,110,116,111,32,96,109,58,102,105,108,101,96,32,65,80,73,32,102,117,110,99,116,105,111,110,115,46,10,10,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,96,116,58,115,116,114,105,110,103,47,48,96,32,97,110,100,32,96,116,58,99,104,97,114,47,48,96,32,97,114,101,32,97,108,108,111,119,101,100,32,116,111,10,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,96,116,58,110,97,109,101,95,97,108,108,47,48,96,32,116,121,112,101,46>>},#{exported => true,specification => [{attribute,{294,2},type,{name,{type,{294,22},union,[{type,{294,22},string,[]},{type,{294,33},atom,[]},{user_type,{294,42},deep_list,[]}]},[]}}]}},{{type,deep_list,0},{287,2},[<<100,101,101,112,95,108,105,115,116,40,41>>],none,#{exported => false}},{{type,mode,0},{278,2},[<<109,111,100,101,40,41>>],none,#{exported => true}},{{type,location,0},{275,2},[<<108,111,99,97,116,105,111,110,40,41>>],none,#{exported => true}},{{type,io_device,0},{269,2},[<<105,111,95,100,101,118,105,99,101,40,41>>],#{<<101,110>> => <<65,110,32,73,79,32,100,101,118,105,99,101,32,97,115,32,114,101,116,117,114,110,101,100,32,98,121,32,96,111,112,101,110,47,50,96,46,10,10,96,116,58,105,111,95,115,101,114,118,101,114,47,48,96,32,105,115,32,114,101,116,117,114,110,101,100,32,98,121,32,100,101,102,97,117,108,116,32,97,110,100,32,96,116,58,102,100,47,48,96,32,105,115,32,114,101,116,117,114,110,101,100,32,105,102,32,116,104,101,32,96,114,97,119,96,32,111,112,116,105,111,110,32,105,115,32,103,105,118,101,110,46>>},#{exported => true,specification => [{attribute,{274,2},type,{io_device,{type,{274,22},union,[{user_type,{274,22},io_server,[]},{user_type,{274,36},fd,[]}]},[]}}]}},{{type,io_server,0},{267,2},[<<105,111,95,115,101,114,118,101,114,40,41>>],#{<<101,110>> => <<65,32,112,114,111,99,101,115,115,32,104,97,110,100,108,105,110,103,32,116,104,101,32,73,47,79,32,112,114,111,116,111,99,111,108,46>>},#{exported => true,specification => [{attribute,{268,2},type,{io_server,{type,{268,22},pid,[]},[]}}]}},{{type,fd,0},{265,2},[<<102,100,40,41>>],#{<<101,110>> => <<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,91,96,114,97,119,96,93,40,96,109,58,102,105,108,101,35,114,97,119,96,41,32,109,111,100,101,46>>},#{exported => true,specification => [{attribute,{266,2},type,{fd,{user_type,{266,22},file_descriptor,[]},[]}}]}},{{type,file_descriptor,0},{263,2},[<<102,105,108,101,95,100,101,115,99,114,105,112,116,111,114,40,41>>],hidden,#{exported => false}},{{type,file_info,0},{261,2},[<<102,105,108,101,95,105,110,102,111,40,41>>],none,#{exported => true}},{{type,filename_all,0},{257,2},[<<102,105,108,101,110,97,109,101,95,97,108,108,40,41>>],#{<<101,110>> => <<65,32,102,105,108,101,32,110,97,109,101,32,97,115,32,114,101,116,117,114,110,101,100,32,102,114,111,109,32,96,109,58,102,105,108,101,96,32,65,80,73,32,102,117,110,99,116,105,111,110,115,46,10,10,83,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,96,116,58,110,97,109,101,95,97,108,108,47,48,96,32,116,121,112,101,46>>},#{exported => true,specification => [{attribute,{260,2},type,{filename_all,{type,{260,25},union,[{type,{260,25},string,[]},{ann_type,{260,37},[{var,{260,37},'RawFilename'},{type,{260,52},binary,[]}]}]},[]}}]}},{{type,filename,0},{253,2},[<<102,105,108,101,110,97,109,101,40,41>>],#{<<101,110>> => <<65,32,102,105,108,101,32,110,97,109,101,32,97,115,32,114,101,116,117,114,110,101,100,32,102,114,111,109,32,96,109,58,102,105,108,101,96,32,65,80,73,32,102,117,110,99,116,105,111,110,115,46,10,10,83,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,96,116,58,110,97,109,101,95,97,108,108,47,48,96,32,116,121,112,101,46>>},#{exported => true,specification => [{attribute,{256,2},type,{filename,{type,{256,22},string,[]},[]}}]}},{{function,sendfile,2},{2720,2},[<<115,101,110,100,102,105,108,101,40,70,105,108,101,110,97,109,101,44,32,83,111,99,107,101,116,41>>],#{<<101,110>> => <<83,101,110,100,115,32,116,104,101,32,102,105,108,101,32,96,70,105,108,101,110,97,109,101,96,32,116,111,32,96,83,111,99,107,101,116,96,46,32,82,101,116,117,114,110,115,32,96,123,111,107,44,32,66,121,116,101,115,83,101,110,116,125,96,32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,10,111,116,104,101,114,119,105,115,101,32,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,46>>},#{specification => [{attribute,{2725,2},spec,{{sendfile,2},[{type,{2725,15},bounded_fun,[{type,{2725,15},'fun',[{type,{2725,15},product,[{var,{2725,16},'Filename'},{var,{2725,26},'Socket'}]},{type,{2726,4},union,[{type,{2726,4},tuple,[{atom,{2726,5},ok},{type,{2726,11},non_neg_integer,[]}]},{type,{2726,32},tuple,[{atom,{2726,33},error},{type,{2726,42},union,[{remote_type,{2726,42},[{atom,{2726,42},inet},{atom,{2726,47},posix},[]]},{atom,{2727,5},closed},{atom,{2727,14},badarg},{atom,{2727,23},not_owner}]}]}]}]},[{type,{2728,7},constraint,[{atom,{2728,7},is_subtype},[{var,{2728,7},'Filename'},{user_type,{2728,19},name_all,[]}]]},{type,{2729,7},constraint,[{atom,{2729,7},is_subtype},[{var,{2729,7},'Socket'},{type,{2729,17},union,[{remote_type,{2729,17},[{atom,{2729,17},inet},{atom,{2729,22},socket},[]]},{remote_type,{2729,33},[{atom,{2729,33},socket},{atom,{2729,40},socket},[]]},{type,{2730,22},'fun',[{type,{2730,22},product,[{type,{2730,23},iolist,[]}]},{type,{2730,36},union,[{atom,{2730,36},ok},{type,{2730,41},tuple,[{atom,{2730,42},error},{type,{2730,49},union,[{remote_type,{2730,49},[{atom,{2730,49},inet},{atom,{2730,54},posix},[]]},{atom,{2730,64},closed}]}]}]}]}]}]]}]]}]}}],since => <<79,84,80,32,82,49,53,66>>}},{{function,sendfile,5},{2672,2},[<<115,101,110,100,102,105,108,101,40,82,97,119,70,105,108,101,44,32,83,111,99,107,101,116,44,32,79,102,102,115,101,116,44,32,66,121,116,101,115,44,32,79,112,116,115,41>>],#{<<101,110>> => <<83,101,110,100,115,32,96,66,121,116,101,115,96,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,96,82,97,119,70,105,108,101,96,32,98,101,103,105,110,110,105,110,103,32,97,116,32,96,79,102,102,115,101,116,96,32,116,111,10,96,83,111,99,107,101,116,96,46,32,82,101,116,117,114,110,115,32,96,123,111,107,44,32,66,121,116,101,115,83,101,110,116,125,96,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,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,46,10,73,102,32,96,66,121,116,101,115,96,32,105,115,32,115,101,116,32,116,111,32,96,48,96,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,96,79,102,102,115,101,116,96,32,105,115,32,115,101,110,116,46,10,10,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,96,114,97,119,96,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,10,96,115,101,110,100,102,105,108,101,96,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,10,96,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,96,32,111,114,32,109,111,100,117,108,101,32,91,96,115,111,99,107,101,116,96,39,115,93,40,96,115,111,99,107,101,116,58,115,101,116,111,112,116,47,51,96,41,10,91,108,101,118,101,108,32,96,111,116,112,96,32,115,111,99,107,101,116,32,111,112,116,105,111,110,32,93,40,96,116,58,115,111,99,107,101,116,58,111,116,112,95,115,111,99,107,101,116,95,111,112,116,105,111,110,47,48,96,41,96,99,111,110,116,114,111,108,108,105,110,103,95,112,114,111,99,101,115,115,96,46,10,10,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,96,115,101,110,100,102,105,108,101,96,44,32,97,110,32,69,114,108,97,110,103,32,102,97,108,108,98,97,99,107,10,117,115,105,110,103,32,96,114,101,97,100,47,50,96,32,97,110,100,32,96,103,101,110,95,116,99,112,58,115,101,110,100,47,50,96,32,105,115,32,117,115,101,100,46,10,10,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,10,10,45,32,42,42,96,99,104,117,110,107,95,115,105,122,101,96,42,42,32,45,32,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,10,32,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,10,32,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>>},#{specification => [{attribute,{2692,2},spec,{{sendfile,5},[{type,{2692,15},bounded_fun,[{type,{2692,15},'fun',[{type,{2692,15},product,[{var,{2692,16},'RawFile'},{var,{2692,25},'Socket'},{var,{2692,33},'Offset'},{var,{2692,41},'Bytes'},{var,{2692,48},'Opts'}]},{type,{2693,4},union,[{type,{2693,4},tuple,[{atom,{2693,5},ok},{type,{2693,11},non_neg_integer,[]}]},{type,{2693,32},tuple,[{atom,{2693,33},error},{type,{2693,42},union,[{remote_type,{2693,42},[{atom,{2693,42},inet},{atom,{2693,47},posix},[]]},{atom,{2694,5},closed},{atom,{2694,14},badarg},{atom,{2694,23},not_owner}]}]}]}]},[{type,{2695,7},constraint,[{atom,{2695,7},is_subtype},[{var,{2695,7},'RawFile'},{user_type,{2695,18},fd,[]}]]},{type,{2696,7},constraint,[{atom,{2696,7},is_subtype},[{var,{2696,7},'Socket'},{type,{2696,17},union,[{remote_type,{2696,17},[{atom,{2696,17},inet},{atom,{2696,22},socket},[]]},{remote_type,{2696,33},[{atom,{2696,33},socket},{atom,{2696,40},socket},[]]},{type,{2697,22},'fun',[{type,{2697,22},product,[{type,{2697,23},iolist,[]}]},{type,{2697,36},union,[{atom,{2697,36},ok},{type,{2697,41},tuple,[{atom,{2697,42},error},{type,{2697,49},union,[{remote_type,{2697,49},[{atom,{2697,49},inet},{atom,{2697,54},posix},[]]},{atom,{2697,64},closed}]}]}]}]}]}]]},{type,{2698,7},constraint,[{atom,{2698,7},is_subtype},[{var,{2698,7},'Offset'},{type,{2698,17},non_neg_integer,[]}]]},{type,{2699,7},constraint,[{atom,{2699,7},is_subtype},[{var,{2699,7},'Bytes'},{type,{2699,16},non_neg_integer,[]}]]},{type,{2700,7},constraint,[{atom,{2700,7},is_subtype},[{var,{2700,7},'Opts'},{type,{2700,15},list,[{user_type,{2700,16},sendfile_option,[]}]}]]}]]}]}}],since => <<79,84,80,32,82,49,53,66>>}},{{function,change_time,3},{2647,2},[<<99,104,97,110,103,101,95,116,105,109,101,40,70,105,108,101,110,97,109,101,44,32,65,116,105,109,101,44,32,77,116,105,109,101,41>>],#{<<101,110>> => <<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,10,96,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50,96,46>>},#{specification => [{attribute,{2651,2},spec,{{change_time,3},[{type,{2651,18},bounded_fun,[{type,{2651,18},'fun',[{type,{2651,18},product,[{var,{2651,19},'Filename'},{var,{2651,29},'Atime'},{var,{2651,36},'Mtime'}]},{type,{2651,46},union,[{atom,{2651,46},ok},{type,{2651,51},tuple,[{atom,{2651,52},error},{var,{2651,59},'Reason'}]}]}]},[{type,{2652,7},constraint,[{atom,{2652,7},is_subtype},[{var,{2652,7},'Filename'},{user_type,{2652,19},name_all,[]}]]},{type,{2653,7},constraint,[{atom,{2653,7},is_subtype},[{var,{2653,7},'Atime'},{user_type,{2653,16},date_time,[]}]]},{type,{2654,7},constraint,[{atom,{2654,7},is_subtype},[{var,{2654,7},'Mtime'},{user_type,{2654,16},date_time,[]}]]},{type,{2655,7},constraint,[{atom,{2655,7},is_subtype},[{var,{2655,7},'Reason'},{type,{2655,17},union,[{user_type,{2655,17},posix,[]},{atom,{2655,27},badarg}]}]]}]]}]}}]}},{{function,change_time,2},{2636,2},[<<99,104,97,110,103,101,95,116,105,109,101,40,70,105,108,101,110,97,109,101,44,32,77,116,105,109,101,41>>],#{<<101,110>> => <<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,96,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50,96,46>>},#{specification => [{attribute,{2637,2},spec,{{change_time,2},[{type,{2637,18},bounded_fun,[{type,{2637,18},'fun',[{type,{2637,18},product,[{var,{2637,19},'Filename'},{var,{2637,29},'Mtime'}]},{type,{2637,39},union,[{atom,{2637,39},ok},{type,{2637,44},tuple,[{atom,{2637,45},error},{var,{2637,52},'Reason'}]}]}]},[{type,{2638,7},constraint,[{atom,{2638,7},is_subtype},[{var,{2638,7},'Filename'},{user_type,{2638,19},name_all,[]}]]},{type,{2639,7},constraint,[{atom,{2639,7},is_subtype},[{var,{2639,7},'Mtime'},{user_type,{2639,16},date_time,[]}]]},{type,{2640,7},constraint,[{atom,{2640,7},is_subtype},[{var,{2640,7},'Reason'},{type,{2640,17},union,[{user_type,{2640,17},posix,[]},{atom,{2640,27},badarg}]}]]}]]}]}}]}},{{function,change_group,2},{2626,2},[<<99,104,97,110,103,101,95,103,114,111,117,112,40,70,105,108,101,110,97,109,101,44,32,71,105,100,41>>],#{<<101,110>> => <<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,96,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50,96,46>>},#{specification => [{attribute,{2627,2},spec,{{change_group,2},[{type,{2627,19},bounded_fun,[{type,{2627,19},'fun',[{type,{2627,19},product,[{var,{2627,20},'Filename'},{var,{2627,30},'Gid'}]},{type,{2627,38},union,[{atom,{2627,38},ok},{type,{2627,43},tuple,[{atom,{2627,44},error},{var,{2627,51},'Reason'}]}]}]},[{type,{2628,7},constraint,[{atom,{2628,7},is_subtype},[{var,{2628,7},'Filename'},{user_type,{2628,19},name_all,[]}]]},{type,{2629,7},constraint,[{atom,{2629,7},is_subtype},[{var,{2629,7},'Gid'},{type,{2629,14},integer,[]}]]},{type,{2630,7},constraint,[{atom,{2630,7},is_subtype},[{var,{2630,7},'Reason'},{type,{2630,17},union,[{user_type,{2630,17},posix,[]},{atom,{2630,27},badarg}]}]]}]]}]}}]}},{{function,change_owner,3},{2615,2},[<<99,104,97,110,103,101,95,111,119,110,101,114,40,70,105,108,101,110,97,109,101,44,32,85,105,100,44,32,71,105,100,41>>],#{<<101,110>> => <<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,96,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50,96,46>>},#{specification => [{attribute,{2616,2},spec,{{change_owner,3},[{type,{2616,19},bounded_fun,[{type,{2616,19},'fun',[{type,{2616,19},product,[{var,{2616,20},'Filename'},{var,{2616,30},'Uid'},{var,{2616,35},'Gid'}]},{type,{2616,43},union,[{atom,{2616,43},ok},{type,{2616,48},tuple,[{atom,{2616,49},error},{var,{2616,56},'Reason'}]}]}]},[{type,{2617,7},constraint,[{atom,{2617,7},is_subtype},[{var,{2617,7},'Filename'},{user_type,{2617,19},name_all,[]}]]},{type,{2618,7},constraint,[{atom,{2618,7},is_subtype},[{var,{2618,7},'Uid'},{type,{2618,14},integer,[]}]]},{type,{2619,7},constraint,[{atom,{2619,7},is_subtype},[{var,{2619,7},'Gid'},{type,{2619,14},integer,[]}]]},{type,{2620,7},constraint,[{atom,{2620,7},is_subtype},[{var,{2620,7},'Reason'},{type,{2620,17},union,[{user_type,{2620,17},posix,[]},{atom,{2620,27},badarg}]}]]}]]}]}}]}},{{function,change_owner,2},{2605,2},[<<99,104,97,110,103,101,95,111,119,110,101,114,40,70,105,108,101,110,97,109,101,44,32,85,105,100,41>>],#{<<101,110>> => <<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,96,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50,96,46>>},#{specification => [{attribute,{2606,2},spec,{{change_owner,2},[{type,{2606,19},bounded_fun,[{type,{2606,19},'fun',[{type,{2606,19},product,[{var,{2606,20},'Filename'},{var,{2606,30},'Uid'}]},{type,{2606,38},union,[{atom,{2606,38},ok},{type,{2606,43},tuple,[{atom,{2606,44},error},{var,{2606,51},'Reason'}]}]}]},[{type,{2607,7},constraint,[{atom,{2607,7},is_subtype},[{var,{2607,7},'Filename'},{user_type,{2607,19},name_all,[]}]]},{type,{2608,7},constraint,[{atom,{2608,7},is_subtype},[{var,{2608,7},'Uid'},{type,{2608,14},integer,[]}]]},{type,{2609,7},constraint,[{atom,{2609,7},is_subtype},[{var,{2609,7},'Reason'},{type,{2609,17},union,[{user_type,{2609,17},posix,[]},{atom,{2609,27},badarg}]}]]}]]}]}}]}},{{function,change_mode,2},{2594,2},[<<99,104,97,110,103,101,95,109,111,100,101,40,70,105,108,101,110,97,109,101,44,32,77,111,100,101,41>>],#{<<101,110>> => <<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,96,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50,96,46>>},#{specification => [{attribute,{2596,2},spec,{{change_mode,2},[{type,{2596,18},bounded_fun,[{type,{2596,18},'fun',[{type,{2596,18},product,[{var,{2596,19},'Filename'},{var,{2596,29},'Mode'}]},{type,{2596,38},union,[{atom,{2596,38},ok},{type,{2596,43},tuple,[{atom,{2596,44},error},{var,{2596,51},'Reason'}]}]}]},[{type,{2597,7},constraint,[{atom,{2597,7},is_subtype},[{var,{2597,7},'Filename'},{user_type,{2597,19},name_all,[]}]]},{type,{2598,7},constraint,[{atom,{2598,7},is_subtype},[{var,{2598,7},'Mode'},{type,{2598,15},integer,[]}]]},{type,{2599,7},constraint,[{atom,{2599,7},is_subtype},[{var,{2599,7},'Reason'},{type,{2599,17},union,[{user_type,{2599,17},posix,[]},{atom,{2599,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66>>}},{{function,path_open,3},{2551,2},[<<112,97,116,104,95,111,112,101,110,40,80,97,116,104,44,32,70,105,108,101,110,97,109,101,44,32,77,111,100,101,115,41>>],#{<<101,110>> => <<83,101,97,114,99,104,101,115,32,116,104,101,32,112,97,116,104,32,96,80,97,116,104,96,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,96,70,105,108,101,110,97,109,101,96,10,105,115,32,102,111,117,110,100,46,32,73,102,32,96,70,105,108,101,110,97,109,101,96,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,96,80,97,116,104,96,32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,101,110,32,111,112,101,110,115,10,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,96,77,111,100,101,115,96,46,10,10,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,10,10,45,32,42,42,96,123,111,107,44,32,73,111,68,101,118,105,99,101,44,32,70,117,108,108,78,97,109,101,125,96,42,42,32,45,32,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,10,32,32,96,73,111,68,101,118,105,99,101,96,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,96,70,117,108,108,78,97,109,101,96,32,105,115,32,116,104,101,32,102,117,108,108,32,110,97,109,101,32,111,102,32,116,104,101,10,32,32,102,105,108,101,46,10,10,45,32,42,42,96,123,101,114,114,111,114,44,32,101,110,111,101,110,116,125,96,42,42,32,45,32,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,10,32,32,96,80,97,116,104,96,46,10,10,45,32,42,42,96,123,101,114,114,111,114,44,32,97,116,111,109,40,41,125,96,42,42,32,45,32,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>>},#{specification => [{attribute,{2567,2},spec,{{path_open,3},[{type,{2567,16},bounded_fun,[{type,{2567,16},'fun',[{type,{2567,16},product,[{var,{2567,17},'Path'},{var,{2567,23},'Filename'},{var,{2567,33},'Modes'}]},{type,{2568,14},union,[{type,{2568,14},tuple,[{atom,{2568,15},ok},{var,{2568,19},'IoDevice'},{var,{2568,29},'FullName'}]},{type,{2568,41},tuple,[{atom,{2568,42},error},{var,{2568,49},'Reason'}]}]}]},[{type,{2569,7},constraint,[{atom,{2569,7},is_subtype},[{var,{2569,7},'Path'},{type,{2569,15},list,[{ann_type,{2569,16},[{var,{2569,16},'Dir'},{user_type,{2569,23},name_all,[]}]}]}]]},{type,{2570,7},constraint,[{atom,{2570,7},is_subtype},[{var,{2570,7},'Filename'},{user_type,{2570,19},name_all,[]}]]},{type,{2571,7},constraint,[{atom,{2571,7},is_subtype},[{var,{2571,7},'Modes'},{type,{2571,16},list,[{type,{2571,17},union,[{user_type,{2571,17},mode,[]},{atom,{2571,26},directory}]}]}]]},{type,{2572,7},constraint,[{atom,{2572,7},is_subtype},[{var,{2572,7},'IoDevice'},{user_type,{2572,19},io_device,[]}]]},{type,{2573,7},constraint,[{atom,{2573,7},is_subtype},[{var,{2573,7},'FullName'},{user_type,{2573,19},filename_all,[]}]]},{type,{2574,7},constraint,[{atom,{2574,7},is_subtype},[{var,{2574,7},'Reason'},{type,{2574,17},union,[{user_type,{2574,17},posix,[]},{atom,{2574,27},badarg},{atom,{2574,36},system_limit}]}]]}]]}]}}]}},{{function,path_script,3},{2514,2},[<<112,97,116,104,95,115,99,114,105,112,116,40,80,97,116,104,44,32,70,105,108,101,110,97,109,101,44,32,66,105,110,100,105,110,103,115,41>>],#{<<101,110>> => <<84,104,101,32,115,97,109,101,32,97,115,32,91,96,112,97,116,104,95,115,99,114,105,112,116,47,50,96,93,40,96,112,97,116,104,95,115,99,114,105,112,116,47,50,96,41,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,10,96,66,105,110,100,105,110,103,115,96,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,96,109,58,101,114,108,95,101,118,97,108,96,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>>},#{specification => [{attribute,{2518,2},spec,{{path_script,3},[{type,{2518,18},bounded_fun,[{type,{2518,18},'fun',[{type,{2518,18},product,[{var,{2518,19},'Path'},{var,{2518,25},'Filename'},{var,{2518,35},'Bindings'}]},{type,{2519,11},union,[{type,{2519,11},tuple,[{atom,{2519,12},ok},{var,{2519,16},'Value'},{var,{2519,23},'FullName'}]},{type,{2519,35},tuple,[{atom,{2519,36},error},{var,{2519,43},'Reason'}]}]}]},[{type,{2520,7},constraint,[{atom,{2520,7},is_subtype},[{var,{2520,7},'Path'},{type,{2520,15},list,[{ann_type,{2520,16},[{var,{2520,16},'Dir'},{user_type,{2520,23},name_all,[]}]}]}]]},{type,{2521,7},constraint,[{atom,{2521,7},is_subtype},[{var,{2521,7},'Filename'},{user_type,{2521,19},name_all,[]}]]},{type,{2522,7},constraint,[{atom,{2522,7},is_subtype},[{var,{2522,7},'Bindings'},{remote_type,{2522,19},[{atom,{2522,19},erl_eval},{atom,{2522,28},binding_struct},[]]}]]},{type,{2523,7},constraint,[{atom,{2523,7},is_subtype},[{var,{2523,7},'Value'},{type,{2523,16},term,[]}]]},{type,{2524,7},constraint,[{atom,{2524,7},is_subtype},[{var,{2524,7},'FullName'},{user_type,{2524,19},filename_all,[]}]]},{type,{2525,7},constraint,[{atom,{2525,7},is_subtype},[{var,{2525,7},'Reason'},{type,{2525,17},union,[{user_type,{2525,17},posix,[]},{atom,{2525,27},badarg},{atom,{2525,36},terminated},{atom,{2525,49},system_limit},{type,{2526,17},tuple,[{ann_type,{2526,18},[{var,{2526,18},'Line'},{type,{2526,26},integer,[]}]},{ann_type,{2526,37},[{var,{2526,37},'Mod'},{type,{2526,44},module,[]}]},{ann_type,{2526,54},[{var,{2526,54},'Term'},{type,{2526,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,path_script,2},{2478,2},[<<112,97,116,104,95,115,99,114,105,112,116,40,80,97,116,104,44,32,70,105,108,101,110,97,109,101,41>>],#{<<101,110>> => <<83,101,97,114,99,104,101,115,32,116,104,101,32,112,97,116,104,32,96,80,97,116,104,96,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,96,70,105,108,101,110,97,109,101,96,10,105,115,32,102,111,117,110,100,46,32,73,102,32,96,70,105,108,101,110,97,109,101,96,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,96,80,97,116,104,96,32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,101,110,32,114,101,97,100,115,10,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,96,46,96,32,40,111,114,32,96,44,96,44,32,97,32,115,101,113,117,101,110,99,101,32,111,102,10,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,10,10,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,10,10,45,32,42,42,96,123,111,107,44,32,86,97,108,117,101,44,32,70,117,108,108,78,97,109,101,125,96,42,42,32,45,32,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,96,70,117,108,108,78,97,109,101,96,32,105,115,10,32,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,96,86,97,108,117,101,96,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,10,10,45,32,42,42,96,123,101,114,114,111,114,44,32,101,110,111,101,110,116,125,96,42,42,32,45,32,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,10,32,32,96,80,97,116,104,96,46,10,10,45,32,42,42,96,123,101,114,114,111,114,44,32,97,116,111,109,40,41,125,96,42,42,32,45,32,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,10,32,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,96,111,112,101,110,47,50,96,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,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,96,102,111,114,109,97,116,95,101,114,114,111,114,47,49,96,32,116,111,32,99,111,110,118,101,114,116,32,116,104,101,10,32,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,10,10,84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32,96,70,105,108,101,110,97,109,101,96,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,10,91,96,101,112,112,96,93,40,96,109,58,101,112,112,35,101,110,99,111,100,105,110,103,96,41,46>>},#{specification => [{attribute,{2502,2},spec,{{path_script,2},[{type,{2502,18},bounded_fun,[{type,{2502,18},'fun',[{type,{2502,18},product,[{var,{2502,19},'Path'},{var,{2502,25},'Filename'}]},{type,{2503,14},union,[{type,{2503,14},tuple,[{atom,{2503,15},ok},{var,{2503,19},'Value'},{var,{2503,26},'FullName'}]},{type,{2503,38},tuple,[{atom,{2503,39},error},{var,{2503,46},'Reason'}]}]}]},[{type,{2504,7},constraint,[{atom,{2504,7},is_subtype},[{var,{2504,7},'Path'},{type,{2504,15},list,[{ann_type,{2504,16},[{var,{2504,16},'Dir'},{user_type,{2504,23},name_all,[]}]}]}]]},{type,{2505,7},constraint,[{atom,{2505,7},is_subtype},[{var,{2505,7},'Filename'},{user_type,{2505,19},name_all,[]}]]},{type,{2506,7},constraint,[{atom,{2506,7},is_subtype},[{var,{2506,7},'Value'},{type,{2506,16},term,[]}]]},{type,{2507,7},constraint,[{atom,{2507,7},is_subtype},[{var,{2507,7},'FullName'},{user_type,{2507,19},filename_all,[]}]]},{type,{2508,7},constraint,[{atom,{2508,7},is_subtype},[{var,{2508,7},'Reason'},{type,{2508,17},union,[{user_type,{2508,17},posix,[]},{atom,{2508,27},badarg},{atom,{2508,36},terminated},{atom,{2508,49},system_limit},{type,{2509,17},tuple,[{ann_type,{2509,18},[{var,{2509,18},'Line'},{type,{2509,26},integer,[]}]},{ann_type,{2509,37},[{var,{2509,37},'Mod'},{type,{2509,44},module,[]}]},{ann_type,{2509,54},[{var,{2509,54},'Term'},{type,{2509,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,script,2},{2457,2},[<<115,99,114,105,112,116,40,70,105,108,101,110,97,109,101,44,32,66,105,110,100,105,110,103,115,41>>],#{<<101,110>> => <<84,104,101,32,115,97,109,101,32,97,115,32,91,96,115,99,114,105,112,116,47,49,96,93,40,96,115,99,114,105,112,116,47,49,96,41,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,96,66,105,110,100,105,110,103,115,96,32,97,114,101,10,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,96,109,58,101,114,108,95,101,118,97,108,96,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>>},#{specification => [{attribute,{2461,2},spec,{{script,2},[{type,{2461,13},bounded_fun,[{type,{2461,13},'fun',[{type,{2461,13},product,[{var,{2461,14},'Filename'},{var,{2461,24},'Bindings'}]},{type,{2461,37},union,[{type,{2461,37},tuple,[{atom,{2461,38},ok},{var,{2461,42},'Value'}]},{type,{2461,51},tuple,[{atom,{2461,52},error},{var,{2461,59},'Reason'}]}]}]},[{type,{2462,7},constraint,[{atom,{2462,7},is_subtype},[{var,{2462,7},'Filename'},{user_type,{2462,19},name_all,[]}]]},{type,{2463,7},constraint,[{atom,{2463,7},is_subtype},[{var,{2463,7},'Bindings'},{remote_type,{2463,19},[{atom,{2463,19},erl_eval},{atom,{2463,28},binding_struct},[]]}]]},{type,{2464,7},constraint,[{atom,{2464,7},is_subtype},[{var,{2464,7},'Value'},{type,{2464,16},term,[]}]]},{type,{2465,7},constraint,[{atom,{2465,7},is_subtype},[{var,{2465,7},'Reason'},{type,{2465,17},union,[{user_type,{2465,17},posix,[]},{atom,{2465,27},badarg},{atom,{2465,36},terminated},{atom,{2465,49},system_limit},{type,{2466,17},tuple,[{ann_type,{2466,18},[{var,{2466,18},'Line'},{type,{2466,26},integer,[]}]},{ann_type,{2466,37},[{var,{2466,37},'Mod'},{type,{2466,44},module,[]}]},{ann_type,{2466,54},[{var,{2466,54},'Term'},{type,{2466,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,script,1},{2429,2},[<<115,99,114,105,112,116,40,70,105,108,101,110,97,109,101,41>>],#{<<101,110>> => <<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,96,46,96,32,40,111,114,32,96,44,96,44,32,97,32,115,101,113,117,101,110,99,101,32,111,102,10,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,10,10,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,10,10,45,32,42,42,96,123,111,107,44,32,86,97,108,117,101,125,96,42,42,32,45,32,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,96,86,97,108,117,101,96,32,105,115,32,116,104,101,32,118,97,108,117,101,32,111,102,10,32,32,116,104,101,32,108,97,115,116,32,101,120,112,114,101,115,115,105,111,110,46,10,10,45,32,42,42,96,123,101,114,114,111,114,44,32,97,116,111,109,40,41,125,96,42,42,32,45,32,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,10,32,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,96,111,112,101,110,47,50,96,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,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,96,102,111,114,109,97,116,95,101,114,114,111,114,47,49,96,32,116,111,32,99,111,110,118,101,114,116,32,116,104,101,10,32,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,10,10,84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32,96,70,105,108,101,110,97,109,101,96,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,10,91,96,101,112,112,96,93,40,96,109,58,101,112,112,35,101,110,99,111,100,105,110,103,96,41,46>>},#{specification => [{attribute,{2448,2},spec,{{script,1},[{type,{2448,13},bounded_fun,[{type,{2448,13},'fun',[{type,{2448,13},product,[{var,{2448,14},'Filename'}]},{type,{2448,27},union,[{type,{2448,27},tuple,[{atom,{2448,28},ok},{var,{2448,32},'Value'}]},{type,{2448,41},tuple,[{atom,{2448,42},error},{var,{2448,49},'Reason'}]}]}]},[{type,{2449,7},constraint,[{atom,{2449,7},is_subtype},[{var,{2449,7},'Filename'},{user_type,{2449,19},name_all,[]}]]},{type,{2450,7},constraint,[{atom,{2450,7},is_subtype},[{var,{2450,7},'Value'},{type,{2450,16},term,[]}]]},{type,{2451,7},constraint,[{atom,{2451,7},is_subtype},[{var,{2451,7},'Reason'},{type,{2451,17},union,[{user_type,{2451,17},posix,[]},{atom,{2451,27},badarg},{atom,{2451,36},terminated},{atom,{2451,49},system_limit},{type,{2452,17},tuple,[{ann_type,{2452,18},[{var,{2452,18},'Line'},{type,{2452,26},integer,[]}]},{ann_type,{2452,37},[{var,{2452,37},'Mod'},{type,{2452,44},module,[]}]},{ann_type,{2452,54},[{var,{2452,54},'Term'},{type,{2452,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,path_eval,3},{2404,2},[<<112,97,116,104,95,101,118,97,108,40,80,97,116,104,44,32,70,105,108,101,110,97,109,101,44,32,66,105,110,100,105,110,103,115,41>>],hidden,#{}},{{function,path_eval,2},{2368,2},[<<112,97,116,104,95,101,118,97,108,40,80,97,116,104,44,32,70,105,108,101,110,97,109,101,41>>],#{<<101,110>> => <<83,101,97,114,99,104,101,115,32,116,104,101,32,112,97,116,104,32,96,80,97,116,104,96,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,96,70,105,108,101,110,97,109,101,96,10,105,115,32,102,111,117,110,100,46,32,73,102,32,96,70,105,108,101,110,97,109,101,96,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,96,80,97,116,104,96,32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,101,110,32,114,101,97,100,115,10,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,96,46,96,32,40,111,114,32,96,44,96,44,32,97,32,115,101,113,117,101,110,99,101,32,111,102,10,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,10,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,10,101,102,102,101,99,116,46,10,10,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,10,10,45,32,42,42,96,123,111,107,44,32,70,117,108,108,78,97,109,101,125,96,42,42,32,45,32,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,96,70,117,108,108,78,97,109,101,96,32,105,115,32,116,104,101,32,102,117,108,108,10,32,32,110,97,109,101,32,111,102,32,116,104,101,32,102,105,108,101,46,10,10,45,32,42,42,96,123,101,114,114,111,114,44,32,101,110,111,101,110,116,125,96,42,42,32,45,32,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,10,32,32,96,80,97,116,104,96,46,10,10,45,32,42,42,96,123,101,114,114,111,114,44,32,97,116,111,109,40,41,125,96,42,42,32,45,32,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,10,32,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,96,111,112,101,110,47,50,96,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,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,96,102,111,114,109,97,116,95,101,114,114,111,114,47,49,96,32,116,111,32,99,111,110,118,101,114,116,32,116,104,101,10,32,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,10,10,84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32,96,70,105,108,101,110,97,109,101,96,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,10,91,96,101,112,112,96,93,40,96,109,58,101,112,112,35,101,110,99,111,100,105,110,103,96,41,46>>},#{specification => [{attribute,{2394,2},spec,{{path_eval,2},[{type,{2394,16},bounded_fun,[{type,{2394,16},'fun',[{type,{2394,16},product,[{var,{2394,17},'Path'},{var,{2394,23},'Filename'}]},{type,{2394,36},union,[{type,{2394,36},tuple,[{atom,{2394,37},ok},{var,{2394,41},'FullName'}]},{type,{2394,53},tuple,[{atom,{2394,54},error},{var,{2394,61},'Reason'}]}]}]},[{type,{2395,7},constraint,[{atom,{2395,7},is_subtype},[{var,{2395,7},'Path'},{type,{2395,15},list,[{ann_type,{2395,16},[{var,{2395,16},'Dir'},{user_type,{2395,23},name_all,[]}]}]}]]},{type,{2396,7},constraint,[{atom,{2396,7},is_subtype},[{var,{2396,7},'Filename'},{user_type,{2396,19},name_all,[]}]]},{type,{2397,7},constraint,[{atom,{2397,7},is_subtype},[{var,{2397,7},'FullName'},{user_type,{2397,19},filename_all,[]}]]},{type,{2398,7},constraint,[{atom,{2398,7},is_subtype},[{var,{2398,7},'Reason'},{type,{2398,17},union,[{user_type,{2398,17},posix,[]},{atom,{2398,27},badarg},{atom,{2398,36},terminated},{atom,{2398,49},system_limit},{type,{2399,17},tuple,[{ann_type,{2399,18},[{var,{2399,18},'Line'},{type,{2399,26},integer,[]}]},{ann_type,{2399,37},[{var,{2399,37},'Mod'},{type,{2399,44},module,[]}]},{ann_type,{2399,54},[{var,{2399,54},'Term'},{type,{2399,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,eval,2},{2347,2},[<<101,118,97,108,40,70,105,108,101,110,97,109,101,44,32,66,105,110,100,105,110,103,115,41>>],#{<<101,110>> => <<84,104,101,32,115,97,109,101,32,97,115,32,91,96,101,118,97,108,47,49,96,93,40,96,101,118,97,108,47,49,96,41,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,96,66,105,110,100,105,110,103,115,96,32,97,114,101,32,117,115,101,100,10,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,10,96,109,58,101,114,108,95,101,118,97,108,96,46>>},#{specification => [{attribute,{2352,2},spec,{{eval,2},[{type,{2352,11},bounded_fun,[{type,{2352,11},'fun',[{type,{2352,11},product,[{var,{2352,12},'Filename'},{var,{2352,22},'Bindings'}]},{type,{2352,35},union,[{atom,{2352,35},ok},{type,{2352,40},tuple,[{atom,{2352,41},error},{var,{2352,48},'Reason'}]}]}]},[{type,{2353,7},constraint,[{atom,{2353,7},is_subtype},[{var,{2353,7},'Filename'},{user_type,{2353,19},name_all,[]}]]},{type,{2354,7},constraint,[{atom,{2354,7},is_subtype},[{var,{2354,7},'Bindings'},{remote_type,{2354,19},[{atom,{2354,19},erl_eval},{atom,{2354,28},binding_struct},[]]}]]},{type,{2355,7},constraint,[{atom,{2355,7},is_subtype},[{var,{2355,7},'Reason'},{type,{2355,17},union,[{user_type,{2355,17},posix,[]},{atom,{2355,27},badarg},{atom,{2355,36},terminated},{atom,{2355,49},system_limit},{type,{2356,17},tuple,[{ann_type,{2356,18},[{var,{2356,18},'Line'},{type,{2356,26},integer,[]}]},{ann_type,{2356,37},[{var,{2356,37},'Mod'},{type,{2356,44},module,[]}]},{ann_type,{2356,54},[{var,{2356,54},'Term'},{type,{2356,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,eval,1},{2319,2},[<<101,118,97,108,40,70,105,108,101,110,97,109,101,41>>],#{<<101,110>> => <<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,96,46,96,32,40,111,114,32,96,44,96,44,32,97,32,115,101,113,117,101,110,99,101,32,111,102,10,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,96,70,105,108,101,110,97,109,101,96,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,10,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,10,101,102,102,101,99,116,46,10,10,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,10,10,45,32,42,42,96,111,107,96,42,42,32,45,32,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,10,10,45,32,42,42,96,123,101,114,114,111,114,44,32,97,116,111,109,40,41,125,96,42,42,32,45,32,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,10,32,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,96,111,112,101,110,47,50,96,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,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,10,32,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,96,102,111,114,109,97,116,95,101,114,114,111,114,47,49,96,46,10,10,84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32,96,70,105,108,101,110,97,109,101,96,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,10,91,96,101,112,112,96,93,40,96,109,58,101,112,112,35,101,110,99,111,100,105,110,103,96,41,46>>},#{specification => [{attribute,{2339,2},spec,{{eval,1},[{type,{2339,11},bounded_fun,[{type,{2339,11},'fun',[{type,{2339,11},product,[{var,{2339,12},'Filename'}]},{type,{2339,25},union,[{atom,{2339,25},ok},{type,{2339,30},tuple,[{atom,{2339,31},error},{var,{2339,38},'Reason'}]}]}]},[{type,{2340,7},constraint,[{atom,{2340,7},is_subtype},[{var,{2340,7},'Filename'},{user_type,{2340,19},name_all,[]}]]},{type,{2341,7},constraint,[{atom,{2341,7},is_subtype},[{var,{2341,7},'Reason'},{type,{2341,17},union,[{user_type,{2341,17},posix,[]},{atom,{2341,27},badarg},{atom,{2341,36},terminated},{atom,{2341,49},system_limit},{type,{2342,17},tuple,[{ann_type,{2342,18},[{var,{2342,18},'Line'},{type,{2342,26},integer,[]}]},{ann_type,{2342,37},[{var,{2342,37},'Mod'},{type,{2342,44},module,[]}]},{ann_type,{2342,54},[{var,{2342,54},'Term'},{type,{2342,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,path_consult,2},{2272,2},[<<112,97,116,104,95,99,111,110,115,117,108,116,40,80,97,116,104,44,32,70,105,108,101,110,97,109,101,41>>],#{<<101,110>> => <<83,101,97,114,99,104,101,115,32,116,104,101,32,112,97,116,104,32,96,80,97,116,104,96,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,96,70,105,108,101,110,97,109,101,96,10,105,115,32,102,111,117,110,100,46,32,73,102,32,96,70,105,108,101,110,97,109,101,96,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,96,80,97,116,104,96,32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,101,110,32,114,101,97,100,115,10,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,96,46,96,44,32,102,114,111,109,32,116,104,101,32,102,105,108,101,46,10,10,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,10,10,45,32,42,42,96,123,111,107,44,32,84,101,114,109,115,44,32,70,117,108,108,78,97,109,101,125,96,42,42,32,45,32,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,96,70,117,108,108,78,97,109,101,96,32,105,115,32,116,104,101,10,32,32,102,117,108,108,32,110,97,109,101,32,111,102,32,116,104,101,32,102,105,108,101,46,10,10,45,32,42,42,96,123,101,114,114,111,114,44,32,101,110,111,101,110,116,125,96,42,42,32,45,32,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,10,32,32,96,80,97,116,104,96,46,10,10,45,32,42,42,96,123,101,114,114,111,114,44,32,97,116,111,109,40,41,125,96,42,42,32,45,32,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,10,32,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,96,111,112,101,110,47,50,96,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,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,96,102,111,114,109,97,116,95,101,114,114,111,114,47,49,96,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,10,32,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,10,10,84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32,96,70,105,108,101,110,97,109,101,96,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,10,91,96,101,112,112,96,93,40,96,109,58,101,112,112,35,101,110,99,111,100,105,110,103,96,41,46>>},#{specification => [{attribute,{2295,2},spec,{{path_consult,2},[{type,{2295,19},bounded_fun,[{type,{2295,19},'fun',[{type,{2295,19},product,[{var,{2295,20},'Path'},{var,{2295,26},'Filename'}]},{type,{2295,39},union,[{type,{2295,39},tuple,[{atom,{2295,40},ok},{var,{2295,44},'Terms'},{var,{2295,51},'FullName'}]},{type,{2295,63},tuple,[{atom,{2295,64},error},{var,{2295,71},'Reason'}]}]}]},[{type,{2296,7},constraint,[{atom,{2296,7},is_subtype},[{var,{2296,7},'Path'},{type,{2296,15},list,[{var,{2296,16},'Dir'}]}]]},{type,{2297,7},constraint,[{atom,{2297,7},is_subtype},[{var,{2297,7},'Dir'},{user_type,{2297,14},name_all,[]}]]},{type,{2298,7},constraint,[{atom,{2298,7},is_subtype},[{var,{2298,7},'Filename'},{user_type,{2298,19},name_all,[]}]]},{type,{2299,7},constraint,[{atom,{2299,7},is_subtype},[{var,{2299,7},'Terms'},{type,{2299,16},list,[{type,{2299,17},term,[]}]}]]},{type,{2300,7},constraint,[{atom,{2300,7},is_subtype},[{var,{2300,7},'FullName'},{user_type,{2300,19},filename_all,[]}]]},{type,{2301,7},constraint,[{atom,{2301,7},is_subtype},[{var,{2301,7},'Reason'},{type,{2301,17},union,[{user_type,{2301,17},posix,[]},{atom,{2301,27},badarg},{atom,{2301,36},terminated},{atom,{2301,49},system_limit},{type,{2302,17},tuple,[{ann_type,{2302,18},[{var,{2302,18},'Line'},{type,{2302,26},integer,[]}]},{ann_type,{2302,37},[{var,{2302,37},'Mod'},{type,{2302,44},module,[]}]},{ann_type,{2302,54},[{var,{2302,54},'Term'},{type,{2302,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,consult,1},{2228,2},[<<99,111,110,115,117,108,116,40,70,105,108,101,110,97,109,101,41>>],#{<<101,110>> => <<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,96,46,96,44,32,102,114,111,109,32,96,70,105,108,101,110,97,109,101,96,46,32,82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,10,102,111,108,108,111,119,105,110,103,58,10,10,45,32,42,42,96,123,111,107,44,32,84,101,114,109,115,125,96,42,42,32,45,32,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,10,10,45,32,42,42,96,123,101,114,114,111,114,44,32,97,116,111,109,40,41,125,96,42,42,32,45,32,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,10,32,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,96,111,112,101,110,47,50,96,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,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,10,32,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,96,102,111,114,109,97,116,95,101,114,114,111,114,47,49,96,46,10,10,95,69,120,97,109,112,108,101,58,95,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32,96,70,105,108,101,110,97,109,101,96,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,10,91,96,101,112,112,96,93,40,96,109,58,101,112,112,35,101,110,99,111,100,105,110,103,96,41,46>>},#{specification => [{attribute,{2256,2},spec,{{consult,1},[{type,{2256,14},bounded_fun,[{type,{2256,14},'fun',[{type,{2256,14},product,[{var,{2256,15},'Filename'}]},{type,{2256,28},union,[{type,{2256,28},tuple,[{atom,{2256,29},ok},{var,{2256,33},'Terms'}]},{type,{2256,42},tuple,[{atom,{2256,43},error},{var,{2256,50},'Reason'}]}]}]},[{type,{2257,7},constraint,[{atom,{2257,7},is_subtype},[{var,{2257,7},'Filename'},{user_type,{2257,19},name_all,[]}]]},{type,{2258,7},constraint,[{atom,{2258,7},is_subtype},[{var,{2258,7},'Terms'},{type,{2258,16},list,[{type,{2258,17},term,[]}]}]]},{type,{2259,7},constraint,[{atom,{2259,7},is_subtype},[{var,{2259,7},'Reason'},{type,{2259,17},union,[{user_type,{2259,17},posix,[]},{atom,{2259,27},badarg},{atom,{2259,36},terminated},{atom,{2259,49},system_limit},{type,{2260,17},tuple,[{ann_type,{2260,18},[{var,{2260,18},'Line'},{type,{2260,26},integer,[]}]},{ann_type,{2260,37},[{var,{2260,37},'Mod'},{type,{2260,44},module,[]}]},{ann_type,{2260,54},[{var,{2260,54},'Term'},{type,{2260,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,ipread_s32bu_p32bu_int,3},{2174,2},[<<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,ipread_s32bu_p32bu,3},{2166,2},[<<105,112,114,101,97,100,95,115,51,50,98,117,95,112,51,50,98,117,47,51>>],hidden,#{}},{{function,copy_opened,3},{2099,2},[<<99,111,112,121,95,111,112,101,110,101,100,47,51>>],hidden,#{}},{{function,copy,3},{1963,2},[<<99,111,112,121,40,83,111,117,114,99,101,44,32,68,101,115,116,105,110,97,116,105,111,110,44,32,66,121,116,101,67,111,117,110,116,41>>],#{<<101,110>> => <<67,111,112,105,101,115,32,96,66,121,116,101,67,111,117,110,116,96,32,98,121,116,101,115,32,102,114,111,109,32,96,83,111,117,114,99,101,96,32,116,111,32,96,68,101,115,116,105,110,97,116,105,111,110,96,46,32,96,83,111,117,114,99,101,96,32,97,110,100,10,96,68,101,115,116,105,110,97,116,105,111,110,96,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,10,91,96,111,112,101,110,47,50,96,93,40,96,111,112,101,110,47,50,96,41,46,10,10,65,114,103,117,109,101,110,116,32,96,77,111,100,101,115,96,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,96,111,112,101,110,47,50,96,44,32,97,110,100,32,100,101,102,97,117,108,116,115,32,116,111,10,96,91,93,96,46,10,10,73,102,32,98,111,116,104,32,96,83,111,117,114,99,101,96,32,97,110,100,32,96,68,101,115,116,105,110,97,116,105,111,110,96,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,10,96,91,114,101,97,100,44,32,98,105,110,97,114,121,93,96,32,97,110,100,32,96,91,119,114,105,116,101,44,32,98,105,110,97,114,121,93,96,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,10,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,10,10,73,102,32,96,83,111,117,114,99,101,96,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,96,114,101,97,100,96,32,109,111,100,101,32,112,114,101,112,101,110,100,101,100,32,116,111,32,116,104,101,10,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,10,10,73,102,32,96,68,101,115,116,105,110,97,116,105,111,110,96,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,96,119,114,105,116,101,96,32,109,111,100,101,32,112,114,101,112,101,110,100,101,100,10,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,10,10,82,101,116,117,114,110,115,32,96,123,111,107,44,32,66,121,116,101,115,67,111,112,105,101,100,125,96,44,32,119,104,101,114,101,32,96,66,121,116,101,115,67,111,112,105,101,100,96,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,10,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,96,66,121,116,101,67,111,117,110,116,96,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,10,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,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,32,105,115,32,114,101,116,117,114,110,101,100,46,10,10,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,96,111,112,101,110,47,50,96,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,10,96,114,101,97,100,47,50,96,32,97,110,100,32,96,119,114,105,116,101,47,50,96,46>>},#{specification => [{attribute,{1988,2},spec,{{copy,3},[{type,{1988,11},bounded_fun,[{type,{1988,11},'fun',[{type,{1988,11},product,[{var,{1988,12},'Source'},{var,{1988,20},'Destination'},{var,{1988,33},'ByteCount'}]},{type,{1989,14},union,[{type,{1989,14},tuple,[{atom,{1989,15},ok},{var,{1989,19},'BytesCopied'}]},{type,{1989,34},tuple,[{atom,{1989,35},error},{var,{1989,42},'Reason'}]}]}]},[{type,{1990,7},constraint,[{atom,{1990,7},is_subtype},[{var,{1990,7},'Source'},{type,{1990,17},union,[{user_type,{1990,17},io_device,[]},{var,{1990,31},'Filename'},{type,{1990,42},tuple,[{var,{1990,43},'Filename'},{var,{1990,53},'Modes'}]}]}]]},{type,{1991,7},constraint,[{atom,{1991,7},is_subtype},[{var,{1991,7},'Destination'},{type,{1991,22},union,[{user_type,{1991,22},io_device,[]},{var,{1991,36},'Filename'},{type,{1991,47},tuple,[{var,{1991,48},'Filename'},{var,{1991,58},'Modes'}]}]}]]},{type,{1992,7},constraint,[{atom,{1992,7},is_subtype},[{var,{1992,7},'Filename'},{user_type,{1992,19},name_all,[]}]]},{type,{1993,7},constraint,[{atom,{1993,7},is_subtype},[{var,{1993,7},'Modes'},{type,{1993,16},list,[{user_type,{1993,17},mode,[]}]}]]},{type,{1994,7},constraint,[{atom,{1994,7},is_subtype},[{var,{1994,7},'ByteCount'},{type,{1994,20},union,[{type,{1994,20},non_neg_integer,[]},{atom,{1994,40},infinity}]}]]},{type,{1995,7},constraint,[{atom,{1995,7},is_subtype},[{var,{1995,7},'BytesCopied'},{type,{1995,22},non_neg_integer,[]}]]},{type,{1996,7},constraint,[{atom,{1996,7},is_subtype},[{var,{1996,7},'Reason'},{type,{1996,17},union,[{user_type,{1996,17},posix,[]},{atom,{1996,27},badarg},{atom,{1996,36},terminated}]}]]}]]}]}}]}},{{function,copy,2},{1960,1},[<<99,111,112,121,40,83,111,117,114,99,101,44,32,68,101,115,116,105,110,97,116,105,111,110,41>>],none,#{equiv => <<99,111,112,121,40,83,111,117,114,99,101,44,32,68,101,115,116,105,110,97,116,105,111,110,44,32,105,110,102,105,110,105,116,121,41>>}},{{function,truncate,1},{1936,2},[<<116,114,117,110,99,97,116,101,40,73,111,68,101,118,105,99,101,41>>],#{<<101,110>> => <<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,96,73,111,68,101,118,105,99,101,96,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,10,96,111,107,96,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,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,46>>},#{specification => [{attribute,{1940,2},spec,{{truncate,1},[{type,{1940,15},bounded_fun,[{type,{1940,15},'fun',[{type,{1940,15},product,[{var,{1940,16},'IoDevice'}]},{type,{1940,29},union,[{atom,{1940,29},ok},{type,{1940,34},tuple,[{atom,{1940,35},error},{var,{1940,42},'Reason'}]}]}]},[{type,{1941,7},constraint,[{atom,{1941,7},is_subtype},[{var,{1941,7},'IoDevice'},{user_type,{1941,19},io_device,[]}]]},{type,{1942,7},constraint,[{atom,{1942,7},is_subtype},[{var,{1942,7},'Reason'},{type,{1942,17},union,[{user_type,{1942,17},posix,[]},{atom,{1942,27},badarg},{atom,{1942,36},terminated}]}]]}]]}]}}]}},{{function,position,2},{1894,2},[<<112,111,115,105,116,105,111,110,40,73,111,68,101,118,105,99,101,44,32,76,111,99,97,116,105,111,110,41>>],#{<<101,110>> => <<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,96,73,111,68,101,118,105,99,101,96,32,116,111,32,96,76,111,99,97,116,105,111,110,96,46,32,82,101,116,117,114,110,115,10,96,123,111,107,44,32,78,101,119,80,111,115,105,116,105,111,110,125,96,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,10,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,46,32,96,76,111,99,97,116,105,111,110,96,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,10,10,45,32,42,42,96,79,102,102,115,101,116,96,42,42,32,45,32,84,104,101,32,115,97,109,101,32,97,115,32,96,123,98,111,102,44,32,79,102,102,115,101,116,125,96,46,10,10,45,32,42,42,96,123,98,111,102,44,32,79,102,102,115,101,116,125,96,42,42,32,45,32,65,98,115,111,108,117,116,101,32,111,102,102,115,101,116,46,10,10,45,32,42,42,96,123,99,117,114,44,32,79,102,102,115,101,116,125,96,42,42,32,45,32,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,10,10,45,32,42,42,96,123,101,111,102,44,32,79,102,102,115,101,116,125,96,42,42,32,45,32,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,10,10,45,32,42,42,96,98,111,102,32,124,32,99,117,114,32,124,32,101,111,102,96,42,42,32,45,32,84,104,101,32,115,97,109,101,32,97,115,32,97,98,111,118,101,32,119,105,116,104,32,96,79,102,102,115,101,116,96,32,48,46,10,10,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,10,111,112,101,110,101,100,32,117,115,105,110,103,32,115,111,109,101,32,111,116,104,101,114,32,96,101,110,99,111,100,105,110,103,96,32,116,104,97,110,32,96,108,97,116,105,110,49,96,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,10,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,10,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,10,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,95,107,110,111,119,110,95,32,116,111,10,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,10,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,10,10,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,10,10,45,32,42,42,96,101,105,110,118,97,108,96,42,42,32,45,32,69,105,116,104,101,114,32,96,76,111,99,97,116,105,111,110,96,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,10,32,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,10,32,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>>},#{specification => [{attribute,{1923,2},spec,{{position,2},[{type,{1923,15},bounded_fun,[{type,{1923,15},'fun',[{type,{1923,15},product,[{var,{1923,16},'IoDevice'},{var,{1923,26},'Location'}]},{type,{1923,39},union,[{type,{1923,39},tuple,[{atom,{1923,40},ok},{var,{1923,44},'NewPosition'}]},{type,{1923,59},tuple,[{atom,{1923,60},error},{var,{1923,67},'Reason'}]}]}]},[{type,{1924,7},constraint,[{atom,{1924,7},is_subtype},[{var,{1924,7},'IoDevice'},{user_type,{1924,19},io_device,[]}]]},{type,{1925,7},constraint,[{atom,{1925,7},is_subtype},[{var,{1925,7},'Location'},{user_type,{1925,19},location,[]}]]},{type,{1926,7},constraint,[{atom,{1926,7},is_subtype},[{var,{1926,7},'NewPosition'},{type,{1926,22},integer,[]}]]},{type,{1927,7},constraint,[{atom,{1927,7},is_subtype},[{var,{1927,7},'Reason'},{type,{1927,17},union,[{user_type,{1927,17},posix,[]},{atom,{1927,27},badarg},{atom,{1927,36},terminated}]}]]}]]}]}}]}},{{function,sync,1},{1874,2},[<<115,121,110,99,40,73,111,68,101,118,105,99,101,41>>],#{<<101,110>> => <<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,10,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,10,101,102,102,101,99,116,46,10,10,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,10,10,45,32,42,42,96,101,110,111,115,112,99,96,42,42,32,45,32,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>>},#{specification => [{attribute,{1883,2},spec,{{sync,1},[{type,{1883,11},bounded_fun,[{type,{1883,11},'fun',[{type,{1883,11},product,[{var,{1883,12},'IoDevice'}]},{type,{1883,25},union,[{atom,{1883,25},ok},{type,{1883,30},tuple,[{atom,{1883,31},error},{var,{1883,38},'Reason'}]}]}]},[{type,{1884,7},constraint,[{atom,{1884,7},is_subtype},[{var,{1884,7},'IoDevice'},{user_type,{1884,19},io_device,[]}]]},{type,{1885,7},constraint,[{atom,{1885,7},is_subtype},[{var,{1885,7},'Reason'},{type,{1885,17},union,[{user_type,{1885,17},posix,[]},{atom,{1885,27},badarg},{atom,{1885,36},terminated}]}]]}]]}]}}]}},{{function,datasync,1},{1845,2},[<<100,97,116,97,115,121,110,99,40,73,111,68,101,118,105,99,101,41>>],#{<<101,110>> => <<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,10,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,96,102,115,121,110,99,96,32,98,117,116,32,105,116,32,100,111,101,115,32,110,111,116,10,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,10,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,10,10,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,10,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,96,102,115,121,110,99,40,41,96,32,105,109,109,101,100,105,97,116,101,108,121,32,116,111,10,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,10,85,110,102,111,114,116,117,110,97,116,101,108,121,44,32,96,102,115,121,110,99,40,41,96,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,10,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,10,96,105,110,111,100,101,96,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,10,96,102,100,97,116,97,115,121,110,99,40,41,96,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,96,105,110,111,100,101,96,32,100,105,115,107,32,119,114,105,116,101,32,111,112,101,114,97,116,105,111,110,115,46,10,10,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,96,102,115,121,110,99,40,41,96,44,10,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,96,102,100,97,116,97,115,121,110,99,40,41,96,32,115,121,115,99,97,108,108,46>>},#{specification => [{attribute,{1863,2},spec,{{datasync,1},[{type,{1863,15},bounded_fun,[{type,{1863,15},'fun',[{type,{1863,15},product,[{var,{1863,16},'IoDevice'}]},{type,{1863,29},union,[{atom,{1863,29},ok},{type,{1863,34},tuple,[{atom,{1863,35},error},{var,{1863,42},'Reason'}]}]}]},[{type,{1864,7},constraint,[{atom,{1864,7},is_subtype},[{var,{1864,7},'IoDevice'},{user_type,{1864,19},io_device,[]}]]},{type,{1865,7},constraint,[{atom,{1865,7},is_subtype},[{var,{1865,7},'Reason'},{type,{1865,17},union,[{user_type,{1865,17},posix,[]},{atom,{1865,27},badarg},{atom,{1865,36},terminated}]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66>>}},{{function,pwrite,3},{1819,2},[<<112,119,114,105,116,101,40,73,111,68,101,118,105,99,101,44,32,76,111,99,97,116,105,111,110,44,32,66,121,116,101,115,41>>],#{<<101,110>> => <<67,111,109,98,105,110,101,115,32,91,96,112,111,115,105,116,105,111,110,47,50,96,93,40,96,112,111,115,105,116,105,111,110,47,50,96,41,32,97,110,100,32,91,96,119,114,105,116,101,47,50,96,93,40,96,119,114,105,116,101,47,50,96,41,32,105,110,32,111,110,101,10,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,10,10,96,76,111,99,97,116,105,111,110,96,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,96,114,97,119,96,32,97,110,100,32,96,114,97,109,96,32,109,111,100,101,115,46,10,10,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,96,114,97,119,96,32,109,111,100,101,10,97,110,100,32,117,110,99,104,97,110,103,101,100,32,102,111,114,32,96,114,97,109,96,32,109,111,100,101,46,10,10,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,96,101,110,99,111,100,105,110,103,96,32,116,104,97,110,32,96,108,97,116,105,110,49,96,44,32,99,97,117,116,105,111,110,32,109,117,115,116,32,98,101,10,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,10,96,112,111,115,105,116,105,111,110,47,50,96,46>>},#{specification => [{attribute,{1832,2},spec,{{pwrite,3},[{type,{1832,13},bounded_fun,[{type,{1832,13},'fun',[{type,{1832,13},product,[{var,{1832,14},'IoDevice'},{var,{1832,24},'Location'},{var,{1832,34},'Bytes'}]},{type,{1832,44},union,[{atom,{1832,44},ok},{type,{1832,49},tuple,[{atom,{1832,50},error},{var,{1832,57},'Reason'}]}]}]},[{type,{1833,7},constraint,[{atom,{1833,7},is_subtype},[{var,{1833,7},'IoDevice'},{user_type,{1833,19},io_device,[]}]]},{type,{1834,7},constraint,[{atom,{1834,7},is_subtype},[{var,{1834,7},'Location'},{user_type,{1834,19},location,[]}]]},{type,{1835,7},constraint,[{atom,{1835,7},is_subtype},[{var,{1835,7},'Bytes'},{type,{1835,16},iodata,[]}]]},{type,{1836,7},constraint,[{atom,{1836,7},is_subtype},[{var,{1836,7},'Reason'},{type,{1836,17},union,[{user_type,{1836,17},posix,[]},{atom,{1836,27},badarg},{atom,{1836,36},terminated}]}]]}]]}]}}]}},{{function,pwrite,2},{1784,2},[<<112,119,114,105,116,101,40,73,111,68,101,118,105,99,101,44,32,76,111,99,66,121,116,101,115,41>>],#{<<101,110>> => <<80,101,114,102,111,114,109,115,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,91,96,112,119,114,105,116,101,47,51,96,93,40,96,112,119,114,105,116,101,47,51,96,41,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,10,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,96,111,107,96,32,111,114,10,96,123,101,114,114,111,114,44,32,123,78,44,32,82,101,97,115,111,110,125,125,96,44,32,119,104,101,114,101,32,96,78,96,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,10,116,104,101,32,102,97,105,108,117,114,101,46,10,10,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,96,101,110,99,111,100,105,110,103,96,32,116,104,97,110,32,96,108,97,116,105,110,49,96,44,32,99,97,117,116,105,111,110,32,109,117,115,116,32,98,101,10,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,10,96,112,111,115,105,116,105,111,110,47,50,96,46>>},#{specification => [{attribute,{1794,2},spec,{{pwrite,2},[{type,{1794,13},bounded_fun,[{type,{1794,13},'fun',[{type,{1794,13},product,[{var,{1794,14},'IoDevice'},{var,{1794,24},'LocBytes'}]},{type,{1794,37},union,[{atom,{1794,37},ok},{type,{1794,42},tuple,[{atom,{1794,43},error},{type,{1794,50},tuple,[{var,{1794,51},'N'},{var,{1794,54},'Reason'}]}]}]}]},[{type,{1795,7},constraint,[{atom,{1795,7},is_subtype},[{var,{1795,7},'IoDevice'},{user_type,{1795,19},io_device,[]}]]},{type,{1796,7},constraint,[{atom,{1796,7},is_subtype},[{var,{1796,7},'LocBytes'},{type,{1796,19},list,[{type,{1796,20},tuple,[{ann_type,{1796,21},[{var,{1796,21},'Location'},{user_type,{1796,33},location,[]}]},{ann_type,{1796,45},[{var,{1796,45},'Bytes'},{type,{1796,54},iodata,[]}]}]}]}]]},{type,{1797,7},constraint,[{atom,{1797,7},is_subtype},[{var,{1797,7},'N'},{type,{1797,12},non_neg_integer,[]}]]},{type,{1798,7},constraint,[{atom,{1798,7},is_subtype},[{var,{1798,7},'Reason'},{type,{1798,17},union,[{user_type,{1798,17},posix,[]},{atom,{1798,27},badarg},{atom,{1798,36},terminated}]}]]}]]}]}}]}},{{function,write,2},{1750,2},[<<119,114,105,116,101,40,73,111,68,101,118,105,99,101,44,32,66,121,116,101,115,41>>],#{<<101,110>> => <<87,114,105,116,101,115,32,96,66,121,116,101,115,96,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,96,73,111,68,101,118,105,99,101,96,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,10,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,96,114,97,119,96,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,10,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,96,111,107,96,32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,97,110,100,32,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,32,111,116,104,101,114,119,105,115,101,46,10,10,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,96,101,110,99,111,100,105,110,103,96,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,96,108,97,116,105,110,49,96,44,32,101,97,99,104,10,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,10,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,10,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,32,73,102,32,121,111,117,32,119,97,110,116,32,116,111,32,119,114,105,116,101,32,96,116,58,117,110,105,99,111,100,101,58,99,104,97,114,100,97,116,97,47,48,96,32,116,111,32,116,104,101,10,96,73,111,68,101,118,105,99,101,96,32,121,111,117,32,115,104,111,117,108,100,32,117,115,101,32,96,105,111,58,112,117,116,95,99,104,97,114,115,47,50,96,32,105,110,115,116,101,97,100,46,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,98,97,100,102,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,110,111,115,112,99,96,42,42,32,45,32,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>>},#{specification => [{attribute,{1767,2},spec,{{write,2},[{type,{1767,12},bounded_fun,[{type,{1767,12},'fun',[{type,{1767,12},product,[{var,{1767,13},'IoDevice'},{var,{1767,23},'Bytes'}]},{type,{1767,33},union,[{atom,{1767,33},ok},{type,{1767,38},tuple,[{atom,{1767,39},error},{var,{1767,46},'Reason'}]}]}]},[{type,{1768,7},constraint,[{atom,{1768,7},is_subtype},[{var,{1768,7},'IoDevice'},{type,{1768,19},union,[{user_type,{1768,19},io_device,[]},{remote_type,{1768,33},[{atom,{1768,33},io},{atom,{1768,36},device},[]]}]}]]},{type,{1769,7},constraint,[{atom,{1769,7},is_subtype},[{var,{1769,7},'Bytes'},{type,{1769,16},iodata,[]}]]},{type,{1770,7},constraint,[{atom,{1770,7},is_subtype},[{var,{1770,7},'Reason'},{type,{1770,17},union,[{user_type,{1770,17},posix,[]},{atom,{1770,27},badarg},{atom,{1770,36},terminated}]}]]}]]}]}}]}},{{function,pread,3},{1721,2},[<<112,114,101,97,100,40,73,111,68,101,118,105,99,101,44,32,76,111,99,97,116,105,111,110,44,32,78,117,109,98,101,114,41>>],#{<<101,110>> => <<67,111,109,98,105,110,101,115,32,91,96,112,111,115,105,116,105,111,110,47,50,96,93,40,96,112,111,115,105,116,105,111,110,47,50,96,41,32,97,110,100,32,91,96,114,101,97,100,47,50,96,93,40,96,114,101,97,100,47,50,96,41,32,105,110,32,111,110,101,32,111,112,101,114,97,116,105,111,110,44,10,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,10,10,96,76,111,99,97,116,105,111,110,96,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,96,114,97,119,96,32,97,110,100,32,96,114,97,109,96,32,109,111,100,101,115,46,10,10,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,96,114,97,119,96,32,109,111,100,101,10,97,110,100,32,117,110,99,104,97,110,103,101,100,32,102,111,114,32,96,114,97,109,96,32,109,111,100,101,46,10,10,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,10,119,105,116,104,32,102,105,108,101,115,32,119,104,101,114,101,32,96,101,110,99,111,100,105,110,103,96,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,96,108,97,116,105,110,49,96,44,32,97,115,32,110,111,116,32,101,118,101,114,121,10,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>>},#{specification => [{attribute,{1734,2},spec,{{pread,3},[{type,{1734,12},bounded_fun,[{type,{1734,12},'fun',[{type,{1734,12},product,[{var,{1734,13},'IoDevice'},{var,{1734,23},'Location'},{var,{1734,33},'Number'}]},{type,{1735,14},union,[{type,{1735,14},tuple,[{atom,{1735,15},ok},{var,{1735,19},'Data'}]},{atom,{1735,27},eof},{type,{1735,33},tuple,[{atom,{1735,34},error},{var,{1735,41},'Reason'}]}]}]},[{type,{1736,7},constraint,[{atom,{1736,7},is_subtype},[{var,{1736,7},'IoDevice'},{user_type,{1736,19},io_device,[]}]]},{type,{1737,7},constraint,[{atom,{1737,7},is_subtype},[{var,{1737,7},'Location'},{user_type,{1737,19},location,[]}]]},{type,{1738,7},constraint,[{atom,{1738,7},is_subtype},[{var,{1738,7},'Number'},{type,{1738,17},non_neg_integer,[]}]]},{type,{1739,7},constraint,[{atom,{1739,7},is_subtype},[{var,{1739,7},'Data'},{type,{1739,15},union,[{type,{1739,15},string,[]},{type,{1739,26},binary,[]}]}]]},{type,{1740,7},constraint,[{atom,{1740,7},is_subtype},[{var,{1740,7},'Reason'},{type,{1740,17},union,[{user_type,{1740,17},posix,[]},{atom,{1740,27},badarg},{atom,{1740,36},terminated}]}]]}]]}]}}]}},{{function,pread,2},{1682,2},[<<112,114,101,97,100,40,73,111,68,101,118,105,99,101,44,32,76,111,99,78,117,109,115,41>>],#{<<101,110>> => <<80,101,114,102,111,114,109,115,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,91,96,112,114,101,97,100,47,51,96,93,40,96,112,114,101,97,100,47,51,96,41,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,10,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,96,123,111,107,44,32,91,68,97,116,97,44,32,46,46,46,93,125,96,32,111,114,10,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,44,32,119,104,101,114,101,32,101,97,99,104,32,96,68,97,116,97,96,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,96,112,114,101,97,100,96,44,10,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,96,101,111,102,96,32,105,102,32,116,104,101,10,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,10,10,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,10,119,105,116,104,32,102,105,108,101,115,32,119,104,101,114,101,32,96,101,110,99,111,100,105,110,103,96,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,96,108,97,116,105,110,49,96,44,32,97,115,32,110,111,116,32,101,118,101,114,121,10,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>>},#{specification => [{attribute,{1693,2},spec,{{pread,2},[{type,{1693,12},bounded_fun,[{type,{1693,12},'fun',[{type,{1693,12},product,[{var,{1693,13},'IoDevice'},{var,{1693,23},'LocNums'}]},{type,{1693,35},union,[{type,{1693,35},tuple,[{atom,{1693,36},ok},{var,{1693,40},'DataL'}]},{atom,{1693,49},eof},{type,{1693,55},tuple,[{atom,{1693,56},error},{var,{1693,63},'Reason'}]}]}]},[{type,{1694,7},constraint,[{atom,{1694,7},is_subtype},[{var,{1694,7},'IoDevice'},{user_type,{1694,19},io_device,[]}]]},{type,{1695,7},constraint,[{atom,{1695,7},is_subtype},[{var,{1695,7},'LocNums'},{type,{1695,18},list,[{type,{1695,19},tuple,[{ann_type,{1695,20},[{var,{1695,20},'Location'},{user_type,{1695,32},location,[]}]},{ann_type,{1695,44},[{var,{1695,44},'Number'},{type,{1695,54},non_neg_integer,[]}]}]}]}]]},{type,{1696,7},constraint,[{atom,{1696,7},is_subtype},[{var,{1696,7},'DataL'},{type,{1696,16},list,[{var,{1696,17},'Data'}]}]]},{type,{1697,7},constraint,[{atom,{1697,7},is_subtype},[{var,{1697,7},'Data'},{type,{1697,15},union,[{type,{1697,15},string,[]},{type,{1697,26},binary,[]},{atom,{1697,37},eof}]}]]},{type,{1698,7},constraint,[{atom,{1698,7},is_subtype},[{var,{1698,7},'Reason'},{type,{1698,17},union,[{user_type,{1698,17},posix,[]},{atom,{1698,27},badarg},{atom,{1698,36},terminated}]}]]}]]}]}}]}},{{function,read_line,1},{1621,2},[<<114,101,97,100,95,108,105,110,101,40,73,111,68,101,118,105,99,101,41>>],#{<<101,110>> => <<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,96,73,111,68,101,118,105,99,101,96,46,10,10,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,96,92,110,96,41,32,99,104,97,114,97,99,116,101,114,44,32,98,117,116,32,97,110,121,10,99,97,114,114,105,97,103,101,32,114,101,116,117,114,110,32,40,67,82,44,32,96,92,114,96,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,10,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,10,95,105,110,99,108,117,100,105,110,103,95,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,10,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,96,105,111,58,103,101,116,95,108,105,110,101,47,50,96,46,32,73,102,32,101,110,100,32,111,102,32,102,105,108,101,32,105,115,10,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,10,114,101,116,117,114,110,101,100,46,10,10,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,96,114,97,119,96,32,109,111,100,101,46,32,72,111,119,101,118,101,114,44,32,105,116,32,105,115,10,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,96,114,97,119,96,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,10,96,123,114,101,97,100,95,97,104,101,97,100,44,32,83,105,122,101,125,96,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,96,114,97,119,96,32,97,110,100,32,96,123,114,101,97,100,95,97,104,101,97,100,44,32,83,105,122,101,125,96,10,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,10,10,73,102,32,96,101,110,99,111,100,105,110,103,96,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,96,108,97,116,105,110,49,96,44,32,116,104,101,10,91,96,114,101,97,100,95,108,105,110,101,47,49,96,93,40,96,114,101,97,100,95,108,105,110,101,47,49,96,41,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,10,116,104,97,110,32,50,53,53,44,32,119,104,121,32,96,105,111,58,103,101,116,95,108,105,110,101,47,50,96,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,10,10,84,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,58,10,10,45,32,42,42,96,123,111,107,44,32,68,97,116,97,125,96,42,42,32,45,32,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,10,32,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,10,10,32,32,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,10,32,32,111,116,104,101,114,119,105,115,101,32,105,110,32,97,32,108,105,115,116,46,10,10,45,32,42,42,96,101,111,102,96,42,42,32,45,32,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,10,32,32,98,101,32,114,101,97,100,46,10,10,45,32,42,42,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,42,42,32,45,32,65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,46,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,98,97,100,102,96,42,42,32,45,32,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,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,32,96,101,110,99,111,100,105,110,103,96,32,116,104,97,110,32,96,108,97,116,105,110,49,96,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,10,32,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>>},#{specification => [{attribute,{1662,2},spec,{{read_line,1},[{type,{1662,16},bounded_fun,[{type,{1662,16},'fun',[{type,{1662,16},product,[{var,{1662,17},'IoDevice'}]},{type,{1662,30},union,[{type,{1662,30},tuple,[{atom,{1662,31},ok},{var,{1662,35},'Data'}]},{atom,{1662,43},eof},{type,{1662,49},tuple,[{atom,{1662,50},error},{var,{1662,57},'Reason'}]}]}]},[{type,{1663,7},constraint,[{atom,{1663,7},is_subtype},[{var,{1663,7},'IoDevice'},{type,{1663,19},union,[{user_type,{1663,19},io_device,[]},{remote_type,{1663,33},[{atom,{1663,33},io},{atom,{1663,36},device},[]]}]}]]},{type,{1664,7},constraint,[{atom,{1664,7},is_subtype},[{var,{1664,7},'Data'},{type,{1664,15},union,[{type,{1664,15},string,[]},{type,{1664,26},binary,[]}]}]]},{type,{1665,7},constraint,[{atom,{1665,7},is_subtype},[{var,{1665,7},'Reason'},{type,{1665,17},union,[{user_type,{1665,17},posix,[]},{atom,{1666,17},badarg},{atom,{1667,17},terminated},{type,{1668,17},tuple,[{atom,{1668,18},no_translation},{atom,{1668,34},unicode},{atom,{1668,43},latin1}]}]}]]}]]}]}}]}},{{function,read,2},{1565,2},[<<114,101,97,100,40,73,111,68,101,118,105,99,101,44,32,78,117,109,98,101,114,41>>],#{<<101,110>> => <<82,101,97,100,115,32,96,78,117,109,98,101,114,96,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,96,73,111,68,101,118,105,99,101,96,46,10,10,84,104,101,32,102,117,110,99,116,105,111,110,115,32,96,114,101,97,100,47,50,96,44,32,96,112,114,101,97,100,47,51,96,44,32,97,110,100,32,96,114,101,97,100,95,108,105,110,101,47,49,96,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,10,97,32,102,105,108,101,32,111,112,101,110,101,100,32,105,110,32,96,114,97,119,96,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,10,10,70,111,114,32,102,105,108,101,115,32,119,104,101,114,101,32,96,101,110,99,111,100,105,110,103,96,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,96,108,97,116,105,110,49,96,44,32,111,110,101,32,99,104,97,114,97,99,116,101,114,10,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,96,78,117,109,98,101,114,96,10,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,95,99,104,97,114,97,99,116,101,114,115,95,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,10,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,10,10,65,108,115,111,44,32,105,102,32,96,101,110,99,111,100,105,110,103,96,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,96,108,97,116,105,110,49,96,44,32,116,104,101,10,91,96,114,101,97,100,47,50,96,93,40,96,114,101,97,100,47,50,96,41,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,10,119,104,105,99,104,32,105,115,32,119,104,121,32,96,105,111,58,103,101,116,95,99,104,97,114,115,47,51,96,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,10,10,84,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,58,10,10,45,32,42,42,96,123,111,107,44,32,68,97,116,97,125,96,42,42,32,45,32,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,10,32,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,10,32,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,10,10,45,32,42,42,96,101,111,102,96,42,42,32,45,32,82,101,116,117,114,110,101,100,32,105,102,32,96,78,117,109,98,101,114,62,48,96,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,10,32,32,97,116,32,97,108,108,32,99,111,117,108,100,32,98,101,32,114,101,97,100,46,10,10,45,32,42,42,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,42,42,32,45,32,65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,46,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,98,97,100,102,96,42,42,32,45,32,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,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,32,96,101,110,99,111,100,105,110,103,96,32,116,104,97,110,32,96,108,97,116,105,110,49,96,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,10,32,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>>},#{specification => [{attribute,{1599,2},spec,{{read,2},[{type,{1599,11},bounded_fun,[{type,{1599,11},'fun',[{type,{1599,11},product,[{var,{1599,12},'IoDevice'},{var,{1599,22},'Number'}]},{type,{1599,33},union,[{type,{1599,33},tuple,[{atom,{1599,34},ok},{var,{1599,38},'Data'}]},{atom,{1599,46},eof},{type,{1599,52},tuple,[{atom,{1599,53},error},{var,{1599,60},'Reason'}]}]}]},[{type,{1600,7},constraint,[{atom,{1600,7},is_subtype},[{var,{1600,7},'IoDevice'},{type,{1600,19},union,[{user_type,{1600,19},io_device,[]},{remote_type,{1600,33},[{atom,{1600,33},io},{atom,{1600,36},device},[]]}]}]]},{type,{1601,7},constraint,[{atom,{1601,7},is_subtype},[{var,{1601,7},'Number'},{type,{1601,17},non_neg_integer,[]}]]},{type,{1602,7},constraint,[{atom,{1602,7},is_subtype},[{var,{1602,7},'Data'},{type,{1602,15},union,[{type,{1602,15},string,[]},{type,{1602,26},binary,[]}]}]]},{type,{1603,7},constraint,[{atom,{1603,7},is_subtype},[{var,{1603,7},'Reason'},{type,{1603,17},union,[{user_type,{1603,17},posix,[]},{atom,{1604,17},badarg},{atom,{1605,17},terminated},{type,{1606,17},tuple,[{atom,{1606,18},no_translation},{atom,{1606,34},unicode},{atom,{1606,43},latin1}]}]}]]}]]}]}}]}},{{function,allocate,3},{1548,2},[<<97,108,108,111,99,97,116,101,40,70,105,108,101,44,32,79,102,102,115,101,116,44,32,76,101,110,103,116,104,41>>],#{<<101,110>> => <<91,96,97,108,108,111,99,97,116,101,47,51,96,93,40,96,97,108,108,111,99,97,116,101,47,51,96,41,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,10,10,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>>},#{specification => [{attribute,{1554,2},spec,{{allocate,3},[{type,{1554,15},bounded_fun,[{type,{1554,15},'fun',[{type,{1554,15},product,[{var,{1554,16},'File'},{var,{1554,22},'Offset'},{var,{1554,30},'Length'}]},{type,{1555,2},union,[{atom,{1555,2},ok},{type,{1555,9},tuple,[{atom,{1555,10},error},{user_type,{1555,19},posix,[]}]}]}]},[{type,{1556,7},constraint,[{atom,{1556,7},is_subtype},[{var,{1556,7},'File'},{user_type,{1556,15},io_device,[]}]]},{type,{1557,7},constraint,[{atom,{1557,7},is_subtype},[{var,{1557,7},'Offset'},{type,{1557,17},non_neg_integer,[]}]]},{type,{1558,7},constraint,[{atom,{1558,7},is_subtype},[{var,{1558,7},'Length'},{type,{1558,17},non_neg_integer,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,advise,4},{1526,2},[<<97,100,118,105,115,101,40,73,111,68,101,118,105,99,101,44,32,79,102,102,115,101,116,44,32,76,101,110,103,116,104,44,32,65,100,118,105,115,101,41>>],#{<<101,110>> => <<91,96,97,100,118,105,115,101,47,52,96,93,40,96,97,100,118,105,115,101,47,52,96,41,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,10,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,10,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,10,10,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>>},#{specification => [{attribute,{1534,2},spec,{{advise,4},[{type,{1534,13},bounded_fun,[{type,{1534,13},'fun',[{type,{1534,13},product,[{var,{1534,14},'IoDevice'},{var,{1534,24},'Offset'},{var,{1534,32},'Length'},{var,{1534,40},'Advise'}]},{type,{1534,51},union,[{atom,{1534,51},ok},{type,{1534,56},tuple,[{atom,{1534,57},error},{var,{1534,64},'Reason'}]}]}]},[{type,{1535,7},constraint,[{atom,{1535,7},is_subtype},[{var,{1535,7},'IoDevice'},{user_type,{1535,19},io_device,[]}]]},{type,{1536,7},constraint,[{atom,{1536,7},is_subtype},[{var,{1536,7},'Offset'},{type,{1536,17},integer,[]}]]},{type,{1537,7},constraint,[{atom,{1537,7},is_subtype},[{var,{1537,7},'Length'},{type,{1537,17},integer,[]}]]},{type,{1538,7},constraint,[{atom,{1538,7},is_subtype},[{var,{1538,7},'Advise'},{user_type,{1538,17},posix_file_advise,[]}]]},{type,{1539,7},constraint,[{atom,{1539,7},is_subtype},[{var,{1539,7},'Reason'},{type,{1539,17},union,[{user_type,{1539,17},posix,[]},{atom,{1539,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66>>}},{{function,close,1},{1499,2},[<<99,108,111,115,101,40,73,111,68,101,118,105,99,101,41>>],#{<<101,110>> => <<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,96,73,111,68,101,118,105,99,101,96,46,32,73,116,32,109,111,115,116,108,121,32,114,101,116,117,114,110,115,32,96,111,107,96,44,32,101,120,99,101,112,116,32,102,111,114,10,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,10,10,78,111,116,105,99,101,32,116,104,97,116,32,105,102,32,111,112,116,105,111,110,32,96,100,101,108,97,121,101,100,95,119,114,105,116,101,96,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,10,91,96,99,108,111,115,101,47,49,96,93,40,96,99,108,111,115,101,47,49,96,41,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,10,116,104,101,32,102,105,108,101,46,32,83,101,101,32,96,111,112,101,110,47,50,96,46>>},#{specification => [{attribute,{1507,2},spec,{{close,1},[{type,{1507,12},bounded_fun,[{type,{1507,12},'fun',[{type,{1507,12},product,[{var,{1507,13},'IoDevice'}]},{type,{1507,26},union,[{atom,{1507,26},ok},{type,{1507,31},tuple,[{atom,{1507,32},error},{var,{1507,39},'Reason'}]}]}]},[{type,{1508,7},constraint,[{atom,{1508,7},is_subtype},[{var,{1508,7},'IoDevice'},{user_type,{1508,19},io_device,[]}]]},{type,{1509,7},constraint,[{atom,{1509,7},is_subtype},[{var,{1509,7},'Reason'},{type,{1509,17},union,[{user_type,{1509,17},posix,[]},{atom,{1509,27},badarg},{atom,{1509,36},terminated}]}]]}]]}]}}]}},{{function,open,2},{1258,2},[<<111,112,101,110,40,70,105,108,101,44,32,77,111,100,101,115,41>>],#{<<101,110>> => <<79,112,101,110,115,32,102,105,108,101,32,96,70,105,108,101,96,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,96,77,111,100,101,115,96,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,10,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,10,10,45,32,42,42,96,114,101,97,100,96,42,42,32,45,32,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,10,10,45,32,42,42,96,119,114,105,116,101,96,42,42,32,45,32,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,10,32,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,96,119,114,105,116,101,96,32,105,115,32,110,111,116,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,96,114,101,97,100,96,44,32,116,104,101,32,102,105,108,101,32,105,115,10,32,32,116,114,117,110,99,97,116,101,100,46,10,10,45,32,42,42,96,97,112,112,101,110,100,96,42,42,32,45,32,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,10,32,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,96,97,112,112,101,110,100,96,32,116,97,107,101,115,32,112,108,97,99,101,32,97,116,32,116,104,101,10,32,32,101,110,100,32,111,102,32,116,104,101,32,102,105,108,101,46,10,10,45,32,42,42,96,101,120,99,108,117,115,105,118,101,96,42,42,32,45,32,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,10,32,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,96,123,101,114,114,111,114,44,32,101,101,120,105,115,116,125,96,32,105,115,32,114,101,116,117,114,110,101,100,46,10,10,32,32,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,32,32,62,10,32,32,62,32,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,10,32,32,62,32,96,79,95,69,88,67,76,96,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,10,32,32,62,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,10,10,45,32,42,42,96,114,97,119,96,42,42,32,45,32,91,93,40,41,123,58,32,35,114,97,119,32,125,32,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,10,32,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,10,32,32,102,111,108,108,111,119,105,110,103,32,108,105,109,105,116,97,116,105,111,110,115,58,10,10,32,32,45,32,84,104,101,32,102,117,110,99,116,105,111,110,115,32,105,110,32,116,104,101,32,96,105,111,96,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,10,32,32,32,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,96,114,101,97,100,47,50,96,44,32,96,114,101,97,100,95,108,105,110,101,47,49,96,44,32,97,110,100,10,32,32,32,32,96,119,114,105,116,101,47,50,96,46,10,32,32,45,32,69,115,112,101,99,105,97,108,108,121,32,105,102,32,91,96,114,101,97,100,95,108,105,110,101,47,49,96,93,40,96,114,101,97,100,95,108,105,110,101,47,49,96,41,32,105,115,32,116,111,32,98,101,32,117,115,101,100,32,111,110,32,97,32,96,114,97,119,96,32,102,105,108,101,44,10,32,32,32,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,96,123,114,101,97,100,95,97,104,101,97,100,44,32,83,105,122,101,125,96,32,97,115,10,32,32,32,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,10,32,32,45,32,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,10,32,32,45,32,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,10,32,32,32,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,10,32,32,32,32,78,70,83,41,46,10,10,45,32,42,42,96,98,105,110,97,114,121,96,42,42,32,45,32,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,10,10,45,32,42,42,96,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,96,42,42,32,45,32,68,97,116,97,32,105,110,32,115,117,98,115,101,113,117,101,110,116,32,91,96,119,114,105,116,101,47,50,96,93,40,96,119,114,105,116,101,47,50,96,41,10,32,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,96,83,105,122,101,96,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,10,32,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,96,68,101,108,97,121,96,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,10,32,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,10,32,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,91,96,119,114,105,116,101,47,50,96,93,40,96,119,114,105,116,101,47,50,96,41,32,105,115,32,101,120,101,99,117,116,101,100,46,10,10,32,32,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,10,32,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,91,96,119,114,105,116,101,47,50,96,93,40,96,119,114,105,116,101,47,50,96,41,32,99,97,108,108,115,32,109,117,115,116,32,98,101,32,102,111,114,10,32,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,96,83,105,122,101,96,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,10,32,32,102,105,108,101,32,111,112,101,114,97,116,105,111,110,115,46,10,10,32,32,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,91,96,119,114,105,116,101,47,50,96,93,40,96,119,114,105,116,101,47,50,96,41,32,99,97,108,108,115,32,99,97,110,10,32,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,10,32,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,10,10,32,32,70,111,114,32,101,120,97,109,112,108,101,44,32,119,104,101,110,32,96,100,101,108,97,121,101,100,95,119,114,105,116,101,96,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,10,32,32,91,96,119,114,105,116,101,47,50,96,93,40,96,119,114,105,116,101,47,50,96,41,32,99,97,108,108,115,44,32,91,96,99,108,111,115,101,47,49,96,93,40,96,99,108,111,115,101,47,49,96,41,32,99,97,110,32,114,101,116,117,114,110,10,32,32,96,123,101,114,114,111,114,44,32,101,110,111,115,112,99,125,96,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,10,32,32,119,114,105,116,116,101,110,32,100,97,116,97,46,32,91,96,99,108,111,115,101,47,49,96,93,40,96,99,108,111,115,101,47,49,96,41,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,10,32,32,102,105,108,101,32,105,115,32,115,116,105,108,108,32,111,112,101,110,46,10,10,45,32,42,42,96,100,101,108,97,121,101,100,95,119,114,105,116,101,96,42,42,32,45,32,84,104,101,32,115,97,109,101,32,97,115,32,96,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,96,32,119,105,116,104,10,32,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,96,83,105,122,101,96,32,97,110,100,32,96,68,101,108,97,121,96,32,40,114,111,117,103,104,108,121,32,115,111,109,101,32,54,52,32,75,66,44,32,50,10,32,32,115,101,99,111,110,100,115,41,46,10,10,45,32,42,42,96,123,114,101,97,100,95,97,104,101,97,100,44,32,83,105,122,101,125,96,42,42,32,45,32,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,10,32,32,91,96,114,101,97,100,47,50,96,93,40,96,114,101,97,100,47,50,96,41,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,96,83,105,122,101,96,32,98,121,116,101,115,44,32,114,101,97,100,10,32,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,96,83,105,122,101,96,10,32,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,10,32,32,91,96,114,101,97,100,47,50,96,93,40,96,114,101,97,100,47,50,96,41,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,10,32,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,10,10,32,32,84,104,101,32,96,114,101,97,100,95,97,104,101,97,100,96,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,10,32,32,91,96,114,101,97,100,95,108,105,110,101,47,49,96,93,40,96,114,101,97,100,95,108,105,110,101,47,49,96,41,32,105,110,32,96,114,97,119,96,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,10,32,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,10,32,32,102,117,110,99,116,105,111,110,46,10,10,32,32,73,102,32,91,96,114,101,97,100,47,50,96,93,40,96,114,101,97,100,47,50,96,41,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,10,32,32,101,118,101,110,32,103,114,101,97,116,101,114,32,116,104,97,110,32,96,83,105,122,101,96,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,10,10,45,32,42,42,96,114,101,97,100,95,97,104,101,97,100,96,42,42,32,45,32,84,104,101,32,115,97,109,101,32,97,115,32,96,123,114,101,97,100,95,97,104,101,97,100,44,32,83,105,122,101,125,96,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,10,32,32,118,97,108,117,101,32,102,111,114,32,96,83,105,122,101,96,32,40,114,111,117,103,104,108,121,32,115,111,109,101,32,54,52,32,75,66,41,46,10,10,45,32,42,42,96,99,111,109,112,114,101,115,115,101,100,96,42,42,32,45,32,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,10,32,32,79,112,116,105,111,110,32,96,99,111,109,112,114,101,115,115,101,100,96,32,109,117,115,116,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,96,114,101,97,100,96,32,111,114,32,96,119,114,105,116,101,96,44,32,98,117,116,32,110,111,116,32,98,111,116,104,46,10,32,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,96,114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49,96,32,100,111,101,115,32,112,114,111,98,97,98,108,121,32,110,111,116,10,32,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,10,10,45,32,42,42,96,99,111,109,112,114,101,115,115,101,100,95,111,110,101,96,42,42,32,45,32,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,10,32,32,96,99,111,109,112,114,101,115,115,101,100,95,111,110,101,96,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,96,114,101,97,100,96,46,10,10,45,32,42,42,96,123,101,110,99,111,100,105,110,103,44,32,69,110,99,111,100,105,110,103,125,96,42,42,32,45,32,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,10,32,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,10,32,32,115,117,112,112,108,105,101,100,32,116,111,32,96,119,114,105,116,101,47,50,96,32,111,114,32,114,101,116,117,114,110,101,100,32,98,121,32,96,114,101,97,100,47,50,96,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,10,32,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,10,10,32,32,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,10,32,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,96,108,97,116,105,110,49,96,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,96,102,105,108,101,96,41,10,32,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,10,32,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,96,109,58,105,111,96,32,102,117,110,99,116,105,111,110,115,10,32,32,96,103,101,116,95,99,104,97,114,115,96,44,32,96,103,101,116,95,108,105,110,101,96,44,32,97,110,100,32,96,112,117,116,95,99,104,97,114,115,96,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,10,32,32,116,104,101,32,102,117,108,108,32,85,110,105,99,111,100,101,32,114,97,110,103,101,46,10,10,32,32,73,102,32,100,97,116,97,32,105,115,32,115,101,110,116,32,116,111,32,97,110,32,96,116,58,105,111,95,100,101,118,105,99,101,47,48,96,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,10,32,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,10,32,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,10,32,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,10,10,32,32,65,108,108,111,119,101,100,32,118,97,108,117,101,115,32,102,111,114,32,96,69,110,99,111,100,105,110,103,96,58,10,10,32,32,45,32,42,42,96,108,97,116,105,110,49,96,42,42,32,45,32,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,10,32,32,32,32,96,119,114,105,116,101,47,50,96,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,10,32,32,32,32,102,105,108,101,44,32,116,104,97,116,32,105,115,44,32,96,114,101,97,100,47,50,96,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,96,109,58,105,111,96,32,105,115,32,117,115,101,100,32,102,111,114,10,32,32,32,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,10,32,32,32,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,10,10,32,32,45,32,42,42,96,117,110,105,99,111,100,101,32,111,114,32,117,116,102,56,96,42,42,32,45,32,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,10,32,32,32,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,10,32,32,32,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,96,114,101,97,100,47,50,96,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,10,32,32,32,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,10,32,32,32,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,10,32,32,32,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,96,109,58,105,111,96,46,10,10,32,32,32,32,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,10,32,32,32,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,10,10,32,32,45,32,42,42,96,117,116,102,49,54,32,111,114,32,123,117,116,102,49,54,44,98,105,103,125,96,42,42,32,45,32,87,111,114,107,115,32,108,105,107,101,32,96,117,110,105,99,111,100,101,96,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,10,32,32,32,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,10,10,32,32,45,32,42,42,96,123,117,116,102,49,54,44,108,105,116,116,108,101,125,96,42,42,32,45,32,87,111,114,107,115,32,108,105,107,101,32,96,117,110,105,99,111,100,101,96,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,10,32,32,32,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,10,10,32,32,45,32,42,42,96,117,116,102,51,50,32,111,114,32,123,117,116,102,51,50,44,98,105,103,125,96,42,42,32,45,32,87,111,114,107,115,32,108,105,107,101,32,96,117,110,105,99,111,100,101,96,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,10,32,32,32,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,10,10,32,32,45,32,42,42,96,123,117,116,102,51,50,44,108,105,116,116,108,101,125,96,42,42,32,45,32,87,111,114,107,115,32,108,105,107,101,32,96,117,110,105,99,111,100,101,96,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,10,32,32,32,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,10,10,32,32,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,10,32,32,96,105,111,58,115,101,116,111,112,116,115,47,50,96,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,10,32,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,10,32,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,96,109,58,117,110,105,99,111,100,101,96,46,10,10,32,32,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,96,114,97,119,96,32,102,105,108,101,115,46,10,10,45,32,42,42,96,114,97,109,96,42,42,32,45,32,96,70,105,108,101,96,32,109,117,115,116,32,98,101,32,96,116,58,105,111,100,97,116,97,47,48,96,46,32,82,101,116,117,114,110,115,32,97,110,32,96,116,58,102,100,47,48,96,44,32,119,104,105,99,104,32,108,101,116,115,10,32,32,109,111,100,117,108,101,32,96,102,105,108,101,96,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,10,10,45,32,42,42,96,115,121,110,99,96,42,42,32,45,32,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,96,79,95,83,89,78,67,96,10,32,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,10,32,32,96,70,73,76,69,95,70,76,65,71,95,87,82,73,84,69,95,84,72,82,79,85,71,72,96,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,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,96,79,95,83,89,78,67,96,32,111,114,32,101,113,117,105,118,97,108,101,110,116,44,10,32,32,117,115,101,32,111,102,32,116,104,101,32,96,115,121,110,99,96,32,102,108,97,103,32,99,97,117,115,101,115,32,96,111,112,101,110,96,32,116,111,32,114,101,116,117,114,110,32,96,123,101,114,114,111,114,44,32,101,110,111,116,115,117,112,125,96,46,10,10,45,32,42,42,96,100,105,114,101,99,116,111,114,121,96,42,42,32,45,32,65,108,108,111,119,115,32,96,111,112,101,110,96,32,116,111,32,119,111,114,107,32,111,110,32,100,105,114,101,99,116,111,114,105,101,115,46,10,10,82,101,116,117,114,110,115,58,10,10,45,32,42,42,96,123,111,107,44,32,73,111,68,101,118,105,99,101,125,96,42,42,32,45,32,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,96,73,111,68,101,118,105,99,101,96,32,105,115,10,32,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,10,10,45,32,42,42,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,42,42,32,45,32,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,10,10,96,73,111,68,101,118,105,99,101,96,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,10,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,10,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,10,116,111,111,46,32,65,110,32,96,73,111,68,101,118,105,99,101,96,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,10,102,117,110,99,116,105,111,110,115,32,40,115,101,101,32,96,109,58,105,111,96,41,46,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,62,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,10,62,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,10,62,10,62,32,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,10,62,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,73,110,32,112,114,101,118,105,111,117,115,32,118,101,114,115,105,111,110,115,32,111,102,32,96,102,105,108,101,96,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,10,62,32,96,114,101,97,100,96,44,32,96,119,114,105,116,101,96,44,32,111,114,32,96,114,101,97,100,95,119,114,105,116,101,96,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,10,62,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,10,62,32,110,111,116,101,32,116,104,97,116,32,96,114,101,97,100,95,119,114,105,116,101,96,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,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,110,111,101,110,116,96,42,42,32,45,32,84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,10,10,45,32,42,42,96,101,97,99,99,101,115,96,42,42,32,45,32,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,10,32,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,46,10,10,45,32,42,42,96,101,105,115,100,105,114,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,110,111,116,100,105,114,96,42,42,32,45,32,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,10,32,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,96,100,105,114,101,99,116,111,114,121,96,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,10,32,32,112,108,97,116,102,111,114,109,115,44,32,96,101,110,111,101,110,116,96,32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46,10,10,45,32,42,42,96,101,110,111,115,112,99,96,42,42,32,45,32,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,96,119,114,105,116,101,96,32,97,99,99,101,115,115,32,119,97,115,10,32,32,115,112,101,99,105,102,105,101,100,41,46>>},#{specification => [{attribute,{1463,2},spec,{{open,2},[{type,{1463,11},bounded_fun,[{type,{1463,11},'fun',[{type,{1463,11},product,[{var,{1463,12},'File'},{var,{1463,18},'Modes'}]},{type,{1463,28},union,[{type,{1463,28},tuple,[{atom,{1463,29},ok},{var,{1463,33},'IoDevice'}]},{type,{1463,45},tuple,[{atom,{1463,46},error},{var,{1463,53},'Reason'}]}]}]},[{type,{1464,7},constraint,[{atom,{1464,7},is_subtype},[{var,{1464,7},'File'},{type,{1464,15},union,[{var,{1464,15},'Filename'},{type,{1464,26},iodata,[]}]}]]},{type,{1465,7},constraint,[{atom,{1465,7},is_subtype},[{var,{1465,7},'Filename'},{user_type,{1465,19},name_all,[]}]]},{type,{1466,7},constraint,[{atom,{1466,7},is_subtype},[{var,{1466,7},'Modes'},{type,{1466,16},list,[{type,{1466,17},union,[{user_type,{1466,17},mode,[]},{atom,{1466,26},ram},{atom,{1466,32},directory}]}]}]]},{type,{1467,7},constraint,[{atom,{1467,7},is_subtype},[{var,{1467,7},'IoDevice'},{user_type,{1467,19},io_device,[]}]]},{type,{1468,7},constraint,[{atom,{1468,7},is_subtype},[{var,{1468,7},'Reason'},{type,{1468,17},union,[{user_type,{1468,17},posix,[]},{atom,{1468,27},badarg},{atom,{1468,36},system_limit}]}]]}]]}]}}]}},{{function,raw_write_file_info,2},{1247,2},[<<114,97,119,95,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>],hidden,#{}},{{function,raw_read_file_info,1},{1241,2},[<<114,97,119,95,114,101,97,100,95,102,105,108,101,95,105,110,102,111,40,78,97,109,101,41>>],hidden,#{}},{{function,write_file,3},{1196,2},[<<119,114,105,116,101,95,102,105,108,101,40,70,105,108,101,110,97,109,101,44,32,66,121,116,101,115,44,32,77,111,100,101,115,41>>],#{<<101,110>> => <<83,97,109,101,32,97,115,32,91,96,119,114,105,116,101,95,102,105,108,101,47,50,96,93,40,96,119,114,105,116,101,95,102,105,108,101,47,50,96,41,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,96,77,111,100,101,115,96,44,32,97,10,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,96,111,112,101,110,47,50,96,46,32,84,104,101,32,109,111,100,101,32,102,108,97,103,115,32,96,98,105,110,97,114,121,96,32,97,110,100,32,96,119,114,105,116,101,96,32,97,114,101,10,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>>},#{specification => [{attribute,{1201,2},spec,{{write_file,3},[{type,{1201,17},bounded_fun,[{type,{1201,17},'fun',[{type,{1201,17},product,[{var,{1201,18},'Filename'},{var,{1201,28},'Bytes'},{var,{1201,35},'Modes'}]},{type,{1201,45},union,[{atom,{1201,45},ok},{type,{1201,50},tuple,[{atom,{1201,51},error},{var,{1201,58},'Reason'}]}]}]},[{type,{1202,7},constraint,[{atom,{1202,7},is_subtype},[{var,{1202,7},'Filename'},{user_type,{1202,19},name_all,[]}]]},{type,{1203,7},constraint,[{atom,{1203,7},is_subtype},[{var,{1203,7},'Bytes'},{type,{1203,16},iodata,[]}]]},{type,{1204,7},constraint,[{atom,{1204,7},is_subtype},[{var,{1204,7},'Modes'},{type,{1204,16},list,[{user_type,{1204,17},mode,[]}]}]]},{type,{1205,7},constraint,[{atom,{1205,7},is_subtype},[{var,{1205,7},'Reason'},{type,{1205,17},union,[{user_type,{1205,17},posix,[]},{atom,{1205,27},badarg},{atom,{1205,36},terminated},{atom,{1205,49},system_limit}]}]]}]]}]}}]}},{{function,write_file,2},{1165,2},[<<119,114,105,116,101,95,102,105,108,101,40,70,105,108,101,110,97,109,101,44,32,66,121,116,101,115,41>>],#{<<101,110>> => <<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,96,105,111,100,97,116,97,96,32,116,101,114,109,32,96,66,121,116,101,115,96,32,116,111,32,102,105,108,101,32,96,70,105,108,101,110,97,109,101,96,46,32,84,104,101,32,102,105,108,101,32,105,115,10,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,10,111,118,101,114,119,114,105,116,116,101,110,46,32,82,101,116,117,114,110,115,32,96,111,107,96,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,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,46,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,110,111,101,110,116,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,110,111,116,100,105,114,96,42,42,32,45,32,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,10,32,32,112,108,97,116,102,111,114,109,115,44,32,96,101,110,111,101,110,116,96,32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46,10,10,45,32,42,42,96,101,110,111,115,112,99,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,97,99,99,101,115,96,42,42,32,45,32,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,10,32,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,46,10,10,45,32,42,42,96,101,105,115,100,105,114,96,42,42,32,45,32,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>>},#{specification => [{attribute,{1184,2},spec,{{write_file,2},[{type,{1184,17},bounded_fun,[{type,{1184,17},'fun',[{type,{1184,17},product,[{var,{1184,18},'Filename'},{var,{1184,28},'Bytes'}]},{type,{1184,38},union,[{atom,{1184,38},ok},{type,{1184,43},tuple,[{atom,{1184,44},error},{var,{1184,51},'Reason'}]}]}]},[{type,{1185,7},constraint,[{atom,{1185,7},is_subtype},[{var,{1185,7},'Filename'},{user_type,{1185,19},name_all,[]}]]},{type,{1186,7},constraint,[{atom,{1186,7},is_subtype},[{var,{1186,7},'Bytes'},{type,{1186,16},iodata,[]}]]},{type,{1187,7},constraint,[{atom,{1187,7},is_subtype},[{var,{1187,7},'Reason'},{type,{1187,17},union,[{user_type,{1187,17},posix,[]},{atom,{1187,27},badarg},{atom,{1187,36},terminated},{atom,{1187,49},system_limit}]}]]}]]}]}}]}},{{function,make_symlink,2},{1138,2},[<<109,97,107,101,95,115,121,109,108,105,110,107,40,69,120,105,115,116,105,110,103,44,32,78,101,119,41>>],#{<<101,110>> => <<67,114,101,97,116,101,115,32,97,32,115,121,109,98,111,108,105,99,32,108,105,110,107,32,96,78,101,119,96,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,96,69,120,105,115,116,105,110,103,96,32,111,110,32,112,108,97,116,102,111,114,109,115,10,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,10,96,69,120,105,115,116,105,110,103,96,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,96,111,107,96,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,10,99,114,101,97,116,101,100,44,32,111,116,104,101,114,119,105,115,101,32,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,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,10,108,105,110,107,115,44,32,96,123,101,114,114,111,114,44,32,101,110,111,116,115,117,112,125,96,32,105,115,32,114,101,116,117,114,110,101,100,46,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,97,99,99,101,115,96,42,42,32,45,32,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,10,32,32,96,69,120,105,115,116,105,110,103,96,32,111,114,32,96,78,101,119,96,46,10,10,45,32,42,42,96,101,101,120,105,115,116,96,42,42,32,45,32,96,78,101,119,96,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,46,10,10,45,32,42,42,96,101,110,111,116,115,117,112,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,112,101,114,109,96,42,42,32,45,32,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,10,32,32,40,96,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,96,32,111,110,32,87,105,110,100,111,119,115,41,46>>},#{specification => [{attribute,{1157,2},spec,{{make_symlink,2},[{type,{1157,19},bounded_fun,[{type,{1157,19},'fun',[{type,{1157,19},product,[{var,{1157,20},'Existing'},{var,{1157,30},'New'}]},{type,{1157,38},union,[{atom,{1157,38},ok},{type,{1157,43},tuple,[{atom,{1157,44},error},{var,{1157,51},'Reason'}]}]}]},[{type,{1158,7},constraint,[{atom,{1158,7},is_subtype},[{var,{1158,7},'Existing'},{user_type,{1158,19},name_all,[]}]]},{type,{1159,7},constraint,[{atom,{1159,7},is_subtype},[{var,{1159,7},'New'},{user_type,{1159,14},name_all,[]}]]},{type,{1160,7},constraint,[{atom,{1160,7},is_subtype},[{var,{1160,7},'Reason'},{type,{1160,17},union,[{user_type,{1160,17},posix,[]},{atom,{1160,27},badarg}]}]]}]]}]}}]}},{{function,make_link,2},{1115,2},[<<109,97,107,101,95,108,105,110,107,40,69,120,105,115,116,105,110,103,44,32,78,101,119,41>>],#{<<101,110>> => <<77,97,107,101,115,32,97,32,104,97,114,100,32,108,105,110,107,32,102,114,111,109,32,96,69,120,105,115,116,105,110,103,96,32,116,111,32,96,78,101,119,96,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,10,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,96,111,107,96,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,10,111,116,104,101,114,119,105,115,101,32,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,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,10,96,123,101,114,114,111,114,44,101,110,111,116,115,117,112,125,96,32,105,115,32,114,101,116,117,114,110,101,100,46,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,97,99,99,101,115,96,42,42,32,45,32,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,10,32,32,96,69,120,105,115,116,105,110,103,96,32,111,114,32,96,78,101,119,96,46,10,10,45,32,42,42,96,101,101,120,105,115,116,96,42,42,32,45,32,96,78,101,119,96,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,46,10,10,45,32,42,42,96,101,110,111,116,115,117,112,96,42,42,32,45,32,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>>},#{specification => [{attribute,{1130,2},spec,{{make_link,2},[{type,{1130,16},bounded_fun,[{type,{1130,16},'fun',[{type,{1130,16},product,[{var,{1130,17},'Existing'},{var,{1130,27},'New'}]},{type,{1130,35},union,[{atom,{1130,35},ok},{type,{1130,40},tuple,[{atom,{1130,41},error},{var,{1130,48},'Reason'}]}]}]},[{type,{1131,7},constraint,[{atom,{1131,7},is_subtype},[{var,{1131,7},'Existing'},{user_type,{1131,19},name_all,[]}]]},{type,{1132,7},constraint,[{atom,{1132,7},is_subtype},[{var,{1132,7},'New'},{user_type,{1132,14},name_all,[]}]]},{type,{1133,7},constraint,[{atom,{1133,7},is_subtype},[{var,{1133,7},'Reason'},{type,{1133,17},union,[{user_type,{1133,17},posix,[]},{atom,{1133,27},badarg}]}]]}]]}]}}]}},{{function,read_file,2},{1074,2},[<<114,101,97,100,95,102,105,108,101,40,70,105,108,101,110,97,109,101,44,32,79,112,116,115,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,123,111,107,44,32,66,105,110,97,114,121,125,96,44,32,119,104,101,114,101,32,96,66,105,110,97,114,121,96,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,10,99,111,110,116,101,110,116,115,32,111,102,32,96,70,105,108,101,110,97,109,101,96,44,32,111,114,32,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,32,105,102,32,97,110,32,101,114,114,111,114,32,111,99,99,117,114,115,46,10,10,73,102,32,116,104,101,32,111,112,116,105,111,110,32,96,114,97,119,96,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,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,110,111,101,110,116,96,42,42,32,45,32,84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,10,10,45,32,42,42,96,101,97,99,99,101,115,96,42,42,32,45,32,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,10,32,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,10,10,45,32,42,42,96,101,105,115,100,105,114,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,110,111,116,100,105,114,96,42,42,32,45,32,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,10,32,32,112,108,97,116,102,111,114,109,115,44,32,96,101,110,111,101,110,116,96,32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46,10,10,45,32,42,42,96,101,110,111,109,101,109,96,42,42,32,45,32,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>>},#{specification => [{attribute,{1095,2},spec,{{read_file,2},[{type,{1095,16},bounded_fun,[{type,{1095,16},'fun',[{type,{1095,16},product,[{var,{1095,17},'Filename'},{var,{1095,27},'Opts'}]},{type,{1095,36},union,[{type,{1095,36},tuple,[{atom,{1095,37},ok},{var,{1095,41},'Binary'}]},{type,{1095,51},tuple,[{atom,{1095,52},error},{var,{1095,59},'Reason'}]}]}]},[{type,{1096,7},constraint,[{atom,{1096,7},is_subtype},[{var,{1096,7},'Filename'},{user_type,{1096,19},name_all,[]}]]},{type,{1097,7},constraint,[{atom,{1097,7},is_subtype},[{var,{1097,7},'Opts'},{type,{1097,15},list,[{user_type,{1097,16},read_file_option,[]}]}]]},{type,{1098,7},constraint,[{atom,{1098,7},is_subtype},[{var,{1098,7},'Binary'},{type,{1098,17},binary,[]}]]},{type,{1099,7},constraint,[{atom,{1099,7},is_subtype},[{var,{1099,7},'Reason'},{type,{1099,17},union,[{user_type,{1099,17},posix,[]},{atom,{1099,27},badarg},{atom,{1099,36},terminated},{atom,{1099,49},system_limit}]}]]}]]}]}}],since => <<79,84,80,32,50,55,46,48>>}},{{function,read_file,1},{1071,1},[<<114,101,97,100,95,102,105,108,101,40,70,105,108,101,110,97,109,101,41>>],none,#{equiv => <<114,101,97,100,95,102,105,108,101,40,70,105,108,101,110,97,109,101,44,32,91,93,41>>}},{{function,list_dir_all,1},{1043,2},[<<108,105,115,116,95,100,105,114,95,97,108,108,40,68,105,114,41>>],#{<<101,110>> => <<91,93,40,41,123,58,32,35,108,105,115,116,95,100,105,114,95,97,108,108,32,125,32,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,10,114,97,119,32,102,105,108,101,110,97,109,101,115,46,32,82,101,116,117,114,110,115,32,96,123,111,107,44,32,70,105,108,101,110,97,109,101,115,125,96,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,10,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,46,32,96,70,105,108,101,110,97,109,101,115,96,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,10,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,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,97,99,99,101,115,96,42,42,32,45,32,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,96,68,105,114,96,32,111,114,32,111,110,101,32,111,102,32,105,116,115,10,32,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,46,10,10,45,32,42,42,96,101,110,111,101,110,116,96,42,42,32,45,32,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>>},#{specification => [{attribute,{1057,2},spec,{{list_dir_all,1},[{type,{1057,19},bounded_fun,[{type,{1057,19},'fun',[{type,{1057,19},product,[{var,{1057,20},'Dir'}]},{type,{1057,28},union,[{type,{1057,28},tuple,[{atom,{1057,29},ok},{var,{1057,33},'Filenames'}]},{type,{1057,46},tuple,[{atom,{1057,47},error},{var,{1057,54},'Reason'}]}]}]},[{type,{1058,7},constraint,[{atom,{1058,7},is_subtype},[{var,{1058,7},'Dir'},{user_type,{1058,14},name_all,[]}]]},{type,{1059,7},constraint,[{atom,{1059,7},is_subtype},[{var,{1059,7},'Filenames'},{type,{1059,20},list,[{user_type,{1059,21},filename_all,[]}]}]]},{type,{1060,7},constraint,[{atom,{1060,7},is_subtype},[{var,{1060,7},'Reason'},{type,{1060,17},union,[{user_type,{1060,17},posix,[]},{atom,{1060,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,list_dir,1},{1018,2},[<<108,105,115,116,95,100,105,114,40,68,105,114,41>>],#{<<101,110>> => <<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,95,101,120,99,101,112,116,95,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,10,96,123,111,107,44,32,70,105,108,101,110,97,109,101,115,125,96,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,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,46,32,96,70,105,108,101,110,97,109,101,115,96,32,105,115,32,97,10,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,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,97,99,99,101,115,96,42,42,32,45,32,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,96,68,105,114,96,32,111,114,32,111,110,101,32,111,102,32,105,116,115,10,32,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,46,10,10,45,32,42,42,96,101,110,111,101,110,116,96,42,42,32,45,32,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,10,10,45,32,42,42,96,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,96,42,42,32,45,32,96,70,105,108,101,110,97,109,101,96,32,105,115,32,97,32,96,116,58,98,105,110,97,114,121,47,48,96,32,119,105,116,104,10,32,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,96,43,102,110,117,101,96,46>>},#{specification => [{attribute,{1033,2},spec,{{list_dir,1},[{type,{1033,15},bounded_fun,[{type,{1033,15},'fun',[{type,{1033,15},product,[{var,{1033,16},'Dir'}]},{type,{1033,24},union,[{type,{1033,24},tuple,[{atom,{1033,25},ok},{var,{1033,29},'Filenames'}]},{type,{1033,42},tuple,[{atom,{1033,43},error},{var,{1033,50},'Reason'}]}]}]},[{type,{1034,7},constraint,[{atom,{1034,7},is_subtype},[{var,{1034,7},'Dir'},{user_type,{1034,14},name_all,[]}]]},{type,{1035,7},constraint,[{atom,{1035,7},is_subtype},[{var,{1035,7},'Filenames'},{type,{1035,20},list,[{user_type,{1035,21},filename,[]}]}]]},{type,{1036,7},constraint,[{atom,{1036,7},is_subtype},[{var,{1036,7},'Reason'},{type,{1036,17},union,[{user_type,{1036,17},posix,[]},{atom,{1037,17},badarg},{type,{1038,17},tuple,[{atom,{1038,18},no_translation},{ann_type,{1038,34},[{var,{1038,34},'Filename'},{remote_type,{1038,46},[{atom,{1038,46},unicode},{atom,{1038,54},latin1_binary},[]]}]}]}]}]]}]]}]}}]}},{{function,write_file_info,3},{913,2},[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,40,70,105,108,101,110,97,109,101,44,32,70,105,108,101,73,110,102,111,44,32,79,112,116,115,41>>],#{<<101,110>> => <<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,96,111,107,96,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,10,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,46,10,10,96,70,105,108,101,73,110,102,111,96,32,105,115,32,97,32,114,101,99,111,114,100,32,96,102,105,108,101,95,105,110,102,111,96,44,32,100,101,102,105,110,101,100,32,105,110,32,116,104,101,32,75,101,114,110,101,108,10,105,110,99,108,117,100,101,32,102,105,108,101,32,96,102,105,108,101,46,104,114,108,96,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,10,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,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,84,104,101,32,116,105,109,101,32,116,121,112,101,32,115,101,116,32,105,110,32,96,97,116,105,109,101,96,44,32,96,109,116,105,109,101,96,44,32,97,110,100,32,96,99,116,105,109,101,96,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,10,105,110,32,96,79,112,116,115,32,58,58,32,123,116,105,109,101,44,32,84,121,112,101,125,96,32,97,115,32,102,111,108,108,111,119,115,58,10,10,45,32,42,42,96,108,111,99,97,108,96,42,42,32,45,32,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,10,10,45,32,42,42,96,117,110,105,118,101,114,115,97,108,96,42,42,32,45,32,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,10,10,45,32,42,42,96,112,111,115,105,120,96,42,42,32,45,32,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,10,32,32,49,57,55,48,45,48,49,45,48,49,32,48,48,58,48,48,32,85,84,67,46,10,10,68,101,102,97,117,108,116,32,105,115,32,96,123,116,105,109,101,44,32,108,111,99,97,108,125,96,46,10,10,73,102,32,116,104,101,32,111,112,116,105,111,110,32,96,114,97,119,96,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,10,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,10,10,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,10,10,45,32,42,42,96,97,116,105,109,101,32,61,32,96,32,96,116,58,100,97,116,101,95,116,105,109,101,47,48,96,32,96,32,124,32,96,32,96,116,58,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,47,48,96,42,42,32,45,32,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,10,32,32,114,101,97,100,46,10,10,45,32,42,42,96,109,116,105,109,101,32,61,32,96,32,96,116,58,100,97,116,101,95,116,105,109,101,47,48,96,32,96,32,124,32,96,32,96,116,58,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,47,48,96,42,42,32,45,32,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,10,32,32,119,114,105,116,116,101,110,46,10,10,45,32,42,42,96,99,116,105,109,101,32,61,32,96,32,96,116,58,100,97,116,101,95,116,105,109,101,47,48,96,32,96,32,124,32,96,32,96,116,58,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,47,48,96,42,42,32,45,32,79,110,32,85,110,105,120,44,32,97,110,121,32,118,97,108,117,101,10,32,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,10,32,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,10,32,32,102,105,108,101,46,10,10,45,32,42,42,96,109,111,100,101,32,61,32,96,32,96,116,58,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,47,48,96,42,42,32,45,32,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,10,32,32,98,105,116,32,118,97,108,117,101,115,58,10,10,32,32,45,32,42,42,96,56,35,48,48,52,48,48,96,42,42,32,45,32,82,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,111,119,110,101,114,10,10,32,32,45,32,42,42,96,56,35,48,48,50,48,48,96,42,42,32,45,32,87,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,119,110,101,114,10,10,32,32,45,32,42,42,96,56,35,48,48,49,48,48,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,56,35,48,48,48,52,48,96,42,42,32,45,32,82,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,103,114,111,117,112,10,10,32,32,45,32,42,42,96,56,35,48,48,48,50,48,96,42,42,32,45,32,87,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,103,114,111,117,112,10,10,32,32,45,32,42,42,96,56,35,48,48,48,49,48,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,56,35,48,48,48,48,52,96,42,42,32,45,32,82,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,111,116,104,101,114,10,10,32,32,45,32,42,42,96,56,35,48,48,48,48,50,96,42,42,32,45,32,87,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,116,104,101,114,10,10,32,32,45,32,42,42,96,56,35,48,48,48,48,49,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,49,54,35,56,48,48,96,42,42,32,45,32,83,101,116,32,117,115,101,114,32,105,100,32,111,110,32,101,120,101,99,117,116,105,111,110,10,10,32,32,45,32,42,42,96,49,54,35,52,48,48,96,42,42,32,45,32,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,10,10,32,32,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,10,10,45,32,42,42,96,117,105,100,32,61,32,96,32,96,116,58,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,47,48,96,42,42,32,45,32,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,10,32,32,102,105,108,101,32,115,121,115,116,101,109,115,46,10,10,45,32,42,42,96,103,105,100,32,61,32,96,32,96,116,58,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,47,48,96,42,42,32,45,32,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,10,32,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,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,97,99,99,101,115,96,42,42,32,45,32,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,10,32,32,116,104,101,32,102,105,108,101,46,10,10,45,32,42,42,96,101,110,111,101,110,116,96,42,42,32,45,32,84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,10,10,45,32,42,42,96,101,110,111,116,100,105,114,96,42,42,32,45,32,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,10,32,32,112,108,97,116,102,111,114,109,115,44,32,96,101,110,111,101,110,116,96,32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>},#{specification => [{attribute,{997,2},spec,{{write_file_info,3},[{type,{997,22},bounded_fun,[{type,{997,22},'fun',[{type,{997,22},product,[{var,{997,23},'Filename'},{var,{997,33},'FileInfo'},{var,{997,43},'Opts'}]},{type,{997,52},union,[{atom,{997,52},ok},{type,{997,57},tuple,[{atom,{997,58},error},{var,{997,65},'Reason'}]}]}]},[{type,{998,7},constraint,[{atom,{998,7},is_subtype},[{var,{998,7},'Filename'},{user_type,{998,19},name_all,[]}]]},{type,{999,7},constraint,[{atom,{999,7},is_subtype},[{var,{999,7},'Opts'},{type,{999,15},list,[{user_type,{999,16},file_info_option,[]}]}]]},{type,{1000,7},constraint,[{atom,{1000,7},is_subtype},[{var,{1000,7},'FileInfo'},{user_type,{1000,19},file_info,[]}]]},{type,{1001,7},constraint,[{atom,{1001,7},is_subtype},[{var,{1001,7},'Reason'},{type,{1001,17},union,[{user_type,{1001,17},posix,[]},{atom,{1001,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,82,49,53,66>>}},{{function,write_file_info,2},{910,1},[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,40,70,105,108,101,110,97,109,101,44,32,70,105,108,101,73,110,102,111,41>>],none,#{equiv => <<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,40,70,105,108,101,110,97,109,101,44,32,70,105,108,101,73,110,102,111,44,32,91,93,41>>}},{{function,read_link_all,1},{880,2},[<<114,101,97,100,95,108,105,110,107,95,97,108,108,40,78,97,109,101,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,123,111,107,44,32,70,105,108,101,110,97,109,101,125,96,32,105,102,32,96,78,97,109,101,96,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,10,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,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,10,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,96,123,101,114,114,111,114,44,101,110,111,116,115,117,112,125,96,46,10,10,78,111,116,105,99,101,32,116,104,97,116,32,96,70,105,108,101,110,97,109,101,96,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,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,105,110,118,97,108,96,42,42,32,45,32,96,78,97,109,101,96,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,10,10,45,32,42,42,96,101,110,111,101,110,116,96,42,42,32,45,32,84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,10,10,45,32,42,42,96,101,110,111,116,115,117,112,96,42,42,32,45,32,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>>},#{specification => [{attribute,{896,2},spec,{{read_link_all,1},[{type,{896,20},bounded_fun,[{type,{896,20},'fun',[{type,{896,20},product,[{var,{896,21},'Name'}]},{type,{896,30},union,[{type,{896,30},tuple,[{atom,{896,31},ok},{var,{896,35},'Filename'}]},{type,{896,47},tuple,[{atom,{896,48},error},{var,{896,55},'Reason'}]}]}]},[{type,{897,7},constraint,[{atom,{897,7},is_subtype},[{var,{897,7},'Name'},{user_type,{897,15},name_all,[]}]]},{type,{898,7},constraint,[{atom,{898,7},is_subtype},[{var,{898,7},'Filename'},{user_type,{898,19},filename_all,[]}]]},{type,{899,7},constraint,[{atom,{899,7},is_subtype},[{var,{899,7},'Reason'},{type,{899,17},union,[{user_type,{899,17},posix,[]},{atom,{899,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,read_link,1},{858,2},[<<114,101,97,100,95,108,105,110,107,40,78,97,109,101,41>>],#{<<101,110>> => <<91,93,40,41,123,58,32,35,114,101,97,100,95,108,105,110,107,95,97,108,108,32,125,32,82,101,116,117,114,110,115,32,96,123,111,107,44,32,70,105,108,101,110,97,109,101,125,96,32,105,102,32,96,78,97,109,101,96,32,114,101,102,101,114,115,32,116,111,32,97,32,115,121,109,98,111,108,105,99,10,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,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,32,111,116,104,101,114,119,105,115,101,46,32,79,110,32,112,108,97,116,102,111,114,109,115,10,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,96,123,101,114,114,111,114,44,101,110,111,116,115,117,112,125,96,46,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,105,110,118,97,108,96,42,42,32,45,32,96,78,97,109,101,96,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,10,32,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,10,10,45,32,42,42,96,101,110,111,101,110,116,96,42,42,32,45,32,84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,10,10,45,32,42,42,96,101,110,111,116,115,117,112,96,42,42,32,45,32,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>>},#{specification => [{attribute,{872,2},spec,{{read_link,1},[{type,{872,16},bounded_fun,[{type,{872,16},'fun',[{type,{872,16},product,[{var,{872,17},'Name'}]},{type,{872,26},union,[{type,{872,26},tuple,[{atom,{872,27},ok},{var,{872,31},'Filename'}]},{type,{872,43},tuple,[{atom,{872,44},error},{var,{872,51},'Reason'}]}]}]},[{type,{873,7},constraint,[{atom,{873,7},is_subtype},[{var,{873,7},'Name'},{user_type,{873,15},name_all,[]}]]},{type,{874,7},constraint,[{atom,{874,7},is_subtype},[{var,{874,7},'Filename'},{user_type,{874,19},filename,[]}]]},{type,{875,7},constraint,[{atom,{875,7},is_subtype},[{var,{875,7},'Reason'},{type,{875,17},union,[{user_type,{875,17},posix,[]},{atom,{875,27},badarg}]}]]}]]}]}}]}},{{function,read_link_info,2},{820,2},[<<114,101,97,100,95,108,105,110,107,95,105,110,102,111,40,78,97,109,101,44,32,79,112,116,115,41>>],#{<<101,110>> => <<87,111,114,107,115,32,108,105,107,101,32,91,96,114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49,44,50,96,93,40,96,114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,50,96,41,32,101,120,99,101,112,116,32,116,104,97,116,32,105,102,32,96,78,97,109,101,96,32,105,115,32,97,10,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,96,102,105,108,101,95,105,110,102,111,96,32,114,101,99,111,114,100,10,97,110,100,32,116,104,101,32,96,116,121,112,101,96,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,96,115,121,109,108,105,110,107,96,46,10,10,73,102,32,116,104,101,32,111,112,116,105,111,110,32,96,114,97,119,96,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,10,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,10,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,10,91,96,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,49,44,50,96,93,40,96,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50,96,41,10,10,73,102,32,96,78,97,109,101,96,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,10,91,96,114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49,96,93,40,96,114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49,96,41,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,10,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,10,91,96,114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49,96,93,40,96,114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49,96,41,46>>},#{specification => [{attribute,{836,2},spec,{{read_link_info,2},[{type,{836,21},bounded_fun,[{type,{836,21},'fun',[{type,{836,21},product,[{var,{836,22},'Name'},{var,{836,28},'Opts'}]},{type,{836,37},union,[{type,{836,37},tuple,[{atom,{836,38},ok},{var,{836,42},'FileInfo'}]},{type,{836,54},tuple,[{atom,{836,55},error},{var,{836,62},'Reason'}]}]}]},[{type,{837,7},constraint,[{atom,{837,7},is_subtype},[{var,{837,7},'Name'},{user_type,{837,15},name_all,[]}]]},{type,{838,7},constraint,[{atom,{838,7},is_subtype},[{var,{838,7},'Opts'},{type,{838,15},list,[{user_type,{838,16},file_info_option,[]}]}]]},{type,{839,7},constraint,[{atom,{839,7},is_subtype},[{var,{839,7},'FileInfo'},{user_type,{839,19},file_info,[]}]]},{type,{840,7},constraint,[{atom,{840,7},is_subtype},[{var,{840,7},'Reason'},{type,{840,17},union,[{user_type,{840,17},posix,[]},{atom,{840,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,82,49,53,66>>}},{{function,read_link_info,1},{817,1},[<<114,101,97,100,95,108,105,110,107,95,105,110,102,111,40,78,97,109,101,41>>],none,#{equiv => <<114,101,97,100,95,108,105,110,107,95,105,110,102,111,40,78,97,109,101,44,32,91,93,41>>}},{{function,altname,1},{805,2},[<<97,108,116,110,97,109,101,40,78,97,109,101,41>>],hidden,#{}},{{function,read_file_info,2},{664,2},[<<114,101,97,100,95,102,105,108,101,95,105,110,102,111,40,70,105,108,101,44,32,79,112,116,115,41>>],#{<<101,110>> => <<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,96,123,111,107,44,32,70,105,108,101,73,110,102,111,125,96,32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,10,111,116,104,101,114,119,105,115,101,32,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,46,10,10,96,70,105,108,101,73,110,102,111,96,32,105,115,32,97,32,114,101,99,111,114,100,32,96,102,105,108,101,95,105,110,102,111,96,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,96,102,105,108,101,46,104,114,108,96,46,10,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,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,96,97,116,105,109,101,96,44,32,96,109,116,105,109,101,96,44,32,97,110,100,32,96,99,116,105,109,101,96,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,10,116,121,112,101,32,115,101,116,32,105,110,32,96,79,112,116,115,32,58,58,32,123,116,105,109,101,44,32,84,121,112,101,125,96,32,97,115,32,102,111,108,108,111,119,115,58,10,10,45,32,42,42,96,108,111,99,97,108,96,42,42,32,45,32,82,101,116,117,114,110,115,32,108,111,99,97,108,32,116,105,109,101,46,10,10,45,32,42,42,96,117,110,105,118,101,114,115,97,108,96,42,42,32,45,32,82,101,116,117,114,110,115,32,117,110,105,118,101,114,115,97,108,32,116,105,109,101,46,10,10,45,32,42,42,96,112,111,115,105,120,96,42,42,32,45,32,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,10,32,32,49,57,55,48,45,48,49,45,48,49,32,48,48,58,48,48,32,85,84,67,46,10,10,68,101,102,97,117,108,116,32,105,115,32,96,123,116,105,109,101,44,32,108,111,99,97,108,125,96,46,10,10,73,102,32,116,104,101,32,111,112,116,105,111,110,32,96,114,97,119,96,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,10,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,10,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,10,91,96,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,49,44,50,96,32,93,40,96,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50,96,41,46,10,10,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,10,102,105,108,101,32,110,97,109,101,46,32,85,115,101,32,96,111,112,101,110,47,50,96,32,119,105,116,104,32,116,104,101,32,96,114,97,119,96,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,96,112,111,115,105,120,96,46,10,10,84,104,101,32,114,101,99,111,114,100,32,96,102,105,108,101,95,105,110,102,111,96,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,10,10,45,32,42,42,96,115,105,122,101,32,61,32,96,32,96,116,58,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,47,48,96,42,42,32,45,32,83,105,122,101,32,111,102,32,102,105,108,101,32,105,110,32,98,121,116,101,115,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,32,97,108,115,111,32,99,111,110,116,97,105,110,32,96,115,121,109,108,105,110,107,96,32,119,104,101,110,32,114,101,116,117,114,110,101,100,32,102,114,111,109,10,32,32,91,114,101,97,100,95,108,105,110,107,95,105,110,102,111,47,49,44,50,93,40,96,114,101,97,100,95,108,105,110,107,95,105,110,102,111,47,49,96,41,46,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,32,116,104,101,32,102,105,108,101,46,10,10,45,32,42,42,96,97,116,105,109,101,32,61,32,96,32,96,116,58,100,97,116,101,95,116,105,109,101,47,48,96,32,96,32,124,32,96,32,96,116,58,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,47,48,96,42,42,32,45,32,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,10,32,32,114,101,97,100,46,10,10,45,32,42,42,96,109,116,105,109,101,32,61,32,96,32,96,116,58,100,97,116,101,95,116,105,109,101,47,48,96,32,96,32,124,32,96,32,96,116,58,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,47,48,96,42,42,32,45,32,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,10,32,32,119,114,105,116,116,101,110,46,10,10,45,32,42,42,96,99,116,105,109,101,32,61,32,96,32,96,116,58,100,97,116,101,95,116,105,109,101,47,48,96,32,96,32,124,32,96,32,96,116,58,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,47,48,96,42,42,32,45,32,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,10,32,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,10,32,32,102,105,108,101,32,111,114,32,116,104,101,32,96,105,110,111,100,101,96,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,10,10,45,32,42,42,96,109,111,100,101,32,61,32,96,32,96,116,58,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,47,48,96,42,42,32,45,32,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,10,32,32,98,105,116,32,118,97,108,117,101,115,58,10,10,32,32,45,32,42,42,96,56,35,48,48,52,48,48,96,42,42,32,45,32,114,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,111,119,110,101,114,10,10,32,32,45,32,42,42,96,56,35,48,48,50,48,48,96,42,42,32,45,32,119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,119,110,101,114,10,10,32,32,45,32,42,42,96,56,35,48,48,49,48,48,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,56,35,48,48,48,52,48,96,42,42,32,45,32,114,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,103,114,111,117,112,10,10,32,32,45,32,42,42,96,56,35,48,48,48,50,48,96,42,42,32,45,32,119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,103,114,111,117,112,10,10,32,32,45,32,42,42,96,56,35,48,48,48,49,48,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,56,35,48,48,48,48,52,96,42,42,32,45,32,114,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,111,116,104,101,114,10,10,32,32,45,32,42,42,96,56,35,48,48,48,48,50,96,42,42,32,45,32,119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,116,104,101,114,10,10,32,32,45,32,42,42,96,56,35,48,48,48,48,49,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,49,54,35,56,48,48,96,42,42,32,45,32,115,101,116,32,117,115,101,114,32,105,100,32,111,110,32,101,120,101,99,117,116,105,111,110,10,10,32,32,45,32,42,42,96,49,54,35,52,48,48,96,42,42,32,45,32,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,10,10,32,32,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,10,10,45,32,42,42,96,108,105,110,107,115,32,61,32,96,32,96,116,58,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,47,48,96,42,42,32,45,32,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,10,32,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,10,10,45,32,42,42,96,109,97,106,111,114,95,100,101,118,105,99,101,32,61,32,96,32,96,116,58,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,47,48,96,42,42,32,45,32,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,10,32,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,10,32,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,10,10,45,32,42,42,96,109,105,110,111,114,95,100,101,118,105,99,101,32,61,32,96,32,96,116,58,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,47,48,96,42,42,32,45,32,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,10,32,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,10,10,45,32,42,42,96,105,110,111,100,101,32,61,32,96,32,96,116,58,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,47,48,96,42,42,32,45,32,71,105,118,101,115,32,116,104,101,32,96,105,110,111,100,101,96,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,10,32,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,10,10,45,32,42,42,96,117,105,100,32,61,32,96,32,96,116,58,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,47,48,96,42,42,32,45,32,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,10,32,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,10,10,45,32,42,42,96,103,105,100,32,61,32,96,32,96,116,58,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,47,48,96,42,42,32,45,32,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,10,32,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,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,97,99,99,101,115,96,42,42,32,45,32,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,10,32,32,116,104,101,32,102,105,108,101,46,10,10,45,32,42,42,96,101,110,111,101,110,116,96,42,42,32,45,32,84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,10,10,45,32,42,42,96,101,110,111,116,100,105,114,96,42,42,32,45,32,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,10,32,32,112,108,97,116,102,111,114,109,115,44,32,96,101,110,111,101,110,116,96,32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>},#{specification => [{attribute,{778,2},spec,{{read_file_info,2},[{type,{778,21},bounded_fun,[{type,{778,21},'fun',[{type,{778,21},product,[{var,{778,22},'File'},{var,{778,28},'Opts'}]},{type,{778,37},union,[{type,{778,37},tuple,[{atom,{778,38},ok},{var,{778,42},'FileInfo'}]},{type,{778,54},tuple,[{atom,{778,55},error},{var,{778,62},'Reason'}]}]}]},[{type,{779,7},constraint,[{atom,{779,7},is_subtype},[{var,{779,7},'File'},{type,{779,15},union,[{user_type,{779,15},name_all,[]},{user_type,{779,28},io_device,[]}]}]]},{type,{780,7},constraint,[{atom,{780,7},is_subtype},[{var,{780,7},'Opts'},{type,{780,15},list,[{user_type,{780,16},file_info_option,[]}]}]]},{type,{781,7},constraint,[{atom,{781,7},is_subtype},[{var,{781,7},'FileInfo'},{user_type,{781,19},file_info,[]}]]},{type,{782,7},constraint,[{atom,{782,7},is_subtype},[{var,{782,7},'Reason'},{type,{782,17},union,[{user_type,{782,17},posix,[]},{atom,{782,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,82,49,53,66>>}},{{function,read_file_info,1},{657,1},[<<114,101,97,100,95,102,105,108,101,95,105,110,102,111,40,70,105,108,101,41>>],none,#{equiv => <<114,101,97,100,95,102,105,108,101,95,105,110,102,111,40,70,105,108,101,44,32,91,93,41>>}},{{function,del_dir_r,1},{621,2},[<<100,101,108,95,100,105,114,95,114,40,70,105,108,101,41>>],#{<<101,110>> => <<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,96,70,105,108,101,96,46,32,73,102,32,96,70,105,108,101,96,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,10,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,10,10,45,32,42,42,96,111,107,96,42,42,32,45,32,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,10,10,45,32,42,42,96,123,101,114,114,111,114,44,32,112,111,115,105,120,40,41,125,96,42,42,32,45,32,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,96,70,105,108,101,96,46,10,32,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,96,70,105,108,101,96,32,99,111,117,108,100,32,110,111,116,32,98,101,32,100,101,108,101,116,101,100,44,32,96,70,105,108,101,96,32,99,97,110,110,111,116,32,98,101,10,32,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,96,123,101,114,114,111,114,44,32,101,101,120,105,115,116,125,96,32,105,115,32,114,101,116,117,114,110,101,100,46>>},#{specification => [{attribute,{632,2},spec,{{del_dir_r,1},[{type,{632,16},bounded_fun,[{type,{632,16},'fun',[{type,{632,16},product,[{var,{632,17},'File'}]},{type,{632,26},union,[{atom,{632,26},ok},{type,{632,31},tuple,[{atom,{632,32},error},{var,{632,39},'Reason'}]}]}]},[{type,{633,7},constraint,[{atom,{633,7},is_subtype},[{var,{633,7},'File'},{user_type,{633,15},name_all,[]}]]},{type,{634,7},constraint,[{atom,{634,7},is_subtype},[{var,{634,7},'Reason'},{type,{634,17},union,[{user_type,{634,17},posix,[]},{atom,{634,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,del_dir,1},{595,2},[<<100,101,108,95,100,105,114,40,68,105,114,41>>],#{<<101,110>> => <<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,96,68,105,114,96,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,10,100,101,108,101,116,101,100,46,32,82,101,116,117,114,110,115,32,96,111,107,96,32,105,102,32,115,117,99,99,101,115,115,102,117,108,46,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,97,99,99,101,115,96,42,42,32,45,32,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,10,32,32,111,102,32,96,68,105,114,96,46,10,10,45,32,42,42,96,101,101,120,105,115,116,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,110,111,101,110,116,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,110,111,116,100,105,114,96,42,42,32,45,32,65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,96,68,105,114,96,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,10,32,32,96,101,110,111,101,110,116,96,32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46,10,10,45,32,42,42,96,101,105,110,118,97,108,96,42,42,32,45,32,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,10,32,32,96,101,97,99,99,101,115,96,32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>},#{specification => [{attribute,{614,2},spec,{{del_dir,1},[{type,{614,14},bounded_fun,[{type,{614,14},'fun',[{type,{614,14},product,[{var,{614,15},'Dir'}]},{type,{614,23},union,[{atom,{614,23},ok},{type,{614,28},tuple,[{atom,{614,29},error},{var,{614,36},'Reason'}]}]}]},[{type,{615,7},constraint,[{atom,{615,7},is_subtype},[{var,{615,7},'Dir'},{user_type,{615,14},name_all,[]}]]},{type,{616,7},constraint,[{atom,{616,7},is_subtype},[{var,{616,7},'Reason'},{type,{616,17},union,[{user_type,{616,17},posix,[]},{atom,{616,27},badarg}]}]]}]]}]}}]}},{{function,make_dir,1},{570,2},[<<109,97,107,101,95,100,105,114,40,68,105,114,41>>],#{<<101,110>> => <<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,96,68,105,114,96,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,95,110,111,116,95,32,99,114,101,97,116,101,100,46,10,82,101,116,117,114,110,115,32,96,111,107,96,32,105,102,32,115,117,99,99,101,115,115,102,117,108,46,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,97,99,99,101,115,96,42,42,32,45,32,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,10,32,32,111,102,32,96,68,105,114,96,46,10,10,45,32,42,42,96,101,101,120,105,115,116,96,42,42,32,45,32,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,96,68,105,114,96,32,101,120,105,115,116,115,32,97,108,114,101,97,100,121,46,10,10,45,32,42,42,96,101,110,111,101,110,116,96,42,42,32,45,32,65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,96,68,105,114,96,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,10,10,45,32,42,42,96,101,110,111,115,112,99,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,110,111,116,100,105,114,96,42,42,32,45,32,65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,96,68,105,114,96,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,10,32,32,96,101,110,111,101,110,116,96,32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>},#{specification => [{attribute,{588,2},spec,{{make_dir,1},[{type,{588,15},bounded_fun,[{type,{588,15},'fun',[{type,{588,15},product,[{var,{588,16},'Dir'}]},{type,{588,24},union,[{atom,{588,24},ok},{type,{588,29},tuple,[{atom,{588,30},error},{var,{588,37},'Reason'}]}]}]},[{type,{589,7},constraint,[{atom,{589,7},is_subtype},[{var,{589,7},'Dir'},{user_type,{589,14},name_all,[]}]]},{type,{590,7},constraint,[{atom,{590,7},is_subtype},[{var,{590,7},'Reason'},{type,{590,17},union,[{user_type,{590,17},posix,[]},{atom,{590,27},badarg}]}]]}]]}]}}]}},{{function,rename,2},{529,2},[<<114,101,110,97,109,101,40,83,111,117,114,99,101,44,32,68,101,115,116,105,110,97,116,105,111,110,41>>],#{<<101,110>> => <<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,96,83,111,117,114,99,101,96,32,116,111,32,96,68,101,115,116,105,110,97,116,105,111,110,96,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,10,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,10,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,10,105,102,32,96,98,97,114,96,32,105,115,32,97,32,110,111,114,109,97,108,32,102,105,108,101,32,97,110,100,32,96,102,111,111,96,32,97,110,100,32,96,98,97,122,96,32,97,114,101,32,100,105,114,101,99,116,111,114,105,101,115,44,10,91,96,114,101,110,97,109,101,40,34,102,111,111,47,98,97,114,34,44,32,34,98,97,122,34,41,96,93,40,96,114,101,110,97,109,101,47,50,96,41,32,114,101,116,117,114,110,115,32,97,110,32,101,114,114,111,114,44,32,98,117,116,10,91,96,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,96,93,40,96,114,101,110,97,109,101,47,50,96,41,32,115,117,99,99,101,101,100,115,46,32,82,101,116,117,114,110,115,32,96,111,107,96,32,105,102,32,105,116,32,105,115,10,115,117,99,99,101,115,115,102,117,108,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,96,101,97,99,99,101,115,96,32,98,101,108,111,119,41,46,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,97,99,99,101,115,96,42,42,32,45,32,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,10,32,32,96,83,111,117,114,99,101,96,32,111,114,32,96,68,101,115,116,105,110,97,116,105,111,110,96,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,10,32,32,96,83,111,117,114,99,101,96,32,111,114,32,96,68,101,115,116,105,110,97,116,105,111,110,96,32,105,115,32,111,112,101,110,46,10,10,45,32,42,42,96,101,101,120,105,115,116,96,42,42,32,45,32,96,68,101,115,116,105,110,97,116,105,111,110,96,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,10,32,32,97,108,115,111,32,103,105,118,101,110,32,119,104,101,110,32,96,83,111,117,114,99,101,96,32,97,110,100,32,96,68,101,115,116,105,110,97,116,105,111,110,96,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,10,10,45,32,42,42,96,101,105,110,118,97,108,96,42,42,32,45,32,96,83,111,117,114,99,101,96,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,96,68,101,115,116,105,110,97,116,105,111,110,96,32,105,115,32,97,10,32,32,115,117,98,100,105,114,101,99,116,111,114,121,32,111,102,32,96,83,111,117,114,99,101,96,46,10,10,45,32,42,42,96,101,105,115,100,105,114,96,42,42,32,45,32,96,68,101,115,116,105,110,97,116,105,111,110,96,32,105,115,32,97,32,100,105,114,101,99,116,111,114,121,44,32,98,117,116,32,96,83,111,117,114,99,101,96,32,105,115,32,110,111,116,46,10,10,45,32,42,42,96,101,110,111,101,110,116,96,42,42,32,45,32,96,83,111,117,114,99,101,96,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,10,10,45,32,42,42,96,101,110,111,116,100,105,114,96,42,42,32,45,32,96,83,111,117,114,99,101,96,32,105,115,32,97,32,100,105,114,101,99,116,111,114,121,44,32,98,117,116,32,96,68,101,115,116,105,110,97,116,105,111,110,96,32,105,115,32,110,111,116,46,10,10,45,32,42,42,96,101,120,100,101,118,96,42,42,32,45,32,96,83,111,117,114,99,101,96,32,97,110,100,32,96,68,101,115,116,105,110,97,116,105,111,110,96,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>>},#{specification => [{attribute,{562,2},spec,{{rename,2},[{type,{562,13},bounded_fun,[{type,{562,13},'fun',[{type,{562,13},product,[{var,{562,14},'Source'},{var,{562,22},'Destination'}]},{type,{562,38},union,[{atom,{562,38},ok},{type,{562,43},tuple,[{atom,{562,44},error},{var,{562,51},'Reason'}]}]}]},[{type,{563,7},constraint,[{atom,{563,7},is_subtype},[{var,{563,7},'Source'},{user_type,{563,17},name_all,[]}]]},{type,{564,7},constraint,[{atom,{564,7},is_subtype},[{var,{564,7},'Destination'},{user_type,{564,22},name_all,[]}]]},{type,{565,7},constraint,[{atom,{565,7},is_subtype},[{var,{565,7},'Reason'},{type,{565,17},union,[{user_type,{565,17},posix,[]},{atom,{565,27},badarg}]}]]}]]}]}}]}},{{function,delete,2},{484,2},[<<100,101,108,101,116,101,40,70,105,108,101,110,97,109,101,44,32,79,112,116,115,41>>],#{<<101,110>> => <<84,114,105,101,115,32,116,111,32,100,101,108,101,116,101,32,102,105,108,101,32,96,70,105,108,101,110,97,109,101,96,46,32,82,101,116,117,114,110,115,32,96,111,107,96,32,105,102,32,115,117,99,99,101,115,115,102,117,108,46,10,10,73,102,32,116,104,101,32,111,112,116,105,111,110,32,96,114,97,119,96,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,10,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,10,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,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,110,111,101,110,116,96,42,42,32,45,32,84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,10,10,45,32,42,42,96,101,97,99,99,101,115,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,112,101,114,109,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,110,111,116,100,105,114,96,42,42,32,45,32,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,10,32,32,112,108,97,116,102,111,114,109,115,44,32,96,101,110,111,101,110,116,96,32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46,10,10,45,32,42,42,96,101,105,110,118,97,108,96,42,42,32,45,32,96,70,105,108,101,110,97,109,101,96,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,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,96,70,105,108,101,110,97,109,101,96,32,119,105,108,108,32,112,114,111,98,97,98,108,121,32,103,101,110,101,114,97,116,101,10,62,32,97,110,32,101,120,99,101,112,116,105,111,110,46>>},#{specification => [{attribute,{510,2},spec,{{delete,2},[{type,{510,13},bounded_fun,[{type,{510,13},'fun',[{type,{510,13},product,[{var,{510,14},'Filename'},{var,{510,24},'Opts'}]},{type,{510,33},union,[{atom,{510,33},ok},{type,{510,38},tuple,[{atom,{510,39},error},{var,{510,46},'Reason'}]}]}]},[{type,{511,7},constraint,[{atom,{511,7},is_subtype},[{var,{511,7},'Filename'},{user_type,{511,19},name_all,[]}]]},{type,{512,7},constraint,[{atom,{512,7},is_subtype},[{var,{512,7},'Opts'},{type,{512,15},list,[{user_type,{512,16},delete_option,[]}]}]]},{type,{513,7},constraint,[{atom,{513,7},is_subtype},[{var,{513,7},'Reason'},{type,{513,17},union,[{user_type,{513,17},posix,[]},{atom,{513,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,50,52,46,48>>}},{{function,delete,1},{481,1},[<<100,101,108,101,116,101,40,70,105,108,101,110,97,109,101,41>>],none,#{equiv => <<100,101,108,101,116,101,40,70,105,108,101,110,97,109,101,44,32,91,93,41>>}},{{function,set_cwd,1},{439,2},[<<115,101,116,95,99,119,100,40,68,105,114,41>>],#{<<101,110>> => <<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,96,68,105,114,96,46,32,82,101,116,117,114,110,115,32,96,111,107,96,32,105,102,10,115,117,99,99,101,115,115,102,117,108,46,10,10,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,96,102,105,108,101,96,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,10,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,10,119,105,116,104,32,91,96,110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,40,41,96,93,40,96,110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,47,48,96,41,46,32,72,111,119,101,118,101,114,44,32,116,104,105,115,10,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,10,96,110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,47,48,96,46,10,10,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,10,10,45,32,42,42,96,101,110,111,101,110,116,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,110,111,116,100,105,114,96,42,42,32,45,32,65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,96,68,105,114,96,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,10,32,32,96,101,110,111,101,110,116,96,32,105,115,32,114,101,116,117,114,110,101,100,46,10,10,45,32,42,42,96,101,97,99,99,101,115,96,42,42,32,45,32,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,10,10,45,32,42,42,96,98,97,100,97,114,103,96,42,42,32,45,32,96,68,105,114,96,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,10,10,45,32,42,42,96,110,111,95,116,114,97,110,115,108,97,116,105,111,110,96,42,42,32,45,32,96,68,105,114,96,32,105,115,32,97,32,96,116,58,98,105,110,97,114,121,47,48,96,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,10,32,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,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,96,68,105,114,96,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,10,62,32,101,120,99,101,112,116,105,111,110,46>>},#{specification => [{attribute,{468,2},spec,{{set_cwd,1},[{type,{468,14},bounded_fun,[{type,{468,14},'fun',[{type,{468,14},product,[{var,{468,15},'Dir'}]},{type,{468,23},union,[{atom,{468,23},ok},{type,{468,28},tuple,[{atom,{468,29},error},{var,{468,36},'Reason'}]}]}]},[{type,{469,7},constraint,[{atom,{469,7},is_subtype},[{var,{469,7},'Dir'},{type,{469,14},union,[{user_type,{469,14},name,[]},{var,{469,23},'EncodedBinary'}]}]]},{type,{470,7},constraint,[{atom,{470,7},is_subtype},[{var,{470,7},'EncodedBinary'},{type,{470,24},binary,[]}]]},{type,{471,7},constraint,[{atom,{471,7},is_subtype},[{var,{471,7},'Reason'},{type,{471,17},union,[{user_type,{471,17},posix,[]},{atom,{471,27},badarg},{atom,{471,36},no_translation}]}]]}]]}]}}]}},{{function,get_cwd,1},{414,2},[<<103,101,116,95,99,119,100,40,68,114,105,118,101,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,123,111,107,44,32,68,105,114,125,96,32,111,114,32,96,123,101,114,114,111,114,44,32,82,101,97,115,111,110,125,96,44,32,119,104,101,114,101,32,96,68,105,114,96,32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,119,111,114,107,105,110,103,10,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,10,10,96,68,114,105,118,101,96,32,105,115,32,116,111,32,98,101,32,111,102,32,116,104,101,32,102,111,114,109,32,96,76,101,116,116,101,114,58,96,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,96,99,58,96,46,10,10,82,101,116,117,114,110,115,32,96,123,101,114,114,111,114,44,32,101,110,111,116,115,117,112,125,96,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,10,40,85,110,105,120,44,32,102,111,114,32,101,120,97,109,112,108,101,41,46,10,10,84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,10,10,45,32,42,42,96,101,110,111,116,115,117,112,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,97,99,99,101,115,96,42,42,32,45,32,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,10,10,45,32,42,42,96,101,105,110,118,97,108,96,42,42,32,45,32,84,104,101,32,102,111,114,109,97,116,32,111,102,32,96,68,114,105,118,101,96,32,105,115,32,105,110,118,97,108,105,100,46>>},#{specification => [{attribute,{431,2},spec,{{get_cwd,1},[{type,{431,14},bounded_fun,[{type,{431,14},'fun',[{type,{431,14},product,[{var,{431,15},'Drive'}]},{type,{431,25},union,[{type,{431,25},tuple,[{atom,{431,26},ok},{var,{431,30},'Dir'}]},{type,{431,37},tuple,[{atom,{431,38},error},{var,{431,45},'Reason'}]}]}]},[{type,{432,7},constraint,[{atom,{432,7},is_subtype},[{var,{432,7},'Drive'},{type,{432,16},string,[]}]]},{type,{433,7},constraint,[{atom,{433,7},is_subtype},[{var,{433,7},'Dir'},{user_type,{433,14},filename,[]}]]},{type,{434,7},constraint,[{atom,{434,7},is_subtype},[{var,{434,7},'Reason'},{type,{434,17},union,[{user_type,{434,17},posix,[]},{atom,{434,27},badarg}]}]]}]]}]}}]}},{{function,get_cwd,0},{393,2},[<<103,101,116,95,99,119,100,40,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,123,111,107,44,32,68,105,114,125,96,44,32,119,104,101,114,101,32,96,68,105,114,96,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,10,115,101,114,118,101,114,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,10,10,65,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,58,10,10,45,32,42,42,96,101,97,99,99,101,115,96,42,42,32,45,32,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,10,32,32,100,105,114,101,99,116,111,114,121,46>>},#{specification => [{attribute,{407,2},spec,{{get_cwd,0},[{type,{407,14},bounded_fun,[{type,{407,14},'fun',[{type,{407,14},product,[]},{type,{407,20},union,[{type,{407,20},tuple,[{atom,{407,21},ok},{var,{407,25},'Dir'}]},{type,{407,32},tuple,[{atom,{407,33},error},{var,{407,40},'Reason'}]}]}]},[{type,{408,7},constraint,[{atom,{408,7},is_subtype},[{var,{408,7},'Dir'},{user_type,{408,14},filename,[]}]]},{type,{409,7},constraint,[{atom,{409,7},is_subtype},[{var,{409,7},'Reason'},{user_type,{409,17},posix,[]}]]}]]}]}}]}},{{function,format_error,1},{361,2},[<<102,111,114,109,97,116,95,101,114,114,111,114,40,82,101,97,115,111,110,41>>],#{<<101,110>> => <<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,10,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>>},#{specification => [{attribute,{365,2},spec,{{format_error,1},[{type,{365,19},bounded_fun,[{type,{365,19},'fun',[{type,{365,19},product,[{var,{365,20},'Reason'}]},{var,{365,31},'Chars'}]},[{type,{366,7},constraint,[{atom,{366,7},is_subtype},[{var,{366,7},'Reason'},{type,{366,17},union,[{user_type,{366,17},posix,[]},{atom,{366,27},badarg},{atom,{366,36},terminated},{atom,{366,49},system_limit},{type,{367,17},tuple,[{ann_type,{367,18},[{var,{367,18},'Line'},{type,{367,26},integer,[]}]},{ann_type,{367,37},[{var,{367,37},'Mod'},{type,{367,44},module,[]}]},{ann_type,{367,54},[{var,{367,54},'Term'},{type,{367,62},term,[]}]}]}]}]]},{type,{368,7},constraint,[{atom,{368,7},is_subtype},[{var,{368,7},'Chars'},{type,{368,16},string,[]}]]}]]}]}}]}},{{function,native_name_encoding,0},{343,2},[<<110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,40,41>>],#{<<101,110>> => <<91,93,40,41,123,58,32,35,110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,32,125,32,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,10,96,108,97,116,105,110,49,96,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,96,117,116,102,56,96,44,32,102,105,108,101,110,97,109,101,115,32,97,114,101,10,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,10,85,84,70,45,49,54,32,111,110,32,87,105,110,100,111,119,115,41,46>>},#{specification => [{attribute,{350,2},spec,{{native_name_encoding,0},[{type,{350,27},'fun',[{type,{350,27},product,[]},{type,{350,33},union,[{atom,{350,33},latin1},{atom,{350,42},utf8}]}]}]}}],since => <<79,84,80,32,82,49,52,66,48,49>>}}]}. \ 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 05b1c2c354a0..3a347295dd85 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file.txt @@ -5,7 +5,8 @@ This module provides an interface to the file system. - Warning: + Warning + File operations are only guaranteed to appear atomic when going through the same file server. A NIF or other OS process may observe intermediate steps on certain operations on some @@ -50,7 +51,8 @@ See also section Notes About Raw Filenames in the STDLIB User's Guide. - Note: + Note + File operations used to accept filenames containing null characters (integer value zero). This caused the name to be truncated and in some cases arguments to primitive operations @@ -136,7 +138,8 @@ another node, or if the file server runs as slave to the file server of another node, also binaries are copied. - Note: + Note + Raw files use the file system of the host machine of the node. For normal files (non-raw), the file server is used to find the files, and if the node is running its file server as slave @@ -190,7 +193,8 @@ contents of the binaries without copying the data at all, except for perhaps deep down in the operating system kernel. - Warning: + Warning + If an error occurs when accessing an open file with module io, the process handling the file exits. The dead file process can hang if a process tries to access it later. This will be fixed @@ -198,4 +202,4 @@ See Also - filename(3) + filename diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_advise_4_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_advise_4_func.txt index b77007a2c8ac..f508da8fc2d6 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_advise_4_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_advise_4_func.txt @@ -10,11 +10,6 @@ Since: OTP R14B - Types: - -type posix_file_advise() :: - normal | sequential | random | no_reuse | will_need | - dont_need. - advise/4 can be used to announce an intention to access file data in a specific pattern in the future, thus allowing the operating system to perform appropriate optimizations. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_altname_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_altname_1_func.txt index 7082445a7877..83cda7006413 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_altname_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_altname_1_func.txt @@ -1,5 +1,5 @@ -  altname/1 + -spec altname(Name :: name_all()) -> any(). The documentation for altname/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_file_consult_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_consult_1_func.txt index 51afacb4fed2..0664772516a9 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_consult_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_consult_1_func.txt @@ -10,20 +10,19 @@  Mod :: module(),  Term :: term()}. - Reads Erlang terms, separated by '.', from Filename. Returns one + Reads Erlang terms, separated by ., from Filename. Returns one of the following: - {ok, Terms}: - The file was successfully read. + • {ok, Terms} - The file was successfully read. - {error, atom()}: - An error occurred when opening the file or reading it. For a - list of typical error codes, see open/2. + • {error, atom()} - An error occurred when opening the file + or reading it. For a list of typical error codes, see  + open/2. - {error, {Line, Mod, Term}}: - An error occurred when interpreting the Erlang terms in the - file. To convert the three-element tuple to an English - description of the error, use format_error/1. + • {error, {Line, Mod, Term}} - An error occurred when + interpreting the Erlang terms in the file. To convert the + three-element tuple to an English description of the error, + use format_error/1. Example: @@ -34,4 +33,4 @@ {ok,[{person,"kalle",25},{person,"pelle",30}]} The encoding of Filename can be set by a comment, as described - in epp(3). + in epp. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_copy_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_copy_3_func.txt index ae103d4d9fdf..4e7858078ccd 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_copy_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_copy_3_func.txt @@ -13,8 +13,7 @@ Copies ByteCount bytes from Source to Destination. Source and Destination refer to either filenames or IO devices from, - for example, open/2. ByteCount defaults to infinity, - denoting an infinite number of bytes. + for example, open/2. Argument Modes is a list of possible modes, see open/2, and defaults to []. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_copy_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_copy_func.txt index 8121ee652448..3c26e52ceb4e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_copy_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_copy_func.txt @@ -9,32 +9,7 @@  BytesCopied :: non_neg_integer(),  Reason :: posix() | badarg | terminated. - Copies ByteCount bytes from Source to Destination. Source - and Destination refer to either filenames or IO devices from, - for example, open/2. ByteCount defaults to infinity, - denoting an infinite number of bytes. - - Argument Modes is a list of possible modes, see open/2, and - defaults to []. - - If both Source and Destination refer to filenames, the files - are opened with [read, binary] and [write, binary] prepended - to their mode lists, respectively, to optimize the copy. - - If Source refers to a filename, it is opened with read mode - prepended to the mode list before the copy, and closed when done. - - If Destination refers to a filename, it is opened with write - mode prepended to the mode list before the copy, and closed when - done. - - Returns {ok, BytesCopied}, where BytesCopied is the number of - bytes that was copied, which can be less than ByteCount if end - of file was encountered on the source. If the operation fails,  - {error, Reason} is returned. - - Typical error reasons: as for open/2 if a file had to be opened, - and as for read/2 and write/2. + There is no documentation for copy(Source, Destination, infinity) -spec copy(Source, Destination, ByteCount) ->  {ok, BytesCopied} | {error, Reason} @@ -50,8 +25,7 @@ Copies ByteCount bytes from Source to Destination. Source and Destination refer to either filenames or IO devices from, - for example, open/2. ByteCount defaults to infinity, - denoting an infinite number of bytes. + for example, open/2. Argument Modes is a list of possible modes, see open/2, and defaults to []. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_del_dir_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_del_dir_1_func.txt index 9e05641aeb64..99091214b792 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_del_dir_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_del_dir_1_func.txt @@ -7,20 +7,15 @@ Typical error reasons: - eacces: - Missing search or write permissions for the parent directories - of Dir. + • eacces - Missing search or write permissions for the parent + directories of Dir. - eexist: - The directory is not empty. + • eexist - The directory is not empty. - enoent: - The directory does not exist. + • enoent - The directory does not exist. - enotdir: - A component of Dir is not a directory. On some platforms,  - enoent is returned instead. + • enotdir - A component of Dir is not a directory. On some + platforms, enoent is returned instead. - einval: - Attempt to delete the current directory. On some platforms,  - eacces is returned instead. + • einval - Attempt to delete the current directory. On some + platforms, eacces is returned instead. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_del_dir_r_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_del_dir_r_1_func.txt index 60c6ddc4096d..584b9e961257 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_del_dir_r_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_del_dir_r_1_func.txt @@ -8,11 +8,9 @@ Deletes file or directory File. If File is a directory, its contents is first recursively deleted. Returns: - ok: - The operation completed without errors. + • ok - The operation completed without errors. - {error, posix()}: - An error occurred when accessing or deleting File. If some - file or directory under File could not be deleted, File - cannot be deleted as it is non-empty, and {error, eexist} is - returned. + • {error, posix()} - An error occurred when accessing or + deleting File. If some file or directory under File + could not be deleted, File cannot be deleted as it is + non-empty, and {error, eexist} is returned. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_delete_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_delete_2_func.txt index d8cc8befc7bb..833a33714d9e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_delete_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_delete_2_func.txt @@ -8,9 +8,6 @@ Since: OTP 24.0 - Types: - -type delete_option() :: raw. - Tries to delete file Filename. Returns ok if successful. If the option raw is set, the file server is not called. This @@ -20,22 +17,20 @@ Typical error reasons: - enoent: - The file does not exist. + • enoent - The file does not exist. + + • eacces - Missing permission for the file or one of its + parents. - eacces: - Missing permission for the file or one of its parents. + • eperm - The file is a directory and the user is not + superuser. - eperm: - The file is a directory and the user is not superuser. + • enotdir - A component of the filename is not a directory. + On some platforms, enoent is returned instead. - enotdir: - A component of the filename is not a directory. On some - platforms, enoent is returned instead. + • einval - Filename has an improper type, such as tuple. - einval: - Filename has an improper type, such as tuple. + Warning - Warning: In a future release, a bad type for argument Filename will probably generate an exception. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_delete_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_delete_func.txt index e5c9765dfe75..fd57fe824c6a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_delete_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_delete_func.txt @@ -2,40 +2,7 @@ -spec delete(Filename) -> ok | {error, Reason}  when Filename :: name_all(), Reason :: posix() | badarg. -Since: - OTP 24.0 - - Types: - -type delete_option() :: raw. - - Tries to delete file Filename. Returns ok if successful. - - If the option raw is set, the file server is not called. This - can be useful in particular during the early boot stage when the - file server is not yet registered, to still be able to delete - local files. - - Typical error reasons: - - enoent: - The file does not exist. - - eacces: - Missing permission for the file or one of its parents. - - eperm: - The file is a directory and the user is not superuser. - - enotdir: - A component of the filename is not a directory. On some - platforms, enoent is returned instead. - - einval: - Filename has an improper type, such as tuple. - - Warning: - In a future release, a bad type for argument Filename will - probably generate an exception. + There is no documentation for delete(Filename, []) -spec delete(Filename, Opts) -> ok | {error, Reason}  when @@ -46,9 +13,6 @@ Since: OTP 24.0 - Types: - -type delete_option() :: raw. - Tries to delete file Filename. Returns ok if successful. If the option raw is set, the file server is not called. This @@ -58,22 +22,20 @@ Typical error reasons: - enoent: - The file does not exist. + • enoent - The file does not exist. + + • eacces - Missing permission for the file or one of its + parents. - eacces: - Missing permission for the file or one of its parents. + • eperm - The file is a directory and the user is not + superuser. - eperm: - The file is a directory and the user is not superuser. + • enotdir - A component of the filename is not a directory. + On some platforms, enoent is returned instead. - enotdir: - A component of the filename is not a directory. On some - platforms, enoent is returned instead. + • einval - Filename has an improper type, such as tuple. - einval: - Filename has an improper type, such as tuple. + Warning - Warning: In a future release, a bad type for argument Filename will probably generate an exception. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_eval_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_eval_1_func.txt index 4fd73efb2211..45ade1a3b9ef 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_eval_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_eval_1_func.txt @@ -9,23 +9,23 @@  Mod :: module(),  Term :: term()}. - Reads and evaluates Erlang expressions, separated by '.' (or ',', + Reads and evaluates Erlang expressions, separated by . (or ,, a sequence of expressions is also an expression) from Filename. The result of the evaluation is not returned; any expression - sequence in the file must be there for its side effect. Returns - one of the following: + sequence in the file must be there for its side effect. - ok: - The file was read and evaluated. + Returns one of the following: - {error, atom()}: - An error occurred when opening the file or reading it. For a - list of typical error codes, see open/2. + • ok - The file was read and evaluated. - {error, {Line, Mod, Term}}: - An error occurred when interpreting the Erlang expressions in - the file. To convert the three-element tuple to an English - description of the error, use format_error/1. + • {error, atom()} - An error occurred when opening the file + or reading it. For a list of typical error codes, see  + open/2. + + • {error, {Line, Mod, Term}} - An error occurred when + interpreting the Erlang expressions in the file. To convert + the three-element tuple to an English description of the + error, use format_error/1. The encoding of Filename can be set by a comment, as described - in epp(3). + in epp. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_eval_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_eval_2_func.txt index b1108a37f621..aebe47f7a48a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_eval_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_eval_2_func.txt @@ -12,4 +12,4 @@ The same as eval/1, but the variable bindings Bindings are used in the evaluation. For information about the variable - bindings, see erl_eval(3). + bindings, see erl_eval. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_eval_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_eval_func.txt index 7833735f29c4..8a8d0135dbcf 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_eval_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_eval_func.txt @@ -9,26 +9,26 @@  Mod :: module(),  Term :: term()}. - Reads and evaluates Erlang expressions, separated by '.' (or ',', + Reads and evaluates Erlang expressions, separated by . (or ,, a sequence of expressions is also an expression) from Filename. The result of the evaluation is not returned; any expression - sequence in the file must be there for its side effect. Returns - one of the following: + sequence in the file must be there for its side effect. - ok: - The file was read and evaluated. + Returns one of the following: - {error, atom()}: - An error occurred when opening the file or reading it. For a - list of typical error codes, see open/2. + • ok - The file was read and evaluated. - {error, {Line, Mod, Term}}: - An error occurred when interpreting the Erlang expressions in - the file. To convert the three-element tuple to an English - description of the error, use format_error/1. + • {error, atom()} - An error occurred when opening the file + or reading it. For a list of typical error codes, see  + open/2. + + • {error, {Line, Mod, Term}} - An error occurred when + interpreting the Erlang expressions in the file. To convert + the three-element tuple to an English description of the + error, use format_error/1. The encoding of Filename can be set by a comment, as described - in epp(3). + in epp. -spec eval(Filename, Bindings) -> ok | {error, Reason}  when @@ -43,4 +43,4 @@ The same as eval/1, but the variable bindings Bindings are used in the evaluation. For information about the variable - bindings, see erl_eval(3). + bindings, see erl_eval. 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 5c9f9fae53a9..89a22eb1c837 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 @@ -  fd() + -type fd() :: file_descriptor(). A file descriptor representing a file opened in raw mode. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_file_descriptor_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_file_descriptor_0_type.txt new file mode 100644 index 000000000000..e080757ae626 --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_file_descriptor_0_type.txt @@ -0,0 +1,6 @@ + + -type file_descriptor() :: #file_descriptor{}. + + The documentation for file_descriptor/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_file_filename_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_filename_0_type.txt index b425a7f3f94a..be8e8746ee61 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_filename_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_filename_0_type.txt @@ -1,4 +1,6 @@ -type filename() :: string(). - See also the documentation of the name_all() type. + A file name as returned from file API functions. + + See the documentation of the name_all/0 type. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_filename_all_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_filename_all_0_type.txt index 7b3f99edd121..b8871e670b2e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_filename_all_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_filename_all_0_type.txt @@ -1,4 +1,6 @@ - -type filename_all() :: string() | binary(). + -type filename_all() :: string() | (RawFilename :: binary()). - See also the documentation of the name_all() type. + A file name as returned from file API functions. + + See the documentation of the name_all/0 type. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_get_cwd_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_get_cwd_0_func.txt index f8000a76818c..e1d5b7420f87 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_get_cwd_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_get_cwd_0_func.txt @@ -5,13 +5,13 @@ Returns {ok, Dir}, where Dir is the current working directory of the file server. - Note: + Note + In rare circumstances, this function can fail on Unix. It can occur if read permission does not exist for the parent directories of the current directory. A typical error reason: - eacces: - Missing read permission for one of the parents of the current - directory. + • eacces - Missing read permission for one of the parents of + the current directory. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_get_cwd_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_get_cwd_1_func.txt index 6292dabe753d..5f1a96527a8f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_get_cwd_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_get_cwd_1_func.txt @@ -8,18 +8,15 @@ Returns {ok, Dir} or {error, Reason}, where Dir is the current working directory of the specified drive. - Drive is to be of the form "Letter:", for example, "c:". + Drive is to be of the form Letter:, for example, . Returns {error, enotsup} on platforms that have no concept of current drive (Unix, for example). Typical error reasons: - enotsup: - The operating system has no concept of drives. + • enotsup - The operating system has no concept of drives. - eacces: - The drive does not exist. + • eacces - The drive does not exist. - einval: - The format of Drive is invalid. + • einval - The format of Drive is invalid. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_get_cwd_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_get_cwd_func.txt index f37cf796cb65..faeb61be02be 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_get_cwd_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_get_cwd_func.txt @@ -5,16 +5,16 @@ Returns {ok, Dir}, where Dir is the current working directory of the file server. - Note: + Note + In rare circumstances, this function can fail on Unix. It can occur if read permission does not exist for the parent directories of the current directory. A typical error reason: - eacces: - Missing read permission for one of the parents of the current - directory. + • eacces - Missing read permission for one of the parents of + the current directory. -spec get_cwd(Drive) -> {ok, Dir} | {error, Reason}  when @@ -25,18 +25,15 @@ Returns {ok, Dir} or {error, Reason}, where Dir is the current working directory of the specified drive. - Drive is to be of the form "Letter:", for example, "c:". + Drive is to be of the form Letter:, for example, . Returns {error, enotsup} on platforms that have no concept of current drive (Unix, for example). Typical error reasons: - enotsup: - The operating system has no concept of drives. + • enotsup - The operating system has no concept of drives. - eacces: - The drive does not exist. + • eacces - The drive does not exist. - einval: - The format of Drive is invalid. + • einval - The format of Drive is invalid. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_io_device_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_io_device_0_type.txt index 609c978c67a5..df625e062e04 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_io_device_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_io_device_0_type.txt @@ -1,5 +1,7 @@ - -type io_device() :: pid() | fd(). + -type io_device() :: io_server() | fd(). - As returned by open/2; pid() is a process handling - I/O-protocols. + An IO device as returned by open/2. + + io_server/0 is returned by default and fd/0 is returned if the  + raw option is given. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_io_server_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_io_server_0_type.txt new file mode 100644 index 000000000000..c1ec8d9aaccb --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_io_server_0_type.txt @@ -0,0 +1,4 @@ + + -type io_server() :: pid(). + + A process handling the I/O protocol. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_list_dir_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_list_dir_1_func.txt index 0a31816e50ae..93d8455bf51a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_list_dir_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_list_dir_1_func.txt @@ -16,13 +16,11 @@ Typical error reasons: - eacces: - Missing search or write permissions for Dir or one of its - parent directories. + • eacces - Missing search or write permissions for Dir or + one of its parent directories. - enoent: - The directory does not exist. + • enoent - The directory does not exist. - {no_translation, Filename}: - Filename is a binary() with characters coded in ISO Latin-1 - and the VM was started with parameter +fnue. + • {no_translation, Filename} - Filename is a binary/0 + with characters coded in ISO Latin-1 and the VM was started + with parameter +fnue. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_list_dir_all_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_list_dir_all_1_func.txt index 0baccd740cd8..e0171665868e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_list_dir_all_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_list_dir_all_1_func.txt @@ -15,9 +15,7 @@ Typical error reasons: - eacces: - Missing search or write permissions for Dir or one of its - parent directories. + • eacces - Missing search or write permissions for Dir or + one of its parent directories. - enoent: - The directory does not exist. + • enoent - The directory does not exist. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_make_dir_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_make_dir_1_func.txt index f9718a9b770c..9b96fffb70e8 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_make_dir_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_make_dir_1_func.txt @@ -7,19 +7,14 @@ Typical error reasons: - eacces: - Missing search or write permissions for the parent directories - of Dir. + • eacces - Missing search or write permissions for the parent + directories of Dir. - eexist: - A file or directory named Dir exists already. + • eexist - A file or directory named Dir exists already. - enoent: - A component of Dir does not exist. + • enoent - A component of Dir does not exist. - enospc: - No space is left on the device. + • enospc - No space is left on the device. - enotdir: - A component of Dir is not a directory. On some platforms,  - enoent is returned instead. + • enotdir - A component of Dir is not a directory. On some + platforms, enoent is returned instead. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_make_link_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_make_link_2_func.txt index ba5f0f1ec045..845b79b10e88 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_make_link_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_make_link_2_func.txt @@ -12,12 +12,9 @@ Typical error reasons: - eacces: - Missing read or write permissions for the parent directories - of Existing or New. + • eacces - Missing read or write permissions for the parent + directories of Existing or New. - eexist: - New already exists. + • eexist - New already exists. - enotsup: - Hard links are not supported on this platform. + • enotsup - Hard links are not supported on this platform. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_make_symlink_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_make_symlink_2_func.txt index ec3bed1a5c90..814d71e9cf37 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_make_symlink_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_make_symlink_2_func.txt @@ -14,16 +14,13 @@ Typical error reasons: - eacces: - Missing read or write permissions for the parent directories - of Existing or New. + • eacces - Missing read or write permissions for the parent + directories of Existing or New. - eexist: - New already exists. + • eexist - New already exists. - enotsup: - Symbolic links are not supported on this platform. + • enotsup - Symbolic links are not supported on this + platform. - eperm: - User does not have privileges to create symbolic links ( - SeCreateSymbolicLinkPrivilege on Windows). + • eperm - User does not have privileges to create symbolic + links (SeCreateSymbolicLinkPrivilege on Windows). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_name_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_name_0_type.txt index 7caf33b60fcb..004fa318974b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_name_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_name_0_type.txt @@ -1,6 +1,8 @@ -type name() :: string() | atom() | deep_list(). - If VM is in Unicode filename mode, string() and char() are - allowed to be > 255. See also the documentation of the name_all() + A restricted file name used as input into file API functions. + + If VM is in Unicode filename mode, string/0 and char/0 are + allowed to be > 255. See also the documentation of the name_all/0 type. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_name_all_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_name_all_0_type.txt index 0cd0fb8535c0..27ba2cd7df11 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_name_all_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_name_all_0_type.txt @@ -2,6 +2,8 @@ -type name_all() ::  string() | atom() | deep_list() | (RawFilename :: binary()). + A file name used as input into file API functions. + If VM is in Unicode filename mode, characters are allowed to be > 255. RawFilename is a filename not subject to Unicode translation, meaning that it can contain characters not conforming 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 45bc221cfeb1..632d6bd07ce5 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 @@ -10,227 +10,219 @@ Opens file File in the mode determined by Modes, which can contain one or more of the following options: - read: - The file, which must exist, is opened for reading. - - write: - The file is opened for writing. It is created if it does not - exist. If the file exists and write is not combined with  - read, the file is truncated. - - append: - The file is opened for writing. It is created if it does not - exist. Every write operation to a file opened with append - takes place at the end of the file. - - exclusive: - The file is opened for writing. It is created if it does not - exist. If the file exists, {error, eexist} is returned. - - Warning: - This option does not guarantee exclusiveness on file - systems not supporting O_EXCL properly, such as NFS. Do - not depend on this option unless you know that the file - system supports it (in general, local file systems are - safe). - - raw: - Allows faster access to a file, as no Erlang process is needed - to handle the file. However, a file opened in this way has the - following limitations: - - • The functions in the io module cannot be used, as they - can only talk to an Erlang process. Instead, use - functions read/2, read_line/1, and write/2. - - • Especially if read_line/1 is to be used on a raw - file, it is recommended to combine this option with - option {read_ahead, Size} as line-oriented I/O is - inefficient without buffering. - - • Only the Erlang process that opened the file can use it. - - • A remote Erlang file server cannot be used. The computer - on which the Erlang node is running must have access to - the file system (directly or through NFS). - - binary: - Read operations on the file return binaries rather than lists. - - {delayed_write, Size, Delay}: - Data in subsequent write/2 calls is buffered until at least  - Size bytes are buffered, or until the oldest buffered data is  - Delay milliseconds old. Then all buffered data is written in - one operating system call. The buffered data is also flushed - before some other file operation than write/2 is executed. - - The purpose of this option is to increase performance by - reducing the number of operating system calls. Thus, the  - write/2 calls must be for sizes significantly less than Size, - and not interspersed by too many other file operations. - - When this option is used, the result of write/2 calls can - prematurely be reported as successful, and if a write error - occurs, the error is reported as the result of the next file - operation, which is not executed. - - For example, when delayed_write is used, after a number of  - write/2 calls, close/1 can return {error, enospc}, as - there is not enough space on the disc for previously written - data. close/1 must probably be called again, as the file is - still open. - - delayed_write: - The same as {delayed_write, Size, Delay} with reasonable - default values for Size and Delay (roughly some 64 KB, 2 - seconds). - - {read_ahead, Size}: - Activates read data buffering. If read/2 calls are for - significantly less than Size bytes, read operations to the - operating system are still performed for blocks of Size - bytes. The extra data is buffered and returned in subsequent  - read/2 calls, giving a performance gain as the number of - operating system calls is reduced. - - The read_ahead buffer is also highly used by function  - read_line/1 in raw mode, therefore this option is - recommended (for performance reasons) when accessing raw files - using that function. - - If read/2 calls are for sizes not significantly less than, - or even greater than Size bytes, no performance gain can be - expected. - - read_ahead: - The same as {read_ahead, Size} with a reasonable default - value for Size (roughly some 64 KB). - - compressed: - Makes it possible to read or write gzip compressed files. - Option compressed must be combined with read or write, - but not both. Notice that the file size obtained with  - 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 - supplied to write/2 or returned by read/2 still is - byte-oriented; this option denotes only how data is stored in - the disk file. - - Depending on the encoding, different methods of reading and - writing data is preferred. The default encoding of latin1 - implies using this module (file) for reading and writing - data as the interfaces provided here work with byte-oriented - data. Using other (Unicode) encodings makes the io(3) - functions get_chars, get_line, and put_chars more - suitable, as they can work with the full Unicode range. - - If data is sent to an io_device() in a format that cannot be - converted to the specified encoding, or if data is read by a - function that returns data in a format that cannot cope with - the character range of the data, an error occurs and the file - is closed. - - Allowed values for Encoding: - - latin1: - The default encoding. Bytes supplied to the file, that is,  - write/2 are written "as is" on the file. Likewise, bytes - read from the file, that is, read/2 are returned "as - is". If module io(3) is used for writing, the file can - only cope with Unicode characters up to code point 255 - (the ISO Latin-1 range). - - unicode or utf8: - Characters are translated to and from UTF-8 encoding - before they are written to or read from the file. A file - opened in this way can be readable using function read/2, - as long as no data stored on the file lies beyond the ISO - Latin-1 range (0..255), but failure occurs if the data - contains Unicode code points beyond that range. The file - is best read with the functions in the Unicode aware - module io(3). - - Bytes written to the file by any means are translated to - UTF-8 encoding before being stored on the disk file. - - utf16 or {utf16,big}: - Works like unicode, but translation is done to and from - big endian UTF-16 instead of UTF-8. - - {utf16,little}: - Works like unicode, but translation is done to and from - little endian UTF-16 instead of UTF-8. - - utf32 or {utf32,big}: - Works like unicode, but translation is done to and from - big endian UTF-32 instead of UTF-8. - - {utf32,little}: - Works like unicode, but translation is done to and from - little endian UTF-32 instead of UTF-8. - - The Encoding can be changed for a file "on the fly" by using - function io:setopts/2. So a file can be analyzed in latin1 - encoding for, for example, a BOM, positioned beyond the BOM - and then be set for the right encoding before further reading. - For functions identifying BOMs, see module unicode(3). - - This option is not allowed on raw files. - - ram: - File must be iodata(). Returns an fd(), which lets module  - file operate on the data in-memory as if it is a file. - - sync: - On platforms supporting it, enables the POSIX O_SYNC - synchronous I/O flag or its platform-dependent equivalent (for - example, FILE_FLAG_WRITE_THROUGH on Windows) so that writes - to the file block until the data is physically written to - disk. However, be aware that the exact semantics of this flag - differ from platform to platform. For example, none of Linux - or Windows guarantees that all file metadata are also written - before the call returns. For precise semantics, check the - details of your platform documentation. On platforms with no - support for POSIX O_SYNC or equivalent, use of the sync - flag causes open to return {error, enotsup}. - - directory: - Allows open to work on directories. + • read - The file, which must exist, is opened for reading. + + • write - The file is opened for writing. It is created if it + does not exist. If the file exists and write is not + combined with read, the file is truncated. + + • append - The file is opened for writing. It is created if + it does not exist. Every write operation to a file opened + with append takes place at the end of the file. + + • exclusive - The file is opened for writing. It is created + if it does not exist. If the file exists, {error, eexist} + is returned. + + Warning + + This option does not guarantee exclusiveness on file + systems not supporting O_EXCL properly, such as NFS. + Do not depend on this option unless you know that the + file system supports it (in general, local file systems + are safe). + + • raw - Allows faster access to a file, as no Erlang process + is needed to handle the file. However, a file opened in this + way has the following limitations: + + ○ The functions in the io module cannot be used, as + they can only talk to an Erlang process. Instead, use + functions read/2, read_line/1, and write/2. + + ○ Especially if read_line/1 is to be used on a raw + file, it is recommended to combine this option with + option {read_ahead, Size} as line-oriented I/O is + inefficient without buffering. + + ○ Only the Erlang process that opened the file can use + it. + + ○ remote Erlang file server cannot be used. The computer + on which the Erlang node is running must have access + to the file system (directly or through NFS). + + • binary - Read operations on the file return binaries rather + than lists. + + • {delayed_write, Size, Delay} - Data in subsequent write/2 + calls is buffered until at least Size bytes are buffered, + or until the oldest buffered data is Delay milliseconds + old. Then all buffered data is written in one operating + system call. The buffered data is also flushed before some + other file operation than write/2 is executed. + + The purpose of this option is to increase performance by + reducing the number of operating system calls. Thus, the  + write/2 calls must be for sizes significantly less than  + Size, and not interspersed by too many other file + operations. + + When this option is used, the result of write/2 calls can + prematurely be reported as successful, and if a write error + occurs, the error is reported as the result of the next file + operation, which is not executed. + + For example, when delayed_write is used, after a number of  + write/2 calls, close/1 can return {error, enospc}, as + there is not enough space on the disc for previously written + data. close/1 must probably be called again, as the file + is still open. + + • delayed_write - The same as {delayed_write, Size, Delay} + with reasonable default values for Size and Delay + (roughly some 64 KB, 2 seconds). + + • {read_ahead, Size} - Activates read data buffering. If  + read/2 calls are for significantly less than Size bytes, + read operations to the operating system are still performed + for blocks of Size bytes. The extra data is buffered and + returned in subsequent read/2 calls, giving a performance + gain as the number of operating system calls is reduced. + + The read_ahead buffer is also highly used by function  + read_line/1 in raw mode, therefore this option is + recommended (for performance reasons) when accessing raw + files using that function. + + If read/2 calls are for sizes not significantly less than, + or even greater than Size bytes, no performance gain can + be expected. + + • read_ahead - The same as {read_ahead, Size} with a + reasonable default value for Size (roughly some 64 KB). + + • compressed - Makes it possible to read or write gzip + compressed files. Option compressed must be combined with  + read or write, but not both. Notice that the file size + obtained with 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 supplied to write/2 or + returned by read/2 still is byte-oriented; this option + denotes only how data is stored in the disk file. + + Depending on the encoding, different methods of reading and + writing data is preferred. The default encoding of latin1 + implies using this module (file) for reading and writing + data as the interfaces provided here work with byte-oriented + data. Using other (Unicode) encodings makes the io + functions get_chars, get_line, and put_chars more + suitable, as they can work with the full Unicode range. + + If data is sent to an io_device/0 in a format that cannot + be converted to the specified encoding, or if data is read + by a function that returns data in a format that cannot cope + with the character range of the data, an error occurs and + the file is closed. + + Allowed values for Encoding: + + ○ latin1 - The default encoding. Bytes supplied to the + file, that is, write/2 are written "as is" on the + file. Likewise, bytes read from the file, that is,  + read/2 are returned "as is". If module io is used + for writing, the file can only cope with Unicode + characters up to code point 255 (the ISO Latin-1 + range). + + ○ unicode or utf8 - Characters are translated to and + from UTF-8 encoding before they are written to or read + from the file. A file opened in this way can be + readable using function read/2, as long as no data + stored on the file lies beyond the ISO Latin-1 range + (0..255), but failure occurs if the data contains + Unicode code points beyond that range. The file is + best read with the functions in the Unicode aware + module io. + + Bytes written to the file by any means are translated + to UTF-8 encoding before being stored on the disk + file. + + ○ utf16 or {utf16,big} - Works like unicode, but + translation is done to and from big endian UTF-16 + instead of UTF-8. + + ○ {utf16,little} - Works like unicode, but + translation is done to and from little endian UTF-16 + instead of UTF-8. + + ○ utf32 or {utf32,big} - Works like unicode, but + translation is done to and from big endian UTF-32 + instead of UTF-8. + + ○ {utf32,little} - Works like unicode, but + translation is done to and from little endian UTF-32 + instead of UTF-8. + + The Encoding can be changed for a file "on the fly" by using + function io:setopts/2. So a file can be analyzed in latin1 + encoding for, for example, a BOM, positioned beyond the BOM + and then be set for the right encoding before further + reading. For functions identifying BOMs, see module unicode. + + This option is not allowed on raw files. + + • ram - File must be iodata/0. Returns an fd/0, which + lets module file operate on the data in-memory as if it is + a file. + + • sync - On platforms supporting it, enables the POSIX  + O_SYNC synchronous I/O flag or its platform-dependent + equivalent (for example, FILE_FLAG_WRITE_THROUGH on + Windows) so that writes to the file block until the data is + physically written to disk. However, be aware that the exact + semantics of this flag differ from platform to platform. For + example, none of Linux or Windows guarantees that all file + metadata are also written before the call returns. For + precise semantics, check the details of your platform + documentation. On platforms with no support for POSIX  + O_SYNC or equivalent, use of the sync flag causes open + to return {error, enotsup}. + + • directory - Allows open to work on directories. Returns: - {ok, IoDevice}: - The file is opened in the requested mode. IoDevice is a - reference to the file. + • {ok, IoDevice} - The file is opened in the requested mode.  + IoDevice is a reference to the file. - {error, Reason}: - The file cannot be opened. + • {error, Reason} - The file cannot be opened. IoDevice is really the pid of the process that handles the file. This process monitors the process that originally opened the file (the owner process). If the owner process terminates, the file is closed and the process itself terminates too. An IoDevice returned from this call can be used as an argument to the I/O - functions (see io(3)). + functions (see io). + + Warning - Warning: While this function can be used to open any file, we recommend against using it for NFS-mounted files, FIFOs, devices, or - similar since they can cause IO threads to hang forever. - - If your application needs to interact with these kinds of - files we recommend breaking out those parts to a port program + similar since they can cause IO threads to hang forever. If + your application needs to interact with these kinds of files + we recommend breaking out those parts to a port program instead. - Note: + Note + In previous versions of file, modes were specified as one of the atoms read, write, or read_write instead of a list. This is still allowed for reasons of backwards compatibility, @@ -239,21 +231,17 @@ Typical error reasons: - enoent: - The file does not exist. + • enoent - The file does not exist. - eacces: - Missing permission for reading the file or searching one of - the parent directories. + • eacces - Missing permission for reading the file or + searching one of the parent directories. - eisdir: - The named file is a directory. + • eisdir - The named file is a directory. - enotdir: - A component of the filename is not a directory, or the - filename itself is not a directory if directory mode was - specified. On some platforms, enoent is returned instead. + • enotdir - A component of the filename is not a directory, + or the filename itself is not a directory if directory + mode was specified. On some platforms, enoent is returned + instead. - enospc: - There is no space left on the device (if write access was - specified). + • enospc - There is no space left on the device (if write + access was specified). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_consult_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_consult_2_func.txt index 56c7d36f5b3e..ebee0497c4d9 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_consult_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_consult_2_func.txt @@ -16,26 +16,25 @@ Searches the path Path (a list of directory names) until the file Filename is found. If Filename is an absolute filename,  - Path is ignored. Then reads Erlang terms, separated by '.', from + Path is ignored. Then reads Erlang terms, separated by ., from the file. Returns one of the following: - {ok, Terms, FullName}: - The file is successfully read. FullName is the full name of - the file. + • {ok, Terms, FullName} - The file is successfully read.  + FullName is the full name of the file. - {error, enoent}: - The file cannot be found in any of the directories in Path. + • {error, enoent} - The file cannot be found in any of the + directories in Path. - {error, atom()}: - An error occurred when opening the file or reading it. For a - list of typical error codes, see open/2. + • {error, atom()} - An error occurred when opening the file + or reading it. For a list of typical error codes, see  + open/2. - {error, {Line, Mod, Term}}: - An error occurred when interpreting the Erlang terms in the - file. Use format_error/1 to convert the three-element tuple - to an English description of the error. + • {error, {Line, Mod, Term}} - An error occurred when + interpreting the Erlang terms in the file. Use  + format_error/1 to convert the three-element tuple to an + English description of the error. The encoding of Filename can be set by a comment as described in  - epp(3). + epp. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_eval_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_eval_2_func.txt index 507024bdf19a..d1ceccecfe2b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_eval_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_eval_2_func.txt @@ -14,28 +14,27 @@ Searches the path Path (a list of directory names) until the file Filename is found. If Filename is an absolute filename,  Path is ignored. Then reads and evaluates Erlang expressions, - separated by '.' (or ',', a sequence of expressions is also an + separated by . (or ,, a sequence of expressions is also an expression), from the file. The result of evaluation is not returned; any expression sequence in the file must be there for its side effect. Returns one of the following: - {ok, FullName}: - The file is read and evaluated. FullName is the full name of - the file. + • {ok, FullName} - The file is read and evaluated. FullName + is the full name of the file. - {error, enoent}: - The file cannot be found in any of the directories in Path. + • {error, enoent} - The file cannot be found in any of the + directories in Path. - {error, atom()}: - An error occurred when opening the file or reading it. For a - list of typical error codes, see open/2. + • {error, atom()} - An error occurred when opening the file + or reading it. For a list of typical error codes, see  + open/2. - {error, {Line, Mod, Term}}: - An error occurred when interpreting the Erlang expressions in - the file. Use format_error/1 to convert the three-element - tuple to an English description of the error. + • {error, {Line, Mod, Term}} - An error occurred when + interpreting the Erlang expressions in the file. Use  + format_error/1 to convert the three-element tuple to an + English description of the error. The encoding of Filename can be set by a comment as described in  - epp(3). + epp. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_eval_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_eval_3_func.txt index 828e8cf9f80b..1a3935d1f986 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_eval_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_eval_3_func.txt @@ -1,5 +1,17 @@ -  path_eval/3 + -spec path_eval(Path, Filename, Bindings) -> +  {ok, FullName} | {error, Reason} +  when +  Path :: [Dir :: name_all()], +  Filename :: name_all(), +  Bindings :: erl_eval:binding_struct(), +  FullName :: filename_all(), +  Reason :: +  posix() | +  badarg | terminated | system_limit | +  {Line :: integer(), +  Mod :: module(), +  Term :: term()}. The documentation for path_eval/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_file_path_eval_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_eval_func.txt index 31b1f5ac79b6..1b419c2e9cc6 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_eval_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_eval_func.txt @@ -14,33 +14,44 @@ Searches the path Path (a list of directory names) until the file Filename is found. If Filename is an absolute filename,  Path is ignored. Then reads and evaluates Erlang expressions, - separated by '.' (or ',', a sequence of expressions is also an + separated by . (or ,, a sequence of expressions is also an expression), from the file. The result of evaluation is not returned; any expression sequence in the file must be there for its side effect. Returns one of the following: - {ok, FullName}: - The file is read and evaluated. FullName is the full name of - the file. + • {ok, FullName} - The file is read and evaluated. FullName + is the full name of the file. - {error, enoent}: - The file cannot be found in any of the directories in Path. + • {error, enoent} - The file cannot be found in any of the + directories in Path. - {error, atom()}: - An error occurred when opening the file or reading it. For a - list of typical error codes, see open/2. + • {error, atom()} - An error occurred when opening the file + or reading it. For a list of typical error codes, see  + open/2. - {error, {Line, Mod, Term}}: - An error occurred when interpreting the Erlang expressions in - the file. Use format_error/1 to convert the three-element - tuple to an English description of the error. + • {error, {Line, Mod, Term}} - An error occurred when + interpreting the Erlang expressions in the file. Use  + format_error/1 to convert the three-element tuple to an + English description of the error. The encoding of Filename can be set by a comment as described in  - epp(3). + epp. -  path_eval/3 + -spec path_eval(Path, Filename, Bindings) -> +  {ok, FullName} | {error, Reason} +  when +  Path :: [Dir :: name_all()], +  Filename :: name_all(), +  Bindings :: erl_eval:binding_struct(), +  FullName :: filename_all(), +  Reason :: +  posix() | +  badarg | terminated | system_limit | +  {Line :: integer(), +  Mod :: module(), +  Term :: term()}. The documentation for path_eval/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_file_path_open_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_open_3_func.txt index e110a8b61a5b..f99ae3aa3cfc 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_open_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_open_3_func.txt @@ -16,13 +16,11 @@ Returns one of the following: - {ok, IoDevice, FullName}: - The file is opened in the requested mode. IoDevice is a - reference to the file and FullName is the full name of the - file. + • {ok, IoDevice, FullName} - The file is opened in the + requested mode. IoDevice is a reference to the file and  + FullName is the full name of the file. - {error, enoent}: - The file cannot be found in any of the directories in Path. + • {error, enoent} - The file cannot be found in any of the + directories in Path. - {error, atom()}: - The file cannot be opened. + • {error, atom()} - The file cannot be opened. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_script_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_script_2_func.txt index cb3f937b203c..816e95b823a7 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_script_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_script_2_func.txt @@ -16,26 +16,26 @@ Searches the path Path (a list of directory names) until the file Filename is found. If Filename is an absolute filename,  Path is ignored. Then reads and evaluates Erlang expressions, - separated by '.' (or ',', a sequence of expressions is also an + separated by . (or ,, a sequence of expressions is also an expression), from the file. Returns one of the following: - {ok, Value, FullName}: - The file is read and evaluated. FullName is the full name of - the file and Value the value of the last expression. + • {ok, Value, FullName} - The file is read and evaluated.  + FullName is the full name of the file and Value the value + of the last expression. - {error, enoent}: - The file cannot be found in any of the directories in Path. + • {error, enoent} - The file cannot be found in any of the + directories in Path. - {error, atom()}: - An error occurred when opening the file or reading it. For a - list of typical error codes, see open/2. + • {error, atom()} - An error occurred when opening the file + or reading it. For a list of typical error codes, see  + open/2. - {error, {Line, Mod, Term}}: - An error occurred when interpreting the Erlang expressions in - the file. Use format_error/1 to convert the three-element - tuple to an English description of the error. + • {error, {Line, Mod, Term}} - An error occurred when + interpreting the Erlang expressions in the file. Use  + format_error/1 to convert the three-element tuple to an + English description of the error. The encoding of Filename can be set by a comment as described in  - epp(3). + epp. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_script_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_script_3_func.txt index 732c262b723d..1f639e66a9ae 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_script_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_script_3_func.txt @@ -15,5 +15,5 @@  Term :: term()}. The same as path_script/2 but the variable bindings Bindings - are used in the evaluation. See erl_eval(3) about variable + are used in the evaluation. See erl_eval about variable bindings. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_script_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_script_func.txt index d9c7ad55e141..24cc35c98c8d 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_script_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_path_script_func.txt @@ -16,29 +16,29 @@ Searches the path Path (a list of directory names) until the file Filename is found. If Filename is an absolute filename,  Path is ignored. Then reads and evaluates Erlang expressions, - separated by '.' (or ',', a sequence of expressions is also an + separated by . (or ,, a sequence of expressions is also an expression), from the file. Returns one of the following: - {ok, Value, FullName}: - The file is read and evaluated. FullName is the full name of - the file and Value the value of the last expression. + • {ok, Value, FullName} - The file is read and evaluated.  + FullName is the full name of the file and Value the value + of the last expression. - {error, enoent}: - The file cannot be found in any of the directories in Path. + • {error, enoent} - The file cannot be found in any of the + directories in Path. - {error, atom()}: - An error occurred when opening the file or reading it. For a - list of typical error codes, see open/2. + • {error, atom()} - An error occurred when opening the file + or reading it. For a list of typical error codes, see  + open/2. - {error, {Line, Mod, Term}}: - An error occurred when interpreting the Erlang expressions in - the file. Use format_error/1 to convert the three-element - tuple to an English description of the error. + • {error, {Line, Mod, Term}} - An error occurred when + interpreting the Erlang expressions in the file. Use  + format_error/1 to convert the three-element tuple to an + English description of the error. The encoding of Filename can be set by a comment as described in  - epp(3). + epp. -spec path_script(Path, Filename, Bindings) ->  {ok, Value, FullName} | {error, Reason} @@ -56,5 +56,5 @@  Term :: term()}. The same as path_script/2 but the variable bindings Bindings - are used in the evaluation. See erl_eval(3) about variable + are used in the evaluation. See erl_eval about variable bindings. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_position_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_position_2_func.txt index a0d03b77fc29..f67b0a25a04f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_position_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_position_2_func.txt @@ -12,20 +12,15 @@ successful, otherwise {error, Reason}. Location is one of the following: - Offset: - The same as {bof, Offset}. + • Offset - The same as {bof, Offset}. - {bof, Offset}: - Absolute offset. + • {bof, Offset} - Absolute offset. - {cur, Offset}: - Offset from the current position. + • {cur, Offset} - Offset from the current position. - {eof, Offset}: - Offset from the end of file. + • {eof, Offset} - Offset from the end of file. - bof | cur | eof: - The same as above with Offset 0. + • bof | cur | eof - The same as above with Offset 0. Notice that offsets are counted in bytes, not in characters. If the file is opened using some other encoding than latin1, one @@ -39,8 +34,7 @@ A typical error reason is: - einval: - Either Location is illegal, or it is evaluated to a negative - offset in the file. Notice that if the resulting position is a - negative value, the result is an error, and after the call the - file position is undefined. + • einval - Either Location is illegal, or it is evaluated + to a negative offset in the file. Notice that if the + resulting position is a negative value, the result is an + error, and after the call the file position is undefined. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_raw_read_file_info_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_raw_read_file_info_1_func.txt index 88576426f9b0..b94443adc0b6 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_raw_read_file_info_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_raw_read_file_info_1_func.txt @@ -1,5 +1,5 @@ -  raw_read_file_info/1 +  raw_read_file_info(Name) The documentation for raw_read_file_info/1 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_2_func.txt index 0e99b84ac62a..676ff5652196 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_2_func.txt @@ -10,9 +10,11 @@  {no_translation, unicode, latin1}. Reads Number bytes/characters from the file referenced by  - IoDevice. The functions read/2, pread/3, and read_line/1 - are the only ways to read from a file opened in raw mode - (although they work for normally opened files, too). + IoDevice. + + The functions read/2, pread/3, and read_line/1 are the only + ways to read from a file opened in raw mode (although they work + for normally opened files, too). For files where encoding is set to something else than latin1, one character can be represented by more than one byte on the @@ -27,25 +29,21 @@ The function returns: - {ok, Data}: - If the file was opened in binary mode, the read bytes are - returned in a binary, otherwise in a list. The list or binary - is shorter than the number of bytes requested if end of file - was reached. + • {ok, Data} - If the file was opened in binary mode, the + read bytes are returned in a binary, otherwise in a list. + The list or binary is shorter than the number of bytes + requested if end of file was reached. - eof: - Returned if Number>0 and end of file was reached before - anything at all could be read. + • eof - Returned if Number>0 and end of file was reached + before anything at all could be read. - {error, Reason}: - An error occurred. + • {error, Reason} - An error occurred. Typical error reasons: - ebadf: - The file is not opened for reading. + • ebadf - The file is not opened for reading. - {no_translation, unicode, latin1}: - The file is opened with another encoding than latin1 and - the data in the file cannot be translated to the byte-oriented - data that this function returns. + • {no_translation, unicode, latin1} - The file is opened with + another encoding than latin1 and the data in the file + cannot be translated to the byte-oriented data that this + function returns. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_file_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_file_2_func.txt new file mode 100644 index 000000000000..5801fd0439d9 --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_file_2_func.txt @@ -0,0 +1,32 @@ + + -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. + +Since: + OTP 27.0 + + 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 - The file does not exist. + + • eacces - Missing permission for reading the file, or for + searching one of the parent directories. + + • eisdir - The named file is a directory. + + • enotdir - A component of the filename is not a directory. + On some platforms, enoent is returned instead. + + • enomem - There is not enough memory for the contents of the + file. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_file_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_file_func.txt new file mode 100644 index 000000000000..df82741d7c8f --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_file_func.txt @@ -0,0 +1,41 @@ + + -spec read_file(Filename) -> {ok, Binary} | {error, Reason} +  when +  Filename :: name_all(), +  Binary :: binary(), +  Reason :: +  posix() | badarg | terminated | system_limit. + + There is no documentation for read_file(Filename, []) + + -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. + +Since: + OTP 27.0 + + 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 - The file does not exist. + + • eacces - Missing permission for reading the file, or for + searching one of the parent directories. + + • eisdir - The named file is a directory. + + • enotdir - A component of the filename is not a directory. + On some platforms, enoent is returned instead. + + • enomem - There is not enough memory for the contents of the + file. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_file_info_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_file_info_2_func.txt index 53a644dea1f0..9ab18ef06408 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_file_info_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_file_info_2_func.txt @@ -10,26 +10,24 @@ OTP R15B Retrieves information about a file. Returns {ok, FileInfo} if - successful, otherwise {error, Reason}. FileInfo is a record  - file_info, defined in the Kernel include file file.hrl. Include - the following directive in the module from which the function is - called: + successful, otherwise {error, Reason}. - -include_lib("kernel/include/file.hrl"). + FileInfo is a record file_info, defined in the Kernel include + file file.hrl. Include the following directive in the module + from which the function is called: + + -include_lib("kernel/include/file.hrl"). The time type returned in atime, mtime, and ctime is dependent on the time type set in Opts :: {time, Type} as follows: - local: - Returns local time. + • local - Returns local time. - universal: - Returns universal time. + • universal - Returns universal time. - posix: - Returns seconds since or before Unix time epoch, which is - 1970-01-01 00:00 UTC. + • posix - Returns seconds since or before Unix time epoch, + which is 1970-01-01 00:00 UTC. Default is {time, local}. @@ -42,106 +40,90 @@ instead of a file name. Use open/2 with the raw mode to obtain a file descriptor first. - Note: + Note + As file times are stored in POSIX time on most OS, it is faster to query file information with option posix. The record file_info contains the following fields: - size = integer() >= 0: - Size of file in bytes. + • size = non_neg_integer/0 - Size of file in bytes. - type = device | directory | other | regular: - The type of the file. Can also contain symlink when returned - from read_link_info/1,2. + • type = device | directory | other | regular - The type of + the file. Can also contain symlink when returned from + read_link_info/1,2. - access = read | write | read_write | none: - The current system access to the file. + • access = read | write | read_write | none - The current + system access to the file. - atime = date_time() | integer() >= 0: - The last time the file was read. + • atime = date_time/0 | non_neg_integer/0 - The last time + the file was read. - mtime = date_time() | integer() >= 0: - The last time the file was written. + • mtime = date_time/0 | non_neg_integer/0 - The last time + the file was written. - ctime = date_time() | integer() >=0: - The interpretation of this time field depends on the operating - system. On Unix, it is the last time the file or the inode - was changed. In Windows, it is the create time. + • ctime = date_time/0 | non_neg_integer/0 - The + interpretation of this time field depends on the operating + system. On Unix, it is the last time the file or the inode + was changed. In Windows, it is the create time. - mode = integer() >= 0: - The file permissions as the sum of the following bit values: + • mode = non_neg_integer/0 - The file permissions as the sum + of the following bit values: - 8#00400: - read permission: owner + ○ 8#00400 - read permission: owner - 8#00200: - write permission: owner + ○ 8#00200 - write permission: owner - 8#00100: - execute permission: owner + ○ 8#00100 - execute permission: owner - 8#00040: - read permission: group + ○ 8#00040 - read permission: group - 8#00020: - write permission: group + ○ 8#00020 - write permission: group - 8#00010: - execute permission: group + ○ 8#00010 - execute permission: group - 8#00004: - read permission: other + ○ 8#00004 - read permission: other - 8#00002: - write permission: other + ○ 8#00002 - write permission: other - 8#00001: - execute permission: other + ○ 8#00001 - execute permission: other - 16#800: - set user id on execution + ○ 16#800 - set user id on execution - 16#400: - set group id on execution + ○ 16#400 - set group id on execution - On Unix platforms, other bits than those listed above may be - set. + On Unix platforms, other bits than those listed above may be + set. - links = integer() >= 0: - Number of links to the file (this is always 1 for file systems - that have no concept of links). + • links = non_neg_integer/0 - Number of links to the file + (this is always 1 for file systems that have no concept of + links). - major_device = integer() >= 0: - Identifies the file system where the file is located. In - Windows, the number indicates a drive as follows: 0 means A:, - 1 means B:, and so on. + • major_device = non_neg_integer/0 - Identifies the file + system where the file is located. In Windows, the number + indicates a drive as follows: 0 means A:, 1 means B:, and so + on. - minor_device = integer() >= 0: - Only valid for character devices on Unix. In all other cases, - this field is zero. + • minor_device = non_neg_integer/0 - Only valid for + character devices on Unix. In all other cases, this field is + zero. - inode = integer() >= 0: - Gives the inode number. On non-Unix file systems, this field - is zero. + • inode = non_neg_integer/0 - Gives the inode number. On + non-Unix file systems, this field is zero. - uid = integer() >= 0: - Indicates the owner of the file. On non-Unix file systems, - this field is zero. + • uid = non_neg_integer/0 - Indicates the owner of the file. + On non-Unix file systems, this field is zero. - gid = integer() >= 0: - Gives the group that the owner of the file belongs to. On - non-Unix file systems, this field is zero. + • gid = non_neg_integer/0 - Gives the group that the owner + of the file belongs to. On non-Unix file systems, this field + is zero. Typical error reasons: - eacces: - Missing search permission for one of the parent directories of - the file. + • eacces - Missing search permission for one of the parent + directories of the file. - enoent: - The file does not exist. + • enoent - The file does not exist. - enotdir: - A component of the filename is not a directory. On some - platforms, enoent is returned instead. + • enotdir - A component of the filename is not a directory. + On some platforms, enoent is returned instead. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_file_info_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_file_info_func.txt index 9e675ecc7fa6..9fa7268c5ce5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_file_info_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_file_info_func.txt @@ -5,145 +5,7 @@  FileInfo :: file_info(),  Reason :: posix() | badarg. -Since: - OTP R15B - - Retrieves information about a file. Returns {ok, FileInfo} if - successful, otherwise {error, Reason}. FileInfo is a record  - file_info, defined in the Kernel include file file.hrl. Include - the following directive in the module from which the function is - called: - - -include_lib("kernel/include/file.hrl"). - - The time type returned in atime, mtime, and ctime is - dependent on the time type set in Opts :: {time, Type} as - follows: - - local: - Returns local time. - - universal: - Returns universal time. - - posix: - Returns seconds since or before Unix time epoch, which is - 1970-01-01 00:00 UTC. - - Default is {time, local}. - - If the option raw is set, the file server is not called and only - information about local files is returned. Note that this will - break this module's atomicity guarantees as it can race with a - concurrent call to write_file_info/1,2 . - - This option has no effect when the function is given an I/O device - instead of a file name. Use open/2 with the raw mode to obtain - a file descriptor first. - - Note: - As file times are stored in POSIX time on most OS, it is - faster to query file information with option posix. - - The record file_info contains the following fields: - - size = integer() >= 0: - Size of file in bytes. - - type = device | directory | other | regular: - The type of the file. Can also contain symlink when returned - from read_link_info/1,2. - - access = read | write | read_write | none: - The current system access to the file. - - atime = date_time() | integer() >= 0: - The last time the file was read. - - mtime = date_time() | integer() >= 0: - The last time the file was written. - - ctime = date_time() | integer() >=0: - The interpretation of this time field depends on the operating - system. On Unix, it is the last time the file or the inode - was changed. In Windows, it is the create time. - - mode = integer() >= 0: - The file permissions as the sum of the following bit values: - - 8#00400: - read permission: owner - - 8#00200: - write permission: owner - - 8#00100: - execute permission: owner - - 8#00040: - read permission: group - - 8#00020: - write permission: group - - 8#00010: - execute permission: group - - 8#00004: - read permission: other - - 8#00002: - write permission: other - - 8#00001: - execute permission: other - - 16#800: - set user id on execution - - 16#400: - set group id on execution - - On Unix platforms, other bits than those listed above may be - set. - - links = integer() >= 0: - Number of links to the file (this is always 1 for file systems - that have no concept of links). - - major_device = integer() >= 0: - Identifies the file system where the file is located. In - Windows, the number indicates a drive as follows: 0 means A:, - 1 means B:, and so on. - - minor_device = integer() >= 0: - Only valid for character devices on Unix. In all other cases, - this field is zero. - - inode = integer() >= 0: - Gives the inode number. On non-Unix file systems, this field - is zero. - - uid = integer() >= 0: - Indicates the owner of the file. On non-Unix file systems, - this field is zero. - - gid = integer() >= 0: - Gives the group that the owner of the file belongs to. On - non-Unix file systems, this field is zero. - - Typical error reasons: - - eacces: - Missing search permission for one of the parent directories of - the file. - - enoent: - The file does not exist. - - enotdir: - A component of the filename is not a directory. On some - platforms, enoent is returned instead. + There is no documentation for read_file_info(File, []) -spec read_file_info(File, Opts) -> {ok, FileInfo} | {error, Reason}  when @@ -156,26 +18,24 @@ OTP R15B Retrieves information about a file. Returns {ok, FileInfo} if - successful, otherwise {error, Reason}. FileInfo is a record  - file_info, defined in the Kernel include file file.hrl. Include - the following directive in the module from which the function is - called: + successful, otherwise {error, Reason}. + + FileInfo is a record file_info, defined in the Kernel include + file file.hrl. Include the following directive in the module + from which the function is called: - -include_lib("kernel/include/file.hrl"). + -include_lib("kernel/include/file.hrl"). The time type returned in atime, mtime, and ctime is dependent on the time type set in Opts :: {time, Type} as follows: - local: - Returns local time. + • local - Returns local time. - universal: - Returns universal time. + • universal - Returns universal time. - posix: - Returns seconds since or before Unix time epoch, which is - 1970-01-01 00:00 UTC. + • posix - Returns seconds since or before Unix time epoch, + which is 1970-01-01 00:00 UTC. Default is {time, local}. @@ -188,106 +48,90 @@ instead of a file name. Use open/2 with the raw mode to obtain a file descriptor first. - Note: + Note + As file times are stored in POSIX time on most OS, it is faster to query file information with option posix. The record file_info contains the following fields: - size = integer() >= 0: - Size of file in bytes. + • size = non_neg_integer/0 - Size of file in bytes. - type = device | directory | other | regular: - The type of the file. Can also contain symlink when returned - from read_link_info/1,2. + • type = device | directory | other | regular - The type of + the file. Can also contain symlink when returned from + read_link_info/1,2. - access = read | write | read_write | none: - The current system access to the file. + • access = read | write | read_write | none - The current + system access to the file. - atime = date_time() | integer() >= 0: - The last time the file was read. + • atime = date_time/0 | non_neg_integer/0 - The last time + the file was read. - mtime = date_time() | integer() >= 0: - The last time the file was written. + • mtime = date_time/0 | non_neg_integer/0 - The last time + the file was written. - ctime = date_time() | integer() >=0: - The interpretation of this time field depends on the operating - system. On Unix, it is the last time the file or the inode - was changed. In Windows, it is the create time. + • ctime = date_time/0 | non_neg_integer/0 - The + interpretation of this time field depends on the operating + system. On Unix, it is the last time the file or the inode + was changed. In Windows, it is the create time. - mode = integer() >= 0: - The file permissions as the sum of the following bit values: + • mode = non_neg_integer/0 - The file permissions as the sum + of the following bit values: - 8#00400: - read permission: owner + ○ 8#00400 - read permission: owner - 8#00200: - write permission: owner + ○ 8#00200 - write permission: owner - 8#00100: - execute permission: owner + ○ 8#00100 - execute permission: owner - 8#00040: - read permission: group + ○ 8#00040 - read permission: group - 8#00020: - write permission: group + ○ 8#00020 - write permission: group - 8#00010: - execute permission: group + ○ 8#00010 - execute permission: group - 8#00004: - read permission: other + ○ 8#00004 - read permission: other - 8#00002: - write permission: other + ○ 8#00002 - write permission: other - 8#00001: - execute permission: other + ○ 8#00001 - execute permission: other - 16#800: - set user id on execution + ○ 16#800 - set user id on execution - 16#400: - set group id on execution + ○ 16#400 - set group id on execution - On Unix platforms, other bits than those listed above may be - set. + On Unix platforms, other bits than those listed above may be + set. - links = integer() >= 0: - Number of links to the file (this is always 1 for file systems - that have no concept of links). + • links = non_neg_integer/0 - Number of links to the file + (this is always 1 for file systems that have no concept of + links). - major_device = integer() >= 0: - Identifies the file system where the file is located. In - Windows, the number indicates a drive as follows: 0 means A:, - 1 means B:, and so on. + • major_device = non_neg_integer/0 - Identifies the file + system where the file is located. In Windows, the number + indicates a drive as follows: 0 means A:, 1 means B:, and so + on. - minor_device = integer() >= 0: - Only valid for character devices on Unix. In all other cases, - this field is zero. + • minor_device = non_neg_integer/0 - Only valid for + character devices on Unix. In all other cases, this field is + zero. - inode = integer() >= 0: - Gives the inode number. On non-Unix file systems, this field - is zero. + • inode = non_neg_integer/0 - Gives the inode number. On + non-Unix file systems, this field is zero. - uid = integer() >= 0: - Indicates the owner of the file. On non-Unix file systems, - this field is zero. + • uid = non_neg_integer/0 - Indicates the owner of the file. + On non-Unix file systems, this field is zero. - gid = integer() >= 0: - Gives the group that the owner of the file belongs to. On - non-Unix file systems, this field is zero. + • gid = non_neg_integer/0 - Gives the group that the owner + of the file belongs to. On non-Unix file systems, this field + is zero. Typical error reasons: - eacces: - Missing search permission for one of the parent directories of - the file. + • eacces - Missing search permission for one of the parent + directories of the file. - enoent: - The file does not exist. + • enoent - The file does not exist. - enotdir: - A component of the filename is not a directory. On some - platforms, enoent is returned instead. + • enotdir - A component of the filename is not a directory. + On some platforms, enoent is returned instead. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_line_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_line_1_func.txt index cb8c5d11583b..4e424c62d6a5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_line_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_line_1_func.txt @@ -9,8 +9,10 @@  {no_translation, unicode, latin1}. Reads a line of bytes/characters from the file referenced by  - IoDevice. Lines are defined to be delimited by the linefeed (LF,  - \n) character, but any carriage return (CR, \r) followed by a + IoDevice. + + Lines are defined to be delimited by the linefeed (LF, \n) + character, but any carriage return (CR, \r) followed by a newline is also treated as a single LF character (the carriage return is silently ignored). The line is returned including the LF, but excluding any CR immediately followed by an LF. This @@ -31,26 +33,23 @@ The function returns: - {ok, Data}: - One line from the file is returned, including the trailing LF, - but with CRLF sequences replaced by a single LF (see above). + • {ok, Data} - One line from the file is returned, including + the trailing LF, but with CRLF sequences replaced by a + single LF (see above). - If the file is opened in binary mode, the read bytes are - returned in a binary, otherwise in a list. + If the file is opened in binary mode, the read bytes are + returned in a binary, otherwise in a list. - eof: - Returned if end of file was reached before anything at all - could be read. + • eof - Returned if end of file was reached before anything + at all could be read. - {error, Reason}: - An error occurred. + • {error, Reason} - An error occurred. Typical error reasons: - ebadf: - The file is not opened for reading. + • ebadf - The file is not opened for reading. - {no_translation, unicode, latin1}: - The file is opened with another encoding than latin1 and - the data on the file cannot be translated to the byte-oriented - data that this function returns. + • {no_translation, unicode, latin1} - The file is opened with + another encoding than latin1 and the data on the file + cannot be translated to the byte-oriented data that this + function returns. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_link_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_link_1_func.txt index 0a8d42d45f21..d0198c36bce8 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_link_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_link_1_func.txt @@ -12,13 +12,11 @@ Typical error reasons: - einval: - Name does not refer to a symbolic link or the name of the - file that it refers to does not conform to the expected - encoding. + • einval - Name does not refer to a symbolic link or the + name of the file that it refers to does not conform to the + expected encoding. - enoent: - The file does not exist. + • enoent - The file does not exist. - enotsup: - Symbolic links are not supported on this platform. + • enotsup - Symbolic links are not supported on this + platform. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_link_all_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_link_all_1_func.txt index 05717b72dc9d..34f7aea5ff1f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_link_all_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_link_all_1_func.txt @@ -16,11 +16,9 @@ Typical error reasons: - einval: - Name does not refer to a symbolic link. + • einval - Name does not refer to a symbolic link. - enoent: - The file does not exist. + • enoent - The file does not exist. - enotsup: - Symbolic links are not supported on this platform. + • enotsup - Symbolic links are not supported on this + platform. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_link_info_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_link_info_func.txt index ea0ff8c4ac1e..d7dbb67f7ca8 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_link_info_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_read_link_info_func.txt @@ -5,23 +5,7 @@  FileInfo :: file_info(),  Reason :: posix() | badarg. -Since: - OTP R15B - - Works like read_file_info/1,2 except that if Name is a - symbolic link, information about the link is returned in the  - file_info record and the type field of the record is set to  - symlink. - - If the option raw is set, the file server is not called and only - information about local files is returned. Note that this will - break this module's atomicity guarantees as it can race with a - concurrent call to write_file_info/1,2 - - If Name is not a symbolic link, this function returns the same - result as read_file_info/1. On platforms that do not support - symbolic links, this function is always equivalent to  - read_file_info/1. + There is no documentation for read_link_info(Name, []) -spec read_link_info(Name, Opts) -> {ok, FileInfo} | {error, Reason}  when diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_rename_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_rename_2_func.txt index 00cae372017c..9649ee1a77a8 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_rename_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_rename_2_func.txt @@ -13,34 +13,31 @@ "baz") returns an error, but rename("foo/bar", "baz/bar") succeeds. Returns ok if it is successful. - Note: + Note + Renaming of open files is not allowed on most platforms (see  eacces below). Typical error reasons: - eacces: - Missing read or write permissions for the parent directories - of Source or Destination. On some platforms, this error is - given if either Source or Destination is open. + • eacces - Missing read or write permissions for the parent + directories of Source or Destination. On some platforms, + this error is given if either Source or Destination is + open. - eexist: - Destination is not an empty directory. On some platforms, - also given when Source and Destination are not of the same - type. + • eexist - Destination is not an empty directory. On some + platforms, also given when Source and Destination are + not of the same type. - einval: - Source is a root directory, or Destination is a - subdirectory of Source. + • einval - Source is a root directory, or Destination is + a subdirectory of Source. - eisdir: - Destination is a directory, but Source is not. + • eisdir - Destination is a directory, but Source is not. - enoent: - Source does not exist. + • enoent - Source does not exist. - enotdir: - Source is a directory, but Destination is not. + • enotdir - Source is a directory, but Destination is + not. - exdev: - Source and Destination are on different file systems. + • exdev - Source and Destination are on different file + systems. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_script_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_script_1_func.txt index d97ba4a89f32..fc067ec6654c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_script_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_script_1_func.txt @@ -10,23 +10,22 @@  Mod :: module(),  Term :: term()}. - Reads and evaluates Erlang expressions, separated by '.' (or ',', + Reads and evaluates Erlang expressions, separated by . (or ,, a sequence of expressions is also an expression), from the file. Returns one of the following: - {ok, Value}: - The file is read and evaluated. Value is the value of the - last expression. + • {ok, Value} - The file is read and evaluated. Value is + the value of the last expression. - {error, atom()}: - An error occurred when opening the file or reading it. For a - list of typical error codes, see open/2. + • {error, atom()} - An error occurred when opening the file + or reading it. For a list of typical error codes, see  + open/2. - {error, {Line, Mod, Term}}: - An error occurred when interpreting the Erlang expressions in - the file. Use format_error/1 to convert the three-element - tuple to an English description of the error. + • {error, {Line, Mod, Term}} - An error occurred when + interpreting the Erlang expressions in the file. Use  + format_error/1 to convert the three-element tuple to an + English description of the error. The encoding of Filename can be set by a comment as described in  - epp(3). + epp. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_script_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_script_2_func.txt index 085114293e2d..95e1e54ef334 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_script_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_script_2_func.txt @@ -12,4 +12,4 @@  Term :: term()}. The same as script/1 but the variable bindings Bindings are - used in the evaluation. See erl_eval(3) about variable bindings. + used in the evaluation. See erl_eval about variable bindings. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_script_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_script_func.txt index 8a87b370ea18..48fcd5e53915 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_script_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_script_func.txt @@ -10,26 +10,25 @@  Mod :: module(),  Term :: term()}. - Reads and evaluates Erlang expressions, separated by '.' (or ',', + Reads and evaluates Erlang expressions, separated by . (or ,, a sequence of expressions is also an expression), from the file. Returns one of the following: - {ok, Value}: - The file is read and evaluated. Value is the value of the - last expression. + • {ok, Value} - The file is read and evaluated. Value is + the value of the last expression. - {error, atom()}: - An error occurred when opening the file or reading it. For a - list of typical error codes, see open/2. + • {error, atom()} - An error occurred when opening the file + or reading it. For a list of typical error codes, see  + open/2. - {error, {Line, Mod, Term}}: - An error occurred when interpreting the Erlang expressions in - the file. Use format_error/1 to convert the three-element - tuple to an English description of the error. + • {error, {Line, Mod, Term}} - An error occurred when + interpreting the Erlang expressions in the file. Use  + format_error/1 to convert the three-element tuple to an + English description of the error. The encoding of Filename can be set by a comment as described in  - epp(3). + epp. -spec script(Filename, Bindings) -> {ok, Value} | {error, Reason}  when @@ -44,4 +43,4 @@  Term :: term()}. The same as script/1 but the variable bindings Bindings are - used in the evaluation. See erl_eval(3) about variable bindings. + used in the evaluation. See erl_eval about variable bindings. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_sendfile_5_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_sendfile_5_func.txt index 991f012cb5f0..36624c4de2a3 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_sendfile_5_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_sendfile_5_func.txt @@ -16,10 +16,6 @@ Since: OTP R15B - Types: - -type sendfile_option() :: - {chunk_size, non_neg_integer()} | {use_threads, boolean()}. - Sends Bytes from the file referenced by RawFile beginning at  Offset to Socket. Returns {ok, BytesSent} if successful, otherwise {error, Reason}. If Bytes is set to 0 all data @@ -35,7 +31,6 @@ The option list can contain the following options: - chunk_size: - The chunk size used by the Erlang fallback to send data. If - using the fallback, set this to a value that comfortably fits - in the systems memory. Default is 20 MB. + • chunk_size - The chunk size used by the Erlang fallback to + send data. If using the fallback, set this to a value that + comfortably fits in the systems memory. Default is 20 MB. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_sendfile_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_sendfile_func.txt index c243835aa67d..c5d2184f2141 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_sendfile_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_sendfile_func.txt @@ -33,10 +33,6 @@ Since: OTP R15B - Types: - -type sendfile_option() :: - {chunk_size, non_neg_integer()} | {use_threads, boolean()}. - Sends Bytes from the file referenced by RawFile beginning at  Offset to Socket. Returns {ok, BytesSent} if successful, otherwise {error, Reason}. If Bytes is set to 0 all data @@ -52,7 +48,6 @@ The option list can contain the following options: - chunk_size: - The chunk size used by the Erlang fallback to send data. If - using the fallback, set this to a value that comfortably fits - in the systems memory. Default is 20 MB. + • chunk_size - The chunk size used by the Erlang fallback to + send data. If using the fallback, set this to a value that + comfortably fits in the systems memory. Default is 20 MB. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_set_cwd_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_set_cwd_1_func.txt index 50616e8135f1..192332baee11 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_set_cwd_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_set_cwd_1_func.txt @@ -12,27 +12,25 @@ filenames, that is, they are passed "as is" even when the encoding of the binary does not agree with native_name_encoding(). However, this function expects binaries to be encoded according to - the value returned by native_name_encoding(). + the value returned by native_name_encoding/0. Typical error reasons are: - enoent: - The directory does not exist. + • enoent - The directory does not exist. - enotdir: - A component of Dir is not a directory. On some platforms,  - enoent is returned. + • enotdir - A component of Dir is not a directory. On some + platforms, enoent is returned. - eacces: - Missing permission for the directory or one of its parents. + • eacces - Missing permission for the directory or one of its + parents. - badarg: - Dir has an improper type, such as tuple. + • badarg - Dir has an improper type, such as tuple. - no_translation: - Dir is a binary() with characters coded in ISO-latin-1 and - the VM is operating with unicode filename encoding. + • no_translation - Dir is a binary/0 with characters + coded in ISO-latin-1 and the VM is operating with unicode + filename encoding. + + Warning - Warning: In a future release, a bad type for argument Dir will probably generate an exception. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_sync_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_sync_1_func.txt index 856307fb483c..29309463991e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_sync_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_sync_1_func.txt @@ -10,5 +10,4 @@ A typical error reason is: - enospc: - Not enough space left to write the file. + • enospc - Not enough space left to write the file. 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 2f8f0c2009ac..d01090775772 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 @@ -2,20 +2,21 @@ These types are documented in this module: - -type deep_list() :: [char() | atom() | deep_list()]. - -  fd() + -type file_info_option() :: +  {time, local} | {time, universal} | {time, posix} | raw. - -type filename() :: string(). + -type sendfile_option() :: +  {chunk_size, non_neg_integer()} | {use_threads, boolean()}. - -type filename_all() :: string() | binary(). + -type read_file_option() :: raw. - -type io_device() :: pid() | fd(). + -type delete_option() :: raw. - -type name() :: string() | atom() | deep_list(). + -type posix_file_advise() :: +  normal | sequential | random | no_reuse | will_need | +  dont_need. - -type name_all() :: -  string() | atom() | deep_list() | (RawFilename :: binary()). + -type date_time() :: calendar:datetime(). -type posix() ::  eacces | eagain | ebadf | ebadmsg | ebusy | edeadlk | @@ -27,16 +28,12 @@ These types are documented in this module:  eoverflow | eperm | epipe | erange | erofs | espipe | esrch |  estale | etxtbsy | exdev. - -type date_time() :: calendar:datetime(). + -type name_all() :: +  string() | atom() | deep_list() | (RawFilename :: binary()). - -type file_info() :: #file_info{}. + -type name() :: string() | atom() | deep_list(). - -type location() :: -  integer() | -  {bof, Offset :: integer()} | -  {cur, Offset :: integer()} | -  {eof, Offset :: integer()} | -  bof | cur | eof. + -type deep_list() :: [char() | atom() | deep_list()]. -type mode() ::  read | write | append | exclusive | raw | binary | @@ -49,5 +46,23 @@ These types are documented in this module:  {encoding, unicode:encoding()} |  sync. - -type file_info_option() :: -  {time, local} | {time, universal} | {time, posix} | raw. + -type location() :: +  integer() | +  {bof, Offset :: integer()} | +  {cur, Offset :: integer()} | +  {eof, Offset :: integer()} | +  bof | cur | eof. + + -type io_device() :: io_server() | fd(). + + -type io_server() :: pid(). + + -type fd() :: file_descriptor(). + + -type file_descriptor() :: #file_descriptor{}. + + -type file_info() :: #file_info{}. + + -type filename_all() :: string() | (RawFilename :: binary()). + + -type filename() :: string(). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_2_func.txt index b495c48e3685..841acb8b1971 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_2_func.txt @@ -14,13 +14,11 @@ 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. If you want to write unicode:chardata() to the IoDevice + type. If you want to write unicode:chardata/0 to the IoDevice you should use io:put_chars/2 instead. Typical error reasons: - ebadf: - The file is not opened for writing. + • ebadf - The file is not opened for writing. - enospc: - No space is left on the device. + • enospc - No space is left on the device. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_file_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_file_2_func.txt index 61f73666ccba..ecf2f18bf5df 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_file_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_file_2_func.txt @@ -13,19 +13,14 @@ Typical error reasons: - enoent: - A component of the filename does not exist. + • enoent - A component of the filename does not exist. - enotdir: - A component of the filename is not a directory. On some - platforms, enoent is returned instead. + • enotdir - A component of the filename is not a directory. + On some platforms, enoent is returned instead. - enospc: - No space is left on the device. + • enospc - No space is left on the device. - eacces: - Missing permission for writing the file or searching one of - the parent directories. + • eacces - Missing permission for writing the file or + searching one of the parent directories. - eisdir: - The named file is a directory. + • eisdir - The named file is a directory. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_file_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_file_func.txt index 912cf8f37b63..7b206fd30c3a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_file_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_file_func.txt @@ -13,22 +13,17 @@ Typical error reasons: - enoent: - A component of the filename does not exist. + • enoent - A component of the filename does not exist. - enotdir: - A component of the filename is not a directory. On some - platforms, enoent is returned instead. + • enotdir - A component of the filename is not a directory. + On some platforms, enoent is returned instead. - enospc: - No space is left on the device. + • enospc - No space is left on the device. - eacces: - Missing permission for writing the file or searching one of - the parent directories. + • eacces - Missing permission for writing the file or + searching one of the parent directories. - eisdir: - The named file is a directory. + • eisdir - The named file is a directory. -spec write_file(Filename, Bytes, Modes) -> ok | {error, Reason}  when diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_file_info_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_file_info_3_func.txt index 1f07e9da1716..68077763e3f3 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_file_info_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_file_info_3_func.txt @@ -10,24 +10,23 @@ OTP R15B Changes file information. Returns ok if successful, otherwise  - {error, Reason}. FileInfo is a record file_info, defined in - the Kernel include file file.hrl. Include the following - directive in the module from which the function is called: + {error, Reason}. - -include_lib("kernel/include/file.hrl"). + FileInfo is a record file_info, defined in the Kernel include + file file.hrl. Include the following directive in the module + from which the function is called: + + -include_lib("kernel/include/file.hrl"). The time type set in atime, mtime, and ctime depends on the time type set in Opts :: {time, Type} as follows: - local: - Interprets the time set as local. + • local - Interprets the time set as local. - universal: - Interprets it as universal time. + • universal - Interprets it as universal time. - posix: - Must be seconds since or before Unix time epoch, which is - 1970-01-01 00:00 UTC. + • posix - Must be seconds since or before Unix time epoch, + which is 1970-01-01 00:00 UTC. Default is {time, local}. @@ -37,72 +36,57 @@ The following fields are used from the record, if they are specified: - atime = date_time() | integer() >= 0: - The last time the file was read. + • atime = date_time/0 | non_neg_integer/0 - The last time + the file was read. - mtime = date_time() | integer() >= 0: - The last time the file was written. + • mtime = date_time/0 | non_neg_integer/0 - The last time + the file was written. - ctime = date_time() | integer() >= 0: - On Unix, any value specified for this field is ignored (the - "ctime" for the file is set to the current time). On Windows, - this field is the new creation time to set for the file. + • ctime = date_time/0 | non_neg_integer/0 - On Unix, any + value specified for this field is ignored (the "ctime" for + the file is set to the current time). On Windows, this field + is the new creation time to set for the file. - mode = integer() >= 0: - The file permissions as the sum of the following bit values: + • mode = non_neg_integer/0 - The file permissions as the sum + of the following bit values: - 8#00400: - Read permission: owner + ○ 8#00400 - Read permission: owner - 8#00200: - Write permission: owner + ○ 8#00200 - Write permission: owner - 8#00100: - Execute permission: owner + ○ 8#00100 - Execute permission: owner - 8#00040: - Read permission: group + ○ 8#00040 - Read permission: group - 8#00020: - Write permission: group + ○ 8#00020 - Write permission: group - 8#00010: - Execute permission: group + ○ 8#00010 - Execute permission: group - 8#00004: - Read permission: other + ○ 8#00004 - Read permission: other - 8#00002: - Write permission: other + ○ 8#00002 - Write permission: other - 8#00001: - Execute permission: other + ○ 8#00001 - Execute permission: other - 16#800: - Set user id on execution + ○ 16#800 - Set user id on execution - 16#400: - Set group id on execution + ○ 16#400 - Set group id on execution - On Unix platforms, other bits than those listed above may be - set. + On Unix platforms, other bits than those listed above may be + set. - uid = integer() >= 0: - Indicates the file owner. Ignored for non-Unix file systems. + • uid = non_neg_integer/0 - Indicates the file owner. + Ignored for non-Unix file systems. - gid = integer() >= 0: - Gives the group that the file owner belongs to. Ignored for - non-Unix file systems. + • gid = non_neg_integer/0 - Gives the group that the file + owner belongs to. Ignored for non-Unix file systems. Typical error reasons: - eacces: - Missing search permission for one of the parent directories of - the file. + • eacces - Missing search permission for one of the parent + directories of the file. - enoent: - The file does not exist. + • enoent - The file does not exist. - enotdir: - A component of the filename is not a directory. On some - platforms, enoent is returned instead. + • enotdir - A component of the filename is not a directory. + On some platforms, enoent is returned instead. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_file_info_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_file_info_func.txt index 7ddee1babe1d..dd6a1f2ce6ec 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_file_info_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_write_file_info_func.txt @@ -5,106 +5,8 @@  FileInfo :: file_info(),  Reason :: posix() | badarg. -Since: - OTP R15B - - Changes file information. Returns ok if successful, otherwise  - {error, Reason}. FileInfo is a record file_info, defined in - the Kernel include file file.hrl. Include the following - directive in the module from which the function is called: - - -include_lib("kernel/include/file.hrl"). - - The time type set in atime, mtime, and ctime depends on the - time type set in Opts :: {time, Type} as follows: - - local: - Interprets the time set as local. - - universal: - Interprets it as universal time. - - posix: - Must be seconds since or before Unix time epoch, which is - 1970-01-01 00:00 UTC. - - Default is {time, local}. - - If the option raw is set, the file server is not called and only - information about local files is returned. - - The following fields are used from the record, if they are - specified: - - atime = date_time() | integer() >= 0: - The last time the file was read. - - mtime = date_time() | integer() >= 0: - The last time the file was written. - - ctime = date_time() | integer() >= 0: - On Unix, any value specified for this field is ignored (the - "ctime" for the file is set to the current time). On Windows, - this field is the new creation time to set for the file. - - mode = integer() >= 0: - The file permissions as the sum of the following bit values: - - 8#00400: - Read permission: owner - - 8#00200: - Write permission: owner - - 8#00100: - Execute permission: owner - - 8#00040: - Read permission: group - - 8#00020: - Write permission: group - - 8#00010: - Execute permission: group - - 8#00004: - Read permission: other - - 8#00002: - Write permission: other - - 8#00001: - Execute permission: other - - 16#800: - Set user id on execution - - 16#400: - Set group id on execution - - On Unix platforms, other bits than those listed above may be - set. - - uid = integer() >= 0: - Indicates the file owner. Ignored for non-Unix file systems. - - gid = integer() >= 0: - Gives the group that the file owner belongs to. Ignored for - non-Unix file systems. - - Typical error reasons: - - eacces: - Missing search permission for one of the parent directories of - the file. - - enoent: - The file does not exist. - - enotdir: - A component of the filename is not a directory. On some - platforms, enoent is returned instead. + There is no documentation for write_file_info(Filename, FileInfo, + []) -spec write_file_info(Filename, FileInfo, Opts) -> ok | {error, Reason}  when @@ -117,24 +19,23 @@ OTP R15B Changes file information. Returns ok if successful, otherwise  - {error, Reason}. FileInfo is a record file_info, defined in - the Kernel include file file.hrl. Include the following - directive in the module from which the function is called: + {error, Reason}. + + FileInfo is a record file_info, defined in the Kernel include + file file.hrl. Include the following directive in the module + from which the function is called: - -include_lib("kernel/include/file.hrl"). + -include_lib("kernel/include/file.hrl"). The time type set in atime, mtime, and ctime depends on the time type set in Opts :: {time, Type} as follows: - local: - Interprets the time set as local. + • local - Interprets the time set as local. - universal: - Interprets it as universal time. + • universal - Interprets it as universal time. - posix: - Must be seconds since or before Unix time epoch, which is - 1970-01-01 00:00 UTC. + • posix - Must be seconds since or before Unix time epoch, + which is 1970-01-01 00:00 UTC. Default is {time, local}. @@ -144,72 +45,57 @@ The following fields are used from the record, if they are specified: - atime = date_time() | integer() >= 0: - The last time the file was read. + • atime = date_time/0 | non_neg_integer/0 - The last time + the file was read. - mtime = date_time() | integer() >= 0: - The last time the file was written. + • mtime = date_time/0 | non_neg_integer/0 - The last time + the file was written. - ctime = date_time() | integer() >= 0: - On Unix, any value specified for this field is ignored (the - "ctime" for the file is set to the current time). On Windows, - this field is the new creation time to set for the file. + • ctime = date_time/0 | non_neg_integer/0 - On Unix, any + value specified for this field is ignored (the "ctime" for + the file is set to the current time). On Windows, this field + is the new creation time to set for the file. - mode = integer() >= 0: - The file permissions as the sum of the following bit values: + • mode = non_neg_integer/0 - The file permissions as the sum + of the following bit values: - 8#00400: - Read permission: owner + ○ 8#00400 - Read permission: owner - 8#00200: - Write permission: owner + ○ 8#00200 - Write permission: owner - 8#00100: - Execute permission: owner + ○ 8#00100 - Execute permission: owner - 8#00040: - Read permission: group + ○ 8#00040 - Read permission: group - 8#00020: - Write permission: group + ○ 8#00020 - Write permission: group - 8#00010: - Execute permission: group + ○ 8#00010 - Execute permission: group - 8#00004: - Read permission: other + ○ 8#00004 - Read permission: other - 8#00002: - Write permission: other + ○ 8#00002 - Write permission: other - 8#00001: - Execute permission: other + ○ 8#00001 - Execute permission: other - 16#800: - Set user id on execution + ○ 16#800 - Set user id on execution - 16#400: - Set group id on execution + ○ 16#400 - Set group id on execution - On Unix platforms, other bits than those listed above may be - set. + On Unix platforms, other bits than those listed above may be + set. - uid = integer() >= 0: - Indicates the file owner. Ignored for non-Unix file systems. + • uid = non_neg_integer/0 - Indicates the file owner. + Ignored for non-Unix file systems. - gid = integer() >= 0: - Gives the group that the file owner belongs to. Ignored for - non-Unix file systems. + • gid = non_neg_integer/0 - Gives the group that the file + owner belongs to. Ignored for non-Unix file systems. Typical error reasons: - eacces: - Missing search permission for one of the parent directories of - the file. + • eacces - Missing search permission for one of the parent + directories of the file. - enoent: - The file does not exist. + • enoent - The file does not exist. - enotdir: - A component of the filename is not a directory. On some - platforms, enoent is returned instead. + • enotdir - A component of the filename is not a directory. + On some platforms, enoent is returned instead. 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 714b7e7856ce..8555b81a9572 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,[],[<<80,101,114,108,45,108,105,107,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,32,102,111,114,32,69,114,108,97,110,103,46>>]},{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 +{docs_v1,[{file,[46,46,47,100,111,99,47,115,114,99,47,114,101,46,109,100]},{location,{1,1}}],erlang,<<116,101,120,116,47,109,97,114,107,100,111,119,110>>,#{<<101,110>> => <<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,10,98,105,110,97,114,105,101,115,46,10,10,84,104,101,32,91,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,93,40,96,109,58,114,101,35,109,111,100,117,108,101,45,112,101,114,108,45,108,105,107,101,45,114,101,103,117,108,97,114,45,101,120,112,114,101,115,115,105,111,110,45,115,121,110,116,97,120,96,41,32,115,121,110,116,97,120,32,97,110,100,10,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,10,10,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,10,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,10,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,10,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,10,105,110,99,108,117,100,101,100,32,104,101,114,101,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,96,92,92,96,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,10,62,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,10,62,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,96,34,92,92,92,92,34,96,32,111,114,10,62,32,96,60,60,34,92,92,92,92,34,62,62,96,46,10,62,10,62,32,83,105,110,99,101,32,69,114,108,97,110,103,47,79,84,80,32,50,55,32,121,111,117,32,99,97,110,32,117,115,101,32,91,118,101,114,98,97,116,105,109,32,115,105,103,105,108,115,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,115,105,103,105,108,96,41,10,62,32,116,111,32,119,114,105,116,101,32,108,105,116,101,114,97,108,32,115,116,114,105,110,103,115,46,32,84,104,101,32,101,120,97,109,112,108,101,32,97,98,111,118,101,32,119,111,117,108,100,32,98,101,32,119,114,105,116,116,101,110,32,97,115,32,96,126,83,34,92,34,96,32,111,114,32,96,126,66,34,92,34,96,46,10,10,35,35,32,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,10,10,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,10,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,10,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,10,10,35,35,32,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,10,10,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,10,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,10,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,10,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,10,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,10,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,10,114,101,102,101,114,101,110,99,101,32,109,97,116,101,114,105,97,108,46,10,10,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,10,10,45,32,91,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,93,40,96,109,58,114,101,35,115,101,99,116,49,96,41,10,45,32,91,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,93,40,96,109,58,114,101,35,115,101,99,116,50,96,41,10,45,32,91,66,97,99,107,115,108,97,115,104,93,40,96,109,58,114,101,35,115,101,99,116,51,96,41,10,45,32,91,67,105,114,99,117,109,102,108,101,120,32,97,110,100,32,68,111,108,108,97,114,93,40,96,109,58,114,101,35,115,101,99,116,52,96,41,10,45,32,91,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,92,78,93,40,96,109,58,114,101,35,115,101,99,116,53,96,41,10,45,32,91,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,93,40,96,109,58,114,101,35,115,101,99,116,54,96,41,10,45,32,91,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,93,40,96,109,58,114,101,35,115,101,99,116,55,96,41,10,45,32,91,80,111,115,105,120,32,67,104,97,114,97,99,116,101,114,32,67,108,97,115,115,101,115,93,40,96,109,58,114,101,35,115,101,99,116,56,96,41,10,45,32,91,86,101,114,116,105,99,97,108,32,66,97,114,93,40,96,109,58,114,101,35,115,101,99,116,57,96,41,10,45,32,91,73,110,116,101,114,110,97,108,32,79,112,116,105,111,110,32,83,101,116,116,105,110,103,93,40,96,109,58,114,101,35,115,101,99,116,49,48,96,41,10,45,32,91,83,117,98,112,97,116,116,101,114,110,115,93,40,96,109,58,114,101,35,115,101,99,116,49,49,96,41,10,45,32,91,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,93,40,96,109,58,114,101,35,115,101,99,116,49,50,96,41,10,45,32,91,78,97,109,101,100,32,83,117,98,112,97,116,116,101,114,110,115,93,40,96,109,58,114,101,35,115,101,99,116,49,51,96,41,10,45,32,91,82,101,112,101,116,105,116,105,111,110,93,40,96,109,58,114,101,35,115,101,99,116,49,52,96,41,10,45,32,91,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,93,40,96,109,58,114,101,35,115,101,99,116,49,53,96,41,10,45,32,91,66,97,99,107,32,82,101,102,101,114,101,110,99,101,115,93,40,96,109,58,114,101,35,115,101,99,116,49,54,96,41,10,45,32,91,65,115,115,101,114,116,105,111,110,115,93,40,96,109,58,114,101,35,115,101,99,116,49,55,96,41,10,45,32,91,67,111,110,100,105,116,105,111,110,97,108,32,83,117,98,112,97,116,116,101,114,110,115,93,40,96,109,58,114,101,35,115,101,99,116,49,56,96,41,10,45,32,91,67,111,109,109,101,110,116,115,93,40,96,109,58,114,101,35,115,101,99,116,49,57,96,41,10,45,32,91,82,101,99,117,114,115,105,118,101,32,80,97,116,116,101,114,110,115,93,40,96,109,58,114,101,35,115,101,99,116,50,48,96,41,10,45,32,91,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,93,40,96,109,58,114,101,35,115,101,99,116,50,49,96,41,10,45,32,91,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,93,40,96,109,58,114,101,35,115,101,99,116,50,50,96,41,10,45,32,91,66,97,99,107,116,114,97,99,107,105,110,103,32,67,111,110,116,114,111,108,93,40,96,109,58,114,101,35,115,101,99,116,50,51,96,41,10,10,91,93,40,41,123,58,32,35,115,101,99,116,49,32,125,10,10,35,35,32,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,10,10,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,96,99,111,109,112,105,108,101,47,50,96,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,10,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,10,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,10,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,10,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,10,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,10,10,95,85,84,70,32,83,117,112,112,111,114,116,95,10,10,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,10,99,97,108,108,32,96,99,111,109,112,105,108,101,47,50,96,32,111,114,32,96,114,117,110,47,51,96,32,119,105,116,104,32,111,112,116,105,111,110,32,96,117,110,105,99,111,100,101,96,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,10,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,10,10,96,96,96,116,101,120,116,10,40,42,85,84,70,56,41,10,40,42,85,84,70,41,10,96,96,96,10,10,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,10,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,10,105,115,32,110,111,116,32,112,101,114,102,111,114,109,101,100,32,98,121,32,116,104,101,32,96,114,101,96,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,10,114,101,99,111,109,109,101,110,100,101,100,46,32,65,100,100,32,111,112,116,105,111,110,32,96,117,110,105,99,111,100,101,96,32,119,104,101,110,32,114,117,110,110,105,110,103,32,96,99,111,109,112,105,108,101,47,50,96,32,105,110,115,116,101,97,100,46,10,10,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,10,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,96,110,101,118,101,114,95,117,116,102,96,32,105,115,32,115,101,116,32,97,116,10,99,111,109,112,105,108,101,32,116,105,109,101,44,32,40,92,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,10,97,110,32,101,114,114,111,114,46,10,10,95,85,110,105,99,111,100,101,32,80,114,111,112,101,114,116,121,32,83,117,112,112,111,114,116,95,10,10,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,10,112,97,116,116,101,114,110,58,10,10,96,96,96,116,101,120,116,10,40,42,85,67,80,41,10,96,96,96,10,10,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,96,117,99,112,96,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,10,96,92,100,96,32,97,110,100,32,96,92,119,96,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,10,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,10,10,95,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,95,10,10,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,96,40,42,78,79,95,83,84,65,82,84,95,79,80,84,41,96,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,10,111,112,116,105,111,110,32,96,110,111,95,115,116,97,114,116,95,111,112,116,105,109,105,122,101,96,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,46,10,10,95,78,101,119,108,105,110,101,32,67,111,110,118,101,110,116,105,111,110,115,95,10,10,91,93,40,41,123,58,32,35,110,101,119,108,105,110,101,95,99,111,110,118,101,110,116,105,111,110,115,32,125,10,10,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,10,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,10,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,10,115,101,113,117,101,110,99,101,46,10,10,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,10,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,10,10,45,32,42,42,40,92,42,67,82,41,42,42,32,45,32,67,97,114,114,105,97,103,101,32,114,101,116,117,114,110,10,10,45,32,42,42,40,92,42,76,70,41,42,42,32,45,32,76,105,110,101,32,102,101,101,100,10,10,45,32,42,42,40,92,42,67,82,76,70,41,42,42,32,45,32,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,10,10,45,32,42,42,40,92,42,65,78,89,67,82,76,70,41,42,42,32,45,32,65,110,121,32,111,102,32,116,104,101,32,116,104,114,101,101,32,97,98,111,118,101,10,10,45,32,42,42,40,92,42,65,78,89,41,42,42,32,45,32,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,10,10,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,96,99,111,109,112,105,108,101,47,50,96,46,32,70,111,114,10,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,10,10,96,96,96,116,101,120,116,10,40,42,67,82,41,97,46,98,10,96,96,96,10,10,84,104,105,115,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,96,97,92,110,98,96,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,10,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,10,10,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,10,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,96,100,111,116,97,108,108,96,10,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,96,92,78,96,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,96,92,82,96,10,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,10,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,96,92,82,96,32,105,110,10,115,101,99,116,105,111,110,32,91,78,101,119,108,105,110,101,32,83,101,113,117,101,110,99,101,115,93,40,96,109,58,114,101,35,110,101,119,108,105,110,101,95,115,101,113,117,101,110,99,101,115,96,41,46,32,65,32,99,104,97,110,103,101,32,111,102,32,116,104,101,32,96,92,82,96,10,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,10,10,95,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,95,10,10,84,104,101,32,99,97,108,108,101,114,32,111,102,32,96,114,117,110,47,51,96,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,10,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,10,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,10,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,10,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,10,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,96,112,99,114,101,95,101,120,101,99,40,41,96,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,91,96,114,117,110,47,51,96,93,40,96,114,117,110,47,51,96,41,32,102,111,114,32,105,116,32,116,111,32,104,97,118,101,10,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,10,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,10,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,10,10,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,10,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,10,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,10,116,104,101,32,67,32,115,116,97,99,107,46,10,10,78,111,116,101,32,116,104,97,116,32,96,76,73,77,73,84,95,77,65,84,67,72,96,32,97,110,100,32,96,76,73,77,73,84,95,82,69,67,85,82,83,73,79,78,96,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,10,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,10,10,91,93,40,41,123,58,32,35,115,101,99,116,50,32,125,10,10,35,35,32,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,10,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,84,104,101,32,113,117,105,99,107,32,98,114,111,119,110,32,102,111,120,10,96,96,96,10,10,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,96,99,97,115,101,108,101,115,115,96,41,44,32,108,101,116,116,101,114,115,32,97,114,101,32,109,97,116,99,104,101,100,10,105,110,100,101,112,101,110,100,101,110,116,108,121,32,111,102,32,99,97,115,101,46,10,10,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,10,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,10,95,109,101,116,97,99,104,97,114,97,99,116,101,114,115,95,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,10,105,110,32,115,111,109,101,32,115,112,101,99,105,97,108,32,119,97,121,46,10,10,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,10,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,10,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,10,10,45,32,42,42,96,92,96,42,42,32,45,32,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,10,10,45,32,42,42,96,94,96,42,42,32,45,32,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,10,10,45,32,42,42,96,36,96,42,42,32,45,32,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,10,10,45,32,42,42,96,46,96,42,42,32,45,32,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,10,10,45,32,42,42,96,91,96,42,42,32,45,32,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,10,10,45,32,42,42,96,124,96,42,42,32,45,32,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,10,10,45,32,42,42,96,40,96,42,42,32,45,32,83,116,97,114,116,32,115,117,98,112,97,116,116,101,114,110,10,10,45,32,42,42,96,41,96,42,42,32,45,32,69,110,100,32,115,117,98,112,97,116,116,101,114,110,10,10,45,32,42,42,96,63,96,42,42,32,45,32,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,10,32,32,109,105,110,105,109,105,122,101,114,10,10,45,32,42,42,96,42,96,42,42,32,45,32,48,32,111,114,32,109,111,114,101,32,113,117,97,110,116,105,102,105,101,114,115,10,10,45,32,42,42,96,43,96,42,42,32,45,32,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,10,10,45,32,42,42,96,123,96,42,42,32,45,32,83,116,97,114,116,32,109,105,110,47,109,97,120,32,113,117,97,110,116,105,102,105,101,114,10,10,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,10,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,10,10,45,32,42,42,96,92,96,42,42,32,45,32,71,101,110,101,114,97,108,32,101,115,99,97,112,101,32,99,104,97,114,97,99,116,101,114,10,10,45,32,42,42,96,94,96,42,42,32,45,32,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,10,10,45,32,42,42,96,45,96,42,42,32,45,32,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,10,10,45,32,42,42,96,91,96,42,42,32,45,32,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,10,10,45,32,42,42,96,93,96,42,42,32,45,32,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,10,10,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,10,10,91,93,40,41,123,58,32,35,115,101,99,116,51,32,125,10,10,35,35,32,66,97,99,107,115,108,97,115,104,10,10,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,10,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,10,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,10,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,10,10,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,34,92,95,34,32,99,104,97,114,97,99,116,101,114,44,32,121,111,117,32,119,114,105,116,101,32,96,92,95,96,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,46,10,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,10,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,10,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,10,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,96,92,92,96,46,10,10,73,110,32,96,117,110,105,99,111,100,101,96,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,10,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,10,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,10,10,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,96,101,120,116,101,110,100,101,100,96,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,10,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,10,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,10,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,10,10,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,10,96,92,81,96,32,97,110,100,32,96,92,69,96,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,96,36,96,32,97,110,100,32,96,64,96,32,97,114,101,32,104,97,110,100,108,101,100,32,97,115,32,108,105,116,101,114,97,108,115,10,105,110,32,96,92,81,96,46,46,46,96,92,69,96,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,96,36,96,32,97,110,100,32,96,64,96,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,84,104,101,32,96,92,81,96,46,46,46,96,92,69,96,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,10,65,110,32,105,115,111,108,97,116,101,100,32,96,92,69,96,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,96,92,81,96,32,105,115,32,105,103,110,111,114,101,100,46,32,73,102,32,96,92,81,96,32,105,115,32,110,111,116,32,102,111,108,108,111,119,101,100,10,98,121,32,96,92,69,96,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,10,116,104,101,32,112,97,116,116,101,114,110,32,40,116,104,97,116,32,105,115,44,32,96,92,69,96,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,96,92,81,96,32,105,115,32,105,110,115,105,100,101,10,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,10,116,101,114,109,105,110,97,116,101,100,46,10,10,95,78,111,110,45,80,114,105,110,116,105,110,103,32,67,104,97,114,97,99,116,101,114,115,95,10,10,91,93,40,41,123,58,32,35,110,111,110,95,112,114,105,110,116,105,110,103,95,99,104,97,114,97,99,116,101,114,115,32,125,10,10,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,10,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,10,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,10,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,10,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,10,10,45,32,42,42,96,92,97,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,99,120,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,101,96,42,42,32,45,32,69,115,99,97,112,101,32,40,104,101,120,32,49,66,41,10,10,45,32,42,42,96,92,102,96,42,42,32,45,32,70,111,114,109,32,102,101,101,100,32,40,104,101,120,32,48,67,41,10,10,45,32,42,42,96,92,110,96,42,42,32,45,32,76,105,110,101,32,102,101,101,100,32,40,104,101,120,32,48,65,41,10,10,45,32,42,42,96,92,114,96,42,42,32,45,32,67,97,114,114,105,97,103,101,32,114,101,116,117,114,110,32,40,104,101,120,32,48,68,41,10,10,45,32,42,42,96,92,116,96,42,42,32,45,32,84,97,98,32,40,104,101,120,32,48,57,41,10,10,45,32,42,42,96,92,48,100,100,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,100,100,100,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,111,123,100,100,100,46,46,125,96,42,42,32,45,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,100,100,100,46,46,10,10,45,32,42,42,96,92,120,104,104,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,120,123,104,104,104,46,46,125,96,42,42,32,45,32,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,78,111,116,101,32,116,104,97,116,32,96,92,48,100,100,96,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,96,92,56,96,32,97,110,100,32,96,92,57,96,32,97,114,101,32,116,104,101,32,108,105,116,101,114,97,108,10,62,32,99,104,97,114,97,99,116,101,114,115,32,34,56,34,32,97,110,100,32,34,57,34,46,10,10,84,104,101,32,112,114,101,99,105,115,101,32,101,102,102,101,99,116,32,111,102,32,96,92,99,120,96,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,10,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,10,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,96,92,99,65,96,32,116,111,32,96,92,99,90,96,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,10,53,65,41,44,32,98,117,116,32,96,92,99,123,96,32,98,101,99,111,109,101,115,32,104,101,120,32,51,66,32,40,96,123,96,32,105,115,32,55,66,41,44,32,97,110,100,32,96,92,99,96,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,10,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,96,92,99,96,32,104,97,115,32,97,32,118,97,108,117,101,32,62,32,49,50,55,44,32,97,10,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,10,10,84,104,101,32,96,92,99,96,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,10,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,10,10,65,102,116,101,114,32,96,92,48,96,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,10,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,96,92,48,92,120,92,48,49,53,96,10,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,10,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,10,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,10,10,84,104,101,32,101,115,99,97,112,101,32,96,92,111,96,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,10,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,10,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,10,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,10,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,10,10,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,96,92,96,32,98,121,32,97,32,100,105,103,105,116,10,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,96,92,111,123,125,96,32,111,114,32,96,92,120,123,125,96,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,10,97,110,100,32,96,92,103,123,125,96,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,10,111,108,100,44,32,97,109,98,105,103,117,111,117,115,32,115,121,110,116,97,120,46,10,10,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,10,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,10,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,10,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,10,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,10,95,98,97,99,107,32,114,101,102,101,114,101,110,99,101,95,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,10,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,10,10,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,96,92,96,32,105,115,32,62,32,55,32,97,110,100,32,116,104,101,114,101,10,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,96,92,56,96,32,97,110,100,32,96,92,57,96,32,97,115,32,116,104,101,10,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,10,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,10,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,10,10,45,32,42,42,96,92,48,52,48,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,52,48,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,55,96,42,42,32,45,32,65,108,119,97,121,115,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,10,10,45,32,42,42,96,92,49,49,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,48,49,49,96,42,42,32,45,32,65,108,119,97,121,115,32,97,32,116,97,98,10,10,45,32,42,42,96,92,48,49,49,51,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,49,49,51,96,42,42,32,45,32,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,10,32,32,49,49,51,10,10,45,32,42,42,96,92,51,55,55,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,56,49,96,42,42,32,45,32,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,10,10,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,10,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,10,10,66,121,32,100,101,102,97,117,108,116,44,32,97,102,116,101,114,32,96,92,120,96,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,96,123,96,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,10,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,10,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,96,92,120,123,96,32,97,110,100,32,96,125,96,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,10,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,96,92,120,123,96,32,97,110,100,32,96,125,96,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,10,96,125,96,44,32,97,110,32,101,114,114,111,114,32,111,99,99,117,114,115,46,10,10,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,10,115,121,110,116,97,120,101,115,32,102,111,114,32,96,92,120,96,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,10,101,120,97,109,112,108,101,44,32,96,92,120,100,99,96,32,105,115,32,101,120,97,99,116,108,121,32,116,104,101,32,115,97,109,101,32,97,115,32,96,92,120,123,100,99,125,96,46,10,10,95,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,95,10,10,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,10,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,10,10,45,32,42,42,56,45,98,105,116,32,110,111,110,45,85,84,70,32,109,111,100,101,42,42,32,45,32,60,32,48,120,49,48,48,10,10,45,32,42,42,56,45,98,105,116,32,85,84,70,45,56,32,109,111,100,101,42,42,32,45,32,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,10,10,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,10,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,10,10,95,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,95,10,10,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,10,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,96,92,98,96,32,105,115,10,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,10,10,96,92,78,96,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,96,92,66,96,44,32,96,92,82,96,44,32,97,110,100,32,96,92,88,96,32,97,114,101,32,110,111,116,32,115,112,101,99,105,97,108,10,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,10,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,10,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,10,10,95,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,95,10,10,73,110,32,80,101,114,108,44,32,116,104,101,32,115,101,113,117,101,110,99,101,115,32,96,92,108,96,44,32,96,92,76,96,44,32,96,92,117,96,44,32,97,110,100,32,96,92,85,96,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,10,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,10,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,10,10,95,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,95,10,10,84,104,101,32,115,101,113,117,101,110,99,101,32,96,92,103,96,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,10,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,10,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,96,92,103,123,110,97,109,101,125,96,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,10,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,10,10,95,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,95,10,10,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,96,92,103,96,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,110,97,109,101,32,111,114,10,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,10,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,10,108,97,116,101,114,46,32,78,111,116,105,99,101,32,116,104,97,116,32,96,92,103,123,46,46,46,125,96,32,40,80,101,114,108,32,115,121,110,116,97,120,41,32,97,110,100,32,96,92,103,60,46,46,46,62,96,32,40,79,110,105,103,117,114,117,109,97,32,115,121,110,116,97,120,41,32,97,114,101,10,95,110,111,116,95,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,10,99,97,108,108,46,10,10,95,71,101,110,101,114,105,99,32,67,104,97,114,97,99,116,101,114,32,84,121,112,101,115,95,10,10,91,93,40,41,123,58,32,35,103,101,110,101,114,105,99,95,99,104,97,114,97,99,116,101,114,95,116,121,112,101,115,32,125,10,10,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,10,10,45,32,42,42,96,92,100,96,42,42,32,45,32,65,110,121,32,100,101,99,105,109,97,108,32,100,105,103,105,116,10,10,45,32,42,42,96,92,68,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,104,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,72,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,115,96,42,42,32,45,32,65,110,121,32,119,104,105,116,101,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,10,10,45,32,42,42,96,92,83,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,118,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,86,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,119,96,42,42,32,45,32,65,110,121,32,34,119,111,114,100,34,32,99,104,97,114,97,99,116,101,114,10,10,45,32,42,42,96,92,87,96,42,42,32,45,32,65,110,121,32,34,110,111,110,45,119,111,114,100,34,32,99,104,97,114,97,99,116,101,114,10,10,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,96,92,78,96,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,10,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,96,100,111,116,97,108,108,96,32,105,115,32,110,111,116,32,115,101,116,46,32,80,101,114,108,32,97,108,115,111,10,117,115,101,115,32,96,92,78,96,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,10,10,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,10,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,10,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,10,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,10,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,10,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,10,10,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,96,92,115,96,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,10,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,10,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,10,96,92,115,96,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,10,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,10,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,10,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,96,92,120,65,48,96,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,10,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,10,10,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,10,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,10,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,10,96,117,110,105,99,111,100,101,96,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,10,10,66,121,32,100,101,102,97,117,108,116,44,32,105,110,32,96,117,110,105,99,111,100,101,96,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,10,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,96,92,100,96,44,32,96,92,115,96,44,32,111,114,32,96,92,119,96,44,10,97,110,100,32,97,108,119,97,121,115,32,109,97,116,99,104,32,96,92,68,96,44,32,96,92,83,96,44,32,97,110,100,32,96,92,87,96,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,10,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,10,72,111,119,101,118,101,114,44,32,105,102,32,111,112,116,105,111,110,32,96,117,99,112,96,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,10,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,10,10,45,32,42,42,96,92,100,96,42,42,32,45,32,65,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,96,92,112,123,78,100,125,96,32,109,97,116,99,104,101,115,32,40,100,101,99,105,109,97,108,32,100,105,103,105,116,41,10,10,45,32,42,42,96,92,115,96,42,42,32,45,32,65,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,96,92,112,123,90,125,96,32,111,114,32,96,92,104,96,32,111,114,32,96,92,118,96,10,10,45,32,42,42,96,92,119,96,42,42,32,45,32,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,96,92,112,123,76,125,96,32,111,114,32,96,92,112,123,78,125,96,32,109,97,116,99,104,101,115,44,32,112,108,117,115,10,32,32,117,110,100,101,114,115,99,111,114,101,10,10,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,96,92,100,96,10,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,96,92,119,96,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,10,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,96,117,99,112,96,32,97,102,102,101,99,116,115,32,96,92,98,96,32,97,110,100,32,96,92,66,96,44,32,97,115,32,116,104,101,121,32,97,114,101,10,100,101,102,105,110,101,100,32,105,110,32,116,101,114,109,115,32,111,102,32,96,92,119,96,32,97,110,100,32,96,92,87,96,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,10,119,104,101,110,32,96,117,99,112,96,32,105,115,32,115,101,116,46,10,10,84,104,101,32,115,101,113,117,101,110,99,101,115,32,96,92,104,96,44,32,96,92,72,96,44,32,96,92,118,96,44,32,97,110,100,32,96,92,86,96,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,10,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,10,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,10,114,101,103,97,114,100,108,101,115,115,32,105,102,32,96,117,99,112,96,32,105,115,32,115,101,116,46,10,10,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,10,10,45,32,42,42,85,43,48,48,48,57,42,42,32,45,32,72,111,114,105,122,111,110,116,97,108,32,116,97,98,32,40,72,84,41,10,10,45,32,42,42,85,43,48,48,50,48,42,42,32,45,32,83,112,97,99,101,10,10,45,32,42,42,85,43,48,48,65,48,42,42,32,45,32,78,111,110,45,98,114,101,97,107,32,115,112,97,99,101,10,10,45,32,42,42,85,43,49,54,56,48,42,42,32,45,32,79,103,104,97,109,32,115,112,97,99,101,32,109,97,114,107,10,10,45,32,42,42,85,43,49,56,48,69,42,42,32,45,32,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,10,10,45,32,42,42,85,43,50,48,48,48,42,42,32,45,32,69,110,32,113,117,97,100,10,10,45,32,42,42,85,43,50,48,48,49,42,42,32,45,32,69,109,32,113,117,97,100,10,10,45,32,42,42,85,43,50,48,48,50,42,42,32,45,32,69,110,32,115,112,97,99,101,10,10,45,32,42,42,85,43,50,48,48,51,42,42,32,45,32,69,109,32,115,112,97,99,101,10,10,45,32,42,42,85,43,50,48,48,52,42,42,32,45,32,84,104,114,101,101,45,112,101,114,45,101,109,32,115,112,97,99,101,10,10,45,32,42,42,85,43,50,48,48,53,42,42,32,45,32,70,111,117,114,45,112,101,114,45,101,109,32,115,112,97,99,101,10,10,45,32,42,42,85,43,50,48,48,54,42,42,32,45,32,83,105,120,45,112,101,114,45,101,109,32,115,112,97,99,101,10,10,45,32,42,42,85,43,50,48,48,55,42,42,32,45,32,70,105,103,117,114,101,32,115,112,97,99,101,10,10,45,32,42,42,85,43,50,48,48,56,42,42,32,45,32,80,117,110,99,116,117,97,116,105,111,110,32,115,112,97,99,101,10,10,45,32,42,42,85,43,50,48,48,57,42,42,32,45,32,84,104,105,110,32,115,112,97,99,101,10,10,45,32,42,42,85,43,50,48,48,65,42,42,32,45,32,72,97,105,114,32,115,112,97,99,101,10,10,45,32,42,42,85,43,50,48,50,70,42,42,32,45,32,78,97,114,114,111,119,32,110,111,45,98,114,101,97,107,32,115,112,97,99,101,10,10,45,32,42,42,85,43,50,48,53,70,42,42,32,45,32,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,10,10,45,32,42,42,85,43,51,48,48,48,42,42,32,45,32,73,100,101,111,103,114,97,112,104,105,99,32,115,112,97,99,101,10,10,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,10,10,45,32,42,42,85,43,48,48,48,65,42,42,32,45,32,76,105,110,101,32,102,101,101,100,32,40,76,70,41,10,10,45,32,42,42,85,43,48,48,48,66,42,42,32,45,32,86,101,114,116,105,99,97,108,32,116,97,98,32,40,86,84,41,10,10,45,32,42,42,85,43,48,48,48,67,42,42,32,45,32,70,111,114,109,32,102,101,101,100,32,40,70,70,41,10,10,45,32,42,42,85,43,48,48,48,68,42,42,32,45,32,67,97,114,114,105,97,103,101,32,114,101,116,117,114,110,32,40,67,82,41,10,10,45,32,42,42,85,43,48,48,56,53,42,42,32,45,32,78,101,120,116,32,108,105,110,101,32,40,78,69,76,41,10,10,45,32,42,42,85,43,50,48,50,56,42,42,32,45,32,76,105,110,101,32,115,101,112,97,114,97,116,111,114,10,10,45,32,42,42,85,43,50,48,50,57,42,42,32,45,32,80,97,114,97,103,114,97,112,104,32,115,101,112,97,114,97,116,111,114,10,10,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,10,114,101,108,101,118,97,110,116,46,10,10,95,78,101,119,108,105,110,101,32,83,101,113,117,101,110,99,101,115,95,10,10,91,93,40,41,123,58,32,35,110,101,119,108,105,110,101,95,115,101,113,117,101,110,99,101,115,32,125,10,10,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,96,92,82,96,32,109,97,116,99,104,101,115,32,97,110,121,10,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,96,92,82,96,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,10,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,10,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,10,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,10,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,10,99,97,110,110,111,116,32,98,101,32,115,112,108,105,116,46,10,10,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,10,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,10,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,10,10,96,92,82,96,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,10,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,96,98,115,114,95,97,110,121,99,114,108,102,96,32,101,105,116,104,101,114,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,10,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,10,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,10,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,96,98,115,114,95,117,110,105,99,111,100,101,96,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,10,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,10,10,45,32,42,42,40,92,42,66,83,82,95,65,78,89,67,82,76,70,41,42,42,32,45,32,67,82,44,32,76,70,44,32,111,114,32,67,82,76,70,32,111,110,108,121,10,10,45,32,42,42,40,92,42,66,83,82,95,85,78,73,67,79,68,69,41,42,42,32,45,32,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,10,10,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,10,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,10,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,10,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,10,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,10,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,10,119,105,116,104,58,10,10,96,96,96,116,101,120,116,10,40,42,65,78,89,41,40,42,66,83,82,95,65,78,89,67,82,76,70,41,10,96,96,96,10,10,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,92,42,85,67,80,41,32,115,112,101,99,105,97,108,10,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,96,92,82,96,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,10,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,10,10,95,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,95,10,10,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,10,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,10,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,10,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,10,10,45,32,42,42,96,92,112,123,95,120,120,95,125,96,42,42,32,45,32,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,95,120,120,95,10,10,45,32,42,42,96,92,80,123,95,120,120,95,125,96,42,42,32,45,32,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,95,120,120,95,10,10,45,32,42,42,96,92,88,96,42,42,32,45,32,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,10,10,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,95,120,120,95,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,10,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,10,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,10,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,10,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,96,92,80,123,65,110,121,125,96,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,10,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,10,10,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,10,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,10,101,120,97,109,112,108,101,58,10,10,96,96,96,116,101,120,116,10,92,112,123,71,114,101,101,107,125,32,92,80,123,72,97,110,125,10,96,96,96,10,10,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,10,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,10,10,45,32,65,114,97,98,105,99,10,45,32,65,114,109,101,110,105,97,110,10,45,32,65,118,101,115,116,97,110,10,45,32,66,97,108,105,110,101,115,101,10,45,32,66,97,109,117,109,10,45,32,66,97,115,115,97,95,86,97,104,10,45,32,66,97,116,97,107,10,45,32,66,101,110,103,97,108,105,10,45,32,66,111,112,111,109,111,102,111,10,45,32,66,114,97,105,108,108,101,10,45,32,66,117,103,105,110,101,115,101,10,45,32,66,117,104,105,100,10,45,32,67,97,110,97,100,105,97,110,95,65,98,111,114,105,103,105,110,97,108,10,45,32,67,97,114,105,97,110,10,45,32,67,97,117,99,97,115,105,97,110,95,65,108,98,97,110,105,97,110,10,45,32,67,104,97,107,109,97,10,45,32,67,104,97,109,10,45,32,67,104,101,114,111,107,101,101,10,45,32,67,111,109,109,111,110,10,45,32,67,111,112,116,105,99,10,45,32,67,117,110,101,105,102,111,114,109,10,45,32,67,121,112,114,105,111,116,10,45,32,67,121,114,105,108,108,105,99,10,45,32,68,101,115,101,114,101,116,10,45,32,68,101,118,97,110,97,103,97,114,105,10,45,32,68,117,112,108,111,121,97,110,10,45,32,69,103,121,112,116,105,97,110,95,72,105,101,114,111,103,108,121,112,104,115,10,45,32,69,108,98,97,115,97,110,10,45,32,69,116,104,105,111,112,105,99,10,45,32,71,101,111,114,103,105,97,110,10,45,32,71,108,97,103,111,108,105,116,105,99,10,45,32,71,111,116,104,105,99,10,45,32,71,114,97,110,116,104,97,10,45,32,71,114,101,101,107,10,45,32,71,117,106,97,114,97,116,105,10,45,32,71,117,114,109,117,107,104,105,10,45,32,72,97,110,10,45,32,72,97,110,103,117,108,10,45,32,72,97,110,117,110,111,111,10,45,32,72,101,98,114,101,119,10,45,32,72,105,114,97,103,97,110,97,10,45,32,73,109,112,101,114,105,97,108,95,65,114,97,109,97,105,99,10,45,32,73,110,104,101,114,105,116,101,100,10,45,32,73,110,115,99,114,105,112,116,105,111,110,97,108,95,80,97,104,108,97,118,105,10,45,32,73,110,115,99,114,105,112,116,105,111,110,97,108,95,80,97,114,116,104,105,97,110,10,45,32,74,97,118,97,110,101,115,101,10,45,32,75,97,105,116,104,105,10,45,32,75,97,110,110,97,100,97,10,45,32,75,97,116,97,107,97,110,97,10,45,32,75,97,121,97,104,95,76,105,10,45,32,75,104,97,114,111,115,104,116,104,105,10,45,32,75,104,109,101,114,10,45,32,75,104,111,106,107,105,10,45,32,75,104,117,100,97,119,97,100,105,10,45,32,76,97,111,10,45,32,76,97,116,105,110,10,45,32,76,101,112,99,104,97,10,45,32,76,105,109,98,117,10,45,32,76,105,110,101,97,114,95,65,10,45,32,76,105,110,101,97,114,95,66,10,45,32,76,105,115,117,10,45,32,76,121,99,105,97,110,10,45,32,76,121,100,105,97,110,10,45,32,77,97,104,97,106,97,110,105,10,45,32,77,97,108,97,121,97,108,97,109,10,45,32,77,97,110,100,97,105,99,10,45,32,77,97,110,105,99,104,97,101,97,110,10,45,32,77,101,101,116,101,105,95,77,97,121,101,107,10,45,32,77,101,110,100,101,95,75,105,107,97,107,117,105,10,45,32,77,101,114,111,105,116,105,99,95,67,117,114,115,105,118,101,10,45,32,77,101,114,111,105,116,105,99,95,72,105,101,114,111,103,108,121,112,104,115,10,45,32,77,105,97,111,10,45,32,77,111,100,105,10,45,32,77,111,110,103,111,108,105,97,110,10,45,32,77,114,111,10,45,32,77,121,97,110,109,97,114,10,45,32,78,97,98,97,116,97,101,97,110,10,45,32,78,101,119,95,84,97,105,95,76,117,101,10,45,32,78,107,111,10,45,32,79,103,104,97,109,10,45,32,79,108,95,67,104,105,107,105,10,45,32,79,108,100,95,73,116,97,108,105,99,10,45,32,79,108,100,95,78,111,114,116,104,95,65,114,97,98,105,97,110,10,45,32,79,108,100,95,80,101,114,109,105,99,10,45,32,79,108,100,95,80,101,114,115,105,97,110,10,45,32,79,114,105,121,97,10,45,32,79,108,100,95,83,111,117,116,104,95,65,114,97,98,105,97,110,10,45,32,79,108,100,95,84,117,114,107,105,99,10,45,32,79,115,109,97,110,121,97,10,45,32,80,97,104,97,119,104,95,72,109,111,110,103,10,45,32,80,97,108,109,121,114,101,110,101,10,45,32,80,97,117,95,67,105,110,95,72,97,117,10,45,32,80,104,97,103,115,95,80,97,10,45,32,80,104,111,101,110,105,99,105,97,110,10,45,32,80,115,97,108,116,101,114,95,80,97,104,108,97,118,105,10,45,32,82,101,106,97,110,103,10,45,32,82,117,110,105,99,10,45,32,83,97,109,97,114,105,116,97,110,10,45,32,83,97,117,114,97,115,104,116,114,97,10,45,32,83,104,97,114,97,100,97,10,45,32,83,104,97,118,105,97,110,10,45,32,83,105,100,100,104,97,109,10,45,32,83,105,110,104,97,108,97,10,45,32,83,111,114,97,95,83,111,109,112,101,110,103,10,45,32,83,117,110,100,97,110,101,115,101,10,45,32,83,121,108,111,116,105,95,78,97,103,114,105,10,45,32,83,121,114,105,97,99,10,45,32,84,97,103,97,108,111,103,10,45,32,84,97,103,98,97,110,119,97,10,45,32,84,97,105,95,76,101,10,45,32,84,97,105,95,84,104,97,109,10,45,32,84,97,105,95,86,105,101,116,10,45,32,84,97,107,114,105,10,45,32,84,97,109,105,108,10,45,32,84,101,108,117,103,117,10,45,32,84,104,97,97,110,97,10,45,32,84,104,97,105,10,45,32,84,105,98,101,116,97,110,10,45,32,84,105,102,105,110,97,103,104,10,45,32,84,105,114,104,117,116,97,10,45,32,85,103,97,114,105,116,105,99,10,45,32,86,97,105,10,45,32,87,97,114,97,110,103,95,67,105,116,105,10,45,32,89,105,10,10,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,10,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,10,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,10,101,120,97,109,112,108,101,44,32,96,92,112,123,94,76,117,125,96,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,96,92,80,123,76,117,125,96,46,10,10,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,96,92,112,96,32,111,114,32,96,92,80,96,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,92,112,123,76,125,10,92,112,76,10,96,96,96,10,10,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,10,10,45,32,42,42,67,42,42,32,45,32,79,116,104,101,114,10,10,45,32,42,42,67,99,42,42,32,45,32,67,111,110,116,114,111,108,10,10,45,32,42,42,67,102,42,42,32,45,32,70,111,114,109,97,116,10,10,45,32,42,42,67,110,42,42,32,45,32,85,110,97,115,115,105,103,110,101,100,10,10,45,32,42,42,67,111,42,42,32,45,32,80,114,105,118,97,116,101,32,117,115,101,10,10,45,32,42,42,67,115,42,42,32,45,32,83,117,114,114,111,103,97,116,101,10,10,45,32,42,42,76,42,42,32,45,32,76,101,116,116,101,114,10,10,45,32,42,42,76,108,42,42,32,45,32,76,111,119,101,114,99,97,115,101,32,108,101,116,116,101,114,10,10,45,32,42,42,76,109,42,42,32,45,32,77,111,100,105,102,105,101,114,32,108,101,116,116,101,114,10,10,45,32,42,42,76,111,42,42,32,45,32,79,116,104,101,114,32,108,101,116,116,101,114,10,10,45,32,42,42,76,116,42,42,32,45,32,84,105,116,108,101,32,99,97,115,101,32,108,101,116,116,101,114,10,10,45,32,42,42,76,117,42,42,32,45,32,85,112,112,101,114,99,97,115,101,32,108,101,116,116,101,114,10,10,45,32,42,42,77,42,42,32,45,32,77,97,114,107,10,10,45,32,42,42,77,99,42,42,32,45,32,83,112,97,99,105,110,103,32,109,97,114,107,10,10,45,32,42,42,77,101,42,42,32,45,32,69,110,99,108,111,115,105,110,103,32,109,97,114,107,10,10,45,32,42,42,77,110,42,42,32,45,32,78,111,110,45,115,112,97,99,105,110,103,32,109,97,114,107,10,10,45,32,42,42,78,42,42,32,45,32,78,117,109,98,101,114,10,10,45,32,42,42,78,100,42,42,32,45,32,68,101,99,105,109,97,108,32,110,117,109,98,101,114,10,10,45,32,42,42,78,108,42,42,32,45,32,76,101,116,116,101,114,32,110,117,109,98,101,114,10,10,45,32,42,42,78,111,42,42,32,45,32,79,116,104,101,114,32,110,117,109,98,101,114,10,10,45,32,42,42,80,42,42,32,45,32,80,117,110,99,116,117,97,116,105,111,110,10,10,45,32,42,42,80,99,42,42,32,45,32,67,111,110,110,101,99,116,111,114,32,112,117,110,99,116,117,97,116,105,111,110,10,10,45,32,42,42,80,100,42,42,32,45,32,68,97,115,104,32,112,117,110,99,116,117,97,116,105,111,110,10,10,45,32,42,42,80,101,42,42,32,45,32,67,108,111,115,101,32,112,117,110,99,116,117,97,116,105,111,110,10,10,45,32,42,42,80,102,42,42,32,45,32,70,105,110,97,108,32,112,117,110,99,116,117,97,116,105,111,110,10,10,45,32,42,42,80,105,42,42,32,45,32,73,110,105,116,105,97,108,32,112,117,110,99,116,117,97,116,105,111,110,10,10,45,32,42,42,80,111,42,42,32,45,32,79,116,104,101,114,32,112,117,110,99,116,117,97,116,105,111,110,10,10,45,32,42,42,80,115,42,42,32,45,32,79,112,101,110,32,112,117,110,99,116,117,97,116,105,111,110,10,10,45,32,42,42,83,42,42,32,45,32,83,121,109,98,111,108,10,10,45,32,42,42,83,99,42,42,32,45,32,67,117,114,114,101,110,99,121,32,115,121,109,98,111,108,10,10,45,32,42,42,83,107,42,42,32,45,32,77,111,100,105,102,105,101,114,32,115,121,109,98,111,108,10,10,45,32,42,42,83,109,42,42,32,45,32,77,97,116,104,101,109,97,116,105,99,97,108,32,115,121,109,98,111,108,10,10,45,32,42,42,83,111,42,42,32,45,32,79,116,104,101,114,32,115,121,109,98,111,108,10,10,45,32,42,42,90,42,42,32,45,32,83,101,112,97,114,97,116,111,114,10,10,45,32,42,42,90,108,42,42,32,45,32,76,105,110,101,32,115,101,112,97,114,97,116,111,114,10,10,45,32,42,42,90,112,42,42,32,45,32,80,97,114,97,103,114,97,112,104,32,115,101,112,97,114,97,116,111,114,10,10,45,32,42,42,90,115,42,42,32,45,32,83,112,97,99,101,32,115,101,112,97,114,97,116,111,114,10,10,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,10,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,10,111,114,32,34,111,116,104,101,114,34,46,10,10,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,10,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,10,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,10,10,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,96,92,112,123,76,101,116,116,101,114,125,96,41,10,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,10,119,105,116,104,32,34,73,115,34,46,10,10,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,10,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,10,10,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,10,101,120,97,109,112,108,101,44,32,96,92,112,123,76,117,125,96,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,10,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,10,10,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,10,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,10,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,96,92,100,96,32,97,110,100,32,96,92,119,96,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,10,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,96,117,99,112,96,32,111,114,10,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,96,40,42,85,67,80,41,96,46,10,10,95,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,95,10,10,84,104,101,32,96,92,88,96,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,10,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,10,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,10,101,113,117,105,118,97,108,101,110,116,32,116,111,32,96,40,63,62,92,80,77,92,112,77,42,41,96,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,10,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,10,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,10,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,10,10,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,10,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,10,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,10,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,96,92,88,96,32,109,97,116,99,104,101,115,32,111,110,101,32,111,102,10,116,104,101,115,101,32,99,108,117,115,116,101,114,115,46,10,10,96,92,88,96,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,10,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,10,10,49,46,32,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,10,49,46,32,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,10,49,46,32,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,10,32,32,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,10,32,32,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,10,32,32,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,10,49,46,32,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,10,32,32,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,10,49,46,32,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,10,49,46,32,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,10,10,95,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,95,10,10,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,10,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,10,96,92,119,96,32,97,110,100,32,96,92,115,96,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,10,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,96,117,99,112,96,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,10,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,10,10,45,32,42,42,88,97,110,42,42,32,45,32,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,10,32,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,10,10,45,32,42,42,88,112,115,42,42,32,45,32,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,10,32,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,10,32,32,90,32,40,115,101,112,97,114,97,116,111,114,41,32,112,114,111,112,101,114,116,121,46,10,10,45,32,42,42,88,115,112,42,42,32,45,32,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,10,32,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,10,10,45,32,42,42,88,119,100,42,42,32,45,32,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,10,32,32,117,110,100,101,114,115,99,111,114,101,46,10,10,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,10,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,10,10,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,10,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,10,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,10,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,10,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,10,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,10,10,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,10,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,10,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,96,36,96,44,32,96,64,96,44,32,96,96,32,96,32,96,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,10,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,10,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,10,78,97,109,101,115,32,97,114,101,32,111,102,32,116,104,101,32,102,111,114,109,32,96,92,117,72,72,72,72,96,32,111,114,32,96,92,85,72,72,72,72,72,72,72,72,96,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,10,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,10,116,104,97,116,32,116,104,101,121,32,114,101,112,114,101,115,101,110,116,46,41,10,10,95,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,95,10,10,84,104,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,96,92,75,96,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,102,111,111,92,75,98,97,114,10,96,96,96,10,10,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,10,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,10,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,96,92,75,96,32,100,111,101,115,32,110,111,116,32,105,110,116,101,114,102,101,114,101,10,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,10,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,10,10,96,96,96,116,101,120,116,10,40,102,111,111,41,92,75,98,97,114,10,96,96,96,10,10,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,96,92,75,96,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,10,80,67,82,69,44,32,96,92,75,96,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,10,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,96,40,63,61,97,98,92,75,41,96,10,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,10,109,97,116,99,104,46,10,10,95,83,105,109,112,108,101,32,65,115,115,101,114,116,105,111,110,115,95,10,10,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,10,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,10,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,10,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,10,98,97,99,107,115,108,97,115,104,101,100,32,97,115,115,101,114,116,105,111,110,115,58,10,10,45,32,42,42,96,92,98,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,66,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,65,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,90,96,42,42,32,45,32,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,10,32,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,46,10,10,45,32,42,42,96,92,122,96,42,42,32,45,32,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,10,10,45,32,42,42,96,92,71,96,42,42,32,45,32,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,10,10,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,96,92,98,96,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,10,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,10,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,96,92,66,96,32,109,97,116,99,104,101,115,10,116,104,101,32,108,101,116,116,101,114,32,66,41,46,10,10,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,10,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,96,92,119,96,32,111,114,32,96,92,87,96,32,40,116,104,97,116,32,105,115,44,32,111,110,101,32,109,97,116,99,104,101,115,10,96,92,119,96,32,97,110,100,32,116,104,101,32,111,116,104,101,114,32,109,97,116,99,104,101,115,32,96,92,87,96,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,10,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,96,92,119,96,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,96,92,119,96,10,97,110,100,32,96,92,87,96,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,96,117,99,112,96,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,10,97,102,102,101,99,116,115,32,96,92,98,96,32,97,110,100,32,96,92,66,96,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,10,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,96,92,98,96,32,110,111,114,109,97,108,108,121,32,100,101,116,101,114,109,105,110,101,115,10,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,96,92,98,97,96,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,10,10,84,104,101,32,96,92,65,96,44,32,96,92,90,96,44,32,97,110,100,32,96,92,122,96,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,10,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,10,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,10,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,10,111,112,116,105,111,110,115,32,96,110,111,116,98,111,108,96,32,111,114,32,96,110,111,116,101,111,108,96,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,10,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,96,115,116,97,114,116,111,102,102,115,101,116,96,32,111,102,32,96,114,117,110,47,51,96,32,105,115,10,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,10,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,96,92,65,96,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,96,92,90,96,32,97,110,100,10,96,92,122,96,32,105,115,32,116,104,97,116,32,96,92,90,96,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,10,118,101,114,121,32,101,110,100,44,32,119,104,105,108,101,32,96,92,122,96,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,10,10,84,104,101,32,96,92,71,96,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,10,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,96,115,116,97,114,116,111,102,102,115,101,116,96,32,111,102,10,91,96,114,117,110,47,51,96,93,40,96,114,117,110,47,51,96,41,46,32,73,116,32,100,105,102,102,101,114,115,32,102,114,111,109,32,96,92,65,96,32,119,104,101,110,32,116,104,101,32,118,97,108,117,101,32,111,102,32,96,115,116,97,114,116,111,102,102,115,101,116,96,32,105,115,10,110,111,110,45,122,101,114,111,46,32,66,121,32,99,97,108,108,105,110,103,32,91,96,114,117,110,47,51,96,93,40,96,114,117,110,47,51,96,41,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,10,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,96,47,103,96,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,10,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,119,104,101,114,101,32,96,92,71,96,32,99,97,110,32,98,101,32,117,115,101,102,117,108,46,10,10,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,96,92,71,96,44,32,97,115,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,10,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,10,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,10,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,10,116,104,105,115,32,98,101,104,97,118,105,111,114,46,10,10,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,96,92,71,96,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,10,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,10,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46,10,10,91,93,40,41,123,58,32,35,115,101,99,116,52,32,125,10,10,35,35,32,67,105,114,99,117,109,102,108,101,120,32,97,110,100,32,68,111,108,108,97,114,10,10,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,10,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,10,102,114,111,109,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46,10,10,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,10,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,10,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,96,115,116,97,114,116,111,102,102,115,101,116,96,32,111,102,32,96,114,117,110,47,51,96,32,105,115,10,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,96,109,117,108,116,105,108,105,110,101,96,32,105,115,32,117,110,115,101,116,46,32,73,110,115,105,100,101,32,97,10,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,10,10,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,10,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,10,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,10,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,10,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,10,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,10,10,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,10,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,10,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,10,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,10,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,10,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,10,10,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,10,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,96,100,111,108,108,97,114,95,101,110,100,111,110,108,121,96,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,10,97,102,102,101,99,116,32,116,104,101,32,96,92,90,96,32,97,115,115,101,114,116,105,111,110,46,10,10,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,10,96,109,117,108,116,105,108,105,110,101,96,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,10,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,10,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,10,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,96,109,117,108,116,105,108,105,110,101,96,32,105,115,32,115,101,116,46,32,87,104,101,110,32,110,101,119,108,105,110,101,32,105,115,10,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,10,110,111,116,32,105,110,100,105,99,97,116,101,32,110,101,119,108,105,110,101,115,46,10,10,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,96,47,94,97,98,99,36,47,96,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,92,110,97,98,99,34,32,40,119,104,101,114,101,10,92,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,10,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,10,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,10,95,115,116,97,114,116,111,102,102,115,101,116,95,32,111,102,32,91,96,114,117,110,47,51,96,93,40,96,114,117,110,47,51,96,41,32,105,115,32,110,111,110,45,122,101,114,111,46,32,79,112,116,105,111,110,32,96,100,111,108,108,97,114,95,101,110,100,111,110,108,121,96,32,105,115,10,105,103,110,111,114,101,100,32,105,102,32,96,109,117,108,116,105,108,105,110,101,96,32,105,115,32,115,101,116,46,10,10,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,96,92,65,96,44,32,96,92,90,96,44,32,97,110,100,32,96,92,122,96,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,10,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,96,92,65,96,44,10,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,96,109,117,108,116,105,108,105,110,101,96,32,105,115,32,115,101,116,46,10,10,91,93,40,41,123,58,32,35,115,101,99,116,53,32,125,10,10,35,35,32,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,92,78,10,10,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,10,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,10,10,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,10,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,10,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,10,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,10,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,10,10,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,96,100,111,116,97,108,108,96,32,105,115,10,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,10,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,10,10,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,10,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,10,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,10,10,84,104,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,96,92,78,96,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,10,111,112,116,105,111,110,32,96,80,67,82,69,95,68,79,84,65,76,76,96,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,10,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,96,92,78,96,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,10,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,10,10,91,93,40,41,123,58,32,35,115,101,99,116,54,32,125,10,10,35,35,32,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,10,10,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,96,92,67,96,32,109,97,116,99,104,101,115,32,97,110,121,32,100,97,116,97,32,117,110,105,116,44,10,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,96,92,67,96,10,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,10,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,10,65,115,32,96,92,67,96,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,10,96,92,67,96,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,10,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,10,85,84,70,32,115,116,114,105,110,103,115,46,10,10,80,67,82,69,32,100,111,101,115,32,110,111,116,32,97,108,108,111,119,32,96,92,67,96,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,10,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,10,108,111,111,107,98,101,104,105,110,100,46,10,10,84,104,101,32,96,92,67,96,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,91,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,93,40,96,109,58,114,101,35,115,101,99,116,49,50,96,41,41,46,32,84,104,101,10,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,10,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,10,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,10,10,91,93,40,41,123,58,32,35,115,101,99,116,55,32,125,10,10,35,35,32,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,10,10,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,10,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,10,72,111,119,101,118,101,114,44,32,105,102,32,111,112,116,105,111,110,32,96,80,67,82,69,95,74,65,86,65,83,67,82,73,80,84,95,67,79,77,80,65,84,96,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,10,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,10,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,10,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,10,10,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,10,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,10,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,10,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,10,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,10,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,10,98,97,99,107,115,108,97,115,104,46,10,10,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,96,91,97,101,105,111,117,93,96,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,10,96,91,94,97,101,105,111,117,93,96,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,10,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,10,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,10,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,10,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,10,115,116,114,105,110,103,46,10,10,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,10,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,96,92,120,123,96,32,101,115,99,97,112,105,110,103,32,109,101,99,104,97,110,105,115,109,46,10,10,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,10,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,96,91,97,101,105,111,117,93,96,32,109,97,116,99,104,101,115,32,34,65,34,10,97,110,100,32,34,97,34,44,32,97,110,100,32,97,32,99,97,115,101,108,101,115,115,32,96,91,94,97,101,105,111,117,93,96,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,10,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,10,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,10,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,10,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,10,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,10,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,10,10,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,10,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,10,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,96,80,67,82,69,95,68,79,84,65,76,76,96,32,97,110,100,32,96,80,67,82,69,95,77,85,76,84,73,76,73,78,69,96,32,105,115,32,117,115,101,100,46,32,65,32,99,108,97,115,115,10,115,117,99,104,32,97,115,32,96,91,94,97,93,96,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,10,10,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,10,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,96,91,100,45,109,93,96,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,10,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,10,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,10,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,10,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,96,91,98,45,100,45,122,93,96,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,10,104,121,112,104,101,110,32,99,104,97,114,97,99,116,101,114,44,32,111,114,32,122,46,10,10,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,10,97,115,32,96,91,87,45,93,52,54,93,96,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,10,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,10,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,10,96,91,87,45,92,93,52,54,93,96,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,10,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,10,101,110,100,32,97,32,114,97,110,103,101,46,10,10,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,10,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,10,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,96,91,122,45,92,120,102,102,93,96,32,105,115,32,118,97,108,105,100,44,32,98,117,116,10,96,91,65,45,92,100,93,96,32,97,110,100,32,96,91,65,45,91,58,100,105,103,105,116,58,93,93,96,32,97,114,101,32,110,111,116,46,10,10,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,10,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,96,91,92,48,48,48,45,92,48,51,55,93,96,46,32,82,97,110,103,101,115,10,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,10,10,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,10,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,96,91,87,45,99,93,96,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,10,96,96,32,91,93,91,92,92,94,95,96,119,120,121,122,97,98,99,93,32,96,96,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,10,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,96,91,92,120,99,56,45,92,120,99,98,93,96,32,109,97,116,99,104,101,115,32,97,99,99,101,110,116,101,100,32,69,10,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,10,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,10,115,117,112,112,111,114,116,46,10,10,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,96,92,100,96,44,32,96,92,68,96,44,32,96,92,104,96,44,32,96,92,72,96,44,32,96,92,112,96,44,32,96,92,80,96,44,32,96,92,115,96,44,32,96,92,83,96,44,32,96,92,118,96,44,32,96,92,86,96,44,10,96,92,119,96,44,32,97,110,100,32,96,92,87,96,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,10,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,96,91,92,100,65,66,67,68,69,70,93,96,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,10,85,84,70,32,109,111,100,101,115,44,32,111,112,116,105,111,110,32,96,117,99,112,96,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,96,92,100,96,44,32,96,92,115,96,44,32,96,92,119,96,32,97,110,100,32,116,104,101,105,114,10,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,10,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,115,101,99,116,105,111,110,10,91,71,101,110,101,114,105,99,32,67,104,97,114,97,99,116,101,114,32,84,121,112,101,115,93,40,96,109,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,96,41,32,101,97,114,108,105,101,114,46,32,84,104,101,32,101,115,99,97,112,101,10,115,101,113,117,101,110,99,101,32,96,92,98,96,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,10,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,96,92,66,96,44,32,96,92,78,96,44,32,96,92,82,96,44,32,97,110,100,32,96,92,88,96,32,97,114,101,32,110,111,116,32,115,112,101,99,105,97,108,32,105,110,115,105,100,101,10,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,10,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,10,10,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,10,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,10,70,111,114,32,101,120,97,109,112,108,101,44,32,99,108,97,115,115,32,96,91,94,92,87,95,93,96,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,10,119,104,105,108,101,32,96,91,92,119,93,96,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,10,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,10,115,111,109,101,116,104,105,110,103,32,65,78,68,32,78,79,84,32,46,46,46,34,46,10,10,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,10,10,45,32,66,97,99,107,115,108,97,115,104,10,45,32,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,10,45,32,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,10,45,32,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,10,32,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,10,45,32,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,10,10,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,10,10,91,93,40,41,123,58,32,35,115,101,99,116,56,32,125,10,10,35,35,32,80,111,115,105,120,32,67,104,97,114,97,99,116,101,114,32,67,108,97,115,115,101,115,10,10,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,10,98,121,32,96,91,58,96,32,97,110,100,32,96,58,93,96,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,10,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,10,111,114,32,34,37,34,58,10,10,96,96,96,116,101,120,116,10,91,48,49,91,58,97,108,112,104,97,58,93,37,93,10,96,96,96,10,10,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,10,10,45,32,42,42,97,108,110,117,109,42,42,32,45,32,76,101,116,116,101,114,115,32,97,110,100,32,100,105,103,105,116,115,10,10,45,32,42,42,97,108,112,104,97,42,42,32,45,32,76,101,116,116,101,114,115,10,10,45,32,42,42,98,108,97,110,107,42,42,32,45,32,83,112,97,99,101,32,111,114,32,116,97,98,32,111,110,108,121,10,10,45,32,42,42,99,110,116,114,108,42,42,32,45,32,67,111,110,116,114,111,108,32,99,104,97,114,97,99,116,101,114,115,10,10,45,32,42,42,100,105,103,105,116,42,42,32,45,32,68,101,99,105,109,97,108,32,100,105,103,105,116,115,32,40,115,97,109,101,32,97,115,32,96,92,100,96,41,10,10,45,32,42,42,103,114,97,112,104,42,42,32,45,32,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,10,10,45,32,42,42,108,111,119,101,114,42,42,32,45,32,76,111,119,101,114,99,97,115,101,32,108,101,116,116,101,114,115,10,10,45,32,42,42,112,114,105,110,116,42,42,32,45,32,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,10,10,45,32,42,42,112,117,110,99,116,42,42,32,45,32,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,10,10,45,32,42,42,115,112,97,99,101,42,42,32,45,32,87,104,105,116,101,115,112,97,99,101,32,40,116,104,101,32,115,97,109,101,32,97,115,32,96,92,115,96,32,102,114,111,109,32,80,67,82,69,32,56,46,51,52,41,10,10,45,32,42,42,117,112,112,101,114,42,42,32,45,32,85,112,112,101,114,99,97,115,101,32,108,101,116,116,101,114,115,10,10,45,32,42,42,119,111,114,100,42,42,32,45,32,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,96,92,119,96,41,10,10,45,32,42,42,120,100,105,103,105,116,42,42,32,45,32,72,101,120,97,100,101,99,105,109,97,108,32,100,105,103,105,116,115,10,10,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,96,97,115,99,105,105,96,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,10,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,10,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,10,114,97,110,103,101,32,119,105,116,104,32,96,91,92,92,48,45,92,120,55,102,93,96,32,105,110,115,116,101,97,100,46,10,10,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,10,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,10,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,10,98,101,32,100,105,102,102,101,114,101,110,116,32,116,111,32,96,92,115,96,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,10,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,96,92,115,96,10,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,10,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,91,49,50,91,58,94,100,105,103,105,116,58,93,93,10,96,96,96,10,10,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,96,91,46,99,104,46,93,96,32,97,110,100,32,96,91,61,99,104,61,93,96,32,119,104,101,114,101,32,34,99,104,34,10,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,10,116,104,101,121,32,97,114,101,32,101,110,99,111,117,110,116,101,114,101,100,46,10,10,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,10,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,96,80,67,82,69,95,85,67,80,96,32,105,115,32,112,97,115,115,101,100,32,116,111,32,96,112,99,114,101,95,99,111,109,112,105,108,101,40,41,96,44,32,115,111,109,101,32,111,102,10,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,10,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,10,10,45,32,42,42,96,91,58,97,108,110,117,109,58,93,96,42,42,32,45,32,66,101,99,111,109,101,115,32,95,96,92,112,123,88,97,110,125,96,95,10,10,45,32,42,42,96,91,58,97,108,112,104,97,58,93,96,42,42,32,45,32,66,101,99,111,109,101,115,32,95,96,92,112,123,76,125,96,95,10,10,45,32,42,42,96,91,58,98,108,97,110,107,58,93,96,42,42,32,45,32,66,101,99,111,109,101,115,32,95,96,92,104,96,95,10,10,45,32,42,42,96,91,58,100,105,103,105,116,58,93,96,42,42,32,45,32,66,101,99,111,109,101,115,32,95,96,92,112,123,78,100,125,96,95,10,10,45,32,42,42,96,91,58,108,111,119,101,114,58,93,96,42,42,32,45,32,66,101,99,111,109,101,115,32,95,96,92,112,123,76,108,125,96,95,10,10,45,32,42,42,96,91,58,115,112,97,99,101,58,93,96,42,42,32,45,32,66,101,99,111,109,101,115,32,95,96,92,112,123,88,112,115,125,96,95,10,10,45,32,42,42,96,91,58,117,112,112,101,114,58,93,96,42,42,32,45,32,66,101,99,111,109,101,115,32,95,96,92,112,123,76,117,125,96,95,10,10,45,32,42,42,96,91,58,119,111,114,100,58,93,96,42,42,32,45,32,66,101,99,111,109,101,115,32,95,96,92,112,123,88,119,100,125,96,95,10,10,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,96,91,58,94,97,108,112,104,97,58,93,96,44,32,117,115,101,32,96,92,80,96,32,105,110,115,116,101,97,100,32,111,102,32,96,92,112,96,46,32,84,104,114,101,101,32,111,116,104,101,114,32,80,79,83,73,88,10,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,10,10,45,32,42,42,96,91,58,103,114,97,112,104,58,93,96,42,42,32,45,32,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,10,32,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,10,32,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,10,10,32,32,45,32,42,42,85,43,48,54,49,67,42,42,32,45,32,65,114,97,98,105,99,32,76,101,116,116,101,114,32,77,97,114,107,10,10,32,32,45,32,42,42,85,43,49,56,48,69,42,42,32,45,32,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,10,10,32,32,45,32,42,42,85,43,50,48,54,54,32,45,32,85,43,50,48,54,57,42,42,32,45,32,86,97,114,105,111,117,115,32,34,105,115,111,108,97,116,101,34,115,10,10,45,32,42,42,96,91,58,112,114,105,110,116,58,93,96,42,42,32,45,32,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,96,91,58,103,114,97,112,104,58,93,96,32,112,108,117,115,32,115,112,97,99,101,10,32,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,10,10,45,32,42,42,96,91,58,112,117,110,99,116,58,93,96,42,42,32,45,32,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,10,32,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,10,32,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,10,10,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,10,112,111,105,110,116,115,32,108,101,115,115,32,116,104,97,110,32,49,50,56,46,10,10,95,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,95,10,10,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,10,115,121,110,116,97,120,32,96,91,91,58,60,58,93,93,96,32,97,110,100,32,96,91,91,58,62,58,93,93,96,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,10,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,10,10,45,32,42,42,96,91,91,58,60,58,93,93,96,42,42,32,45,32,105,115,32,99,111,110,118,101,114,116,101,100,32,116,111,32,96,92,98,40,63,61,92,119,41,96,10,10,45,32,42,42,96,91,91,58,62,58,93,93,96,42,42,32,45,32,105,115,32,99,111,110,118,101,114,116,101,100,32,116,111,32,96,92,98,40,63,60,61,92,119,41,96,10,10,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,10,96,91,97,91,58,60,58,93,98,93,96,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,10,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,10,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,96,92,98,96,32,109,97,116,99,104,101,115,32,97,116,10,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,10,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,10,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,10,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,10,10,91,93,40,41,123,58,32,35,115,101,99,116,57,32,125,10,10,35,35,32,86,101,114,116,105,99,97,108,32,66,97,114,10,10,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,10,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,10,10,96,96,96,116,101,120,116,10,103,105,108,98,101,114,116,124,115,117,108,108,105,118,97,110,10,96,96,96,10,10,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,10,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,10,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,10,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,10,91,83,117,98,112,97,116,116,101,114,110,115,93,40,96,109,58,114,101,35,115,101,99,116,49,49,96,41,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,10,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,10,10,91,93,40,41,123,58,32,35,115,101,99,116,49,48,32,125,10,10,35,35,32,73,110,116,101,114,110,97,108,32,79,112,116,105,111,110,32,83,101,116,116,105,110,103,10,10,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,96,99,97,115,101,108,101,115,115,96,44,32,96,109,117,108,116,105,108,105,110,101,96,44,32,96,100,111,116,97,108,108,96,44,10,97,110,100,32,96,101,120,116,101,110,100,101,100,96,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,10,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,10,10,45,32,42,42,105,42,42,32,45,32,70,111,114,32,96,99,97,115,101,108,101,115,115,96,10,10,45,32,42,42,109,42,42,32,45,32,70,111,114,32,96,109,117,108,116,105,108,105,110,101,96,10,10,45,32,42,42,115,42,42,32,45,32,70,111,114,32,96,100,111,116,97,108,108,96,10,10,45,32,42,42,120,42,42,32,45,32,70,111,114,32,96,101,120,116,101,110,100,101,100,96,10,10,70,111,114,32,101,120,97,109,112,108,101,44,32,96,40,63,105,109,41,96,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,10,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,10,115,117,99,104,32,97,115,32,96,40,63,105,109,45,115,120,41,96,44,32,119,104,105,99,104,32,115,101,116,115,32,96,99,97,115,101,108,101,115,115,96,32,97,110,100,32,96,109,117,108,116,105,108,105,110,101,96,44,32,119,104,105,108,101,32,117,110,115,101,116,116,105,110,103,10,96,100,111,116,97,108,108,96,32,97,110,100,32,96,101,120,116,101,110,100,101,100,96,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,10,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,10,10,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,96,100,117,112,110,97,109,101,115,96,44,32,96,117,110,103,114,101,101,100,121,96,44,32,97,110,100,32,96,101,120,116,114,97,96,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,105,110,10,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,10,114,101,115,112,101,99,116,105,118,101,108,121,46,10,10,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,10,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,10,102,111,108,108,111,119,115,46,10,10,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,91,83,117,98,112,97,116,116,101,114,110,115,93,40,96,109,58,114,101,35,115,101,99,116,49,49,96,41,41,10,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,10,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,96,99,97,115,101,108,101,115,115,96,32,105,115,32,110,111,116,32,117,115,101,100,41,58,10,10,96,96,96,116,101,120,116,10,40,97,40,63,105,41,98,41,99,10,96,96,96,10,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,40,97,40,63,105,41,98,124,99,41,10,96,96,96,10,10,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,10,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,10,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,10,62,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,92,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,10,62,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,10,62,32,91,78,101,119,108,105,110,101,32,83,101,113,117,101,110,99,101,115,93,40,96,109,58,114,101,35,110,101,119,108,105,110,101,95,115,101,113,117,101,110,99,101,115,96,41,32,101,97,114,108,105,101,114,46,10,62,10,62,32,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,10,62,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,96,117,110,105,99,111,100,101,96,32,97,110,100,32,96,117,99,112,96,44,10,62,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,10,62,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,96,110,101,118,101,114,95,117,116,102,96,44,10,62,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,10,10,91,93,40,41,123,58,32,35,115,101,99,116,49,49,32,125,10,10,35,35,32,83,117,98,112,97,116,116,101,114,110,115,10,10,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,10,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,10,10,45,32,42,42,49,46,42,42,32,45,32,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,10,32,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,10,10,32,32,96,96,96,116,101,120,116,10,32,32,99,97,116,40,97,114,97,99,116,124,101,114,112,105,108,108,97,114,124,41,10,32,32,96,96,96,10,10,32,32,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,10,32,32,115,116,114,105,110,103,46,10,10,45,32,42,42,50,46,42,42,32,45,32,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,10,32,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,10,32,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,10,32,32,96,114,117,110,47,51,96,46,10,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,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,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,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,10,34,83,97,116,117,114,100,97,121,34,46,10,10,91,93,40,41,123,58,32,35,115,101,99,116,49,50,32,125,10,10,35,35,32,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,10,10,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,10,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,96,40,63,124,96,10,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,10,112,97,116,116,101,114,110,58,10,10,96,96,96,116,101,120,116,10,40,63,124,40,83,97,116,41,117,114,124,40,83,117,110,41,41,100,97,121,10,96,96,96,10,10,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,96,40,63,124,96,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,10,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,10,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,10,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,10,97,108,116,101,114,110,97,116,105,118,101,115,46,32,73,110,115,105,100,101,32,97,32,96,40,63,124,96,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,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,34,100,101,102,100,101,102,34,58,10,10,96,96,96,116,101,120,116,10,47,40,63,124,40,97,98,99,41,124,40,100,101,102,41,41,92,49,47,10,96,96,96,10,10,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,10,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,10,34,97,98,99,97,98,99,34,32,111,114,32,34,100,101,102,97,98,99,34,58,10,10,96,96,96,116,101,120,116,10,47,40,63,124,40,97,98,99,41,124,40,100,101,102,41,41,40,63,49,41,47,10,96,96,96,10,10,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,10,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,10,10,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,10,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,10,10,91,93,40,41,123,58,32,35,115,101,99,116,49,51,32,125,10,10,35,35,32,78,97,109,101,100,32,83,117,98,112,97,116,116,101,114,110,115,10,10,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,10,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,10,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,10,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,10,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,10,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,10,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,10,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,10,10,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,96,40,63,60,110,97,109,101,62,46,46,46,41,96,32,111,114,10,96,40,63,39,110,97,109,101,39,46,46,46,41,96,32,97,115,32,105,110,32,80,101,114,108,44,32,111,114,32,96,40,63,80,60,110,97,109,101,62,46,46,46,41,96,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,10,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,10,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,10,10,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,10,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,10,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,96,99,97,112,116,117,114,101,96,10,115,112,101,99,105,102,105,99,97,116,105,111,110,32,116,111,32,96,114,117,110,47,51,96,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,10,101,120,112,114,101,115,115,105,111,110,46,10,10,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,10,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,96,100,117,112,110,97,109,101,115,96,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,10,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,10,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,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,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,10,10,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,10,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,96,114,117,110,47,51,96,44,10,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,96,118,97,108,117,101,115,96,32,112,97,114,116,32,111,102,32,116,104,101,32,96,99,97,112,116,117,114,101,96,32,115,116,97,116,101,109,101,110,116,46,32,84,104,101,10,96,97,108,108,95,110,97,109,101,115,96,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,10,62,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,10,62,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,10,62,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,96,100,117,112,110,97,109,101,115,96,32,105,115,32,110,111,116,32,115,101,116,46,10,10,91,93,40,41,123,58,32,35,115,101,99,116,49,52,32,125,10,10,35,35,32,82,101,112,101,116,105,116,105,111,110,10,10,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,10,105,116,101,109,115,58,10,10,45,32,65,32,108,105,116,101,114,97,108,32,100,97,116,97,32,99,104,97,114,97,99,116,101,114,10,45,32,84,104,101,32,100,111,116,32,109,101,116,97,99,104,97,114,97,99,116,101,114,10,45,32,84,104,101,32,96,92,67,96,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,10,45,32,84,104,101,32,96,92,88,96,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,10,45,32,84,104,101,32,96,92,82,96,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,10,45,32,65,110,32,101,115,99,97,112,101,32,115,117,99,104,32,97,115,32,96,92,100,96,32,111,114,32,96,92,112,76,96,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,10,45,32,65,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,10,45,32,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,10,45,32,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,10,45,32,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,10,10,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,10,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,10,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,10,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,10,34,122,122,122,122,34,58,10,10,96,96,96,116,101,120,116,10,122,123,50,44,52,125,10,96,96,96,10,10,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,10,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,10,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,10,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,10,98,117,116,32,99,97,110,32,109,97,116,99,104,32,109,97,110,121,32,109,111,114,101,58,10,10,96,96,96,116,101,120,116,10,91,97,101,105,111,117,93,123,51,44,125,10,96,96,96,10,10,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,10,10,96,96,96,116,101,120,116,10,92,100,123,56,125,10,96,96,96,10,10,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,10,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,10,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,92,123,44,54,92,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,10,111,102,32,102,111,117,114,32,99,104,97,114,97,99,116,101,114,115,46,10,10,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,10,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,96,92,120,123,49,48,48,125,123,50,125,96,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,10,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,96,92,88,123,51,125,96,10,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,10,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,10,10,84,104,101,32,113,117,97,110,116,105,102,105,101,114,32,92,123,48,92,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,10,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,10,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,10,40,98,117,116,32,115,101,101,32,97,108,115,111,32,115,101,99,116,105,111,110,10,91,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,93,40,96,109,58,114,101,35,100,101,102,105,110,105,110,103,95,115,117,98,112,97,116,116,101,114,110,115,96,41,41,46,10,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,92,123,48,92,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,10,99,111,109,112,105,108,101,100,32,112,97,116,116,101,114,110,46,10,10,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,10,97,98,98,114,101,118,105,97,116,105,111,110,115,58,10,10,45,32,42,42,92,42,42,42,32,45,32,69,113,117,105,118,97,108,101,110,116,32,116,111,32,92,123,48,44,92,125,10,10,45,32,42,42,43,42,42,32,45,32,69,113,117,105,118,97,108,101,110,116,32,116,111,32,92,123,49,44,92,125,10,10,45,32,42,42,63,42,42,32,45,32,69,113,117,105,118,97,108,101,110,116,32,116,111,32,92,123,48,44,49,92,125,10,10,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,10,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,10,10,96,96,96,116,101,120,116,10,40,97,63,41,42,10,96,96,96,10,10,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,10,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,10,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,10,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,10,10,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,10,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,10,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,10,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,95,32,97,110,100,32,95,47,46,10,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,92,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,10,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,10,10,96,96,96,116,101,120,116,10,47,92,42,46,42,92,42,47,10,96,96,96,10,10,116,111,32,116,104,101,32,115,116,114,105,110,103,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,92,42,32,105,116,101,109,46,10,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,47,92,42,46,42,63,92,42,47,10,96,96,96,10,10,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,10,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,10,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,10,97,112,112,101,97,114,32,100,111,117,98,108,101,100,44,32,97,115,32,105,110,10,10,96,96,96,116,101,120,116,10,92,100,63,63,92,100,10,96,96,96,10,10,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,10,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,10,10,73,102,32,111,112,116,105,111,110,32,96,117,110,103,114,101,101,100,121,96,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,10,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,10,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,10,10,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,10,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,10,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,10,10,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,92,42,32,111,114,32,46,92,123,48,44,92,125,32,97,110,100,32,111,112,116,105,111,110,32,96,100,111,116,97,108,108,96,32,40,101,113,117,105,118,97,108,101,110,116,32,116,111,32,80,101,114,108,10,111,112,116,105,111,110,32,96,47,115,96,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,10,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,10,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,10,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,10,105,116,32,119,97,115,32,112,114,101,99,101,100,101,100,32,98,121,32,96,92,65,96,46,10,10,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,10,119,111,114,116,104,32,115,101,116,116,105,110,103,32,96,100,111,116,97,108,108,96,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,10,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,10,10,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,92,42,32,105,115,10,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,10,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,10,67,111,110,115,105,100,101,114,44,32,102,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,116,101,120,116,10,40,46,42,41,97,98,99,92,49,10,96,96,96,10,10,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,10,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,10,10,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,92,42,32,105,115,10,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,10,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,10,10,96,96,96,116,101,120,116,10,40,63,62,46,42,63,97,41,98,10,96,96,96,10,10,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,10,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,10,10,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,10,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,10,10,96,96,96,116,101,120,116,10,40,116,119,101,101,100,108,101,91,100,117,109,101,93,123,51,125,92,115,42,41,43,10,96,96,96,10,10,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,10,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,10,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,10,101,120,97,109,112,108,101,44,32,97,102,116,101,114,10,10,96,96,96,116,101,120,116,10,47,40,97,124,40,98,41,41,43,47,10,96,96,96,10,10,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,10,10,91,93,40,41,123,58,32,35,115,101,99,116,49,53,32,125,10,10,35,35,32,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,10,10,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,10,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,10,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,10,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,10,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,10,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,10,10,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,96,92,100,43,102,111,111,96,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,10,108,105,110,101,58,10,10,96,96,96,116,101,120,116,10,49,50,51,52,53,54,98,97,114,10,96,96,96,10,10,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,10,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,96,92,100,43,96,44,32,97,110,100,10,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,10,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,10,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,10,10,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,10,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,10,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,96,40,63,62,96,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,10,10,96,96,96,116,101,120,116,10,40,63,62,92,100,43,41,102,111,111,10,96,96,96,10,10,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,10,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,10,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,10,110,111,114,109,97,108,46,10,10,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,10,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,10,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,10,10,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,10,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,10,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,96,92,100,43,96,32,97,110,100,32,96,92,100,43,63,96,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,10,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,96,40,63,62,92,100,43,41,96,32,99,97,110,10,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,10,10,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,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,92,100,43,43,102,111,111,10,96,96,96,10,10,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,10,101,120,97,109,112,108,101,58,10,10,96,96,96,116,101,120,116,10,40,97,98,99,124,120,121,122,41,123,50,44,51,125,43,10,96,96,96,10,10,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,96,117,110,103,114,101,101,100,121,96,32,105,115,10,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,10,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,10,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,10,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,10,10,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,10,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,10,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,10,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,10,53,46,49,48,46,10,10,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,10,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,10,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,10,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,40,92,68,43,124,60,92,100,43,62,41,42,91,33,63,93,10,96,96,96,10,10,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,10,100,105,103,105,116,115,32,101,110,99,108,111,115,101,100,32,105,110,32,96,60,62,96,44,32,102,111,108,108,111,119,101,100,32,98,121,32,96,33,96,32,111,114,32,96,63,96,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,96,92,68,43,96,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,92,42,32,114,101,112,101,97,116,32,105,110,32,109,97,110,121,10,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,96,91,33,63,93,96,32,114,97,116,104,101,114,32,116,104,97,110,32,97,32,115,105,110,103,108,101,10,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,10,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,10,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,10,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,10,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,10,113,117,105,99,107,108,121,58,10,10,96,96,96,116,101,120,116,10,40,40,63,62,92,68,43,41,124,60,92,100,43,62,41,42,91,33,63,93,10,96,96,96,10,10,91,93,40,41,123,58,32,35,115,101,99,116,49,54,32,125,10,10,35,35,32,66,97,99,107,32,82,101,102,101,114,101,110,99,101,115,10,10,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,10,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,10,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,10,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,10,10,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,10,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,10,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,10,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,10,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,10,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,10,105,116,101,114,97,116,105,111,110,46,10,10,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,10,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,96,92,53,48,96,32,105,115,10,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,10,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,10,91,78,111,110,45,80,114,105,110,116,105,110,103,32,67,104,97,114,97,99,116,101,114,115,93,40,96,109,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,96,41,32,101,97,114,108,105,101,114,46,32,84,104,101,114,101,32,105,115,32,110,111,10,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,10,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,10,10,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,10,98,97,99,107,115,108,97,115,104,32,105,115,32,116,111,32,117,115,101,32,116,104,101,32,96,92,103,96,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,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,10,101,120,97,109,112,108,101,58,10,10,96,96,96,116,101,120,116,10,40,97,98,99,40,100,101,102,41,103,104,105,41,92,103,123,45,49,125,10,96,96,96,10,10,84,104,101,32,115,101,113,117,101,110,99,101,32,96,92,103,123,45,49,125,96,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,10,115,117,98,112,97,116,116,101,114,110,32,98,101,102,111,114,101,32,96,92,103,96,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,96,92,50,96,32,105,110,32,116,104,105,115,32,101,120,97,109,112,108,101,46,10,83,105,109,105,108,97,114,108,121,44,32,96,92,103,123,45,50,125,96,32,119,111,117,108,100,32,98,101,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,96,92,49,96,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,10,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,10,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,10,10,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,10,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,10,40,115,101,99,116,105,111,110,32,91,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,93,40,96,109,58,114,101,35,115,101,99,116,50,49,96,41,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,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,10,99,97,115,101,108,101,115,115,108,121,58,10,10,96,96,96,116,101,120,116,10,40,40,63,105,41,114,97,104,41,92,115,43,92,49,10,96,96,96,10,10,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,10,84,104,101,32,46,78,69,84,32,115,121,110,116,97,120,32,96,92,107,123,110,97,109,101,125,96,32,97,110,100,32,116,104,101,32,80,101,114,108,32,115,121,110,116,97,120,32,96,92,107,60,110,97,109,101,62,96,32,111,114,32,96,92,107,39,110,97,109,101,39,96,32,97,114,101,10,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,96,40,63,80,61,110,97,109,101,41,96,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,10,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,96,92,103,96,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,10,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,10,102,111,108,108,111,119,105,110,103,32,119,97,121,115,58,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,97,102,116,101,114,32,116,104,101,32,114,101,102,101,114,101,110,99,101,46,10,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,40,97,124,40,98,99,41,41,92,50,10,96,96,96,10,10,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,10,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,10,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,10,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,96,101,120,116,101,110,100,101,100,96,32,105,115,32,115,101,116,44,32,116,104,105,115,32,99,97,110,32,98,101,10,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,91,67,111,109,109,101,110,116,115,93,40,96,109,58,114,101,35,115,101,99,116,49,57,96,41,41,10,99,97,110,32,98,101,32,117,115,101,100,46,10,10,95,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,95,10,10,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,10,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,96,97,92,49,96,41,32,110,101,118,101,114,32,109,97,116,99,104,101,115,46,10,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,10,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,10,115,111,32,111,110,58,10,10,96,96,96,116,101,120,116,10,40,97,124,98,92,49,41,43,10,96,96,96,10,10,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,10,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,10,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,10,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,10,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,10,10,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,10,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,10,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,10,10,91,93,40,41,123,58,32,35,115,101,99,116,49,55,32,125,10,10,35,35,32,65,115,115,101,114,116,105,111,110,115,10,10,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,10,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,10,97,115,32,96,92,98,96,44,32,96,92,66,96,44,32,96,92,65,96,44,32,96,92,71,96,44,32,96,92,90,96,44,32,96,92,122,96,44,32,96,94,96,44,32,97,110,100,32,96,36,96,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,10,115,101,99,116,105,111,110,115,46,10,10,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,10,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,10,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,10,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,10,10,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,10,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,10,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,10,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,10,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,10,10,62,32,35,35,35,35,32,87,97,114,110,105,110,103,32,123,58,32,46,119,97,114,110,105,110,103,32,125,10,62,10,62,32,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,10,62,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,10,62,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,10,62,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,10,62,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,10,62,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,10,10,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,10,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,10,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,10,10,45,32,73,102,32,116,104,101,32,113,117,97,110,116,105,102,105,101,114,32,105,115,32,92,123,48,92,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,10,32,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,10,32,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,10,45,32,73,102,32,113,117,97,110,116,105,102,105,101,114,32,105,115,32,92,123,48,44,110,92,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,92,123,48,44,49,92,125,46,32,65,116,10,32,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,10,32,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,10,45,32,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,10,32,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,10,10,95,76,111,111,107,97,104,101,97,100,32,65,115,115,101,114,116,105,111,110,115,95,10,10,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,92,33,32,102,111,114,10,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,10,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,10,10,96,96,96,116,101,120,116,10,92,119,43,40,63,61,59,41,10,96,96,96,10,10,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,10,10,96,96,96,116,101,120,116,10,102,111,111,40,63,33,98,97,114,41,10,96,96,96,10,10,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,10,10,96,96,96,116,101,120,116,10,40,63,33,102,111,111,41,98,97,114,10,96,96,96,10,10,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,10,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,92,33,102,111,111,41,32,105,115,10,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,10,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,10,10,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,10,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,92,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,10,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,10,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,92,33,41,46,10,10,95,76,111,111,107,98,101,104,105,110,100,32,65,115,115,101,114,116,105,111,110,115,95,10,10,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,92,33,32,102,111,114,10,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,10,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,10,10,96,96,96,116,101,120,116,10,40,63,60,33,102,111,111,41,98,97,114,10,96,96,96,10,10,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,10,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,10,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,10,102,111,108,108,111,119,105,110,103,32,105,115,32,112,101,114,109,105,116,116,101,100,58,10,10,96,96,96,116,101,120,116,10,40,63,60,61,98,117,108,108,111,99,107,124,100,111,110,107,101,121,41,10,96,96,96,10,10,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,10,10,96,96,96,116,101,120,116,10,40,63,60,33,100,111,103,115,63,124,99,97,116,115,63,41,10,96,96,96,10,10,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,10,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,10,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,10,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,10,100,105,102,102,101,114,101,110,116,32,108,101,110,103,116,104,115,58,10,10,96,96,96,116,101,120,116,10,40,63,60,61,97,98,40,99,124,100,101,41,41,10,96,96,96,10,10,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,10,10,96,96,96,116,101,120,116,10,40,63,60,61,97,98,99,124,97,98,100,101,41,10,96,96,96,10,10,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,96,92,75,96,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,10,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,10,10,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,10,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,10,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,10,102,97,105,108,115,46,10,10,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,96,92,67,96,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,10,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,10,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,96,92,88,96,32,97,110,100,32,96,92,82,96,32,101,115,99,97,112,101,115,44,10,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,10,10,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,10,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,10,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,10,10,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,10,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,10,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,10,110,111,116,32,109,97,116,99,104,58,10,10,96,96,96,116,101,120,116,10,97,98,99,100,36,10,96,96,96,10,10,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,10,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,10,115,112,101,99,105,102,105,101,100,32,97,115,10,10,96,96,96,116,101,120,116,10,94,46,42,97,98,99,100,36,10,96,96,96,10,10,116,104,101,32,105,110,105,116,105,97,108,32,46,92,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,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,94,46,42,43,40,63,60,61,97,98,99,100,41,10,96,96,96,10,10,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,92,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,10,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,10,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,10,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,10,10,95,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,95,10,10,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,10,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,10,10,96,96,96,116,101,120,116,10,40,63,60,61,92,100,123,51,125,41,40,63,60,33,57,57,57,41,102,111,111,10,96,96,96,10,10,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,10,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,10,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,10,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,95,110,111,116,95,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,40,63,60,61,92,100,123,51,125,46,46,46,41,40,63,60,33,57,57,57,41,102,111,111,10,96,96,96,10,10,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,10,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,10,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,10,10,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,10,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,10,98,121,32,34,102,111,111,34,58,10,10,96,96,96,116,101,120,116,10,40,63,60,61,40,63,60,33,102,111,111,41,98,97,114,41,98,97,122,10,96,96,96,10,10,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,10,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,10,10,96,96,96,116,101,120,116,10,40,63,60,61,92,100,123,51,125,40,63,33,57,57,57,41,46,46,46,41,102,111,111,10,96,96,96,10,10,91,93,40,41,123,58,32,35,115,101,99,116,49,56,32,125,10,10,35,35,32,67,111,110,100,105,116,105,111,110,97,108,32,83,117,98,112,97,116,116,101,114,110,115,10,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,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,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,10,96,96,96,10,10,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,10,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,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,10,95,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,95,10,10,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,10,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,10,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,10,115,101,99,116,105,111,110,32,91,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,93,40,96,109,58,114,101,35,115,101,99,116,49,50,96,41,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,10,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,10,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,10,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,10,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,10,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,10,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,10,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,10,10,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,10,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,96,101,120,116,101,110,100,101,100,96,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,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,10,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,10,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,10,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,10,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,10,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,10,101,110,99,108,111,115,101,100,32,105,110,32,112,97,114,101,110,116,104,101,115,101,115,46,10,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,10,95,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,95,10,10,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,10,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,10,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,10,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,10,95,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,95,10,10,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,10,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,10,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,10,102,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,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,10,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,10,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,10,10,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,10,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,10,10,95,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,95,10,10,91,93,40,41,123,58,32,35,100,101,102,105,110,105,110,103,95,115,117,98,112,97,116,116,101,114,110,115,32,125,10,10,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,10,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,10,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,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,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,10,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,10,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,10,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,10,10,95,65,115,115,101,114,116,105,111,110,32,67,111,110,100,105,116,105,111,110,115,95,10,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,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,10,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,10,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,10,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,10,10,91,93,40,41,123,58,32,35,115,101,99,116,49,57,32,125,10,10,35,35,32,67,111,109,109,101,110,116,115,10,10,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,10,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,10,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,10,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,10,116,104,101,32,112,97,116,116,101,114,110,32,109,97,116,99,104,105,110,103,46,10,10,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,10,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,10,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,10,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,10,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,10,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,10,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,10,91,78,101,119,108,105,110,101,32,67,111,110,118,101,110,116,105,111,110,115,93,40,96,109,58,114,101,35,110,101,119,108,105,110,101,95,99,111,110,118,101,110,116,105,111,110,115,96,41,32,101,97,114,108,105,101,114,46,10,10,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,10,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,10,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,96,101,120,116,101,110,100,101,100,96,32,105,115,32,115,101,116,44,32,97,110,100,32,116,104,101,32,100,101,102,97,117,108,116,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,96,112,99,114,101,95,99,111,109,112,105,108,101,40,41,96,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,10,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,96,92,110,96,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,10,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,10,110,101,119,108,105,110,101,41,32,100,111,101,115,32,115,111,46,10,10,91,93,40,41,123,58,32,35,115,101,99,116,50,48,32,125,10,10,35,35,32,82,101,99,117,114,115,105,118,101,32,80,97,116,116,101,114,110,115,10,10,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,10,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,10,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,10,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,10,10,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,10,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,10,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,10,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,10,108,105,107,101,32,116,104,105,115,58,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,73,116,101,109,32,40,63,112,92,123,46,46,46,92,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,10,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,10,10,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,10,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,10,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,10,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,10,10,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,10,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,10,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,10,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,10,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,10,10,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,10,96,101,120,116,101,110,100,101,100,96,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,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,10,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,10,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,10,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,10,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,10,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,10,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,10,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,10,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,10,10,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,10,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,10,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,10,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,10,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,117,115,101,100,46,10,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,92,42,10,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,10,114,101,112,111,114,116,101,100,46,10,10,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,10,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,10,10,96,96,96,116,101,120,116,10,40,97,98,40,99,100,41,101,102,41,10,96,96,96,10,10,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,10,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,10,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,10,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,10,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,114,101,99,117,114,115,105,118,101,32,99,97,108,108,46,10,10,95,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,95,10,10,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,10,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,10,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,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,94,40,46,124,40,46,41,40,63,49,41,92,50,41,36,10,96,96,96,10,10,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,10,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,10,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,10,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,34,97,98,99,98,97,34,46,10,10,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,10,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,10,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,10,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,10,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,10,10,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,10,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,10,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,10,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,10,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,10,100,105,102,102,101,114,101,110,116,58,10,10,96,96,96,116,101,120,116,10,94,40,40,46,41,40,63,49,41,92,50,124,46,41,36,10,96,96,96,10,10,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,10,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,10,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,10,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,10,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,10,10,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,10,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,10,10,96,96,96,116,101,120,116,10,94,40,40,46,41,40,63,49,41,92,50,124,46,63,41,36,10,96,96,96,10,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,73,102,32,114,117,110,32,119,105,116,104,32,111,112,116,105,111,110,32,96,99,97,115,101,108,101,115,115,96,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,10,112,108,97,110,44,32,97,32,99,97,110,97,108,58,32,80,97,110,97,109,97,92,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,10,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,92,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,10,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,10,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,10,108,111,111,112,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,10,62,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,10,62,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,10,62,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,10,62,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,10,10,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,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,94,40,46,41,40,92,49,124,97,40,63,50,41,41,10,96,96,96,10,10,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,10,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,96,92,49,96,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,10,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,96,92,49,96,32,100,111,101,115,32,110,111,119,32,109,97,116,99,104,10,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,10,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,96,92,49,96,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,10,10,91,93,40,41,123,58,32,35,115,101,99,116,50,49,32,125,10,10,35,35,32,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,10,10,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,10,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,10,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,10,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,10,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,115,58,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,114,101,115,112,111,110,115,105,98,105,108,105,116,121,34,58,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,10,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,10,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,10,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,10,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,10,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,10,10,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,10,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,10,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,10,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,10,115,117,98,112,97,116,116,101,114,110,58,10,10,96,96,96,116,101,120,116,10,40,97,98,99,41,40,63,105,58,40,63,45,49,41,41,10,96,96,96,10,10,91,93,40,41,123,58,32,35,115,101,99,116,50,50,32,125,10,10,35,35,32,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,10,10,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,96,92,103,96,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,110,97,109,101,32,111,114,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,10,96,96,96,116,101,120,116,10,40,97,98,99,41,40,63,105,58,92,103,60,45,49,62,41,10,96,96,96,10,10,78,111,116,105,99,101,32,116,104,97,116,32,96,92,103,123,46,46,46,125,96,32,40,80,101,114,108,32,115,121,110,116,97,120,41,32,97,110,100,32,96,92,103,60,46,46,46,62,96,32,40,79,110,105,103,117,114,117,109,97,32,115,121,110,116,97,120,41,32,97,114,101,32,95,110,111,116,95,10,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,10,10,91,93,40,41,123,58,32,35,115,101,99,116,50,51,32,125,10,10,35,35,32,66,97,99,107,116,114,97,99,107,105,110,103,32,67,111,110,116,114,111,108,10,10,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,10,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,10,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,10,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,10,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,10,10,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,10,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,10,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,10,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,10,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,10,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,10,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,10,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,10,10,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,10,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,10,10,95,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,95,10,10,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,10,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,10,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,10,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,10,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,10,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,96,110,111,95,115,116,97,114,116,95,111,112,116,105,109,105,122,101,96,32,119,104,101,110,32,99,97,108,108,105,110,103,10,96,99,111,109,112,105,108,101,47,50,96,32,111,114,32,96,114,117,110,47,51,96,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,92,42,78,79,95,83,84,65,82,84,95,79,80,84,41,46,10,10,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,10,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,10,10,95,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,95,10,10,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,10,102,111,108,108,111,119,101,100,32,98,121,32,97,32,110,97,109,101,46,10,10,96,96,96,116,101,120,116,10,40,42,65,67,67,69,80,84,41,10,96,96,96,10,10,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,10,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,10,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,10,108,101,118,101,108,46,32,73,102,32,40,92,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,10,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,10,10,73,102,32,40,92,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,65,40,40,63,58,65,124,66,40,42,65,67,67,69,80,84,41,124,67,41,68,41,10,96,96,96,10,10,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,10,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,40,63,92,33,41,32,98,117,116,32,101,97,115,105,101,114,32,116,111,32,114,101,97,100,46,10,10,96,96,96,116,101,120,116,10,40,42,70,65,73,76,41,32,111,114,32,40,42,70,41,10,96,96,96,10,10,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,10,40,63,92,123,92,125,41,32,111,114,32,40,63,63,92,123,92,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,10,10,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,10,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,10,10,95,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,95,10,10,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,10,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,10,40,92,42,83,75,73,80,41,32,98,101,108,111,119,41,46,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,91,96,114,117,110,47,50,44,51,96,93,40,96,114,117,110,47,50,96,41,44,10,62,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,10,62,10,62,32,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,10,62,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,10,62,32,116,104,101,121,32,99,97,110,32,98,101,32,117,115,101,100,32,98,121,32,40,92,42,83,75,73,80,41,46,10,10,96,96,96,116,101,120,116,10,40,42,77,65,82,75,58,78,65,77,69,41,32,111,114,32,40,42,58,78,65,77,69,41,10,96,96,96,10,10,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,10,40,92,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,10,10,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,10,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,10,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,96,112,99,114,101,95,101,120,101,99,40,41,96,34,32,105,110,32,116,104,101,32,96,112,99,114,101,97,112,105,96,10,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,96,112,99,114,101,116,101,115,116,96,32,111,117,116,112,117,116,44,32,116,104,101,32,47,75,32,109,111,100,105,102,105,101,114,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,84,104,101,32,40,92,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,10,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,10,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,10,112,97,114,101,110,116,104,101,115,101,115,46,10,10,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,10,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,10,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,10,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,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,92,42,77,65,82,75,41,10,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,10,10,95,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,95,10,10,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,10,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,10,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,10,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,10,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,10,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,10,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,10,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,10,105,110,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,115,46,41,10,10,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,10,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,10,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,10,10,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,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,40,42,67,79,77,77,73,84,41,10,96,96,96,10,10,73,102,32,40,92,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,10,98,101,101,110,32,112,97,115,115,101,100,44,32,91,96,114,117,110,47,50,44,51,96,93,40,96,114,117,110,47,50,96,41,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,10,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,10,10,96,96,96,116,101,120,116,10,97,43,40,42,67,79,77,77,73,84,41,98,10,96,96,96,10,10,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,10,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,10,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,10,10,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,10,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,10,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,10,10,78,111,116,105,99,101,32,116,104,97,116,32,40,92,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,10,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,10,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,10,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,10,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,10,96,110,111,95,115,116,97,114,116,95,111,112,116,105,109,105,122,101,96,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,10,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,92,42,67,79,77,77,73,84,41,10,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,10,10,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,10,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,10,114,101,97,99,104,32,105,116,58,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,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,10,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,10,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,10,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,10,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,10,97,115,32,40,92,42,67,79,77,77,73,84,41,46,10,10,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,10,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,10,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,84,104,101,32,102,97,99,116,32,116,104,97,116,32,40,92,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,10,62,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,10,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,40,42,83,75,73,80,41,10,96,96,96,10,10,40,92,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,10,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,10,10,96,96,96,116,101,120,116,10,97,43,40,42,83,75,73,80,41,98,10,96,96,96,10,10,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,10,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,10,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,10,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,10,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,10,115,107,105,112,112,105,110,103,32,111,110,32,116,111,32,34,99,34,46,10,10,87,104,101,110,32,40,92,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,10,10,96,96,96,116,101,120,116,10,40,42,83,75,73,80,58,78,65,77,69,41,10,96,96,96,10,10,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,10,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,10,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,10,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,10,40,92,42,83,75,73,80,41,32,105,115,32,105,103,110,111,114,101,100,46,10,10,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,10,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,10,10,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,10,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,10,99,117,114,114,101,110,116,32,97,108,116,101,114,110,97,116,105,118,101,46,10,10,96,96,96,116,101,120,116,10,40,42,84,72,69,78,41,32,111,114,32,40,42,84,72,69,78,58,78,65,77,69,41,10,96,96,96,10,10,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,10,105,102,45,116,104,101,110,45,101,108,115,101,32,98,108,111,99,107,58,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,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,10,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,10,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,10,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,10,10,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,10,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,10,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,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,84,104,101,32,102,97,99,116,32,116,104,97,116,32,40,92,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,10,62,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,10,10,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,10,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,10,101,102,102,101,99,116,32,111,102,32,40,92,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,65,32,40,66,40,42,84,72,69,78,41,67,41,32,124,32,68,10,96,96,96,10,10,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,10,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,10,115,117,98,112,97,116,116,101,114,110,32,99,111,110,116,97,105,110,105,110,103,32,40,92,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,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,10,105,110,116,111,32,65,46,10,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,95,63,32,105,115,32,117,110,103,114,101,101,100,121,44,32,105,116,10,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,10,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,10,46,95,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,10,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,10,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,92,42,63,44,10,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,10,10,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,10,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,10,10,45,32,40,92,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,10,45,32,40,92,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,10,32,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,10,45,32,40,92,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,10,45,32,40,92,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,10,10,95,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,95,10,10,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,10,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,10,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,10,10,96,96,96,116,101,120,116,10,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,10,96,96,96,10,10,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,10,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,10,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,10,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,10,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,10,101,120,97,109,112,108,101,58,10,10,96,96,96,116,101,120,116,10,46,46,46,40,42,67,79,77,77,73,84,41,40,42,80,82,85,78,69,41,46,46,46,10,96,96,96,10,10,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,10,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,10,40,42,67,79,77,77,73,84,41,46,10,10,95,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,95,10,10,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,10,70,111,114,32,101,120,97,109,112,108,101,44,32,99,111,110,115,105,100,101,114,58,10,10,96,96,96,116,101,120,116,10,47,40,97,40,42,67,79,77,77,73,84,41,98,41,43,97,99,47,10,96,96,96,10,10,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,92,42,67,79,77,77,73,84,41,32,105,110,10,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,10,10,95,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,95,10,10,40,92,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,10,98,97,99,107,116,114,97,99,107,46,10,10,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,10,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,10,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,10,10,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,10,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,92,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,10,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,10,116,104,101,32,97,115,115,101,114,116,105,111,110,46,10,10,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,10,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,10,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,10,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,10,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,10,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,10,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,10,10,95,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,95,10,10,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,10,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,10,10,45,32,40,92,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,10,32,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,10,45,32,40,92,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,10,32,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,10,32,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,46,10,45,32,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,92,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,10,32,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,10,45,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,119,105,116,104,105,110,10,32,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,10,32,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>>},#{otp_doc_vsn => {1,0,0}},[{{type,replace_fun,0},{58,2},[<<114,101,112,108,97,99,101,95,102,117,110,40,41>>],none,#{exported => false}},{{type,capture,0},{55,2},[<<99,97,112,116,117,114,101,40,41>>],none,#{exported => false}},{{type,option,0},{46,2},[<<111,112,116,105,111,110,40,41>>],none,#{exported => false}},{{type,options,0},{45,2},[<<111,112,116,105,111,110,115,40,41>>],none,#{exported => true}},{{type,compile_option,0},{38,2},[<<99,111,109,112,105,108,101,95,111,112,116,105,111,110,40,41>>],none,#{exported => false}},{{type,compile_options,0},{37,2},[<<99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,40,41>>],none,#{exported => true}},{{type,nl_spec,0},{35,2},[<<110,108,95,115,112,101,99,40,41>>],none,#{exported => false}},{{type,mp,0},{26,2},[<<109,112,40,41>>],#{<<101,110>> => <<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,10,10,96,116,58,109,112,47,48,96,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,96,114,101,95,112,97,116,116,101,114,110,96,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,10,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,10,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>>},#{exported => true,specification => [{attribute,{33,2},type,{mp,{type,{33,15},tuple,[{atom,{33,16},re_pattern},{var,{33,28},'_'},{var,{33,31},'_'},{var,{33,34},'_'},{var,{33,37},'_'}]},[]}}]}},{{function,grun,3},{1768,2},[<<103,114,117,110,47,51>>],hidden,#{}},{{function,urun,3},{1727,2},[<<117,114,117,110,40,83,117,98,106,101,99,116,44,32,82,69,44,32,79,112,116,105,111,110,115,41>>],hidden,#{}},{{function,ucompile,2},{1714,2},[<<117,99,111,109,112,105,108,101,40,82,69,44,32,79,112,116,105,111,110,115,41>>],hidden,#{}},{{function,replace,4},{1259,2},[<<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,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<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,96,83,117,98,106,101,99,116,96,32,115,116,114,105,110,103,32,119,105,116,104,32,96,82,101,112,108,97,99,101,109,101,110,116,96,46,10,10,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,96,114,117,110,47,51,96,44,32,101,120,99,101,112,116,32,116,104,97,116,10,111,112,116,105,111,110,96,32,99,97,112,116,117,114,101,96,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,96,123,114,101,116,117,114,110,44,32,82,101,116,117,114,110,84,121,112,101,125,96,32,105,115,32,112,114,101,115,101,110,116,46,10,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,96,105,111,100,97,116,97,96,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,10,84,104,101,32,96,105,111,100,97,116,97,96,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,10,96,116,58,108,105,115,116,47,48,96,32,105,115,32,100,101,115,105,114,101,100,44,32,115,112,101,99,105,102,121,32,96,123,114,101,116,117,114,110,44,32,108,105,115,116,125,96,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,10,96,123,114,101,116,117,114,110,44,32,98,105,110,97,114,121,125,96,46,10,10,65,115,32,105,110,32,102,117,110,99,116,105,111,110,32,91,96,114,117,110,47,51,96,93,40,96,114,117,110,47,51,96,41,44,32,97,110,32,96,116,58,109,112,47,48,96,32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32,96,117,110,105,99,111,100,101,96,10,114,101,113,117,105,114,101,115,32,96,83,117,98,106,101,99,116,96,32,116,111,32,98,101,32,97,32,85,110,105,99,111,100,101,32,96,99,104,97,114,108,105,115,116,40,41,96,46,32,73,102,32,99,111,109,112,105,108,97,116,105,111,110,32,105,115,32,100,111,110,101,10,105,109,112,108,105,99,105,116,108,121,32,97,110,100,32,116,104,101,32,96,117,110,105,99,111,100,101,96,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,10,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,96,83,117,98,106,101,99,116,96,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,10,96,99,104,97,114,108,105,115,116,40,41,96,115,46,10,10,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,10,96,38,96,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,10,115,101,113,117,101,110,99,101,32,96,92,96,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,96,92,103,96,78,44,32,111,114,32,96,92,103,123,96,78,96,125,96,44,32,114,101,115,117,108,116,105,110,103,32,105,110,32,116,104,101,10,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,10,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,10,10,84,111,32,105,110,115,101,114,116,32,97,110,32,38,32,111,114,32,97,32,92,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,92,46,32,78,111,116,105,99,101,32,116,104,97,116,32,69,114,108,97,110,103,10,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,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,92,32,109,117,115,116,32,98,101,10,119,114,105,116,116,101,110,32,97,115,32,96,34,92,92,34,96,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,92,32,97,115,32,96,34,92,92,92,92,34,96,46,10,10,95,69,120,97,109,112,108,101,58,95,10,10,96,96,96,101,114,108,97,110,103,10,49,62,32,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,10,34,97,98,91,99,93,100,34,10,96,96,96,10,10,119,104,105,108,101,10,10,96,96,96,101,114,108,97,110,103,10,50,62,32,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,10,34,97,98,91,38,93,100,34,10,96,96,96,10,10,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,10,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,10,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,10,105,110,115,101,114,116,101,100,32,105,110,32,116,104,101,32,114,101,115,117,108,116,46,10,10,95,69,120,97,109,112,108,101,58,95,10,10,96,96,96,101,114,108,97,110,103,10,51,62,32,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,10,32,32,32,32,102,117,110,40,87,104,111,108,101,44,32,91,60,60,67,62,62,93,41,32,45,62,10,32,32,32,32,32,32,32,32,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,10,32,32,32,32,101,110,100,44,10,32,32,32,32,91,123,114,101,116,117,114,110,44,32,108,105,115,116,125,93,41,46,10,34,35,97,98,45,66,35,99,100,34,10,96,96,96,10,10,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,62,10,62,32,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,10,62,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,10,62,32,101,120,112,114,101,115,115,105,111,110,46,10,62,10,62,32,95,69,120,97,109,112,108,101,58,95,10,62,10,62,32,84,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,96,34,40,97,41,40,98,41,63,40,99,41,63,34,96,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,10,62,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,10,62,10,62,32,45,32,96,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,96,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,96,34,97,98,99,34,96,10,62,32,45,32,96,91,60,60,34,97,34,62,62,44,32,60,60,62,62,44,32,60,60,34,99,34,62,62,93,96,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,96,34,97,99,120,34,96,10,62,32,45,32,96,91,60,60,34,97,34,62,62,44,32,60,60,34,98,34,62,62,93,96,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,96,34,97,98,120,34,96,10,62,32,45,32,96,91,60,60,34,97,34,62,62,93,96,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,96,34,97,120,120,34,96,10,10,65,115,32,119,105,116,104,32,91,96,114,117,110,47,51,96,93,40,96,114,117,110,47,51,96,41,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,96,98,97,100,97,114,103,96,32,101,120,99,101,112,116,105,111,110,46,10,96,99,111,109,112,105,108,101,47,50,96,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>>},#{specification => [{attribute,{1334,2},spec,{{replace,4},[{type,{1334,14},bounded_fun,[{type,{1334,14},'fun',[{type,{1334,14},product,[{var,{1334,15},'Subject'},{var,{1334,24},'RE'},{var,{1334,28},'Replacement'},{var,{1334,41},'Options'}]},{type,{1334,53},union,[{type,{1334,53},iodata,[]},{remote_type,{1334,64},[{atom,{1334,64},unicode},{atom,{1334,72},charlist},[]]}]}]},[{type,{1335,7},constraint,[{atom,{1335,7},is_subtype},[{var,{1335,7},'Subject'},{type,{1335,18},union,[{type,{1335,18},iodata,[]},{remote_type,{1335,29},[{atom,{1335,29},unicode},{atom,{1335,37},charlist},[]]}]}]]},{type,{1336,7},constraint,[{atom,{1336,7},is_subtype},[{var,{1336,7},'RE'},{type,{1336,13},union,[{user_type,{1336,13},mp,[]},{type,{1336,20},iodata,[]},{remote_type,{1336,31},[{atom,{1336,31},unicode},{atom,{1336,39},charlist},[]]}]}]]},{type,{1337,7},constraint,[{atom,{1337,7},is_subtype},[{var,{1337,7},'Replacement'},{type,{1337,22},union,[{type,{1337,22},iodata,[]},{remote_type,{1337,33},[{atom,{1337,33},unicode},{atom,{1337,41},charlist},[]]},{user_type,{1337,54},replace_fun,[]}]}]]},{type,{1338,7},constraint,[{atom,{1338,7},is_subtype},[{var,{1338,7},'Options'},{type,{1338,18},list,[{var,{1338,19},'Option'}]}]]},{type,{1339,7},constraint,[{atom,{1339,7},is_subtype},[{var,{1339,7},'Option'},{type,{1339,17},union,[{atom,{1339,17},anchored},{atom,{1339,28},global},{atom,{1339,37},notbol},{atom,{1339,46},noteol},{atom,{1339,55},notempty},{atom,{1340,10},notempty_atstart},{type,{1341,17},tuple,[{atom,{1341,18},offset},{type,{1341,26},non_neg_integer,[]}]},{type,{1341,47},tuple,[{atom,{1341,48},newline},{var,{1341,57},'NLSpec'}]},{atom,{1341,67},bsr_anycrlf},{type,{1342,17},tuple,[{atom,{1342,18},match_limit},{type,{1342,31},non_neg_integer,[]}]},{type,{1343,17},tuple,[{atom,{1343,18},match_limit_recursion},{type,{1343,41},non_neg_integer,[]}]},{atom,{1344,17},bsr_unicode},{type,{1344,31},tuple,[{atom,{1344,32},return},{var,{1344,40},'ReturnType'}]},{var,{1344,54},'CompileOpt'}]}]]},{type,{1345,7},constraint,[{atom,{1345,7},is_subtype},[{var,{1345,7},'ReturnType'},{type,{1345,21},union,[{atom,{1345,21},iodata},{atom,{1345,30},list},{atom,{1345,37},binary}]}]]},{type,{1346,7},constraint,[{atom,{1346,7},is_subtype},[{var,{1346,7},'CompileOpt'},{user_type,{1346,21},compile_option,[]}]]},{type,{1347,7},constraint,[{atom,{1347,7},is_subtype},[{var,{1347,7},'NLSpec'},{type,{1347,17},union,[{atom,{1347,17},cr},{atom,{1347,22},crlf},{atom,{1347,29},lf},{atom,{1347,34},anycrlf},{atom,{1347,44},any}]}]]}]]}]}}]}},{{function,replace,3},{1251,1},[<<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,41>>],none,#{equiv => <<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>>}},{{function,split,3},{889,2},[<<115,112,108,105,116,40,83,117,98,106,101,99,116,44,32,82,69,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<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,10,101,120,112,114,101,115,115,105,111,110,32,115,117,112,112,108,105,101,100,46,10,10,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,10,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,10,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,10,10,65,115,32,105,110,32,96,114,117,110,47,51,96,44,32,97,110,32,96,116,58,109,112,47,48,96,32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32,96,117,110,105,99,111,100,101,96,32,114,101,113,117,105,114,101,115,32,96,83,117,98,106,101,99,116,96,32,116,111,10,98,101,32,97,32,85,110,105,99,111,100,101,32,96,99,104,97,114,108,105,115,116,40,41,96,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,96,117,110,105,99,111,100,101,96,10,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,10,97,110,100,32,96,83,117,98,106,101,99,116,96,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,96,99,104,97,114,108,105,115,116,40,41,96,115,46,10,10,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,10,111,112,116,105,111,110,32,96,114,101,116,117,114,110,96,32,40,100,101,102,97,117,108,116,32,96,105,111,100,97,116,97,96,41,46,10,10,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,10,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,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,103,105,118,101,115,10,10,96,96,96,101,114,108,97,110,103,10,91,34,69,114,34,44,34,97,34,44,34,103,34,93,10,96,96,96,10,10,119,104,105,108,101,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,103,105,118,101,115,10,10,96,96,96,101,114,108,97,110,103,10,91,34,69,114,34,44,34,108,34,44,34,97,34,44,34,110,34,44,34,103,34,93,10,96,96,96,10,10,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,10,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,10,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,10,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,10,115,116,114,105,110,103,46,10,10,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,10,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,10,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,96,103,114,111,117,112,96,44,32,119,104,105,99,104,10,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,10,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,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,103,105,118,101,115,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,10,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,10,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,10,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,10,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,10,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,10,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,10,10,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,10,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,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,103,105,118,101,115,10,10,96,96,96,101,114,108,97,110,103,10,91,34,69,114,34,44,34,97,110,34,44,91,93,93,10,96,96,96,10,10,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,10,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,10,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,10,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,96,116,114,105,109,96,32,97,115,32,97,110,32,111,112,116,105,111,110,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,103,105,118,101,115,10,10,96,96,96,101,114,108,97,110,103,10,91,34,69,114,34,44,34,97,110,34,93,10,96,96,96,10,10,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,10,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,10,119,97,110,116,44,32,98,121,32,115,112,101,99,105,102,121,105,110,103,32,96,123,112,97,114,116,115,44,96,78,96,125,96,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,103,105,118,101,115,10,10,96,96,96,101,114,108,97,110,103,10,91,34,69,114,34,44,34,97,110,103,34,93,10,96,96,96,10,10,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,10,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,10,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,96,116,114,105,109,96,46,10,10,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,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,10,110,117,109,98,101,114,32,111,102,32,112,97,114,116,115,34,46,10,10,83,112,101,99,105,102,121,105,110,103,32,96,48,96,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,96,116,114,105,109,96,46,32,73,102,10,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,10,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,96,116,114,105,109,96,32,111,114,32,96,123,112,97,114,116,115,44,48,125,96,32,105,115,32,115,112,101,99,105,102,105,101,100,46,10,10,84,104,101,32,96,116,114,105,109,96,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,96,123,112,97,114,116,115,44,78,125,96,44,32,119,104,101,114,101,10,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,10,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,10,91,96,115,112,108,105,116,47,51,96,93,40,96,115,112,108,105,116,47,51,96,41,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,10,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,10,10,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,91,96,114,117,110,47,51,96,93,40,96,114,117,110,47,51,96,41,58,10,10,45,32,42,42,96,123,114,101,116,117,114,110,44,82,101,116,117,114,110,84,121,112,101,125,96,42,42,32,45,32,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,10,32,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,10,10,32,32,45,32,42,42,96,105,111,100,97,116,97,96,42,42,32,45,32,84,104,101,32,118,97,114,105,97,110,116,32,111,102,32,96,116,58,105,111,100,97,116,97,47,48,96,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,10,32,32,32,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,10,32,32,32,32,105,116,41,46,10,10,32,32,45,32,42,42,96,98,105,110,97,114,121,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,108,105,115,116,96,42,42,32,45,32,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,10,10,45,32,42,42,96,103,114,111,117,112,96,42,42,32,45,32,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,10,32,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,10,10,32,32,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,96,116,58,108,105,115,116,47,48,96,32,111,102,10,32,32,96,116,58,108,105,115,116,47,48,96,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,10,32,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,10,32,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,10,10,45,32,42,42,96,123,112,97,114,116,115,44,78,125,96,42,42,32,45,32,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,10,32,32,115,112,108,105,116,32,105,110,116,111,46,10,10,32,32,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,10,32,32,111,102,32,112,97,114,116,115,44,32,97,110,100,32,96,105,110,102,105,110,105,116,121,96,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,10,32,32,100,101,102,97,117,108,116,41,46,32,83,112,101,99,105,102,121,105,110,103,32,96,123,112,97,114,116,115,44,48,125,96,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,10,32,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,96,116,114,105,109,96,46,10,10,45,32,42,42,96,116,114,105,109,96,42,42,32,45,32,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,10,32,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,96,123,112,97,114,116,115,44,48,125,96,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,10,32,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,96,115,112,108,105,116,96,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>>},#{specification => [{attribute,{1058,2},spec,{{split,3},[{type,{1058,12},bounded_fun,[{type,{1058,12},'fun',[{type,{1058,12},product,[{var,{1058,13},'Subject'},{var,{1058,22},'RE'},{var,{1058,26},'Options'}]},{var,{1058,38},'SplitList'}]},[{type,{1059,7},constraint,[{atom,{1059,7},is_subtype},[{var,{1059,7},'Subject'},{type,{1059,18},union,[{type,{1059,18},iodata,[]},{remote_type,{1059,29},[{atom,{1059,29},unicode},{atom,{1059,37},charlist},[]]}]}]]},{type,{1060,7},constraint,[{atom,{1060,7},is_subtype},[{var,{1060,7},'RE'},{type,{1060,13},union,[{user_type,{1060,13},mp,[]},{type,{1060,20},iodata,[]},{remote_type,{1060,31},[{atom,{1060,31},unicode},{atom,{1060,39},charlist},[]]}]}]]},{type,{1061,7},constraint,[{atom,{1061,7},is_subtype},[{var,{1061,7},'Options'},{type,{1061,18},list,[{var,{1061,20},'Option'}]}]]},{type,{1062,7},constraint,[{atom,{1062,7},is_subtype},[{var,{1062,7},'Option'},{type,{1062,17},union,[{atom,{1062,17},anchored},{atom,{1062,28},notbol},{atom,{1062,37},noteol},{atom,{1062,46},notempty},{atom,{1062,57},notempty_atstart},{type,{1063,17},tuple,[{atom,{1063,18},offset},{type,{1063,26},non_neg_integer,[]}]},{type,{1063,47},tuple,[{atom,{1063,48},newline},{user_type,{1063,57},nl_spec,[]}]},{type,{1064,17},tuple,[{atom,{1064,18},match_limit},{type,{1064,31},non_neg_integer,[]}]},{type,{1065,17},tuple,[{atom,{1065,18},match_limit_recursion},{type,{1065,41},non_neg_integer,[]}]},{atom,{1066,17},bsr_anycrlf},{atom,{1066,31},bsr_unicode},{type,{1066,45},tuple,[{atom,{1066,46},return},{var,{1066,54},'ReturnType'}]},{type,{1067,17},tuple,[{atom,{1067,18},parts},{var,{1067,25},'NumParts'}]},{atom,{1067,37},group},{atom,{1067,45},trim},{var,{1067,52},'CompileOpt'}]}]]},{type,{1068,7},constraint,[{atom,{1068,7},is_subtype},[{var,{1068,7},'NumParts'},{type,{1068,19},union,[{type,{1068,19},non_neg_integer,[]},{atom,{1068,39},infinity}]}]]},{type,{1069,7},constraint,[{atom,{1069,7},is_subtype},[{var,{1069,7},'ReturnType'},{type,{1069,21},union,[{atom,{1069,21},iodata},{atom,{1069,30},list},{atom,{1069,37},binary}]}]]},{type,{1070,7},constraint,[{atom,{1070,7},is_subtype},[{var,{1070,7},'CompileOpt'},{user_type,{1070,21},compile_option,[]}]]},{type,{1071,7},constraint,[{atom,{1071,7},is_subtype},[{var,{1071,7},'SplitList'},{type,{1071,20},union,[{type,{1071,20},list,[{var,{1071,21},'RetData'}]},{type,{1071,32},list,[{var,{1071,33},'GroupedRetData'}]}]}]]},{type,{1072,7},constraint,[{atom,{1072,7},is_subtype},[{var,{1072,7},'GroupedRetData'},{type,{1072,25},list,[{var,{1072,26},'RetData'}]}]]},{type,{1073,7},constraint,[{atom,{1073,7},is_subtype},[{var,{1073,7},'RetData'},{type,{1073,18},union,[{type,{1073,18},iodata,[]},{remote_type,{1073,29},[{atom,{1073,29},unicode},{atom,{1073,37},charlist},[]]},{type,{1073,50},binary,[]},{type,{1073,61},list,[]}]}]]}]]}]}}]}},{{function,split,2},{881,1},[<<115,112,108,105,116,40,83,117,98,106,101,99,116,44,32,82,69,41>>],none,#{equiv => <<115,112,108,105,116,40,83,117,98,106,101,99,116,44,32,82,69,44,32,91,93,41>>}},{{function,inspect,2},{820,2},[<<105,110,115,112,101,99,116,40,77,80,44,32,73,116,101,109,41>>],#{<<101,110>> => <<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,10,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,10,10,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,96,110,97,109,101,108,105,115,116,96,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,96,123,110,97,109,101,108,105,115,116,44,32,91,98,105,110,97,114,121,40,41,93,125,96,44,10,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,10,10,70,111,114,32,101,120,97,109,112,108,101,58,10,10,96,96,96,101,114,108,97,110,103,10,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,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,10,96,96,96,10,10,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,10,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,10,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,10,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,96,123,99,97,112,116,117,114,101,44,32,97,108,108,95,110,97,109,101,115,125,96,32,105,115,10,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,96,114,117,110,47,51,96,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,10,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,91,96,114,117,110,47,51,96,93,40,96,114,117,110,47,51,96,41,32,108,105,107,101,32,116,104,105,115,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{865,2},spec,{{inspect,2},[{type,{865,14},bounded_fun,[{type,{865,14},'fun',[{type,{865,14},product,[{var,{865,15},'MP'},{var,{865,18},'Item'}]},{type,{865,27},tuple,[{atom,{865,28},namelist},{type,{865,38},list,[{type,{865,40},binary,[]}]}]}]},[{type,{866,7},constraint,[{atom,{866,7},is_subtype},[{var,{866,7},'MP'},{user_type,{866,13},mp,[]}]]},{type,{867,7},constraint,[{atom,{867,7},is_subtype},[{var,{867,7},'Item'},{atom,{867,15},namelist}]]}]]}]}}],since => <<79,84,80,32,49,55,46,48>>}},{{function,internal_run,4},{785,2},[<<105,110,116,101,114,110,97,108,95,114,117,110,40,83,117,98,106,101,99,116,44,32,82,69,44,32,79,112,116,105,111,110,115,44,32,70,105,114,115,116,67,97,108,108,41>>],hidden,#{}},{{function,run,3},{249,2},[<<114,117,110,40,83,117,98,106,101,99,116,44,32,82,69,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<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,96,109,97,116,99,104,47,123,109,97,116,99,104,44,32,67,97,112,116,117,114,101,100,125,96,32,111,114,10,96,110,111,109,97,116,99,104,96,46,10,10,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,96,116,58,105,111,100,97,116,97,47,48,96,32,105,110,10,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,91,96,99,111,109,112,105,108,101,47,50,96,93,40,96,99,111,109,112,105,108,101,47,50,96,41,41,32,97,110,100,10,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,96,116,58,109,112,47,48,96,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,10,115,117,98,106,101,99,116,32,100,105,114,101,99,116,108,121,46,10,10,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,96,98,97,100,97,114,103,96,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,10,101,114,114,111,114,32,111,99,99,117,114,115,46,32,67,97,108,108,32,91,96,99,111,109,112,105,108,101,47,50,96,93,40,96,99,111,109,112,105,108,101,47,50,96,41,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,10,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,10,10,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,10,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,10,10,45,32,96,97,110,99,104,111,114,101,100,96,10,45,32,96,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,96,10,45,32,96,103,108,111,98,97,108,96,10,45,32,96,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,96,10,45,32,96,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,96,10,45,32,96,123,110,101,119,108,105,110,101,44,32,78,76,83,112,101,99,125,96,10,45,32,96,110,111,116,98,111,108,96,10,45,32,96,110,111,116,101,109,112,116,121,96,10,45,32,96,110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116,96,10,45,32,96,110,111,116,101,111,108,96,10,45,32,96,123,111,102,102,115,101,116,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125,96,10,45,32,96,114,101,112,111,114,116,95,101,114,114,111,114,115,96,10,10,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,91,96,99,111,109,112,105,108,101,47,50,96,93,40,96,99,111,109,112,105,108,101,47,50,96,41,32,97,114,101,32,97,108,115,111,10,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,10,96,97,110,99,104,111,114,101,100,96,32,97,110,100,32,96,123,110,101,119,108,105,110,101,44,32,78,76,83,112,101,99,125,96,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,10,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,10,10,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,96,117,110,105,99,111,100,101,96,44,10,96,83,117,98,106,101,99,116,96,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,96,99,104,97,114,108,105,115,116,40,41,96,44,32,111,116,104,101,114,119,105,115,101,32,97,110,121,10,96,116,58,105,111,100,97,116,97,47,48,96,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,96,117,110,105,99,111,100,101,96,32,105,115,10,115,112,101,99,105,102,105,101,100,44,32,98,111,116,104,32,96,83,117,98,106,101,99,116,96,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,10,118,97,108,105,100,32,85,110,105,99,111,100,101,32,96,99,104,97,114,108,105,115,116,115,40,41,96,46,10,10,96,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,96,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,10,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,96,99,97,112,116,117,114,101,96,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,10,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,10,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,10,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,10,100,101,116,97,105,108,32,98,101,108,111,119,46,10,10,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,10,40,96,123,99,97,112,116,117,114,101,44,32,110,111,110,101,125,96,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,96,109,97,116,99,104,96,32,117,112,111,110,10,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,96,123,109,97,116,99,104,44,32,86,97,108,117,101,76,105,115,116,125,96,46,32,68,105,115,97,98,108,105,110,103,10,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,96,110,111,110,101,96,32,111,114,32,97,110,32,101,109,112,116,121,32,108,105,115,116,32,97,115,10,96,86,97,108,117,101,83,112,101,99,96,46,10,10,79,112,116,105,111,110,32,96,114,101,112,111,114,116,95,101,114,114,111,114,115,96,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,10,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,96,109,97,116,99,104,95,108,105,109,105,116,96,32,111,114,10,96,109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110,96,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,10,102,111,114,109,97,116,32,96,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,96,46,32,78,111,116,105,99,101,32,116,104,97,116,32,105,102,32,111,112,116,105,111,110,32,96,114,101,112,111,114,116,95,101,114,114,111,114,115,96,10,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,10,99,111,109,112,105,108,97,116,105,111,110,32,101,114,114,111,114,115,32,97,115,32,97,32,96,98,97,100,97,114,103,96,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,10,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,96,110,111,109,97,116,99,104,96,46,10,10,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,10,10,45,32,42,42,96,97,110,99,104,111,114,101,100,96,42,42,32,45,32,76,105,109,105,116,115,32,91,96,114,117,110,47,51,96,93,40,96,114,117,110,47,51,96,41,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,10,32,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,96,97,110,99,104,111,114,101,100,96,44,32,111,114,32,116,117,114,110,101,100,32,111,117,116,32,116,111,32,98,101,10,32,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,10,32,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,96,117,110,97,110,99,104,111,114,101,100,96,32,111,112,116,105,111,110,46,10,10,45,32,42,42,96,103,108,111,98,97,108,96,42,42,32,45,32,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,96,103,96,32,105,110,32,80,101,114,108,41,46,32,69,97,99,104,10,32,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,96,116,58,108,105,115,116,47,48,96,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,10,32,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,96,99,97,112,116,117,114,101,96,46,32,84,104,101,10,32,32,96,67,97,112,116,117,114,101,100,96,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,96,116,58,108,105,115,116,47,48,96,32,111,102,32,96,116,58,108,105,115,116,47,48,96,115,32,119,104,101,110,10,32,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,10,10,32,32,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,96,103,108,111,98,97,108,96,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,10,32,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,96,103,108,111,98,97,108,96,32,105,115,32,115,112,101,99,105,102,105,101,100,44,10,32,32,91,96,114,117,110,47,51,96,93,40,96,114,117,110,47,51,96,41,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,10,32,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,10,32,32,96,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,96,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,10,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,10,32,32,96,96,96,10,10,32,32,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,10,10,32,32,45,32,42,42,65,116,32,111,102,102,115,101,116,32,96,48,96,42,42,32,45,32,84,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,96,40,124,97,116,41,96,32,102,105,114,115,116,32,109,97,116,99,104,32,97,116,32,116,104,101,10,32,32,32,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,96,99,97,116,96,44,32,103,105,118,105,110,103,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,32,96,91,123,48,44,48,125,44,123,48,44,48,125,93,96,32,40,116,104,101,10,32,32,32,32,115,101,99,111,110,100,32,96,123,48,44,48,125,96,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,10,32,32,32,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,10,10,32,32,45,32,42,42,65,116,32,111,102,102,115,101,116,32,96,48,96,32,119,105,116,104,32,96,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,96,42,42,32,45,32,84,104,101,32,115,101,97,114,99,104,32,105,115,10,32,32,32,32,114,101,116,114,105,101,100,32,119,105,116,104,32,111,112,116,105,111,110,115,32,96,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,96,32,97,116,32,116,104,101,32,115,97,109,101,32,112,111,115,105,116,105,111,110,44,10,32,32,32,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,10,32,32,32,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,96,97,96,41,46,10,10,32,32,45,32,42,42,65,116,32,111,102,102,115,101,116,32,96,49,96,42,42,32,45,32,84,104,101,32,115,101,97,114,99,104,32,114,101,115,117,108,116,115,32,105,110,32,96,91,123,49,44,48,125,44,123,49,44,48,125,93,96,44,32,115,111,32,116,104,105,115,32,115,101,97,114,99,104,32,105,115,10,32,32,32,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,10,10,32,32,45,32,42,42,65,116,32,111,102,102,115,101,116,32,96,49,96,32,119,105,116,104,32,96,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,96,42,42,32,45,32,65,108,116,101,114,110,97,116,105,118,101,32,96,97,98,96,32,105,115,10,32,32,32,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,92,91,92,123,49,44,50,92,125,44,92,123,49,44,50,92,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,10,32,32,32,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,10,10,32,32,45,32,42,42,65,116,32,111,102,102,115,101,116,32,96,51,96,42,42,32,45,32,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,10,32,32,32,32,96,91,123,51,44,48,125,44,123,51,44,48,125,93,96,46,10,10,32,32,45,32,42,42,65,116,32,111,102,102,115,101,116,32,96,49,96,32,119,105,116,104,32,96,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,96,42,42,32,45,32,84,104,105,115,32,103,105,118,101,115,32,110,111,32,114,101,115,117,108,116,10,32,32,32,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,10,32,32,32,32,99,111,109,112,108,101,116,101,46,10,10,32,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,10,32,32,96,96,96,10,10,45,32,42,42,96,110,111,116,101,109,112,116,121,96,42,42,32,45,32,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,10,32,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,10,32,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,10,10,32,32,95,69,120,97,109,112,108,101,58,95,10,10,32,32,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,10,32,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,10,10,32,32,96,96,96,116,101,120,116,10,32,32,97,63,98,63,10,32,32,96,96,96,10,10,32,32,87,105,116,104,32,111,112,116,105,111,110,32,96,110,111,116,101,109,112,116,121,96,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,91,96,114,117,110,47,51,96,93,40,96,114,117,110,47,51,96,41,32,115,101,97,114,99,104,101,115,10,32,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,10,10,45,32,42,42,96,110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116,96,42,42,32,45,32,76,105,107,101,32,96,110,111,116,101,109,112,116,121,96,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,10,32,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,10,32,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,92,75,46,10,10,32,32,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,96,110,111,116,101,109,112,116,121,96,32,111,114,32,96,110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116,96,44,32,98,117,116,32,105,116,32,100,111,101,115,10,32,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,10,32,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,96,47,103,96,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,10,32,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,10,32,32,111,102,102,115,101,116,32,119,105,116,104,32,96,110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116,96,32,97,110,100,32,96,97,110,99,104,111,114,101,100,96,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,10,32,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,10,10,45,32,42,42,96,110,111,116,98,111,108,96,42,42,32,45,32,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,10,32,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,10,32,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,96,109,117,108,116,105,108,105,110,101,96,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,10,32,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,10,32,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,92,65,46,10,10,45,32,42,42,96,110,111,116,101,111,108,96,42,42,32,45,32,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,10,32,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,10,32,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,10,32,32,96,109,117,108,116,105,108,105,110,101,96,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,10,32,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,92,90,10,32,32,111,114,32,92,92,122,46,10,10,45,32,42,42,96,114,101,112,111,114,116,95,101,114,114,111,114,115,96,42,42,32,45,32,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,10,32,32,91,96,114,117,110,47,51,96,93,40,96,114,117,110,47,51,96,41,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,10,32,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,10,32,32,97,115,32,97,110,32,101,114,114,111,114,32,116,117,112,108,101,46,10,10,32,32,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,10,10,32,32,45,32,42,42,96,109,97,116,99,104,95,108,105,109,105,116,96,42,42,32,45,32,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,10,32,32,32,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,10,32,32,32,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,96,123,101,114,114,111,114,44,32,109,97,116,99,104,95,108,105,109,105,116,125,96,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,10,32,32,32,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,10,32,32,32,32,114,101,103,97,114,100,101,100,32,97,115,32,97,32,96,110,111,109,97,116,99,104,96,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,10,32,32,32,32,98,117,116,32,98,121,32,115,112,101,99,105,102,121,105,110,103,32,96,114,101,112,111,114,116,95,101,114,114,111,114,115,96,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,10,32,32,32,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,10,10,32,32,45,32,42,42,96,109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110,96,42,42,32,45,32,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,96,109,97,116,99,104,95,108,105,109,105,116,96,44,10,32,32,32,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,10,32,32,32,32,109,111,114,101,32,116,105,109,101,115,32,116,104,97,110,32,116,104,101,32,96,109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110,96,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,10,32,32,32,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,96,109,97,116,99,104,95,108,105,109,105,116,96,32,97,110,100,10,32,32,32,32,96,109,97,116,99,104,95,108,105,109,105,116,95,100,101,102,97,117,108,116,96,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,10,32,32,32,32,96,109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110,96,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,96,109,97,116,99,104,95,108,105,109,105,116,96,32,101,114,114,111,114,10,32,32,32,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,10,32,32,32,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,10,32,32,32,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,10,32,32,32,32,91,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,93,40,96,109,58,114,101,35,109,111,100,117,108,101,45,112,99,114,101,45,114,101,103,117,108,97,114,45,101,120,112,114,101,115,115,105,111,110,45,100,101,116,97,105,108,115,96,41,41,32,111,114,32,98,121,10,32,32,32,32,115,112,101,99,105,102,121,105,110,103,32,111,112,116,105,111,110,115,32,116,111,32,91,96,114,117,110,47,51,96,93,40,96,114,117,110,47,51,96,41,46,10,10,32,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,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,10,32,32,100,111,99,117,109,101,110,116,97,116,105,111,110,58,10,10,32,32,62,32,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,32,32,62,32,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,32,32,62,32,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,32,32,62,32,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,32,32,62,32,117,110,108,105,109,105,116,101,100,32,114,101,112,101,97,116,115,46,10,32,32,62,10,32,32,62,32,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,32,32,62,32,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,32,32,62,32,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,32,32,62,32,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,32,32,62,32,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,32,32,62,32,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,10,10,32,32,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,10,32,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,10,32,32,105,110,116,111,32,116,104,101,32,69,114,108,97,110,103,32,86,77,46,10,10,32,32,62,32,35,35,35,35,32,78,111,116,101,32,123,58,32,46,105,110,102,111,32,125,10,32,32,62,10,32,32,62,32,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,10,32,32,62,32,34,108,111,110,103,32,114,117,110,110,105,110,103,32,66,73,70,115,34,46,32,91,96,114,117,110,47,51,96,93,40,96,114,117,110,47,51,96,41,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,10,32,32,62,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,10,32,32,62,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,10,10,45,32,42,42,96,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,96,42,42,32,45,32,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,10,32,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,10,32,32,116,111,32,96,109,97,116,99,104,95,108,105,109,105,116,96,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,10,10,32,32,62,32,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,32,32,62,32,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,32,32,62,32,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,32,32,62,32,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,32,32,62,32,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,32,32,62,32,109,97,116,99,104,95,108,105,109,105,116,46,10,32,32,62,10,32,32,62,32,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,32,32,62,32,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,32,32,62,32,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,10,10,32,32,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,10,32,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,10,32,32,104,101,97,112,44,32,110,111,116,32,67,32,115,116,97,99,107,46,10,10,32,32,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,10,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,32,32,123,109,97,116,99,104,44,91,123,48,44,49,52,125,44,123,48,44,49,51,125,93,125,10,32,32,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,32,32,110,111,109,97,116,99,104,10,32,32,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,32,32,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,10,32,32,96,96,96,10,10,32,32,84,104,105,115,32,111,112,116,105,111,110,32,97,110,100,32,111,112,116,105,111,110,32,96,109,97,116,99,104,95,108,105,109,105,116,96,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,10,32,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,10,32,32,119,105,116,104,32,116,104,101,115,101,32,108,105,109,105,116,115,46,10,10,45,32,42,42,96,123,111,102,102,115,101,116,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125,96,42,42,32,45,32,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,10,32,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,10,32,32,105,115,32,96,123,111,102,102,115,101,116,44,48,125,96,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,10,10,45,32,42,42,96,123,110,101,119,108,105,110,101,44,32,78,76,83,112,101,99,125,96,42,42,32,45,32,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,10,32,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,10,10,32,32,45,32,42,42,96,99,114,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,108,102,96,42,42,32,45,32,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,10,32,32,32,32,100,101,102,97,117,108,116,46,10,10,32,32,45,32,42,42,96,99,114,108,102,96,42,42,32,45,32,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,10,32,32,32,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,10,10,32,32,45,32,42,42,96,97,110,121,99,114,108,102,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,97,110,121,96,42,42,32,45,32,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,10,32,32,32,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,10,32,32,32,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,10,10,45,32,42,42,96,98,115,114,95,97,110,121,99,114,108,102,96,42,42,32,45,32,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,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,10,32,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,10,32,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,10,10,45,32,42,42,96,98,115,114,95,117,110,105,99,111,100,101,96,42,42,32,45,32,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,92,82,32,105,115,32,116,111,32,109,97,116,99,104,32,97,108,108,32,116,104,101,10,32,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,10,32,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,10,10,45,32,42,42,96,123,99,97,112,116,117,114,101,44,32,86,97,108,117,101,83,112,101,99,125,96,47,96,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,96,42,42,32,45,32,83,112,101,99,105,102,105,101,115,32,119,104,105,99,104,10,32,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,10,32,32,91,96,114,117,110,47,51,96,93,40,96,114,117,110,47,51,96,41,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,10,32,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,10,32,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,10,32,32,115,116,114,105,110,103,44,32,115,112,101,99,105,102,105,101,100,32,97,115,32,96,123,79,102,102,115,101,116,44,76,101,110,103,116,104,125,96,32,112,97,105,114,115,32,40,116,104,101,32,96,105,110,100,101,120,96,32,96,84,121,112,101,96,32,111,102,10,32,32,99,97,112,116,117,114,105,110,103,41,46,10,10,32,32,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,10,32,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,10,32,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,96,123,51,44,52,125,96,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,10,32,32,106,117,115,116,32,97,115,32,105,110,32,111,102,102,115,101,116,115,58,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,10,32,32,96,96,96,10,10,32,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,123,109,97,116,99,104,44,91,123,51,44,52,125,93,125,10,32,32,96,96,96,10,10,32,32,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,10,32,32,116,104,101,32,115,117,98,106,101,99,116,58,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,10,32,32,96,96,96,10,10,32,32,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,10,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,123,109,97,116,99,104,44,91,123,48,44,49,48,125,93,125,10,32,32,96,96,96,10,10,32,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,10,32,32,96,96,96,10,10,32,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,123,109,97,116,99,104,44,91,123,48,44,49,48,125,44,123,51,44,52,125,93,125,10,32,32,96,96,96,10,10,32,32,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,10,32,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,10,32,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46,10,10,32,32,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,10,10,32,32,45,32,42,42,96,86,97,108,117,101,83,112,101,99,96,42,42,32,45,32,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,10,32,32,32,32,96,86,97,108,117,101,83,112,101,99,96,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,10,32,32,32,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,10,32,32,32,32,115,117,98,112,97,116,116,101,114,110,115,32,116,111,32,114,101,116,117,114,110,46,10,10,32,32,32,32,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,10,10,32,32,32,32,45,32,42,42,96,97,108,108,96,42,42,32,45,32,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,10,32,32,32,32,32,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,10,10,32,32,32,32,45,32,42,42,96,97,108,108,95,110,97,109,101,115,96,42,42,32,45,32,65,108,108,32,95,110,97,109,101,100,95,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,10,32,32,32,32,32,32,97,32,96,116,58,108,105,115,116,47,48,96,32,111,102,32,97,108,108,32,116,104,101,32,110,97,109,101,115,32,95,105,110,32,97,108,112,104,97,98,101,116,105,99,97,108,32,111,114,100,101,114,95,32,119,97,115,32,115,112,101,99,105,102,105,101,100,46,32,84,104,101,10,32,32,32,32,32,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,96,105,110,115,112,101,99,116,47,50,96,46,10,10,32,32,32,32,45,32,42,42,96,102,105,114,115,116,96,42,42,32,45,32,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,10,32,32,32,32,32,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,10,32,32,32,32,32,32,97,114,101,32,100,105,115,99,97,114,100,101,100,46,10,10,32,32,32,32,45,32,42,42,96,97,108,108,95,98,117,116,95,102,105,114,115,116,96,42,42,32,45,32,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,10,32,32,32,32,32,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,10,32,32,32,32,32,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,10,32,32,32,32,32,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,10,32,32,32,32,32,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,96,108,105,115,116,96,32,111,114,10,32,32,32,32,32,32,96,98,105,110,97,114,121,96,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,10,32,32,32,32,32,32,119,97,121,32,116,111,32,111,112,116,105,109,105,122,101,46,10,10,32,32,32,32,45,32,42,42,96,110,111,110,101,96,42,42,32,45,32,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,10,32,32,32,32,32,32,96,109,97,116,99,104,96,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,10,32,32,32,32,32,32,105,110,115,116,101,97,100,32,111,102,32,116,104,101,32,96,123,109,97,116,99,104,44,32,108,105,115,116,40,41,125,96,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,10,32,32,32,32,32,32,116,104,101,32,115,97,109,101,32,98,101,104,97,118,105,111,114,46,10,10,32,32,32,32,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,10,32,32,32,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,10,32,32,32,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,10,32,32,32,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,96,116,58,97,116,111,109,47,48,96,115,10,32,32,32,32,111,114,32,96,116,58,115,116,114,105,110,103,47,48,96,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,10,32,32,32,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,10,10,32,32,32,32,96,96,96,116,101,120,116,10,32,32,32,32,34,46,42,40,97,98,99,100,41,46,42,34,10,32,32,32,32,96,96,96,10,10,32,32,32,32,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,10,32,32,32,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,10,10,32,32,32,32,96,96,96,101,114,108,97,110,103,10,32,32,32,32,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,10,32,32,32,32,96,96,96,10,10,32,32,32,32,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,10,32,32,32,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,10,32,32,32,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,10,10,32,32,32,32,96,96,96,101,114,108,97,110,103,10,32,32,32,32,123,109,97,116,99,104,44,91,123,51,44,52,125,93,125,10,32,32,32,32,96,96,96,10,10,32,32,32,32,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,10,32,32,32,32,110,97,109,101,100,32,39,70,79,79,39,58,10,10,32,32,32,32,96,96,96,116,101,120,116,10,32,32,32,32,34,46,42,40,63,60,70,79,79,62,97,98,99,100,41,46,42,34,10,32,32,32,32,96,96,96,10,10,32,32,32,32,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,10,32,32,32,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,99,97,108,108,58,10,10,32,32,32,32,96,96,96,101,114,108,97,110,103,10,32,32,32,32,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,10,32,32,32,32,96,96,96,10,10,32,32,32,32,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,10,32,32,32,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,10,10,32,32,32,32,96,96,96,101,114,108,97,110,103,10,32,32,32,32,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,10,32,32,32,32,96,96,96,10,10,32,32,32,32,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,10,10,32,32,32,32,96,96,96,101,114,108,97,110,103,10,32,32,32,32,123,109,97,116,99,104,44,91,123,51,44,52,125,93,125,10,32,32,32,32,96,96,96,10,10,32,32,32,32,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,10,32,32,32,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,10,32,32,32,32,116,104,101,32,116,121,112,101,32,105,115,32,96,105,110,100,101,120,96,44,32,116,104,101,32,116,117,112,108,101,32,96,123,45,49,44,48,125,96,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,10,32,32,32,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,10,32,32,32,32,40,96,98,105,110,97,114,121,96,32,97,110,100,32,96,108,105,115,116,96,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,10,32,32,32,32,114,101,115,112,101,99,116,105,118,101,108,121,46,10,10,32,32,45,32,42,42,96,84,121,112,101,96,42,42,32,45,32,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,10,32,32,32,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,96,105,110,100,101,120,96,32,105,115,32,117,115,101,100,46,10,10,32,32,32,32,96,84,121,112,101,96,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,10,10,32,32,32,32,45,32,42,42,96,105,110,100,101,120,96,42,42,32,45,32,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,10,32,32,32,32,32,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,10,32,32,32,32,32,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,96,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,96,32,111,114,10,32,32,32,32,32,32,96,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,96,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,10,32,32,32,32,32,32,96,117,110,105,99,111,100,101,96,32,114,101,115,117,108,116,115,32,105,110,32,95,98,121,116,101,45,111,114,105,101,110,116,101,100,95,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,10,32,32,32,32,32,32,95,85,84,70,45,56,32,101,110,99,111,100,101,100,95,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,96,123,48,44,50,125,96,32,99,97,110,32,116,104,101,114,101,102,111,114,101,32,114,101,112,114,101,115,101,110,116,10,32,32,32,32,32,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,96,117,110,105,99,111,100,101,96,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,10,32,32,32,32,32,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,10,32,32,32,32,32,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,10,32,32,32,32,32,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,10,10,32,32,32,32,45,32,42,42,96,108,105,115,116,96,42,42,32,45,32,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,10,32,32,32,32,32,32,96,116,58,115,116,114,105,110,103,47,48,96,115,41,46,32,73,116,32,111,112,116,105,111,110,32,96,117,110,105,99,111,100,101,96,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,92,67,10,32,32,32,32,32,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,10,32,32,32,32,32,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,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,10,32,32,32,32,32,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,96,108,105,115,116,96,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,10,32,32,32,32,32,32,111,102,32,116,117,112,108,101,115,32,116,104,97,116,32,96,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,96,32,99,97,110,32,114,101,116,117,114,110,44,32,110,97,109,101,108,121,10,32,32,32,32,32,32,116,104,114,101,101,45,116,117,112,108,101,115,32,119,105,116,104,32,116,97,103,32,96,105,110,99,111,109,112,108,101,116,101,96,32,111,114,32,96,101,114,114,111,114,96,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,10,32,32,32,32,32,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,10,32,32,32,32,32,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,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,10,10,32,32,32,32,45,32,42,42,96,98,105,110,97,114,121,96,42,42,32,45,32,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,10,32,32,32,32,32,32,96,117,110,105,99,111,100,101,96,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,92,67,32,115,101,113,117,101,110,99,101,32,105,115,10,32,32,32,32,32,32,117,115,101,100,32,116,111,103,101,116,104,101,114,32,119,105,116,104,32,96,117,110,105,99,111,100,101,96,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,10,10,32,32,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,10,32,32,114,101,116,117,114,110,101,100,32,97,115,32,116,104,101,32,116,117,112,108,101,32,96,123,45,49,44,48,125,96,32,119,104,101,110,32,96,116,121,112,101,96,32,105,115,32,96,105,110,100,101,120,96,46,32,85,110,97,115,115,105,103,110,101,100,32,115,117,98,112,97,116,116,101,114,110,115,10,32,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,10,32,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,10,10,32,32,96,96,96,116,101,120,116,10,32,32,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,10,32,32,96,96,96,10,10,32,32,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,10,32,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,10,32,32,96,40,40,63,60,70,79,79,62,97,98,100,100,41,124,97,40,46,46,100,41,41,96,32,105,115,32,115,117,98,112,97,116,116,101,114,110,32,105,110,100,101,120,32,49,44,32,96,40,63,60,70,79,79,62,97,98,100,100,41,96,32,105,115,32,115,117,98,112,97,116,116,101,114,110,10,32,32,105,110,100,101,120,32,50,44,32,97,110,100,32,96,40,46,46,100,41,96,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,10,32,32,115,116,114,105,110,103,58,10,10,32,32,96,96,96,116,101,120,116,10,32,32,34,65,66,67,97,98,99,100,65,66,67,34,10,32,32,96,96,96,10,10,32,32,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,10,32,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,10,32,32,96,97,40,46,46,100,41,96,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,10,32,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,58,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,10,32,32,96,96,96,10,10,32,32,83,101,116,116,105,110,103,32,116,104,101,32,99,97,112,116,117,114,101,32,96,84,121,112,101,96,32,116,111,32,96,98,105,110,97,114,121,96,32,103,105,118,101,115,58,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,10,32,32,96,96,96,10,10,32,32,72,101,114,101,32,116,104,101,32,101,109,112,116,121,32,98,105,110,97,114,121,32,40,96,60,60,62,62,96,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,10,32,32,96,98,105,110,97,114,121,96,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,10,32,32,96,60,60,62,62,96,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,10,10,32,32,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,10,32,32,110,101,99,101,115,115,97,114,121,44,32,117,115,101,32,116,104,101,32,96,116,121,112,101,96,32,96,105,110,100,101,120,96,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,10,32,32,69,114,108,97,110,103,32,99,111,100,101,46,10,10,32,32,87,104,101,110,32,111,112,116,105,111,110,32,96,103,108,111,98,97,108,96,32,105,115,32,115,112,101,99,105,105,102,105,101,100,44,32,116,104,101,32,96,99,97,112,116,117,114,101,96,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,10,32,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,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,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,10,32,32,96,96,96,10,10,32,32,103,105,118,101,115,10,10,32,32,96,96,96,101,114,108,97,110,103,10,32,32,123,109,97,116,99,104,44,91,91,34,97,34,93,44,91,34,98,34,93,93,125,10,32,32,96,96,96,10,10,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,10,96,99,111,109,112,105,108,101,47,50,96,46>>},#{specification => [{attribute,{765,2},spec,{{run,3},[{type,{765,10},bounded_fun,[{type,{765,10},'fun',[{type,{765,10},product,[{var,{765,11},'Subject'},{var,{765,20},'RE'},{var,{765,24},'Options'}]},{type,{765,36},union,[{type,{765,36},tuple,[{atom,{765,37},match},{var,{765,44},'Captured'}]},{atom,{766,36},match},{atom,{767,36},nomatch},{type,{768,8},tuple,[{atom,{768,9},error},{var,{768,16},'ErrType'}]}]}]},[{type,{769,7},constraint,[{atom,{769,7},is_subtype},[{var,{769,7},'Subject'},{type,{769,18},union,[{type,{769,18},iodata,[]},{remote_type,{769,29},[{atom,{769,29},unicode},{atom,{769,37},charlist},[]]}]}]]},{type,{770,7},constraint,[{atom,{770,7},is_subtype},[{var,{770,7},'RE'},{type,{770,13},union,[{user_type,{770,13},mp,[]},{type,{770,20},iodata,[]},{remote_type,{770,31},[{atom,{770,31},unicode},{atom,{770,39},charlist},[]]}]}]]},{type,{771,7},constraint,[{atom,{771,7},is_subtype},[{var,{771,7},'Options'},{user_type,{771,18},options,[]}]]},{type,{772,7},constraint,[{atom,{772,7},is_subtype},[{var,{772,7},'Captured'},{type,{772,19},union,[{type,{772,19},list,[{var,{772,20},'CaptureData'}]},{type,{772,35},list,[{type,{772,36},list,[{var,{772,37},'CaptureData'}]}]}]}]]},{type,{773,7},constraint,[{atom,{773,7},is_subtype},[{var,{773,7},'CaptureData'},{type,{773,22},union,[{type,{773,22},tuple,[{type,{773,23},integer,[]},{type,{773,34},integer,[]}]},{var,{774,22},'ListConversionData'},{type,{775,22},binary,[]}]}]]},{type,{776,7},constraint,[{atom,{776,7},is_subtype},[{var,{776,7},'ListConversionData'},{type,{776,29},union,[{type,{776,29},string,[]},{type,{777,29},tuple,[{atom,{777,30},error},{type,{777,37},string,[]},{type,{777,47},binary,[]}]},{type,{778,29},tuple,[{atom,{778,30},incomplete},{type,{778,42},string,[]},{type,{778,52},binary,[]}]}]}]]},{type,{779,7},constraint,[{atom,{779,7},is_subtype},[{var,{779,7},'ErrType'},{type,{779,18},union,[{atom,{779,18},match_limit},{atom,{779,32},match_limit_recursion},{type,{779,56},tuple,[{atom,{779,57},compile},{var,{779,67},'CompileErr'}]}]}]]},{type,{780,7},constraint,[{atom,{780,7},is_subtype},[{var,{780,7},'CompileErr'},{type,{780,21},tuple,[{ann_type,{780,22},[{var,{780,22},'ErrString'},{type,{780,35},string,[]}]},{ann_type,{780,45},[{var,{780,45},'Position'},{type,{780,57},non_neg_integer,[]}]}]}]]}]]}]}}]}},{{function,run,2},{246,1},[<<114,117,110,40,83,117,98,106,101,99,116,44,32,82,69,41>>],none,#{equiv => <<114,117,110,40,83,117,98,106,101,99,116,44,32,82,69,44,32,91,93,41>>}},{{function,compile,2},{89,2},[<<99,111,109,112,105,108,101,40,82,101,103,101,120,112,44,32,79,112,116,105,111,110,115,41>>],#{<<101,110>> => <<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,10,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,96,114,117,110,47,50,96,32,97,110,100,32,96,114,117,110,47,51,96,46,10,10,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,10,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,10,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,10,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,10,10,87,104,101,110,32,111,112,116,105,111,110,32,96,117,110,105,99,111,100,101,96,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,10,97,32,118,97,108,105,100,32,85,110,105,99,111,100,101,32,96,99,104,97,114,108,105,115,116,40,41,96,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,96,116,58,105,111,100,97,116,97,47,48,96,46,10,10,91,93,40,41,123,58,32,35,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,32,125,10,10,79,112,116,105,111,110,115,58,10,10,45,32,42,42,96,117,110,105,99,111,100,101,96,42,42,32,45,32,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,96,99,104,97,114,108,105,115,116,40,41,96,10,32,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,10,32,32,96,99,104,97,114,108,105,115,116,40,41,96,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,96,117,99,112,96,32,119,104,101,110,32,117,115,105,110,103,32,85,110,105,99,111,100,101,10,32,32,99,104,97,114,97,99,116,101,114,115,46,10,10,45,32,42,42,96,97,110,99,104,111,114,101,100,96,42,42,32,45,32,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,10,32,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,10,32,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,10,32,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,10,10,45,32,42,42,96,99,97,115,101,108,101,115,115,96,42,42,32,45,32,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,10,32,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,96,47,105,96,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,10,32,32,112,97,116,116,101,114,110,32,98,121,32,97,32,96,40,63,105,41,96,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,10,32,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,10,10,45,32,42,42,96,100,111,108,108,97,114,95,101,110,100,111,110,108,121,96,42,42,32,45,32,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,10,32,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,10,32,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,10,32,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,96,109,117,108,116,105,108,105,110,101,96,32,105,115,32,115,112,101,99,105,102,105,101,100,46,10,32,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,10,10,45,32,42,42,96,100,111,116,97,108,108,96,42,42,32,45,32,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,10,32,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,10,32,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,96,47,115,96,32,97,110,100,32,105,116,32,99,97,110,32,98,101,10,32,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,96,40,63,115,41,96,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,10,32,32,96,91,94,97,93,96,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,10,32,32,111,112,116,105,111,110,46,10,10,45,32,42,42,96,101,120,116,101,110,100,101,100,96,42,42,32,45,32,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,10,32,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,10,32,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,96,40,63,62,96,32,116,104,97,116,10,32,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,10,32,32,115,117,99,104,32,97,115,32,96,123,49,44,51,125,96,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,10,32,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,10,32,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,10,10,32,32,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,10,32,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,10,32,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,10,10,32,32,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,10,32,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,10,32,32,96,47,120,96,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,96,40,63,120,41,96,32,111,112,116,105,111,110,10,32,32,115,101,116,116,105,110,103,46,10,10,32,32,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,10,32,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,10,32,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,10,32,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,96,40,63,40,96,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,10,10,45,32,42,42,96,102,105,114,115,116,108,105,110,101,96,42,42,32,45,32,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,10,32,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,10,32,32,111,118,101,114,32,116,104,101,32,110,101,119,108,105,110,101,46,10,10,45,32,42,42,96,109,117,108,116,105,108,105,110,101,96,42,42,32,45,32,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,10,32,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,10,32,32,108,105,110,101,34,32,109,101,116,97,99,104,97,114,97,99,116,101,114,32,40,96,94,96,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,10,32,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,96,36,96,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,10,32,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,96,100,111,108,108,97,114,95,101,110,100,111,110,108,121,96,32,105,115,32,115,112,101,99,105,102,105,101,100,41,46,10,32,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,10,10,32,32,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,10,32,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,10,32,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,10,32,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,96,47,109,96,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,10,32,32,97,32,96,40,63,109,41,96,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,10,32,32,111,99,99,117,114,114,101,110,99,101,115,32,111,102,32,96,94,96,32,111,114,32,96,36,96,32,105,110,32,97,32,112,97,116,116,101,114,110,44,32,115,101,116,116,105,110,103,32,96,109,117,108,116,105,108,105,110,101,96,32,104,97,115,32,110,111,32,101,102,102,101,99,116,46,10,10,45,32,42,42,96,110,111,95,97,117,116,111,95,99,97,112,116,117,114,101,96,42,42,32,45,32,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,10,32,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,96,63,96,32,98,101,104,97,118,101,115,32,97,115,32,105,102,10,32,32,105,116,32,105,115,32,102,111,108,108,111,119,101,100,32,98,121,32,96,63,58,96,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,10,32,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,10,10,45,32,42,42,96,100,117,112,110,97,109,101,115,96,42,42,32,45,32,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,10,32,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,10,32,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,10,32,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,10,10,45,32,42,42,96,117,110,103,114,101,101,100,121,96,42,42,32,45,32,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,10,32,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,10,32,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,96,40,63,85,41,96,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,10,32,32,112,97,116,116,101,114,110,46,10,10,45,32,42,42,96,123,110,101,119,108,105,110,101,44,32,78,76,83,112,101,99,125,96,42,42,32,45,32,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,10,32,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,10,10,32,32,45,32,42,42,96,99,114,96,42,42,32,45,32,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,96,99,114,96,32,40,65,83,67,73,73,32,49,51,41,46,10,10,32,32,45,32,42,42,96,108,102,96,42,42,32,45,32,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,10,32,32,32,32,100,101,102,97,117,108,116,46,10,10,32,32,45,32,42,42,96,99,114,108,102,96,42,42,32,45,32,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,10,32,32,32,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,10,10,32,32,45,32,42,42,96,97,110,121,99,114,108,102,96,42,42,32,45,32,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,10,10,32,32,45,32,42,42,96,97,110,121,96,42,42,32,45,32,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,10,32,32,32,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,10,32,32,32,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,10,10,45,32,42,42,96,98,115,114,95,97,110,121,99,114,108,102,96,42,42,32,45,32,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,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,10,32,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,10,10,45,32,42,42,96,98,115,114,95,117,110,105,99,111,100,101,96,42,42,32,45,32,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,92,82,32,105,115,32,116,111,32,109,97,116,99,104,32,97,108,108,32,116,104,101,10,32,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,10,10,45,32,42,42,96,110,111,95,115,116,97,114,116,95,111,112,116,105,109,105,122,101,96,42,42,32,45,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,32,115,101,99,116,105,111,110,32,91,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,93,40,96,109,58,114,101,35,109,111,100,117,108,101,45,112,99,114,101,45,114,101,103,117,108,97,114,45,101,120,112,114,101,115,115,105,111,110,45,100,101,116,97,105,108,115,96,41,46,10,10,45,32,42,42,96,117,99,112,96,42,42,32,45,32,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,10,32,32,114,101,115,111,108,118,105,110,103,32,92,92,66,44,32,92,92,98,44,32,92,92,68,44,32,92,92,100,44,32,92,92,83,44,32,92,92,115,44,32,92,92,87,32,97,110,100,32,92,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,10,32,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,10,32,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,10,32,32,73,83,79,32,76,97,116,105,110,45,49,32,114,97,110,103,101,46,10,10,45,32,42,42,96,110,101,118,101,114,95,117,116,102,96,42,42,32,45,32,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,10,32,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,96,117,110,105,99,111,100,101,96,46,10,32,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>>},#{specification => [{attribute,{229,2},spec,{{compile,2},[{type,{229,14},bounded_fun,[{type,{229,14},'fun',[{type,{229,14},product,[{var,{229,15},'Regexp'},{var,{229,23},'Options'}]},{type,{229,35},union,[{type,{229,35},tuple,[{atom,{229,36},ok},{var,{229,40},'MP'}]},{type,{229,46},tuple,[{atom,{229,47},error},{var,{229,54},'ErrSpec'}]}]}]},[{type,{230,7},constraint,[{atom,{230,7},is_subtype},[{var,{230,7},'Regexp'},{type,{230,17},union,[{type,{230,17},iodata,[]},{remote_type,{230,28},[{atom,{230,28},unicode},{atom,{230,36},charlist},[]]}]}]]},{type,{231,7},constraint,[{atom,{231,7},is_subtype},[{var,{231,7},'Options'},{type,{231,18},list,[{var,{231,19},'Option'}]}]]},{type,{232,7},constraint,[{atom,{232,7},is_subtype},[{var,{232,7},'Option'},{user_type,{232,17},compile_option,[]}]]},{type,{233,7},constraint,[{atom,{233,7},is_subtype},[{var,{233,7},'MP'},{user_type,{233,13},mp,[]}]]},{type,{234,7},constraint,[{atom,{234,7},is_subtype},[{var,{234,7},'ErrSpec'},{type,{234,18},tuple,[{ann_type,{234,19},[{var,{234,19},'ErrString'},{type,{234,32},string,[]}]},{ann_type,{234,42},[{var,{234,42},'Position'},{type,{234,54},non_neg_integer,[]}]}]}]]}]]}]}}]}},{{function,compile,1},{80,2},[<<99,111,109,112,105,108,101,40,82,101,103,101,120,112,41>>],#{<<101,110>> => <<84,104,101,32,115,97,109,101,32,97,115,32,91,96,99,111,109,112,105,108,101,40,82,101,103,101,120,112,44,91,93,41,96,93,40,96,99,111,109,112,105,108,101,47,50,96,41>>},#{specification => [{attribute,{81,2},spec,{{compile,1},[{type,{81,14},bounded_fun,[{type,{81,14},'fun',[{type,{81,14},product,[{var,{81,15},'Regexp'}]},{type,{81,26},union,[{type,{81,26},tuple,[{atom,{81,27},ok},{var,{81,31},'MP'}]},{type,{81,37},tuple,[{atom,{81,38},error},{var,{81,45},'ErrSpec'}]}]}]},[{type,{82,7},constraint,[{atom,{82,7},is_subtype},[{var,{82,7},'Regexp'},{type,{82,17},iodata,[]}]]},{type,{83,7},constraint,[{atom,{83,7},is_subtype},[{var,{83,7},'MP'},{user_type,{83,13},mp,[]}]]},{type,{84,7},constraint,[{atom,{84,7},is_subtype},[{var,{84,7},'ErrSpec'},{type,{84,18},tuple,[{ann_type,{84,19},[{var,{84,19},'ErrString'},{type,{84,32},string,[]}]},{ann_type,{84,42},[{var,{84,42},'Position'},{type,{84,54},non_neg_integer,[]}]}]}]]}]]}]}}]}},{{function,version,0},{66,2},[<<118,101,114,115,105,111,110,40,41>>],#{<<101,110>> => <<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,10,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>>},#{specification => [{attribute,{71,2},spec,{{version,0},[{type,{71,14},'fun',[{type,{71,14},product,[]},{type,{71,20},binary,[]}]}]}}],since => <<79,84,80,32,50,48,46,48>>}}]}. \ No newline at end of file diff --git a/lib/stdlib/test/shell_docs_SUITE_data/shell_docs_SUITE.docs_v1 b/lib/stdlib/test/shell_docs_SUITE_data/shell_docs_SUITE.docs_v1 index 4c3f53de9d4a..5f1032916402 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/shell_docs_SUITE.docs_v1 +++ b/lib/stdlib/test/shell_docs_SUITE_data/shell_docs_SUITE.docs_v1 @@ -1 +1 @@ -{docs_v1,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>>,none,#{generated => true,otp_doc_vsn => {1,0,0}},[{{function,suite,0},{32,1},[<<115,117,105,116,101,47,48>>],none,#{}},{{function,all,0},{35,1},[<<97,108,108,47,48>>],none,#{}},{{function,groups,0},{38,1},[<<103,114,111,117,112,115,47,48>>],none,#{}},{{function,init_per_suite,1},{46,1},[<<105,110,105,116,95,112,101,114,95,115,117,105,116,101,47,49>>],none,#{signature => [{attribute,{43,2},spec,{{init_per_suite,1},[{type,{43,21},bounded_fun,[{type,{43,21},'fun',[{type,{43,21},product,[{var,{43,22},'Config1'}]},{var,{43,34},'Config2'}]},[{type,{44,7},constraint,[{atom,{44,7},is_subtype},[{var,{44,7},'Config1'},{type,{44,18},list,[{type,{44,23},tuple,[{type,{44,24},atom,[]},{type,{44,31},term,[]}]}]}]]},{type,{45,7},constraint,[{atom,{45,7},is_subtype},[{var,{45,7},'Config2'},{type,{45,18},list,[{type,{45,23},tuple,[{type,{45,24},atom,[]},{type,{45,31},term,[]}]}]}]]}]]}]}}]}},{{function,end_per_suite,1},{50,1},[<<101,110,100,95,112,101,114,95,115,117,105,116,101,47,49>>],none,#{}},{{function,init_per_group,2},{53,1},[<<105,110,105,116,95,112,101,114,95,103,114,111,117,112,47,50>>],none,#{}},{{function,end_per_group,2},{58,1},[<<101,110,100,95,112,101,114,95,103,114,111,117,112,47,50>>],none,#{}},{{function,render,1},{76,1},[<<114,101,110,100,101,114,47,49>>],none,#{}},{{function,update_render,0},{101,1},[<<117,112,100,97,116,101,95,114,101,110,100,101,114,47,48>>],none,#{}},{{function,update_render,1},{105,1},[<<117,112,100,97,116,101,95,114,101,110,100,101,114,47,49>>],none,#{}},{{function,render_smoke,1},{122,1},[<<114,101,110,100,101,114,95,115,109,111,107,101,47,49>>],none,#{}},{{function,render_prop,1},{175,1},[<<114,101,110,100,101,114,95,112,114,111,112,47,49>>],none,#{}},{{function,links,1},{180,1},[<<108,105,110,107,115,47,49>>],none,#{}},{{function,check_links,2},{199,1},[<<99,104,101,99,107,95,108,105,110,107,115,47,50>>],none,#{}},{{function,normalize,1},{233,1},[<<110,111,114,109,97,108,105,122,101,47,49>>],none,#{}},{{function,b2a,1},{245,1},[<<98,50,97,47,49>>],none,#{}},{{function,render_non_native,1},{252,1},[<<114,101,110,100,101,114,95,110,111,110,95,110,97,116,105,118,101,47,49>>],none,#{}},{{function,render_all,1},{270,1},[<<114,101,110,100,101,114,95,97,108,108,47,49>>],none,#{}},{{function,render_module,2},{289,1},[<<114,101,110,100,101,114,95,109,111,100,117,108,101,47,50>>],none,#{}},{{function,sanitize,1},{324,1},[<<115,97,110,105,116,105,122,101,47,49>>],none,#{}},{{function,docsmap,1},{331,1},[<<100,111,99,115,109,97,112,47,49>>],none,#{}}]}. \ No newline at end of file +{docs_v1,{22,2},erlang,<<116,101,120,116,47,109,97,114,107,100,111,119,110>>,hidden,#{otp_doc_vsn => {1,0,0}},[{{function,execute,3},{529,1},[<<101,120,101,99,117,116,101,40,73,116,101,109,44,32,70,44,32,80,105,100,41>>],none,#{}},{{function,render_all,1},{436,1},[<<114,101,110,100,101,114,95,97,108,108,40,68,105,114,41>>],none,#{}},{{function,render_non_native,1},{417,1},[<<114,101,110,100,101,114,95,110,111,110,95,110,97,116,105,118,101,40,67,111,110,102,105,103,41>>],none,#{}},{{function,normalize,1},{398,1},[<<110,111,114,109,97,108,105,122,101,40,67,111,110,102,105,103,41>>],none,#{}},{{function,links,1},{342,1},[<<108,105,110,107,115,40,67,111,110,102,105,103,41>>],none,#{}},{{function,render_prop,1},{337,1},[<<114,101,110,100,101,114,95,112,114,111,112,40,67,111,110,102,105,103,41>>],none,#{}},{{function,render_callback,1},{242,1},[<<114,101,110,100,101,114,95,99,97,108,108,98,97,99,107,40,67,111,110,102,105,103,41>>],none,#{}},{{function,render_type,1},{219,1},[<<114,101,110,100,101,114,95,116,121,112,101,40,67,111,110,102,105,103,41>>],none,#{}},{{function,render_function,1},{190,1},[<<114,101,110,100,101,114,95,102,117,110,99,116,105,111,110,40,67,111,110,102,105,103,41>>],none,#{}},{{function,update_render,1},{115,1},[<<117,112,100,97,116,101,95,114,101,110,100,101,114,40,68,97,116,97,68,105,114,41>>],none,#{}},{{function,update_render,0},{111,1},[<<117,112,100,97,116,101,95,114,101,110,100,101,114,40,41>>],none,#{}},{{function,render,1},{87,1},[<<114,101,110,100,101,114,40,67,111,110,102,105,103,41>>],none,#{}},{{function,end_per_group,2},{69,1},[<<101,110,100,95,112,101,114,95,103,114,111,117,112,40,71,114,111,117,112,78,97,109,101,44,32,67,111,110,102,105,103,41>>],none,#{}},{{function,init_per_group,2},{64,1},[<<105,110,105,116,95,112,101,114,95,103,114,111,117,112,47,50>>],none,#{}},{{function,end_per_suite,1},{61,1},[<<101,110,100,95,112,101,114,95,115,117,105,116,101,40,67,111,110,102,105,103,41>>],none,#{}},{{function,init_per_suite,1},{57,1},[<<105,110,105,116,95,112,101,114,95,115,117,105,116,101,40,67,111,110,102,105,103,49,41>>],none,#{}},{{function,groups,0},{46,1},[<<103,114,111,117,112,115,40,41>>],none,#{}},{{function,all,0},{40,1},[<<97,108,108,40,41>>],none,#{}},{{function,suite,0},{37,1},[<<115,117,105,116,101,40,41>>],none,#{}}]}. \ 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 c1bd67ad99c9..864ffc6455e3 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,[],[<<70,117,110,99,116,105,111,110,115,32,102,111,114,32,109,97,110,105,112,117,108,97,116,105,110,103,32,115,101,116,115,32,111,102,32,115,101,116,115,46>>]},{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>>],#{<<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,{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>>}},{{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>>],#{},#{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>>,equiv => {function,a_function,2}}},{{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>>],#{<<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,{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>>}},{{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>>],#{},#{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>>,equiv => {function,digraph_to_family,2}}},{{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>>],#{<<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,{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>>}},{{function,family,1},[{file,[115,111,102,115,46,101,114,108]},{location,290}],[<<102,97,109,105,108,121,47,49>>],#{},#{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>>,equiv => {function,family,2}}},{{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>>],#{<<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,{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>>}},{{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>>],#{},#{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>>,equiv => {function,family_to_digraph,2}}},{{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>>],#{<<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,{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>>}},{{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>>],#{},#{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>>,equiv => {function,from_term,2}}},{{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>>],#{<<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,{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>>}},{{function,relation,1},[{file,[115,111,102,115,46,101,114,108]},{location,243}],[<<114,101,108,97,116,105,111,110,47,49>>],#{},#{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>>,equiv => {function,relation,2}}},{{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>>],#{<<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,{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>>}},{{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>>],#{},#{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>>,equiv => {function,relative_product,2}}},{{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>>],#{<<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,{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>>}},{{function,set,1},[{file,[115,111,102,115,46,101,114,108]},{location,195}],[<<115,101,116,47,49>>],#{},#{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>>,equiv => {function,set,2}}},{{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 +{docs_v1,[{file,[46,46,47,100,111,99,47,115,114,99,47,115,111,102,115,46,109,100]},{location,{1,1}}],erlang,<<116,101,120,116,47,109,97,114,107,100,111,119,110>>,#{<<101,110>> => <<70,117,110,99,116,105,111,110,115,32,102,111,114,32,109,97,110,105,112,117,108,97,116,105,110,103,32,115,101,116,115,32,111,102,32,115,101,116,115,46,10,10,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,10,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,10,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,10,10,84,104,101,32,100,97,116,97,32,114,101,112,114,101,115,101,110,116,105,110,103,32,96,115,111,102,115,96,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,10,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,10,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,10,91,100,97,116,97,32,116,121,112,101,115,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,110,111,95,117,115,101,114,95,116,121,112,101,115,96,41,46,32,65,110,121,32,99,111,100,101,32,97,115,115,117,109,105,110,103,10,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,10,10,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,10,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,10,116,104,105,115,32,105,115,32,100,101,110,111,116,101,100,32,66,194,160,61,32,92,123,120,194,160,105,110,194,160,65,194,160,58,32,83,40,120,41,92,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,10,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,10,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,10,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,92,123,120,194,160,58,32,83,40,120,41,92,125,46,10,10,45,32,84,104,101,32,95,117,110,111,114,100,101,114,101,100,32,115,101,116,95,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,10,32,32,92,123,97,44,194,160,98,44,194,160,99,92,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,10,10,32,32,84,104,101,32,95,111,114,100,101,114,101,100,32,112,97,105,114,95,32,111,102,32,97,32,97,110,100,32,98,44,32,119,105,116,104,32,102,105,114,115,116,32,95,99,111,111,114,100,105,110,97,116,101,95,32,97,32,97,110,100,32,115,101,99,111,110,100,32,99,111,111,114,100,105,110,97,116,101,10,32,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,95,111,114,100,101,114,101,100,32,115,101,116,95,32,111,102,32,116,119,111,32,101,108,101,109,101,110,116,115,46,32,73,110,10,32,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,10,32,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,10,10,32,32,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,10,32,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,10,10,45,32,84,104,101,32,95,101,109,112,116,121,32,115,101,116,95,32,99,111,110,116,97,105,110,115,32,110,111,32,101,108,101,109,101,110,116,115,46,10,10,32,32,83,101,116,32,65,32,105,115,32,95,101,113,117,97,108,95,123,58,32,35,101,113,117,97,108,32,125,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,10,32,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,10,32,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,10,10,32,32,83,101,116,32,66,32,105,115,32,97,32,95,115,117,98,115,101,116,95,123,58,32,35,115,117,98,115,101,116,32,125,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,10,32,32,99,111,110,116,97,105,110,115,46,10,10,32,32,84,104,101,32,95,117,110,105,111,110,95,123,58,32,35,117,110,105,111,110,32,125,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,10,32,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,10,10,32,32,84,104,101,32,95,105,110,116,101,114,115,101,99,116,105,111,110,95,123,58,32,35,105,110,116,101,114,115,101,99,116,105,111,110,32,125,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,10,32,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,10,10,32,32,84,119,111,32,115,101,116,115,32,97,114,101,32,95,100,105,115,106,111,105,110,116,95,123,58,32,35,100,105,115,106,111,105,110,116,32,125,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,10,10,32,32,84,104,101,32,95,100,105,102,102,101,114,101,110,99,101,95,123,58,32,35,100,105,102,102,101,114,101,110,99,101,32,125,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,10,32,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,10,10,32,32,84,104,101,32,95,115,121,109,109,101,116,114,105,99,32,100,105,102,102,101,114,101,110,99,101,95,123,58,32,35,115,121,109,109,101,116,114,105,99,95,100,105,102,102,101,114,101,110,99,101,32,125,32,111,102,32,116,119,111,32,115,101,116,115,32,105,115,32,116,104,101,32,115,101,116,10,32,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,10,32,32,98,111,116,104,46,10,10,32,32,84,104,101,32,95,117,110,105,111,110,95,123,58,32,35,117,110,105,111,110,95,110,32,125,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,10,32,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,10,10,32,32,84,104,101,32,95,105,110,116,101,114,115,101,99,116,105,111,110,95,123,58,32,35,105,110,116,101,114,115,101,99,116,105,111,110,95,110,32,125,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,10,32,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,10,10,45,32,84,104,101,32,95,67,97,114,116,101,115,105,97,110,32,112,114,111,100,117,99,116,95,123,58,32,35,67,97,114,116,101,115,105,97,110,95,112,114,111,100,117,99,116,32,125,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,10,32,32,88,194,160,195,151,194,160,89,44,32,105,115,32,116,104,101,32,115,101,116,32,92,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,92,125,46,10,10,32,32,65,32,95,114,101,108,97,116,105,111,110,95,123,58,32,35,114,101,108,97,116,105,111,110,32,125,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,10,32,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,10,32,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,10,32,32,119,101,108,108,46,10,10,32,32,84,104,101,32,95,100,111,109,97,105,110,95,123,58,32,35,100,111,109,97,105,110,32,125,32,111,102,32,82,32,105,115,32,116,104,101,32,115,101,116,32,92,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,92,125,46,10,10,32,32,84,104,101,32,95,114,97,110,103,101,95,123,58,32,35,114,97,110,103,101,32,125,32,111,102,32,82,32,105,115,32,116,104,101,32,115,101,116,32,92,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,92,125,46,10,10,32,32,84,104,101,32,95,99,111,110,118,101,114,115,101,95,123,58,32,35,99,111,110,118,101,114,115,101,32,125,32,111,102,32,82,32,105,115,32,116,104,101,32,115,101,116,32,92,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,10,32,32,40,120,44,194,160,121,41,194,160,105,110,194,160,82,92,125,46,10,10,32,32,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,95,105,109,97,103,101,95,123,58,32,35,105,109,97,103,101,32,125,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,92,123,121,194,160,58,10,32,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,92,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,95,105,110,118,101,114,115,101,32,105,109,97,103,101,95,123,58,10,32,32,35,105,110,118,101,114,115,101,95,105,109,97,103,101,32,125,32,111,102,32,66,32,105,115,32,116,104,101,32,115,101,116,32,92,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,92,125,46,10,10,32,32,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,95,114,101,108,97,116,105,118,101,10,32,32,112,114,111,100,117,99,116,95,123,58,32,35,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,32,125,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,10,32,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,10,32,32,120,194,160,82,194,160,121,32,97,110,100,32,121,194,160,83,194,160,122,46,10,10,32,32,84,104,101,32,95,114,101,115,116,114,105,99,116,105,111,110,95,123,58,32,35,114,101,115,116,114,105,99,116,105,111,110,32,125,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,10,32,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,10,10,32,32,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,95,101,120,116,101,110,115,105,111,110,95,123,58,32,35,101,120,116,101,110,115,105,111,110,32,125,32,111,102,32,83,10,32,32,116,111,32,88,46,10,10,32,32,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,95,105,110,95,32,88,46,10,10,32,32,84,104,101,32,95,102,105,101,108,100,95,123,58,32,35,102,105,101,108,100,32,125,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,10,32,32,97,110,100,32,116,104,101,32,114,97,110,103,101,32,111,102,32,82,46,10,10,32,32,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,10,32,32,120,194,160,61,194,160,121,44,32,116,104,101,110,32,83,32,105,115,32,116,104,101,32,95,115,116,114,105,99,116,95,123,58,32,35,115,116,114,105,99,116,95,114,101,108,97,116,105,111,110,32,125,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,10,32,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,10,32,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,95,119,101,97,107,95,123,58,32,35,119,101,97,107,95,114,101,108,97,116,105,111,110,32,125,32,114,101,108,97,116,105,111,110,32,99,111,114,114,101,115,112,111,110,100,105,110,103,10,32,32,116,111,32,83,46,10,10,32,32,65,32,114,101,108,97,116,105,111,110,32,82,32,105,110,32,88,32,105,115,32,95,114,101,102,108,101,120,105,118,101,95,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,10,32,32,95,115,121,109,109,101,116,114,105,99,95,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,95,116,114,97,110,115,105,116,105,118,101,95,32,105,102,32,120,194,160,82,194,160,121,32,97,110,100,10,32,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,10,10,45,32,65,32,95,102,117,110,99,116,105,111,110,95,123,58,32,35,102,117,110,99,116,105,111,110,32,125,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,10,32,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,10,32,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,10,32,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,10,32,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,10,10,32,32,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,10,32,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,10,10,32,32,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,10,32,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,10,10,32,32,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,10,32,32,95,105,110,118,101,114,115,101,95,123,58,32,35,105,110,118,101,114,115,101,32,125,32,111,102,32,70,46,10,10,32,32,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,95,99,111,109,112,111,115,105,116,101,95,123,58,10,32,32,35,99,111,109,112,111,115,105,116,101,32,125,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,10,10,45,32,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,10,32,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,95,102,97,109,105,108,121,95,46,10,10,32,32,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,95,105,110,100,101,120,32,115,101,116,95,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,10,32,32,95,105,110,100,101,120,101,100,32,115,101,116,95,46,10,10,32,32,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,92,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,10,32,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,10,10,32,32,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,95,102,97,109,105,108,121,32,111,102,10,32,32,115,117,98,115,101,116,115,95,123,58,32,35,102,97,109,105,108,121,32,125,32,111,102,32,88,46,10,10,32,32,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,10,32,32,95,117,110,105,111,110,32,111,102,32,116,104,101,32,102,97,109,105,108,121,95,32,120,46,10,10,32,32,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,95,105,110,116,101,114,115,101,99,116,105,111,110,32,111,102,32,116,104,101,10,32,32,102,97,109,105,108,121,95,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,10,10,32,32,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,10,32,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,10,32,32,111,102,32,115,117,98,115,101,116,115,46,10,10,45,32,65,32,95,112,97,114,116,105,116,105,111,110,95,123,58,32,35,112,97,114,116,105,116,105,111,110,32,125,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,10,32,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,10,10,32,32,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,95,101,113,117,105,118,97,108,101,110,99,101,32,114,101,108,97,116,105,111,110,95,32,105,102,32,105,116,32,105,115,32,114,101,102,108,101,120,105,118,101,44,10,32,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,10,10,32,32,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,10,32,32,95,101,113,117,105,118,97,108,101,110,99,101,32,99,108,97,115,115,95,123,58,32,35,101,113,117,105,118,97,108,101,110,99,101,95,99,108,97,115,115,32,125,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,10,32,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,10,32,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,10,32,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,10,32,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,10,10,32,32,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,95,99,97,110,111,110,105,99,97,108,32,109,97,112,95,123,58,32,35,99,97,110,111,110,105,99,97,108,95,109,97,112,32,125,10,32,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,10,10,45,32,91,93,40,41,123,58,32,35,98,105,110,97,114,121,95,114,101,108,97,116,105,111,110,32,125,32,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,10,32,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,95,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,95,46,10,10,32,32,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,92,91,49,93,44,194,160,46,46,46,44,194,160,120,92,91,110,93,41,32,97,110,32,95,40,110,45,97,114,121,41,32,114,101,108,97,116,105,111,110,95,123,58,10,32,32,35,110,95,97,114,121,95,114,101,108,97,116,105,111,110,32,125,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,91,93,40,41,123,58,10,32,32,35,67,97,114,116,101,115,105,97,110,95,112,114,111,100,117,99,116,95,116,117,112,108,101,32,125,32,67,97,114,116,101,115,105,97,110,32,112,114,111,100,117,99,116,32,88,92,91,49,93,194,160,195,151,194,160,46,46,46,194,160,195,151,194,160,88,92,91,110,93,44,32,119,104,101,114,101,32,120,92,91,105,93,10,32,32,105,115,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32,88,92,91,105,93,44,32,49,194,160,60,61,194,160,105,194,160,60,61,194,160,110,46,10,10,32,32,84,104,101,32,95,112,114,111,106,101,99,116,105,111,110,95,123,58,32,35,112,114,111,106,101,99,116,105,111,110,32,125,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,10,32,32,116,104,101,32,115,101,116,32,92,123,120,92,91,105,93,194,160,58,32,40,120,92,91,49,93,44,194,160,46,46,46,44,194,160,120,92,91,105,93,44,194,160,46,46,46,44,194,160,120,92,91,110,93,41,32,105,110,32,82,32,102,111,114,32,115,111,109,101,10,32,32,120,92,91,106,93,194,160,105,110,194,160,88,92,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,92,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,10,32,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,10,32,32,111,102,32,82,44,32,114,101,115,112,101,99,116,105,118,101,108,121,46,10,10,32,32,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,10,32,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,92,91,49,93,44,194,160,46,46,46,44,194,160,82,92,91,110,93,41,32,111,102,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,10,32,32,102,114,111,109,32,88,32,116,111,32,89,92,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,92,91,49,93,194,160,195,151,194,160,46,46,46,194,160,195,151,194,160,89,92,91,110,93,41,32,116,111,32,90,46,32,84,104,101,10,32,32,95,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116,95,123,58,32,35,116,117,112,108,101,95,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,32,125,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,10,32,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,10,32,32,101,108,101,109,101,110,116,32,121,92,91,105,93,32,105,110,32,89,92,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,92,91,105,93,194,160,121,92,91,105,93,32,97,110,100,10,32,32,40,121,92,91,49,93,44,194,160,46,46,46,44,194,160,121,92,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,92,91,49,93,44,194,160,46,46,46,44,194,160,82,92,91,110,93,41,32,111,102,10,32,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,32,102,114,111,109,32,88,92,91,105,93,32,116,111,32,89,92,91,105,93,32,97,110,100,32,83,32,97,32,115,117,98,115,101,116,32,111,102,32,88,92,91,49,93,194,160,195,151,194,160,46,46,46,194,160,195,151,194,160,88,92,91,110,93,46,10,32,32,84,104,101,32,95,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,95,123,58,32,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,32,125,32,111,102,32,84,82,32,97,110,100,32,83,32,105,115,10,32,32,100,101,102,105,110,101,100,32,116,111,32,98,101,32,116,104,101,32,115,101,116,32,92,123,122,194,160,58,32,122,194,160,61,32,40,40,120,92,91,49,93,44,194,160,46,46,46,44,194,160,120,92,91,110,93,41,44,32,40,121,92,91,49,93,44,46,46,46,44,121,92,91,110,93,41,41,32,102,111,114,10,32,32,115,111,109,101,32,40,120,92,91,49,93,44,194,160,46,46,46,44,194,160,120,92,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,92,91,105,93,44,194,160,121,92,91,105,93,41,32,105,110,32,82,92,91,105,93,44,10,32,32,49,194,160,60,61,194,160,105,194,160,60,61,194,160,110,92,125,46,10,10,32,32,84,104,101,32,95,110,97,116,117,114,97,108,32,106,111,105,110,95,123,58,32,35,110,97,116,117,114,97,108,95,106,111,105,110,32,125,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,10,32,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,92,123,122,194,160,58,32,122,194,160,61,10,32,32,40,120,92,91,49,93,44,194,160,46,46,46,44,194,160,120,92,91,110,93,44,194,160,32,121,92,91,49,93,44,194,160,46,46,46,44,194,160,121,92,91,106,45,49,93,44,194,160,121,92,91,106,43,49,93,44,194,160,46,46,46,44,194,160,121,92,91,109,93,41,32,102,111,114,32,115,111,109,101,10,32,32,40,120,92,91,49,93,44,194,160,46,46,46,44,194,160,120,92,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,92,91,49,93,44,194,160,46,46,46,44,194,160,121,92,91,109,93,41,194,160,105,110,194,160,83,32,115,117,99,104,32,116,104,97,116,10,32,32,120,92,91,105,93,194,160,61,194,160,121,92,91,106,93,92,125,46,10,10,45,32,91,93,40,41,123,58,32,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110,32,125,32,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,10,32,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,10,32,32,116,104,97,116,58,10,10,32,32,45,32,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,92,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,10,32,32,32,32,40,95,97,116,111,109,105,99,32,115,101,116,115,95,41,46,10,32,32,45,32,40,92,91,39,92,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,95,117,110,116,121,112,101,100,32,101,109,112,116,121,32,115,101,116,95,41,46,10,32,32,45,32,70,111,114,32,101,118,101,114,121,32,116,117,112,108,101,32,84,194,160,61,32,92,123,84,92,91,49,93,44,194,160,46,46,46,44,194,160,84,92,91,110,93,92,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,10,32,32,32,32,92,123,88,92,91,49,93,44,194,160,46,46,46,44,194,160,88,92,91,110,93,92,125,44,32,105,102,32,40,84,92,91,105,93,44,194,160,88,92,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,10,32,32,32,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,95,111,114,100,101,114,101,100,32,115,101,116,115,95,41,46,10,32,32,45,32,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,10,32,32,32,32,92,91,88,91,49,93,44,194,160,46,46,46,44,194,160,88,92,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,92,91,105,93,41,32,98,101,108,111,110,103,115,32,116,111,32,83,101,116,115,10,32,32,32,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,92,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,95,116,121,112,101,100,32,117,110,111,114,100,101,114,101,100,10,32,32,32,32,115,101,116,115,95,41,46,10,10,32,32,65,110,32,95,101,120,116,101,114,110,97,108,32,115,101,116,95,123,58,32,35,101,120,116,101,114,110,97,108,95,115,101,116,32,125,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,10,10,32,32,65,32,95,116,121,112,101,95,123,58,32,35,116,121,112,101,32,125,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,10,10,32,32,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,95,118,97,108,105,100,32,116,121,112,101,95,123,58,32,35,118,97,108,105,100,95,116,121,112,101,32,125,32,111,102,10,32,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,96,102,114,111,109,95,116,101,114,109,47,50,96,32,99,114,101,97,116,101,115,32,97,10,32,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,10,10,32,32,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,10,32,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,10,10,32,32,45,32,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,10,32,32,45,32,83,101,116,40,92,123,84,92,91,49,93,44,194,160,46,46,46,44,194,160,84,92,91,110,93,92,125,44,194,160,92,123,88,92,91,49,93,44,194,160,46,46,46,44,32,194,160,88,92,91,110,93,92,125,41,194,160,61,10,32,32,32,32,40,83,101,116,40,84,92,91,49,93,44,194,160,88,92,91,49,93,41,44,194,160,46,46,46,44,194,160,32,83,101,116,40,84,92,91,110,93,44,194,160,88,92,91,110,93,41,41,10,32,32,45,32,83,101,116,40,92,91,84,93,44,194,160,92,91,88,91,49,93,44,194,160,46,46,46,44,194,160,88,92,91,110,93,93,41,194,160,61,32,92,123,83,101,116,40,84,44,194,160,88,92,91,49,93,41,44,194,160,46,46,46,44,194,160,83,101,116,40,84,44,194,160,88,92,91,110,93,41,92,125,10,32,32,45,32,83,101,116,40,92,91,84,93,44,194,160,91,93,41,194,160,61,32,92,123,92,125,10,10,32,32,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,10,32,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,96,117,110,105,111,110,47,50,96,32,119,105,116,104,10,32,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,10,32,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,10,10,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,10,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,10,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,10,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,10,112,114,111,100,117,99,116,44,32,96,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,50,96,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,10,114,101,108,97,116,105,111,110,115,32,98,121,32,109,97,116,99,104,105,110,103,32,92,91,92,123,65,44,66,92,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,10,115,97,121,41,44,32,97,110,100,32,92,91,92,123,67,44,68,92,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,10,102,97,99,116,32,116,104,97,116,32,92,91,92,123,65,44,66,92,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,10,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,10,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,10,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,10,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,10,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,92,91,39,92,95,39,93,44,10,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,10,10,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,96,100,114,101,115,116,114,105,99,116,105,111,110,47,51,96,44,32,96,102,97,109,105,108,121,95,112,114,111,106,101,99,116,105,111,110,47,50,96,44,10,96,112,97,114,116,105,116,105,111,110,47,50,96,44,32,96,112,97,114,116,105,116,105,111,110,95,102,97,109,105,108,121,47,50,96,44,32,96,112,114,111,106,101,99,116,105,111,110,47,50,96,44,32,96,114,101,115,116,114,105,99,116,105,111,110,47,51,96,44,10,96,115,117,98,115,116,105,116,117,116,105,111,110,47,50,96,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,10,97,32,103,105,118,101,110,32,117,110,111,114,100,101,114,101,100,32,115,101,116,46,32,91,93,40,41,123,58,32,35,115,101,116,95,102,117,110,32,125,32,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,10,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,10,96,123,101,120,116,101,114,110,97,108,44,194,160,70,117,110,125,96,44,32,111,114,32,97,110,32,105,110,116,101,103,101,114,58,10,10,45,32,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,10,32,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,10,45,32,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,96,123,101,120,116,101,114,110,97,108,44,32,70,117,110,125,96,44,32,70,117,110,32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,116,104,101,10,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,32,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,10,45,32,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,10,32,32,96,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,96,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,10,32,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,10,10,69,120,97,109,112,108,101,115,32,111,102,32,83,101,116,70,117,110,115,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,10,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,10,10,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,10,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,10,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,10,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,96,102,114,111,109,95,101,120,116,101,114,110,97,108,47,50,96,44,10,96,105,115,95,101,109,112,116,121,95,115,101,116,47,49,96,44,32,96,105,115,95,115,101,116,47,49,96,44,32,96,105,115,95,115,111,102,115,95,115,101,116,47,49,96,44,32,96,116,111,95,101,120,116,101,114,110,97,108,47,49,96,32,96,116,121,112,101,47,49,96,46,10,10,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,96,98,97,100,97,114,103,96,44,32,96,98,97,100,95,102,117,110,99,116,105,111,110,96,44,10,111,114,32,96,116,121,112,101,95,109,105,115,109,97,116,99,104,96,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,10,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,10,10,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,96,61,61,47,50,96,32,105,115,32,117,115,101,100,46,10,10,35,35,32,83,101,101,32,65,108,115,111,10,10,96,109,58,100,105,99,116,96,44,32,96,109,58,100,105,103,114,97,112,104,96,44,32,96,109,58,111,114,100,100,105,99,116,96,44,32,96,109,58,111,114,100,115,101,116,115,96,44,32,96,109,58,115,101,116,115,96>>},#{otp_doc_vsn => {1,0,0}},[{{type,tuple_of,1},{145,2},[<<116,117,112,108,101,95,111,102,40,84,41>>],#{<<101,110>> => <<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,96,84,96,46>>},#{exported => false,specification => [{attribute,{146,2},type,{tuple_of,{type,{146,23},tuple,any},[{var,{146,16},'_T'}]}}]}},{{type,type,0},{142,2},[<<116,121,112,101,40,41>>],#{<<101,110>> => <<65,32,91,116,121,112,101,93,40,96,109,58,115,111,102,115,35,116,121,112,101,96,41,46>>},#{exported => true,specification => [{attribute,{143,2},type,{type,{type,{143,17},term,[]},[]}}]}},{{type,spec_fun,0},{140,2},[<<115,112,101,99,95,102,117,110,40,41>>],none,#{exported => true}},{{type,set_fun,0},{136,2},[<<115,101,116,95,102,117,110,40,41>>],#{<<101,110>> => <<65,32,91,83,101,116,70,117,110,93,40,96,109,58,115,111,102,115,35,115,101,116,95,102,117,110,96,41,46>>},#{exported => true,specification => [{attribute,{137,2},type,{set_fun,{type,{137,20},union,[{type,{137,20},pos_integer,[]},{type,{138,20},tuple,[{atom,{138,21},external},{type,{138,35},'fun',[{type,{138,35},product,[{user_type,{138,36},external_set,[]}]},{user_type,{138,55},external_set,[]}]}]},{type,{139,24},'fun',[{type,{139,24},product,[{user_type,{139,25},anyset,[]}]},{user_type,{139,38},anyset,[]}]}]},[]}}]}},{{type,set_of_sets,0},{134,2},[<<115,101,116,95,111,102,95,115,101,116,115,40,41>>],#{<<101,110>> => <<65,110,32,91,117,110,111,114,100,101,114,101,100,32,115,101,116,93,40,96,109,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110,96,41,32,111,102,32,117,110,111,114,100,101,114,101,100,32,115,101,116,115,46>>},#{exported => true,specification => [{attribute,{135,2},type,{set_of_sets,{user_type,{135,24},a_set,[]},[]}}]}},{{type,a_set,0},{132,2},[<<97,95,115,101,116,40,41>>],#{<<101,110>> => <<65,110,32,91,117,110,111,114,100,101,114,101,100,32,115,101,116,93,40,96,109,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110,96,41,46>>},#{exported => true,specification => [{attribute,{133,2},opaque,{a_set,{type,{133,20},record,[{atom,{133,22},'Set'}]},[]}}]}},{{type,relation,0},{130,2},[<<114,101,108,97,116,105,111,110,40,41>>],#{<<101,110>> => <<65,110,32,91,110,45,97,114,121,32,114,101,108,97,116,105,111,110,93,40,96,109,58,115,111,102,115,35,110,95,97,114,121,95,114,101,108,97,116,105,111,110,96,41,46>>},#{exported => true,specification => [{attribute,{131,2},type,{relation,{user_type,{131,21},a_set,[]},[]}}]}},{{type,ordset,0},{128,2},[<<111,114,100,115,101,116,40,41>>],#{<<101,110>> => <<65,110,32,91,111,114,100,101,114,101,100,32,115,101,116,93,40,96,109,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110,96,41,46>>},#{exported => true,specification => [{attribute,{129,2},opaque,{ordset,{type,{129,21},record,[{atom,{129,23},'OrdSet'}]},[]}}]}},{{type,family,0},{126,2},[<<102,97,109,105,108,121,40,41>>],#{<<101,110>> => <<65,32,91,102,97,109,105,108,121,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,32,40,111,102,32,115,117,98,115,101,116,115,41,46>>},#{exported => true,specification => [{attribute,{127,2},type,{family,{user_type,{127,19},a_function,[]},[]}}]}},{{type,a_function,0},{124,2},[<<97,95,102,117,110,99,116,105,111,110,40,41>>],#{<<101,110>> => <<65,32,91,102,117,110,99,116,105,111,110,93,40,96,109,58,115,111,102,115,35,102,117,110,99,116,105,111,110,96,41,46>>},#{exported => true,specification => [{attribute,{125,2},type,{a_function,{user_type,{125,23},relation,[]},[]}}]}},{{type,external_set,0},{122,2},[<<101,120,116,101,114,110,97,108,95,115,101,116,40,41>>],#{<<101,110>> => <<65,110,32,91,101,120,116,101,114,110,97,108,32,115,101,116,93,40,96,109,58,115,111,102,115,35,101,120,116,101,114,110,97,108,95,115,101,116,96,41,46>>},#{exported => true,specification => [{attribute,{123,2},type,{external_set,{type,{123,25},term,[]},[]}}]}},{{type,binary_relation,0},{120,2},[<<98,105,110,97,114,121,95,114,101,108,97,116,105,111,110,40,41>>],#{<<101,110>> => <<65,32,91,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,93,40,96,109,58,115,111,102,115,35,98,105,110,97,114,121,95,114,101,108,97,116,105,111,110,96,41,46>>},#{exported => true,specification => [{attribute,{121,2},type,{binary_relation,{user_type,{121,28},relation,[]},[]}}]}},{{type,anyset,0},{118,2},[<<97,110,121,115,101,116,40,41>>],#{<<101,110>> => <<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>>},#{exported => true,specification => [{attribute,{119,2},type,{anyset,{type,{119,19},union,[{user_type,{119,19},ordset,[]},{user_type,{119,30},a_set,[]}]},[]}}]}},{{function,digraph_to_family,2},{2364,2},[<<100,105,103,114,97,112,104,95,116,111,95,102,97,109,105,108,121,40,71,114,97,112,104,44,32,84,121,112,101,41>>],#{<<101,110>> => <<67,114,101,97,116,101,115,32,97,32,91,102,97,109,105,108,121,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,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,96,71,114,97,112,104,96,46,32,69,97,99,104,32,118,101,114,116,101,120,10,97,32,111,102,32,96,71,114,97,112,104,96,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,92,123,98,92,91,49,93,44,194,160,46,46,46,44,194,160,98,92,91,110,93,92,125,41,44,32,119,104,101,114,101,32,116,104,101,10,98,92,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,116,32,105,115,32,97,115,115,117,109,101,100,32,116,104,97,116,32,96,84,121,112,101,96,32,105,115,10,97,32,91,118,97,108,105,100,32,116,121,112,101,93,40,96,109,58,115,111,102,115,35,118,97,108,105,100,95,116,121,112,101,96,41,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,10,10,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,10,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,10,91,96,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,96,93,40,96,102,97,109,105,108,121,95,116,111,95,100,105,103,114,97,112,104,47,49,96,41,46>>},#{specification => [{attribute,{2374,2},spec,{{digraph_to_family,2},[{type,{2374,24},bounded_fun,[{type,{2374,24},'fun',[{type,{2374,24},product,[{var,{2374,25},'Graph'},{var,{2374,32},'Type'}]},{var,{2374,41},'Family'}]},[{type,{2375,7},constraint,[{atom,{2375,7},is_subtype},[{var,{2375,7},'Graph'},{remote_type,{2375,16},[{atom,{2375,16},digraph},{atom,{2375,24},graph},[]]}]]},{type,{2376,7},constraint,[{atom,{2376,7},is_subtype},[{var,{2376,7},'Family'},{user_type,{2376,17},family,[]}]]},{type,{2377,7},constraint,[{atom,{2377,7},is_subtype},[{var,{2377,7},'Type'},{user_type,{2377,15},type,[]}]]}]]}]}}]}},{{function,digraph_to_family,1},{2358,1},[<<100,105,103,114,97,112,104,95,116,111,95,102,97,109,105,108,121,40,71,114,97,112,104,41>>],none,#{equiv => <<100,105,103,114,97,112,104,95,116,111,95,102,97,109,105,108,121,40,71,114,97,112,104,44,32,91,123,97,116,111,109,44,32,91,97,116,111,109,93,125,93,41>>}},{{function,family_to_digraph,2},{2318,2},[<<102,97,109,105,108,121,95,116,111,95,100,105,103,114,97,112,104,40,70,97,109,105,108,121,44,32,71,114,97,112,104,84,121,112,101,41>>],#{<<101,110>> => <<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,91,102,97,109,105,108,121,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,32,96,70,97,109,105,108,121,96,46,32,70,111,114,32,101,97,99,104,32,112,97,105,114,10,40,97,44,194,160,92,123,98,92,91,49,93,44,194,160,46,46,46,44,194,160,98,92,91,110,93,92,125,41,32,111,102,32,96,70,97,109,105,108,121,96,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,92,91,105,93,41,32,102,111,114,10,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,10,10,96,71,114,97,112,104,84,121,112,101,96,32,105,115,32,112,97,115,115,101,100,32,111,110,32,116,111,32,96,100,105,103,114,97,112,104,58,110,101,119,47,49,96,46,10,10,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,10,91,96,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,96,93,40,96,100,105,103,114,97,112,104,95,116,111,95,102,97,109,105,108,121,47,50,96,41,46,10,69,113,117,97,108,105,116,121,32,104,111,108,100,115,32,105,102,32,91,96,117,110,105,111,110,95,111,102,95,102,97,109,105,108,121,40,70,41,96,93,40,96,117,110,105,111,110,95,111,102,95,102,97,109,105,108,121,47,49,96,41,32,105,115,32,97,32,115,117,98,115,101,116,32,111,102,10,91,96,100,111,109,97,105,110,40,70,41,96,93,40,96,100,111,109,97,105,110,47,49,96,41,46,10,10,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,96,99,121,99,108,105,99,96,32,109,101,115,115,97,103,101,46>>},#{specification => [{attribute,{2332,2},spec,{{family_to_digraph,2},[{type,{2332,24},bounded_fun,[{type,{2332,24},'fun',[{type,{2332,24},product,[{var,{2332,25},'Family'},{var,{2332,33},'GraphType'}]},{var,{2332,47},'Graph'}]},[{type,{2333,7},constraint,[{atom,{2333,7},is_subtype},[{var,{2333,7},'Graph'},{remote_type,{2333,16},[{atom,{2333,16},digraph},{atom,{2333,24},graph},[]]}]]},{type,{2334,7},constraint,[{atom,{2334,7},is_subtype},[{var,{2334,7},'Family'},{user_type,{2334,17},family,[]}]]},{type,{2335,7},constraint,[{atom,{2335,7},is_subtype},[{var,{2335,7},'GraphType'},{type,{2335,20},list,[{remote_type,{2335,21},[{atom,{2335,21},digraph},{atom,{2335,29},d_type},[]]}]}]]}]]}]}}]}},{{function,family_to_digraph,1},{2311,1},[<<102,97,109,105,108,121,95,116,111,95,100,105,103,114,97,112,104,40,70,97,109,105,108,121,41>>],none,#{equiv => <<102,97,109,105,108,121,95,116,111,95,100,105,103,114,97,112,104,40,70,97,109,105,108,121,44,32,91,93,41>>}},{{function,family_projection,2},{2267,2},[<<102,97,109,105,108,121,95,112,114,111,106,101,99,116,105,111,110,40,83,101,116,70,117,110,44,32,70,97,109,105,108,121,49,41>>],#{<<101,110>> => <<73,102,32,96,70,97,109,105,108,121,49,96,32,105,115,32,97,32,91,102,97,109,105,108,121,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,44,32,116,104,101,110,32,96,70,97,109,105,108,121,50,96,32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,119,105,116,104,10,116,104,101,32,115,97,109,101,32,105,110,100,101,120,32,115,101,116,32,97,115,32,96,70,97,109,105,108,121,49,96,32,115,117,99,104,32,116,104,97,116,32,96,70,97,109,105,108,121,50,96,92,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,10,96,83,101,116,70,117,110,96,32,119,105,116,104,32,96,70,97,109,105,108,121,49,96,92,91,105,93,32,97,115,32,97,114,103,117,109,101,110,116,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{2279,2},spec,{{family_projection,2},[{type,{2279,24},bounded_fun,[{type,{2279,24},'fun',[{type,{2279,24},product,[{var,{2279,25},'SetFun'},{var,{2279,33},'Family1'}]},{var,{2279,45},'Family2'}]},[{type,{2280,7},constraint,[{atom,{2280,7},is_subtype},[{var,{2280,7},'SetFun'},{user_type,{2280,17},set_fun,[]}]]},{type,{2281,7},constraint,[{atom,{2281,7},is_subtype},[{var,{2281,7},'Family1'},{user_type,{2281,18},family,[]}]]},{type,{2282,7},constraint,[{atom,{2282,7},is_subtype},[{var,{2282,7},'Family2'},{user_type,{2282,18},family,[]}]]}]]}]}}]}},{{function,partition_family,2},{2205,2},[<<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,101,116,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,91,102,97,109,105,108,121,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,32,96,70,97,109,105,108,121,96,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,10,91,112,97,114,116,105,116,105,111,110,93,40,96,109,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110,96,41,32,111,102,32,96,83,101,116,96,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,10,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,96,83,101,116,70,117,110,96,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,10,105,110,100,101,120,32,116,104,97,116,32,96,70,97,109,105,108,121,96,32,109,97,112,115,32,111,110,116,111,32,116,104,101,10,91,101,113,117,105,118,97,108,101,110,99,101,32,99,108,97,115,115,93,40,96,109,58,115,111,102,115,35,101,113,117,105,118,97,108,101,110,99,101,95,99,108,97,115,115,96,41,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{2220,2},spec,{{partition_family,2},[{type,{2220,23},bounded_fun,[{type,{2220,23},'fun',[{type,{2220,23},product,[{var,{2220,24},'SetFun'},{var,{2220,32},'Set'}]},{var,{2220,40},'Family'}]},[{type,{2221,7},constraint,[{atom,{2221,7},is_subtype},[{var,{2221,7},'Family'},{user_type,{2221,17},family,[]}]]},{type,{2222,7},constraint,[{atom,{2222,7},is_subtype},[{var,{2222,7},'SetFun'},{user_type,{2222,17},set_fun,[]}]]},{type,{2223,7},constraint,[{atom,{2223,7},is_subtype},[{var,{2223,7},'Set'},{user_type,{2223,14},a_set,[]}]]}]]}]}}]}},{{function,family_difference,2},{2172,2},[<<102,97,109,105,108,121,95,100,105,102,102,101,114,101,110,99,101,40,70,97,109,105,108,121,49,44,32,70,97,109,105,108,121,50,41>>],#{<<101,110>> => <<73,102,32,96,70,97,109,105,108,121,49,96,32,97,110,100,32,96,70,97,109,105,108,121,50,96,32,97,114,101,32,91,102,97,109,105,108,105,101,115,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,44,32,116,104,101,110,32,96,70,97,109,105,108,121,51,96,32,105,115,10,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,96,70,97,109,105,108,121,49,96,44,32,97,110,100,10,96,70,97,109,105,108,121,51,96,92,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,96,70,97,109,105,108,121,49,96,92,91,105,93,32,97,110,100,32,96,70,97,109,105,108,121,50,96,92,91,105,93,32,105,102,10,96,70,97,109,105,108,121,50,96,32,109,97,112,115,32,105,44,32,111,116,104,101,114,119,105,115,101,32,96,70,97,109,105,108,121,49,91,105,93,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{2186,2},spec,{{family_difference,2},[{type,{2186,24},bounded_fun,[{type,{2186,24},'fun',[{type,{2186,24},product,[{var,{2186,25},'Family1'},{var,{2186,34},'Family2'}]},{var,{2186,46},'Family3'}]},[{type,{2187,7},constraint,[{atom,{2187,7},is_subtype},[{var,{2187,7},'Family1'},{user_type,{2187,18},family,[]}]]},{type,{2188,7},constraint,[{atom,{2188,7},is_subtype},[{var,{2188,7},'Family2'},{user_type,{2188,18},family,[]}]]},{type,{2189,7},constraint,[{atom,{2189,7},is_subtype},[{var,{2189,7},'Family3'},{user_type,{2189,18},family,[]}]]}]]}]}}]}},{{function,family_intersection,2},{2151,2},[<<102,97,109,105,108,121,95,105,110,116,101,114,115,101,99,116,105,111,110,40,70,97,109,105,108,121,49,44,32,70,97,109,105,108,121,50,41>>],#{<<101,110>> => <<73,102,32,96,70,97,109,105,108,121,49,96,32,97,110,100,32,96,70,97,109,105,108,121,50,96,32,97,114,101,32,91,102,97,109,105,108,105,101,115,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,44,32,116,104,101,110,32,96,70,97,109,105,108,121,51,96,32,105,115,10,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,96,70,97,109,105,108,121,49,96,58,115,32,97,110,100,10,96,70,97,109,105,108,121,50,96,58,115,32,105,110,100,101,120,32,115,101,116,115,44,32,97,110,100,32,96,70,97,109,105,108,121,51,96,92,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,96,70,97,109,105,108,121,49,96,92,91,105,93,10,97,110,100,32,96,70,97,109,105,108,121,50,96,92,91,105,93,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{2165,2},spec,{{family_intersection,2},[{type,{2165,26},bounded_fun,[{type,{2165,26},'fun',[{type,{2165,26},product,[{var,{2165,27},'Family1'},{var,{2165,36},'Family2'}]},{var,{2165,48},'Family3'}]},[{type,{2166,7},constraint,[{atom,{2166,7},is_subtype},[{var,{2166,7},'Family1'},{user_type,{2166,18},family,[]}]]},{type,{2167,7},constraint,[{atom,{2167,7},is_subtype},[{var,{2167,7},'Family2'},{user_type,{2167,18},family,[]}]]},{type,{2168,7},constraint,[{atom,{2168,7},is_subtype},[{var,{2168,7},'Family3'},{user_type,{2168,18},family,[]}]]}]]}]}}]}},{{function,family_union,2},{2130,2},[<<102,97,109,105,108,121,95,117,110,105,111,110,40,70,97,109,105,108,121,49,44,32,70,97,109,105,108,121,50,41>>],#{<<101,110>> => <<73,102,32,96,70,97,109,105,108,121,49,96,32,97,110,100,32,96,70,97,109,105,108,121,50,96,32,97,114,101,32,91,102,97,109,105,108,105,101,115,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,44,32,116,104,101,110,32,96,70,97,109,105,108,121,51,96,32,105,115,10,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,96,70,97,109,105,108,121,49,96,58,115,32,97,110,100,32,96,70,97,109,105,108,121,50,96,58,115,10,105,110,100,101,120,32,115,101,116,115,44,32,97,110,100,32,96,70,97,109,105,108,121,51,96,92,91,105,93,32,105,115,32,116,104,101,32,117,110,105,111,110,32,111,102,32,96,70,97,109,105,108,121,49,96,92,91,105,93,32,97,110,100,32,96,70,97,109,105,108,121,50,96,92,91,105,93,32,105,102,10,98,111,116,104,32,109,97,112,32,105,44,32,111,116,104,101,114,119,105,115,101,32,96,70,97,109,105,108,121,49,96,92,91,105,93,32,111,114,32,96,70,97,109,105,108,121,50,96,92,91,105,93,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{2144,2},spec,{{family_union,2},[{type,{2144,19},bounded_fun,[{type,{2144,19},'fun',[{type,{2144,19},product,[{var,{2144,20},'Family1'},{var,{2144,29},'Family2'}]},{var,{2144,41},'Family3'}]},[{type,{2145,7},constraint,[{atom,{2145,7},is_subtype},[{var,{2145,7},'Family1'},{user_type,{2145,18},family,[]}]]},{type,{2146,7},constraint,[{atom,{2146,7},is_subtype},[{var,{2146,7},'Family2'},{user_type,{2146,18},family,[]}]]},{type,{2147,7},constraint,[{atom,{2147,7},is_subtype},[{var,{2147,7},'Family3'},{user_type,{2147,18},family,[]}]]}]]}]}}]}},{{function,family_field,1},{2108,2},[<<102,97,109,105,108,121,95,102,105,101,108,100,40,70,97,109,105,108,121,49,41>>],#{<<101,110>> => <<73,102,32,96,70,97,109,105,108,121,49,96,32,105,115,32,97,32,91,102,97,109,105,108,121,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,32,97,110,100,32,96,70,97,109,105,108,121,49,96,92,91,105,93,32,105,115,32,97,32,98,105,110,97,114,121,10,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,96,70,97,109,105,108,121,49,96,44,32,116,104,101,110,32,96,70,97,109,105,108,121,50,96,32,105,115,32,116,104,101,32,102,97,109,105,108,121,10,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,96,70,97,109,105,108,121,49,96,32,115,117,99,104,32,116,104,97,116,32,96,70,97,109,105,108,121,50,96,92,91,105,93,32,105,115,32,116,104,101,10,91,102,105,101,108,100,93,40,96,109,58,115,111,102,115,35,102,105,101,108,100,96,41,32,111,102,32,96,70,97,109,105,108,121,49,96,92,91,105,93,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,91,96,102,97,109,105,108,121,95,102,105,101,108,100,40,70,97,109,105,108,121,49,41,96,93,40,96,102,97,109,105,108,121,95,102,105,101,108,100,47,49,96,41,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,10,91,96,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,96,93,40,96,102,97,109,105,108,121,95,117,110,105,111,110,47,50,96,41,46>>},#{specification => [{attribute,{2124,2},spec,{{family_field,1},[{type,{2124,19},bounded_fun,[{type,{2124,19},'fun',[{type,{2124,19},product,[{var,{2124,20},'Family1'}]},{var,{2124,32},'Family2'}]},[{type,{2125,7},constraint,[{atom,{2125,7},is_subtype},[{var,{2125,7},'Family1'},{user_type,{2125,18},family,[]}]]},{type,{2126,7},constraint,[{atom,{2126,7},is_subtype},[{var,{2126,7},'Family2'},{user_type,{2126,18},family,[]}]]}]]}]}}]}},{{function,family_range,1},{2083,2},[<<102,97,109,105,108,121,95,114,97,110,103,101,40,70,97,109,105,108,121,49,41>>],#{<<101,110>> => <<73,102,32,96,70,97,109,105,108,121,49,96,32,105,115,32,97,32,91,102,97,109,105,108,121,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,32,97,110,100,32,96,70,97,109,105,108,121,49,96,92,91,105,93,32,105,115,32,97,32,98,105,110,97,114,121,10,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,96,70,97,109,105,108,121,49,96,44,32,116,104,101,110,32,96,70,97,109,105,108,121,50,96,32,105,115,32,116,104,101,32,102,97,109,105,108,121,10,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,96,70,97,109,105,108,121,49,96,32,115,117,99,104,32,116,104,97,116,32,96,70,97,109,105,108,121,50,96,92,91,105,93,32,105,115,32,116,104,101,10,91,114,97,110,103,101,93,40,96,109,58,115,111,102,115,35,114,97,110,103,101,96,41,32,111,102,32,96,70,97,109,105,108,121,49,96,92,91,105,93,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{2096,2},spec,{{family_range,1},[{type,{2096,19},bounded_fun,[{type,{2096,19},'fun',[{type,{2096,19},product,[{var,{2096,20},'Family1'}]},{var,{2096,32},'Family2'}]},[{type,{2097,7},constraint,[{atom,{2097,7},is_subtype},[{var,{2097,7},'Family1'},{user_type,{2097,18},family,[]}]]},{type,{2098,7},constraint,[{atom,{2098,7},is_subtype},[{var,{2098,7},'Family2'},{user_type,{2098,18},family,[]}]]}]]}]}}]}},{{function,family_domain,1},{2058,2},[<<102,97,109,105,108,121,95,100,111,109,97,105,110,40,70,97,109,105,108,121,49,41>>],#{<<101,110>> => <<73,102,32,96,70,97,109,105,108,121,49,96,32,105,115,32,97,32,91,102,97,109,105,108,121,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,32,97,110,100,32,96,70,97,109,105,108,121,49,96,92,91,105,93,32,105,115,32,97,32,98,105,110,97,114,121,10,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,96,70,97,109,105,108,121,49,96,44,32,116,104,101,110,32,96,70,97,109,105,108,121,50,96,32,105,115,32,116,104,101,32,102,97,109,105,108,121,10,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,96,70,97,109,105,108,121,49,96,32,115,117,99,104,32,116,104,97,116,32,96,70,97,109,105,108,121,50,96,92,91,105,93,32,105,115,32,116,104,101,10,91,100,111,109,97,105,110,93,40,96,109,58,115,111,102,115,35,100,111,109,97,105,110,96,41,32,111,102,32,96,70,97,109,105,108,121,49,91,105,93,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{2071,2},spec,{{family_domain,1},[{type,{2071,20},bounded_fun,[{type,{2071,20},'fun',[{type,{2071,20},product,[{var,{2071,21},'Family1'}]},{var,{2071,33},'Family2'}]},[{type,{2072,7},constraint,[{atom,{2072,7},is_subtype},[{var,{2072,7},'Family1'},{user_type,{2072,18},family,[]}]]},{type,{2073,7},constraint,[{atom,{2073,7},is_subtype},[{var,{2073,7},'Family2'},{user_type,{2073,18},family,[]}]]}]]}]}}]}},{{function,family_intersection,1},{2026,2},[<<102,97,109,105,108,121,95,105,110,116,101,114,115,101,99,116,105,111,110,40,70,97,109,105,108,121,49,41>>],#{<<101,110>> => <<73,102,32,96,70,97,109,105,108,121,49,96,32,105,115,32,97,32,91,102,97,109,105,108,121,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,32,97,110,100,32,96,70,97,109,105,108,121,49,96,92,91,105,93,32,105,115,32,97,32,115,101,116,32,111,102,32,115,101,116,115,10,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,96,70,97,109,105,108,121,49,96,44,32,116,104,101,110,32,96,70,97,109,105,108,121,50,96,32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,119,105,116,104,32,116,104,101,10,115,97,109,101,32,105,110,100,101,120,32,115,101,116,32,97,115,32,96,70,97,109,105,108,121,49,96,32,115,117,99,104,32,116,104,97,116,32,96,70,97,109,105,108,121,50,96,92,91,105,93,32,105,115,32,116,104,101,10,91,105,110,116,101,114,115,101,99,116,105,111,110,93,40,96,109,58,115,111,102,115,35,105,110,116,101,114,115,101,99,116,105,111,110,95,110,96,41,32,111,102,32,96,70,97,109,105,108,121,49,96,92,91,105,93,46,10,10,73,102,32,96,70,97,109,105,108,121,49,96,92,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,96,98,97,100,97,114,103,96,10,109,101,115,115,97,103,101,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{2042,2},spec,{{family_intersection,1},[{type,{2042,26},bounded_fun,[{type,{2042,26},'fun',[{type,{2042,26},product,[{var,{2042,27},'Family1'}]},{var,{2042,39},'Family2'}]},[{type,{2043,7},constraint,[{atom,{2043,7},is_subtype},[{var,{2043,7},'Family1'},{user_type,{2043,18},family,[]}]]},{type,{2044,7},constraint,[{atom,{2044,7},is_subtype},[{var,{2044,7},'Family2'},{user_type,{2044,18},family,[]}]]}]]}]}}]}},{{function,family_union,1},{1999,2},[<<102,97,109,105,108,121,95,117,110,105,111,110,40,70,97,109,105,108,121,49,41>>],#{<<101,110>> => <<73,102,32,96,70,97,109,105,108,121,49,96,32,105,115,32,97,32,91,102,97,109,105,108,121,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,32,97,110,100,32,96,70,97,109,105,108,121,49,96,92,91,105,93,32,105,115,32,97,32,115,101,116,32,111,102,32,115,101,116,115,10,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,96,70,97,109,105,108,121,49,96,44,32,116,104,101,110,32,96,70,97,109,105,108,121,50,96,32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,119,105,116,104,32,116,104,101,10,115,97,109,101,32,105,110,100,101,120,32,115,101,116,32,97,115,32,96,70,97,109,105,108,121,49,96,32,115,117,99,104,32,116,104,97,116,32,96,70,97,109,105,108,121,50,96,92,91,105,93,32,105,115,32,116,104,101,10,91,117,110,105,111,110,93,40,96,109,58,115,111,102,115,35,117,110,105,111,110,95,110,96,41,32,111,102,32,96,70,97,109,105,108,121,49,96,92,91,105,93,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,91,96,102,97,109,105,108,121,95,117,110,105,111,110,40,70,41,96,93,40,96,102,97,109,105,108,121,95,117,110,105,111,110,47,49,96,41,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,10,91,96,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,96,93,40,96,102,97,109,105,108,121,95,112,114,111,106,101,99,116,105,111,110,47,50,96,41,46>>},#{specification => [{attribute,{2015,2},spec,{{family_union,1},[{type,{2015,19},bounded_fun,[{type,{2015,19},'fun',[{type,{2015,19},product,[{var,{2015,20},'Family1'}]},{var,{2015,32},'Family2'}]},[{type,{2016,7},constraint,[{atom,{2016,7},is_subtype},[{var,{2016,7},'Family1'},{user_type,{2016,18},family,[]}]]},{type,{2017,7},constraint,[{atom,{2017,7},is_subtype},[{var,{2017,7},'Family2'},{user_type,{2017,18},family,[]}]]}]]}]}}]}},{{function,intersection_of_family,1},{1972,2},[<<105,110,116,101,114,115,101,99,116,105,111,110,95,111,102,95,102,97,109,105,108,121,40,70,97,109,105,108,121,41>>],#{<<101,110>> => <<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,91,102,97,109,105,108,121,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,32,96,70,97,109,105,108,121,96,46,10,10,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,96,98,97,100,97,114,103,96,32,109,101,115,115,97,103,101,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1984,2},spec,{{intersection_of_family,1},[{type,{1984,29},bounded_fun,[{type,{1984,29},'fun',[{type,{1984,29},product,[{var,{1984,30},'Family'}]},{var,{1984,41},'Set'}]},[{type,{1985,7},constraint,[{atom,{1985,7},is_subtype},[{var,{1985,7},'Family'},{user_type,{1985,17},family,[]}]]},{type,{1986,7},constraint,[{atom,{1986,7},is_subtype},[{var,{1986,7},'Set'},{user_type,{1986,14},a_set,[]}]]}]]}]}}]}},{{function,union_of_family,1},{1951,2},[<<117,110,105,111,110,95,111,102,95,102,97,109,105,108,121,40,70,97,109,105,108,121,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,117,110,105,111,110,32,111,102,32,91,102,97,109,105,108,121,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,32,96,70,97,109,105,108,121,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1961,2},spec,{{union_of_family,1},[{type,{1961,22},bounded_fun,[{type,{1961,22},'fun',[{type,{1961,22},product,[{var,{1961,23},'Family'}]},{var,{1961,34},'Set'}]},[{type,{1962,7},constraint,[{atom,{1962,7},is_subtype},[{var,{1962,7},'Family'},{user_type,{1962,17},family,[]}]]},{type,{1963,7},constraint,[{atom,{1963,7},is_subtype},[{var,{1963,7},'Set'},{user_type,{1963,14},a_set,[]}]]}]]}]}}]}},{{function,family_specification,2},{1912,2},[<<102,97,109,105,108,121,95,115,112,101,99,105,102,105,99,97,116,105,111,110,40,70,117,110,44,32,70,97,109,105,108,121,49,41>>],#{<<101,110>> => <<73,102,32,96,70,97,109,105,108,121,49,96,32,105,115,32,97,32,91,102,97,109,105,108,121,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,44,32,116,104,101,110,32,96,70,97,109,105,108,121,50,96,32,105,115,32,116,104,101,10,91,114,101,115,116,114,105,99,116,105,111,110,93,40,96,109,58,115,111,102,115,35,114,101,115,116,114,105,99,116,105,111,110,96,41,32,111,102,32,96,70,97,109,105,108,121,49,96,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,10,105,110,100,101,120,32,115,101,116,32,102,111,114,32,119,104,105,99,104,32,96,70,117,110,96,32,97,112,112,108,105,101,100,32,116,111,32,96,70,97,109,105,108,121,49,96,92,91,105,93,32,114,101,116,117,114,110,115,32,96,116,114,117,101,96,46,32,73,102,32,96,70,117,110,96,32,105,115,32,97,10,116,117,112,108,101,32,96,123,101,120,116,101,114,110,97,108,44,194,160,70,117,110,50,125,96,44,32,116,104,101,110,32,96,70,117,110,50,96,32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,116,104,101,10,91,101,120,116,101,114,110,97,108,32,115,101,116,93,40,96,109,58,115,111,102,115,35,101,120,116,101,114,110,97,108,95,115,101,116,96,41,32,111,102,32,96,70,97,109,105,108,121,49,96,92,91,105,93,44,32,111,116,104,101,114,119,105,115,101,32,96,70,117,110,96,32,105,115,10,97,112,112,108,105,101,100,32,116,111,32,96,70,97,109,105,108,121,49,96,92,91,105,93,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1928,2},spec,{{family_specification,2},[{type,{1928,27},bounded_fun,[{type,{1928,27},'fun',[{type,{1928,27},product,[{var,{1928,28},'Fun'},{var,{1928,33},'Family1'}]},{var,{1928,45},'Family2'}]},[{type,{1929,7},constraint,[{atom,{1929,7},is_subtype},[{var,{1929,7},'Fun'},{user_type,{1929,14},spec_fun,[]}]]},{type,{1930,7},constraint,[{atom,{1930,7},is_subtype},[{var,{1930,7},'Family1'},{user_type,{1930,18},family,[]}]]},{type,{1931,7},constraint,[{atom,{1931,7},is_subtype},[{var,{1931,7},'Family2'},{user_type,{1931,18},family,[]}]]}]]}]}}]}},{{function,family_to_relation,1},{1888,2},[<<102,97,109,105,108,121,95,116,111,95,114,101,108,97,116,105,111,110,40,70,97,109,105,108,121,41>>],#{<<101,110>> => <<73,102,32,96,70,97,109,105,108,121,96,32,105,115,32,97,32,91,102,97,109,105,108,121,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,44,32,116,104,101,110,32,96,66,105,110,82,101,108,96,32,105,115,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,10,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,96,70,97,109,105,108,121,96,32,97,110,100,10,120,32,98,101,108,111,110,103,115,32,116,111,32,96,70,97,109,105,108,121,96,92,91,105,93,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1900,2},spec,{{family_to_relation,1},[{type,{1900,25},bounded_fun,[{type,{1900,25},'fun',[{type,{1900,25},product,[{var,{1900,26},'Family'}]},{var,{1900,37},'BinRel'}]},[{type,{1901,7},constraint,[{atom,{1901,7},is_subtype},[{var,{1901,7},'Family'},{user_type,{1901,17},family,[]}]]},{type,{1902,7},constraint,[{atom,{1902,7},is_subtype},[{var,{1902,7},'BinRel'},{user_type,{1902,17},binary_relation,[]}]]}]]}]}}]}},{{function,fam2rel,1},{1881,2},[<<102,97,109,50,114,101,108,40,70,97,109,105,108,121,41>>],hidden,#{}},{{function,join,4},{1828,2},[<<106,111,105,110,40,82,101,108,97,116,105,111,110,49,44,32,73,44,32,82,101,108,97,116,105,111,110,50,44,32,74,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,110,97,116,117,114,97,108,32,106,111,105,110,93,40,96,109,58,115,111,102,115,35,110,97,116,117,114,97,108,95,106,111,105,110,96,41,32,111,102,32,116,104,101,32,114,101,108,97,116,105,111,110,115,32,96,82,101,108,97,116,105,111,110,49,96,10,97,110,100,32,96,82,101,108,97,116,105,111,110,50,96,32,111,110,32,99,111,111,114,100,105,110,97,116,101,115,32,96,73,96,32,97,110,100,32,96,74,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1840,2},spec,{{join,4},[{type,{1840,11},bounded_fun,[{type,{1840,11},'fun',[{type,{1840,11},product,[{var,{1840,12},'Relation1'},{var,{1840,23},'I'},{var,{1840,26},'Relation2'},{var,{1840,37},'J'}]},{var,{1840,43},'Relation3'}]},[{type,{1841,7},constraint,[{atom,{1841,7},is_subtype},[{var,{1841,7},'Relation1'},{user_type,{1841,20},relation,[]}]]},{type,{1842,7},constraint,[{atom,{1842,7},is_subtype},[{var,{1842,7},'Relation2'},{user_type,{1842,20},relation,[]}]]},{type,{1843,7},constraint,[{atom,{1843,7},is_subtype},[{var,{1843,7},'Relation3'},{user_type,{1843,20},relation,[]}]]},{type,{1844,7},constraint,[{atom,{1844,7},is_subtype},[{var,{1844,7},'I'},{type,{1844,12},pos_integer,[]}]]},{type,{1845,7},constraint,[{atom,{1845,7},is_subtype},[{var,{1845,7},'J'},{type,{1845,12},pos_integer,[]}]]}]]}]}}]}},{{function,multiple_relative_product,2},{1798,2},[<<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,84,117,112,108,101,79,102,66,105,110,82,101,108,115,44,32,66,105,110,82,101,108,49,41>>],#{<<101,110>> => <<73,102,32,96,84,117,112,108,101,79,102,66,105,110,82,101,108,115,96,32,105,115,32,97,32,110,111,110,45,101,109,112,116,121,32,116,117,112,108,101,32,92,123,82,92,91,49,93,44,194,160,46,46,46,44,194,160,82,92,91,110,93,92,125,32,111,102,32,98,105,110,97,114,121,10,114,101,108,97,116,105,111,110,115,32,97,110,100,32,96,66,105,110,82,101,108,49,96,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,96,66,105,110,82,101,108,50,96,32,105,115,32,116,104,101,10,91,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,93,40,96,109,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,96,41,32,111,102,32,116,104,101,32,111,114,100,101,114,101,100,10,115,101,116,32,40,82,92,91,105,93,44,194,160,46,46,46,44,194,160,82,92,91,110,93,41,32,97,110,100,32,96,66,105,110,82,101,108,49,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1812,2},spec,{{multiple_relative_product,2},[{type,{1812,32},bounded_fun,[{type,{1812,32},'fun',[{type,{1812,32},product,[{var,{1812,33},'TupleOfBinRels'},{var,{1812,49},'BinRel1'}]},{var,{1812,61},'BinRel2'}]},[{type,{1813,7},constraint,[{atom,{1813,7},is_subtype},[{var,{1813,7},'TupleOfBinRels'},{user_type,{1813,25},tuple_of,[{var,{1813,34},'BinRel'}]}]]},{type,{1814,7},constraint,[{atom,{1814,7},is_subtype},[{var,{1814,7},'BinRel'},{user_type,{1814,17},binary_relation,[]}]]},{type,{1815,7},constraint,[{atom,{1815,7},is_subtype},[{var,{1815,7},'BinRel1'},{user_type,{1815,18},binary_relation,[]}]]},{type,{1816,7},constraint,[{atom,{1816,7},is_subtype},[{var,{1816,7},'BinRel2'},{user_type,{1816,18},binary_relation,[]}]]}]]}]}}]}},{{function,partition,3},{1709,2},[<<112,97,114,116,105,116,105,111,110,40,83,101,116,70,117,110,44,32,83,101,116,49,44,32,83,101,116,50,41>>],#{<<101,110>> => <<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,10,91,112,97,114,116,105,116,105,111,110,93,40,96,109,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110,96,41,32,111,102,32,96,83,101,116,49,96,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,96,83,101,116,70,117,110,96,32,116,111,10,97,110,32,101,108,101,109,101,110,116,32,111,102,32,96,83,101,116,49,96,32,103,105,118,101,115,32,97,110,32,101,108,101,109,101,110,116,32,105,110,32,96,83,101,116,50,96,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,96,83,101,116,51,96,44,10,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,96,83,101,116,52,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,91,96,112,97,114,116,105,116,105,111,110,40,70,44,194,160,83,49,44,194,160,83,50,41,96,93,40,96,112,97,114,116,105,116,105,111,110,47,51,96,41,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,10,96,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,96,46>>},#{specification => [{attribute,{1726,2},spec,{{partition,3},[{type,{1726,16},bounded_fun,[{type,{1726,16},'fun',[{type,{1726,16},product,[{var,{1726,17},'SetFun'},{var,{1726,25},'Set1'},{var,{1726,31},'Set2'}]},{type,{1726,40},tuple,[{var,{1726,41},'Set3'},{var,{1726,47},'Set4'}]}]},[{type,{1727,7},constraint,[{atom,{1727,7},is_subtype},[{var,{1727,7},'SetFun'},{user_type,{1727,17},set_fun,[]}]]},{type,{1728,7},constraint,[{atom,{1728,7},is_subtype},[{var,{1728,7},'Set1'},{user_type,{1728,15},a_set,[]}]]},{type,{1729,7},constraint,[{atom,{1729,7},is_subtype},[{var,{1729,7},'Set2'},{user_type,{1729,15},a_set,[]}]]},{type,{1730,7},constraint,[{atom,{1730,7},is_subtype},[{var,{1730,7},'Set3'},{user_type,{1730,15},a_set,[]}]]},{type,{1731,7},constraint,[{atom,{1731,7},is_subtype},[{var,{1731,7},'Set4'},{user_type,{1731,15},a_set,[]}]]}]]}]}}]}},{{function,partition,2},{1678,2},[<<112,97,114,116,105,116,105,111,110,40,83,101,116,70,117,110,44,32,83,101,116,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,112,97,114,116,105,116,105,111,110,93,40,96,109,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110,96,41,32,111,102,32,96,83,101,116,96,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,10,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,96,83,101,116,70,117,110,96,32,97,114,101,32,101,113,117,97,108,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1690,2},spec,{{partition,2},[{type,{1690,16},bounded_fun,[{type,{1690,16},'fun',[{type,{1690,16},product,[{var,{1690,17},'SetFun'},{var,{1690,25},'Set'}]},{var,{1690,33},'Partition'}]},[{type,{1691,7},constraint,[{atom,{1691,7},is_subtype},[{var,{1691,7},'SetFun'},{user_type,{1691,17},set_fun,[]}]]},{type,{1692,7},constraint,[{atom,{1692,7},is_subtype},[{var,{1692,7},'Partition'},{user_type,{1692,20},a_set,[]}]]},{type,{1693,7},constraint,[{atom,{1693,7},is_subtype},[{var,{1693,7},'Set'},{user_type,{1693,14},a_set,[]}]]}]]}]}}]}},{{function,partition,1},{1657,2},[<<112,97,114,116,105,116,105,111,110,40,83,101,116,79,102,83,101,116,115,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,112,97,114,116,105,116,105,111,110,93,40,96,109,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110,96,41,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,10,96,83,101,116,79,102,83,101,116,115,96,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,10,115,97,109,101,32,101,108,101,109,101,110,116,115,32,111,102,32,96,83,101,116,79,102,83,101,116,115,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1670,2},spec,{{partition,1},[{type,{1670,16},bounded_fun,[{type,{1670,16},'fun',[{type,{1670,16},product,[{var,{1670,17},'SetOfSets'}]},{var,{1670,31},'Partition'}]},[{type,{1671,7},constraint,[{atom,{1671,7},is_subtype},[{var,{1671,7},'SetOfSets'},{user_type,{1671,20},set_of_sets,[]}]]},{type,{1672,7},constraint,[{atom,{1672,7},is_subtype},[{var,{1672,7},'Partition'},{user_type,{1672,20},a_set,[]}]]}]]}]}}]}},{{function,substitution,2},{1566,2},[<<115,117,98,115,116,105,116,117,116,105,111,110,40,83,101,116,70,117,110,44,32,83,101,116,49,41>>],#{<<101,110>> => <<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,96,83,101,116,49,96,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,10,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,96,83,101,116,70,117,110,96,32,116,111,32,116,104,101,32,101,108,101,109,101,110,116,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,92,123,97,44,98,44,99,92,125,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,76,101,116,32,96,83,101,116,79,102,83,101,116,115,96,32,98,101,32,97,32,115,101,116,32,111,102,32,115,101,116,115,32,97,110,100,32,96,66,105,110,82,101,108,96,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,10,116,104,97,116,32,109,97,112,115,32,101,97,99,104,32,101,108,101,109,101,110,116,32,96,83,101,116,96,32,111,102,32,96,83,101,116,79,102,83,101,116,115,96,32,111,110,116,111,32,116,104,101,32,91,105,109,97,103,101,93,40,96,109,58,115,111,102,115,35,105,109,97,103,101,96,41,32,111,102,10,96,83,101,116,96,32,117,110,100,101,114,32,96,66,105,110,82,101,108,96,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,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,10,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,10,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,96,105,109,97,103,101,47,50,96,44,32,96,66,105,110,82,101,108,96,32,105,115,32,116,114,97,118,101,114,115,101,100,32,111,110,99,101,32,102,111,114,10,101,97,99,104,32,101,108,101,109,101,110,116,32,111,102,32,96,83,101,116,79,102,83,101,116,115,96,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,10,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,10,111,102,32,96,83,101,116,79,102,83,101,116,115,96,32,117,110,100,101,114,32,96,66,105,110,82,101,108,96,32,105,115,32,110,111,110,45,101,109,112,116,121,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1614,2},spec,{{substitution,2},[{type,{1614,19},bounded_fun,[{type,{1614,19},'fun',[{type,{1614,19},product,[{var,{1614,20},'SetFun'},{var,{1614,28},'Set1'}]},{var,{1614,37},'Set2'}]},[{type,{1615,7},constraint,[{atom,{1615,7},is_subtype},[{var,{1615,7},'SetFun'},{user_type,{1615,17},set_fun,[]}]]},{type,{1616,7},constraint,[{atom,{1616,7},is_subtype},[{var,{1616,7},'Set1'},{user_type,{1616,15},a_set,[]}]]},{type,{1617,7},constraint,[{atom,{1617,7},is_subtype},[{var,{1617,7},'Set2'},{user_type,{1617,15},a_set,[]}]]}]]}]}}]}},{{function,projection,2},{1533,2},[<<112,114,111,106,101,99,116,105,111,110,40,83,101,116,70,117,110,44,32,83,101,116,49,41>>],#{<<101,110>> => <<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,96,83,101,116,49,96,32,98,121,32,116,104,101,32,114,101,115,117,108,116,32,111,102,10,97,112,112,108,121,105,110,103,32,96,83,101,116,70,117,110,96,32,116,111,32,116,104,101,32,101,108,101,109,101,110,116,46,10,10,73,102,32,96,83,101,116,70,117,110,96,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,96,83,101,116,49,96,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,10,105,115,32,116,104,101,32,91,112,114,111,106,101,99,116,105,111,110,93,40,96,109,58,115,111,102,115,35,112,114,111,106,101,99,116,105,111,110,96,41,32,111,102,32,96,83,101,116,49,96,32,111,110,116,111,32,99,111,111,114,100,105,110,97,116,101,32,105,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1547,2},spec,{{projection,2},[{type,{1547,17},bounded_fun,[{type,{1547,17},'fun',[{type,{1547,17},product,[{var,{1547,18},'SetFun'},{var,{1547,26},'Set1'}]},{var,{1547,35},'Set2'}]},[{type,{1548,7},constraint,[{atom,{1548,7},is_subtype},[{var,{1548,7},'SetFun'},{user_type,{1548,17},set_fun,[]}]]},{type,{1549,7},constraint,[{atom,{1549,7},is_subtype},[{var,{1549,7},'Set1'},{user_type,{1549,15},a_set,[]}]]},{type,{1550,7},constraint,[{atom,{1550,7},is_subtype},[{var,{1550,7},'Set2'},{user_type,{1550,15},a_set,[]}]]}]]}]}}]}},{{function,drestriction,3},{1448,2},[<<100,114,101,115,116,114,105,99,116,105,111,110,40,83,101,116,70,117,110,44,32,83,101,116,49,44,32,83,101,116,50,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,97,32,115,117,98,115,101,116,32,111,102,32,96,83,101,116,49,96,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,10,105,110,32,96,83,101,116,50,96,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,96,83,101,116,70,117,110,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,91,96,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,96,93,40,96,100,114,101,115,116,114,105,99,116,105,111,110,47,51,96,41,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,10,91,96,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,96,93,40,96,100,105,102,102,101,114,101,110,99,101,47,50,96,41,46>>},#{specification => [{attribute,{1464,2},spec,{{drestriction,3},[{type,{1464,19},bounded_fun,[{type,{1464,19},'fun',[{type,{1464,19},product,[{var,{1464,20},'SetFun'},{var,{1464,28},'Set1'},{var,{1464,34},'Set2'}]},{var,{1464,43},'Set3'}]},[{type,{1465,7},constraint,[{atom,{1465,7},is_subtype},[{var,{1465,7},'SetFun'},{user_type,{1465,17},set_fun,[]}]]},{type,{1466,7},constraint,[{atom,{1466,7},is_subtype},[{var,{1466,7},'Set1'},{user_type,{1466,15},a_set,[]}]]},{type,{1467,7},constraint,[{atom,{1467,7},is_subtype},[{var,{1467,7},'Set2'},{user_type,{1467,15},a_set,[]}]]},{type,{1468,7},constraint,[{atom,{1468,7},is_subtype},[{var,{1468,7},'Set3'},{user_type,{1468,15},a_set,[]}]]}]]}]}}]}},{{function,restriction,3},{1368,2},[<<114,101,115,116,114,105,99,116,105,111,110,40,83,101,116,70,117,110,44,32,83,101,116,49,44,32,83,101,116,50,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,97,32,115,117,98,115,101,116,32,111,102,32,96,83,101,116,49,96,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,10,96,83,101,116,50,96,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,96,83,101,116,70,117,110,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1380,2},spec,{{restriction,3},[{type,{1380,18},bounded_fun,[{type,{1380,18},'fun',[{type,{1380,18},product,[{var,{1380,19},'SetFun'},{var,{1380,27},'Set1'},{var,{1380,33},'Set2'}]},{var,{1380,42},'Set3'}]},[{type,{1381,7},constraint,[{atom,{1381,7},is_subtype},[{var,{1381,7},'SetFun'},{user_type,{1381,17},set_fun,[]}]]},{type,{1382,7},constraint,[{atom,{1382,7},is_subtype},[{var,{1382,7},'Set1'},{user_type,{1382,15},a_set,[]}]]},{type,{1383,7},constraint,[{atom,{1383,7},is_subtype},[{var,{1383,7},'Set2'},{user_type,{1383,15},a_set,[]}]]},{type,{1384,7},constraint,[{atom,{1384,7},is_subtype},[{var,{1384,7},'Set3'},{user_type,{1384,15},a_set,[]}]]}]]}]}}]}},{{function,inverse,1},{1338,2},[<<105,110,118,101,114,115,101,40,70,117,110,99,116,105,111,110,49,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,105,110,118,101,114,115,101,93,40,96,109,58,115,111,102,115,35,105,110,118,101,114,115,101,96,41,32,111,102,32,102,117,110,99,116,105,111,110,32,96,70,117,110,99,116,105,111,110,49,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1348,2},spec,{{inverse,1},[{type,{1348,14},bounded_fun,[{type,{1348,14},'fun',[{type,{1348,14},product,[{var,{1348,15},'Function1'}]},{var,{1348,29},'Function2'}]},[{type,{1349,7},constraint,[{atom,{1349,7},is_subtype},[{var,{1349,7},'Function1'},{user_type,{1349,20},a_function,[]}]]},{type,{1350,7},constraint,[{atom,{1350,7},is_subtype},[{var,{1350,7},'Function2'},{user_type,{1350,20},a_function,[]}]]}]]}]}}]}},{{function,composite,2},{1298,2},[<<99,111,109,112,111,115,105,116,101,40,70,117,110,99,116,105,111,110,49,44,32,70,117,110,99,116,105,111,110,50,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,99,111,109,112,111,115,105,116,101,93,40,96,109,58,115,111,102,115,35,99,111,109,112,111,115,105,116,101,96,41,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,115,32,96,70,117,110,99,116,105,111,110,49,96,32,97,110,100,10,96,70,117,110,99,116,105,111,110,50,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1310,2},spec,{{composite,2},[{type,{1310,16},bounded_fun,[{type,{1310,16},'fun',[{type,{1310,16},product,[{var,{1310,17},'Function1'},{var,{1310,28},'Function2'}]},{var,{1310,42},'Function3'}]},[{type,{1311,7},constraint,[{atom,{1311,7},is_subtype},[{var,{1311,7},'Function1'},{user_type,{1311,20},a_function,[]}]]},{type,{1312,7},constraint,[{atom,{1312,7},is_subtype},[{var,{1312,7},'Function2'},{user_type,{1312,20},a_function,[]}]]},{type,{1313,7},constraint,[{atom,{1313,7},is_subtype},[{var,{1313,7},'Function3'},{user_type,{1313,20},a_function,[]}]]}]]}]}}]}},{{function,drestriction,2},{1272,2},[<<100,114,101,115,116,114,105,99,116,105,111,110,40,66,105,110,82,101,108,49,44,32,83,101,116,41>>],#{<<101,110>> => <<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,96,66,105,110,82,101,108,49,96,32,97,110,100,32,116,104,101,10,91,114,101,115,116,114,105,99,116,105,111,110,93,40,96,109,58,115,111,102,115,35,114,101,115,116,114,105,99,116,105,111,110,96,41,32,111,102,32,96,66,105,110,82,101,108,49,96,32,116,111,32,96,83,101,116,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,91,96,100,114,101,115,116,114,105,99,116,105,111,110,40,82,44,194,160,83,41,96,93,40,96,100,114,101,115,116,114,105,99,116,105,111,110,47,50,96,41,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,10,91,96,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,96,93,40,96,100,105,102,102,101,114,101,110,99,101,47,50,96,41,46>>},#{specification => [{attribute,{1287,2},spec,{{drestriction,2},[{type,{1287,19},bounded_fun,[{type,{1287,19},'fun',[{type,{1287,19},product,[{var,{1287,20},'BinRel1'},{var,{1287,29},'Set'}]},{var,{1287,37},'BinRel2'}]},[{type,{1288,7},constraint,[{atom,{1288,7},is_subtype},[{var,{1288,7},'BinRel1'},{user_type,{1288,18},binary_relation,[]}]]},{type,{1289,7},constraint,[{atom,{1289,7},is_subtype},[{var,{1289,7},'BinRel2'},{user_type,{1289,18},binary_relation,[]}]]},{type,{1290,7},constraint,[{atom,{1290,7},is_subtype},[{var,{1290,7},'Set'},{user_type,{1290,14},a_set,[]}]]}]]}]}}]}},{{function,restriction,2},{1253,2},[<<114,101,115,116,114,105,99,116,105,111,110,40,66,105,110,82,101,108,49,44,32,83,101,116,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,114,101,115,116,114,105,99,116,105,111,110,93,40,96,109,58,115,111,102,115,35,114,101,115,116,114,105,99,116,105,111,110,96,41,32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,96,66,105,110,82,101,108,49,96,10,116,111,32,96,83,101,116,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1265,2},spec,{{restriction,2},[{type,{1265,18},bounded_fun,[{type,{1265,18},'fun',[{type,{1265,18},product,[{var,{1265,19},'BinRel1'},{var,{1265,28},'Set'}]},{var,{1265,36},'BinRel2'}]},[{type,{1266,7},constraint,[{atom,{1266,7},is_subtype},[{var,{1266,7},'BinRel1'},{user_type,{1266,18},binary_relation,[]}]]},{type,{1267,7},constraint,[{atom,{1267,7},is_subtype},[{var,{1267,7},'BinRel2'},{user_type,{1267,18},binary_relation,[]}]]},{type,{1268,7},constraint,[{atom,{1268,7},is_subtype},[{var,{1268,7},'Set'},{user_type,{1268,14},a_set,[]}]]}]]}]}}]}},{{function,is_a_function,1},{1235,2},[<<105,115,95,97,95,102,117,110,99,116,105,111,110,40,66,105,110,82,101,108,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,96,66,105,110,82,101,108,96,32,105,115,32,97,10,91,102,117,110,99,116,105,111,110,93,40,96,109,58,115,111,102,115,35,102,117,110,99,116,105,111,110,96,41,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,96,102,97,108,115,101,96,46>>},#{specification => [{attribute,{1239,2},spec,{{is_a_function,1},[{type,{1239,20},bounded_fun,[{type,{1239,20},'fun',[{type,{1239,20},product,[{var,{1239,21},'BinRel'}]},{var,{1239,32},'Bool'}]},[{type,{1240,7},constraint,[{atom,{1240,7},is_subtype},[{var,{1240,7},'Bool'},{type,{1240,15},boolean,[]}]]},{type,{1241,7},constraint,[{atom,{1241,7},is_subtype},[{var,{1241,7},'BinRel'},{user_type,{1241,17},binary_relation,[]}]]}]]}]}}]}},{{function,extension,3},{1188,2},[<<101,120,116,101,110,115,105,111,110,40,66,105,110,82,101,108,49,44,32,83,101,116,44,32,65,110,121,83,101,116,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,101,120,116,101,110,115,105,111,110,93,40,96,109,58,115,111,102,115,35,101,120,116,101,110,115,105,111,110,96,41,32,111,102,32,96,66,105,110,82,101,108,49,96,32,115,117,99,104,32,116,104,97,116,32,102,111,114,32,101,97,99,104,10,101,108,101,109,101,110,116,32,69,32,105,110,32,96,83,101,116,96,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,91,100,111,109,97,105,110,93,40,96,109,58,115,111,102,115,35,100,111,109,97,105,110,96,41,32,111,102,10,96,66,105,110,82,101,108,49,96,44,32,96,66,105,110,82,101,108,50,96,32,99,111,110,116,97,105,110,115,32,116,104,101,32,112,97,105,114,32,40,69,44,194,160,96,65,110,121,83,101,116,96,41,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1202,2},spec,{{extension,3},[{type,{1202,16},bounded_fun,[{type,{1202,16},'fun',[{type,{1202,16},product,[{var,{1202,17},'BinRel1'},{var,{1202,26},'Set'},{var,{1202,31},'AnySet'}]},{var,{1202,42},'BinRel2'}]},[{type,{1203,7},constraint,[{atom,{1203,7},is_subtype},[{var,{1203,7},'AnySet'},{user_type,{1203,17},anyset,[]}]]},{type,{1204,7},constraint,[{atom,{1204,7},is_subtype},[{var,{1204,7},'BinRel1'},{user_type,{1204,18},binary_relation,[]}]]},{type,{1205,7},constraint,[{atom,{1205,7},is_subtype},[{var,{1205,7},'BinRel2'},{user_type,{1205,18},binary_relation,[]}]]},{type,{1206,7},constraint,[{atom,{1206,7},is_subtype},[{var,{1206,7},'Set'},{user_type,{1206,14},a_set,[]}]]}]]}]}}]}},{{function,weak_relation,1},{1159,2},[<<119,101,97,107,95,114,101,108,97,116,105,111,110,40,66,105,110,82,101,108,49,41>>],#{<<101,110>> => <<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,91,119,101,97,107,32,114,101,108,97,116,105,111,110,93,40,96,109,58,115,111,102,115,35,119,101,97,107,95,114,101,108,97,116,105,111,110,96,41,32,87,10,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,96,66,105,110,82,101,108,49,96,46,32,76,101,116,32,70,32,98,101,32,116,104,101,10,91,102,105,101,108,100,93,40,96,109,58,115,111,102,115,35,102,105,101,108,100,96,41,32,111,102,32,96,66,105,110,82,101,108,49,96,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,10,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,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1172,2},spec,{{weak_relation,1},[{type,{1172,20},bounded_fun,[{type,{1172,20},'fun',[{type,{1172,20},product,[{var,{1172,21},'BinRel1'}]},{var,{1172,33},'BinRel2'}]},[{type,{1173,7},constraint,[{atom,{1173,7},is_subtype},[{var,{1173,7},'BinRel1'},{user_type,{1173,18},binary_relation,[]}]]},{type,{1174,7},constraint,[{atom,{1174,7},is_subtype},[{var,{1174,7},'BinRel2'},{user_type,{1174,18},binary_relation,[]}]]}]]}]}}]}},{{function,strict_relation,1},{1137,2},[<<115,116,114,105,99,116,95,114,101,108,97,116,105,111,110,40,66,105,110,82,101,108,49,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,115,116,114,105,99,116,32,114,101,108,97,116,105,111,110,93,40,96,109,58,115,111,102,115,35,115,116,114,105,99,116,95,114,101,108,97,116,105,111,110,96,41,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,10,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,96,66,105,110,82,101,108,49,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1148,2},spec,{{strict_relation,1},[{type,{1148,22},bounded_fun,[{type,{1148,22},'fun',[{type,{1148,22},product,[{var,{1148,23},'BinRel1'}]},{var,{1148,35},'BinRel2'}]},[{type,{1149,7},constraint,[{atom,{1149,7},is_subtype},[{var,{1149,7},'BinRel1'},{user_type,{1149,18},binary_relation,[]}]]},{type,{1150,7},constraint,[{atom,{1150,7},is_subtype},[{var,{1150,7},'BinRel2'},{user_type,{1150,18},binary_relation,[]}]]}]]}]}}]}},{{function,inverse_image,2},{1107,2},[<<105,110,118,101,114,115,101,95,105,109,97,103,101,40,66,105,110,82,101,108,44,32,83,101,116,49,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,105,110,118,101,114,115,101,32,105,109,97,103,101,93,40,96,109,58,115,111,102,115,35,105,110,118,101,114,115,101,95,105,109,97,103,101,96,41,32,111,102,32,96,83,101,116,49,96,32,117,110,100,101,114,32,116,104,101,32,98,105,110,97,114,121,10,114,101,108,97,116,105,111,110,32,96,66,105,110,82,101,108,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1119,2},spec,{{inverse_image,2},[{type,{1119,20},bounded_fun,[{type,{1119,20},'fun',[{type,{1119,20},product,[{var,{1119,21},'BinRel'},{var,{1119,29},'Set1'}]},{var,{1119,38},'Set2'}]},[{type,{1120,7},constraint,[{atom,{1120,7},is_subtype},[{var,{1120,7},'BinRel'},{user_type,{1120,17},binary_relation,[]}]]},{type,{1121,7},constraint,[{atom,{1121,7},is_subtype},[{var,{1121,7},'Set1'},{user_type,{1121,15},a_set,[]}]]},{type,{1122,7},constraint,[{atom,{1122,7},is_subtype},[{var,{1122,7},'Set2'},{user_type,{1122,15},a_set,[]}]]}]]}]}}]}},{{function,image,2},{1078,2},[<<105,109,97,103,101,40,66,105,110,82,101,108,44,32,83,101,116,49,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,105,109,97,103,101,93,40,96,109,58,115,111,102,115,35,105,109,97,103,101,96,41,32,111,102,32,115,101,116,32,96,83,101,116,49,96,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,10,96,66,105,110,82,101,108,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1090,2},spec,{{image,2},[{type,{1090,12},bounded_fun,[{type,{1090,12},'fun',[{type,{1090,12},product,[{var,{1090,13},'BinRel'},{var,{1090,21},'Set1'}]},{var,{1090,30},'Set2'}]},[{type,{1091,7},constraint,[{atom,{1091,7},is_subtype},[{var,{1091,7},'BinRel'},{user_type,{1091,17},binary_relation,[]}]]},{type,{1092,7},constraint,[{atom,{1092,7},is_subtype},[{var,{1092,7},'Set1'},{user_type,{1092,15},a_set,[]}]]},{type,{1093,7},constraint,[{atom,{1093,7},is_subtype},[{var,{1093,7},'Set2'},{user_type,{1093,15},a_set,[]}]]}]]}]}}]}},{{function,converse,1},{1058,2},[<<99,111,110,118,101,114,115,101,40,66,105,110,82,101,108,49,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,99,111,110,118,101,114,115,101,93,40,96,109,58,115,111,102,115,35,99,111,110,118,101,114,115,101,96,41,32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,96,66,105,110,82,101,108,49,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{1068,2},spec,{{converse,1},[{type,{1068,15},bounded_fun,[{type,{1068,15},'fun',[{type,{1068,15},product,[{var,{1068,16},'BinRel1'}]},{var,{1068,28},'BinRel2'}]},[{type,{1069,7},constraint,[{atom,{1069,7},is_subtype},[{var,{1069,7},'BinRel1'},{user_type,{1069,18},binary_relation,[]}]]},{type,{1070,7},constraint,[{atom,{1070,7},is_subtype},[{var,{1070,7},'BinRel2'},{user_type,{1070,18},binary_relation,[]}]]}]]}]}}]}},{{function,relative_product1,2},{1020,2},[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,49,40,66,105,110,82,101,108,49,44,32,66,105,110,82,101,108,50,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116,93,40,96,109,58,115,111,102,115,35,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,96,41,32,111,102,32,116,104,101,10,91,99,111,110,118,101,114,115,101,93,40,96,109,58,115,111,102,115,35,99,111,110,118,101,114,115,101,96,41,32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,96,66,105,110,82,101,108,49,96,32,97,110,100,32,116,104,101,32,98,105,110,97,114,121,10,114,101,108,97,116,105,111,110,32,96,66,105,110,82,101,108,50,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,91,96,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,96,93,40,96,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,49,47,50,96,41,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,10,91,96,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,96,93,40,96,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,50,96,41,46>>},#{specification => [{attribute,{1036,2},spec,{{relative_product1,2},[{type,{1036,24},bounded_fun,[{type,{1036,24},'fun',[{type,{1036,24},product,[{var,{1036,25},'BinRel1'},{var,{1036,34},'BinRel2'}]},{var,{1036,46},'BinRel3'}]},[{type,{1037,7},constraint,[{atom,{1037,7},is_subtype},[{var,{1037,7},'BinRel1'},{user_type,{1037,18},binary_relation,[]}]]},{type,{1038,7},constraint,[{atom,{1038,7},is_subtype},[{var,{1038,7},'BinRel2'},{user_type,{1038,18},binary_relation,[]}]]},{type,{1039,7},constraint,[{atom,{1039,7},is_subtype},[{var,{1039,7},'BinRel3'},{user_type,{1039,18},binary_relation,[]}]]}]]}]}}]}},{{function,relative_product,2},{966,2},[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,50>>],#{<<101,110>> => <<73,102,32,96,76,105,115,116,79,102,66,105,110,82,101,108,115,96,32,105,115,32,97,32,110,111,110,45,101,109,112,116,121,32,108,105,115,116,32,92,91,82,91,49,93,44,194,160,46,46,46,44,194,160,82,92,91,110,93,93,32,111,102,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,10,97,110,100,32,96,66,105,110,82,101,108,49,96,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,96,66,105,110,82,101,108,50,96,32,105,115,32,116,104,101,10,91,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116,93,40,96,109,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,96,41,32,111,102,32,116,104,101,32,111,114,100,101,114,101,100,32,115,101,116,10,40,82,92,91,105,93,44,194,160,46,46,46,44,194,160,82,92,91,110,93,41,32,97,110,100,32,96,66,105,110,82,101,108,49,96,46,10,10,73,102,32,96,66,105,110,82,101,108,49,96,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,10,91,67,97,114,116,101,115,105,97,110,32,112,114,111,100,117,99,116,93,40,96,109,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,96,41,32,111,102,32,116,104,101,32,114,97,110,103,101,115,32,111,102,32,82,92,91,105,93,44,10,114,97,110,103,101,194,160,82,92,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,92,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,10,34,108,111,115,116,34,41,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,78,111,116,105,99,101,32,116,104,97,116,32,91,96,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,96,93,40,96,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,50,96,41,32,105,115,32,100,105,102,102,101,114,101,110,116,10,102,114,111,109,32,91,96,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,96,93,40,96,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,50,96,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,10,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,10,10,82,101,116,117,114,110,115,32,116,104,101,32,91,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116,93,40,96,109,58,115,111,102,115,35,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,96,41,32,111,102,32,116,104,101,32,98,105,110,97,114,121,10,114,101,108,97,116,105,111,110,115,32,96,66,105,110,82,101,108,49,96,32,97,110,100,32,96,66,105,110,82,101,108,50,96,46>>},#{specification => [{attribute,{992,2},spec,{{relative_product,2},[{type,{992,23},bounded_fun,[{type,{992,23},'fun',[{type,{992,23},product,[{var,{992,24},'ListOfBinRels'},{var,{992,39},'BinRel1'}]},{var,{992,51},'BinRel2'}]},[{type,{993,7},constraint,[{atom,{993,7},is_subtype},[{var,{993,7},'ListOfBinRels'},{type,{993,24},nonempty_list,[{var,{993,25},'BinRel'}]}]]},{type,{994,7},constraint,[{atom,{994,7},is_subtype},[{var,{994,7},'BinRel'},{user_type,{994,17},binary_relation,[]}]]},{type,{995,7},constraint,[{atom,{995,7},is_subtype},[{var,{995,7},'BinRel1'},{user_type,{995,18},binary_relation,[]}]]},{type,{996,7},constraint,[{atom,{996,7},is_subtype},[{var,{996,7},'BinRel2'},{user_type,{996,18},binary_relation,[]}]]}]]},{type,{997,23},bounded_fun,[{type,{997,23},'fun',[{type,{997,23},product,[{var,{997,24},'BinRel1'},{var,{997,33},'BinRel2'}]},{var,{997,45},'BinRel3'}]},[{type,{998,7},constraint,[{atom,{998,7},is_subtype},[{var,{998,7},'BinRel1'},{user_type,{998,18},binary_relation,[]}]]},{type,{999,7},constraint,[{atom,{999,7},is_subtype},[{var,{999,7},'BinRel2'},{user_type,{999,18},binary_relation,[]}]]},{type,{1000,7},constraint,[{atom,{1000,7},is_subtype},[{var,{1000,7},'BinRel3'},{user_type,{1000,18},binary_relation,[]}]]}]]}]}}]}},{{function,relative_product,1},{956,1},[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,40,76,105,115,116,79,102,66,105,110,82,101,108,115,41>>],none,#{equiv => <<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,50>>}},{{function,field,1},{927,2},[<<102,105,101,108,100,40,66,105,110,82,101,108,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,102,105,101,108,100,93,40,96,109,58,115,111,102,115,35,102,105,101,108,100,96,41,32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,96,66,105,110,82,101,108,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,91,96,102,105,101,108,100,40,82,41,96,93,40,96,102,105,101,108,100,47,49,96,41,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,10,91,96,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,96,93,40,96,117,110,105,111,110,47,50,96,41,46>>},#{specification => [{attribute,{940,2},spec,{{field,1},[{type,{940,12},bounded_fun,[{type,{940,12},'fun',[{type,{940,12},product,[{var,{940,13},'BinRel'}]},{var,{940,24},'Set'}]},[{type,{941,7},constraint,[{atom,{941,7},is_subtype},[{var,{941,7},'BinRel'},{user_type,{941,17},binary_relation,[]}]]},{type,{942,7},constraint,[{atom,{942,7},is_subtype},[{var,{942,7},'Set'},{user_type,{942,14},a_set,[]}]]}]]}]}}]}},{{function,range,1},{907,2},[<<114,97,110,103,101,40,66,105,110,82,101,108,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,114,97,110,103,101,93,40,96,109,58,115,111,102,115,35,114,97,110,103,101,96,41,32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,96,66,105,110,82,101,108,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{917,2},spec,{{range,1},[{type,{917,12},bounded_fun,[{type,{917,12},'fun',[{type,{917,12},product,[{var,{917,13},'BinRel'}]},{var,{917,24},'Set'}]},[{type,{918,7},constraint,[{atom,{918,7},is_subtype},[{var,{918,7},'BinRel'},{user_type,{918,17},binary_relation,[]}]]},{type,{919,7},constraint,[{atom,{919,7},is_subtype},[{var,{919,7},'Set'},{user_type,{919,14},a_set,[]}]]}]]}]}}]}},{{function,domain,1},{887,2},[<<100,111,109,97,105,110,40,66,105,110,82,101,108,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,100,111,109,97,105,110,93,40,96,109,58,115,111,102,115,35,100,111,109,97,105,110,96,41,32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,96,66,105,110,82,101,108,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{897,2},spec,{{domain,1},[{type,{897,13},bounded_fun,[{type,{897,13},'fun',[{type,{897,13},product,[{var,{897,14},'BinRel'}]},{var,{897,25},'Set'}]},[{type,{898,7},constraint,[{atom,{898,7},is_subtype},[{var,{898,7},'BinRel'},{user_type,{898,17},binary_relation,[]}]]},{type,{899,7},constraint,[{atom,{899,7},is_subtype},[{var,{899,7},'Set'},{user_type,{899,14},a_set,[]}]]}]]}]}}]}},{{function,relation_to_family,1},{863,2},[<<114,101,108,97,116,105,111,110,95,116,111,95,102,97,109,105,108,121,40,66,105,110,82,101,108,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,91,102,97,109,105,108,121,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,32,96,70,97,109,105,108,121,96,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,10,116,104,101,32,91,100,111,109,97,105,110,93,40,96,109,58,115,111,102,115,35,100,111,109,97,105,110,96,41,32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,96,66,105,110,82,101,108,96,44,32,97,110,100,32,96,70,97,109,105,108,121,96,92,91,105,93,10,105,115,32,116,104,101,32,91,105,109,97,103,101,93,40,96,109,58,115,111,102,115,35,105,109,97,103,101,96,41,32,111,102,32,116,104,101,32,115,101,116,32,111,102,32,105,32,117,110,100,101,114,32,96,66,105,110,82,101,108,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{875,2},spec,{{relation_to_family,1},[{type,{875,25},bounded_fun,[{type,{875,25},'fun',[{type,{875,25},product,[{var,{875,26},'BinRel'}]},{var,{875,37},'Family'}]},[{type,{876,7},constraint,[{atom,{876,7},is_subtype},[{var,{876,7},'Family'},{user_type,{876,17},family,[]}]]},{type,{877,7},constraint,[{atom,{877,7},is_subtype},[{var,{877,7},'BinRel'},{user_type,{877,17},binary_relation,[]}]]}]]}]}}]}},{{function,rel2fam,1},{856,2},[<<114,101,108,50,102,97,109,40,66,105,110,82,101,108,41>>],hidden,#{}},{{function,canonical_relation,1},{823,2},[<<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>>],#{<<101,110>> => <<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,10,98,101,108,111,110,103,115,32,116,111,32,96,83,101,116,79,102,83,101,116,115,96,32,97,110,100,32,69,32,98,101,108,111,110,103,115,32,116,111,32,83,101,116,46,10,10,73,102,32,96,83,101,116,79,102,83,101,116,115,96,32,105,115,32,97,32,91,112,97,114,116,105,116,105,111,110,93,40,96,109,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110,96,41,32,111,102,32,97,32,115,101,116,32,88,32,97,110,100,32,82,32,105,115,32,116,104,101,10,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,96,83,101,116,79,102,83,101,116,115,96,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,10,91,99,97,110,111,110,105,99,97,108,32,109,97,112,93,40,96,109,58,115,111,102,115,35,99,97,110,111,110,105,99,97,108,95,109,97,112,96,41,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,10,114,101,115,112,101,99,116,32,116,111,32,82,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{839,2},spec,{{canonical_relation,1},[{type,{839,25},bounded_fun,[{type,{839,25},'fun',[{type,{839,25},product,[{var,{839,26},'SetOfSets'}]},{var,{839,40},'BinRel'}]},[{type,{840,7},constraint,[{atom,{840,7},is_subtype},[{var,{840,7},'BinRel'},{user_type,{840,17},binary_relation,[]}]]},{type,{841,7},constraint,[{atom,{841,7},is_subtype},[{var,{841,7},'SetOfSets'},{user_type,{841,20},set_of_sets,[]}]]}]]}]}}]}},{{function,intersection,1},{803,2},[<<105,110,116,101,114,115,101,99,116,105,111,110,40,83,101,116,79,102,83,101,116,115,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,105,110,116,101,114,115,101,99,116,105,111,110,93,40,96,109,58,115,111,102,115,35,105,110,116,101,114,115,101,99,116,105,111,110,95,110,96,41,32,111,102,32,116,104,101,32,115,101,116,32,111,102,32,115,101,116,115,10,96,83,101,116,79,102,83,101,116,115,96,46,10,10,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,96,98,97,100,97,114,103,96,32,109,101,115,115,97,103,101,46>>},#{specification => [{attribute,{809,2},spec,{{intersection,1},[{type,{809,19},bounded_fun,[{type,{809,19},'fun',[{type,{809,19},product,[{var,{809,20},'SetOfSets'}]},{var,{809,34},'Set'}]},[{type,{810,7},constraint,[{atom,{810,7},is_subtype},[{var,{810,7},'Set'},{user_type,{810,14},a_set,[]}]]},{type,{811,7},constraint,[{atom,{811,7},is_subtype},[{var,{811,7},'SetOfSets'},{user_type,{811,20},set_of_sets,[]}]]}]]}]}}]}},{{function,union,1},{792,2},[<<117,110,105,111,110,40,83,101,116,79,102,83,101,116,115,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,117,110,105,111,110,93,40,96,109,58,115,111,102,115,35,117,110,105,111,110,95,110,96,41,32,111,102,32,116,104,101,32,115,101,116,32,111,102,32,115,101,116,115,32,96,83,101,116,79,102,83,101,116,115,96,46>>},#{specification => [{attribute,{793,2},spec,{{union,1},[{type,{793,12},bounded_fun,[{type,{793,12},'fun',[{type,{793,12},product,[{var,{793,13},'SetOfSets'}]},{var,{793,27},'Set'}]},[{type,{794,7},constraint,[{atom,{794,7},is_subtype},[{var,{794,7},'Set'},{user_type,{794,14},a_set,[]}]]},{type,{795,7},constraint,[{atom,{795,7},is_subtype},[{var,{795,7},'SetOfSets'},{user_type,{795,20},set_of_sets,[]}]]}]]}]}}]}},{{function,is_disjoint,2},{770,2},[<<105,115,95,100,105,115,106,111,105,110,116,40,83,101,116,49,44,32,83,101,116,50,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,83,101,116,49,96,32,97,110,100,32,96,83,101,116,50,96,32,97,114,101,32,91,100,105,115,106,111,105,110,116,93,40,96,109,58,115,111,102,115,35,100,105,115,106,111,105,110,116,96,41,44,32,111,116,104,101,114,119,105,115,101,10,96,102,97,108,115,101,96,46>>},#{specification => [{attribute,{774,2},spec,{{is_disjoint,2},[{type,{774,18},bounded_fun,[{type,{774,18},'fun',[{type,{774,18},product,[{var,{774,19},'Set1'},{var,{774,25},'Set2'}]},{var,{774,34},'Bool'}]},[{type,{775,7},constraint,[{atom,{775,7},is_subtype},[{var,{775,7},'Bool'},{type,{775,15},boolean,[]}]]},{type,{776,7},constraint,[{atom,{776,7},is_subtype},[{var,{776,7},'Set1'},{user_type,{776,15},a_set,[]}]]},{type,{777,7},constraint,[{atom,{777,7},is_subtype},[{var,{777,7},'Set2'},{user_type,{777,15},a_set,[]}]]}]]}]}}]}},{{function,is_empty_set,1},{761,2},[<<105,115,95,101,109,112,116,121,95,115,101,116,40,65,110,121,83,101,116,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,65,110,121,83,101,116,96,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,96,102,97,108,115,101,96,46>>},#{specification => [{attribute,{762,2},spec,{{is_empty_set,1},[{type,{762,19},bounded_fun,[{type,{762,19},'fun',[{type,{762,19},product,[{var,{762,20},'AnySet'}]},{var,{762,31},'Bool'}]},[{type,{763,7},constraint,[{atom,{763,7},is_subtype},[{var,{763,7},'AnySet'},{user_type,{763,17},anyset,[]}]]},{type,{764,7},constraint,[{atom,{764,7},is_subtype},[{var,{764,7},'Bool'},{type,{764,15},boolean,[]}]]}]]}]}}]}},{{function,is_set,1},{744,2},[<<105,115,95,115,101,116,40,65,110,121,83,101,116,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,65,110,121,83,101,116,96,32,97,112,112,101,97,114,115,32,116,111,32,98,101,32,97,110,10,91,117,110,111,114,100,101,114,101,100,32,115,101,116,93,40,96,109,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110,96,41,44,32,97,110,100,32,96,102,97,108,115,101,96,32,105,102,32,96,65,110,121,83,101,116,96,32,105,115,32,97,110,32,111,114,100,101,114,101,100,10,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,10,10,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,96,116,114,117,101,96,32,102,111,114,32,97,110,121,32,116,101,114,109,10,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,10,91,100,97,116,97,32,116,121,112,101,115,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,110,111,95,117,115,101,114,95,116,121,112,101,115,96,41,46>>},#{specification => [{attribute,{753,2},spec,{{is_set,1},[{type,{753,13},bounded_fun,[{type,{753,13},'fun',[{type,{753,13},product,[{var,{753,14},'AnySet'}]},{var,{753,25},'Bool'}]},[{type,{754,7},constraint,[{atom,{754,7},is_subtype},[{var,{754,7},'AnySet'},{user_type,{754,17},anyset,[]}]]},{type,{755,7},constraint,[{atom,{755,7},is_subtype},[{var,{755,7},'Bool'},{type,{755,15},boolean,[]}]]}]]}]}}]}},{{function,is_sofs_set,1},{725,2},[<<105,115,95,115,111,102,115,95,115,101,116,40,84,101,114,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,84,101,114,109,96,32,97,112,112,101,97,114,115,32,116,111,32,98,101,32,97,110,10,91,117,110,111,114,100,101,114,101,100,32,115,101,116,93,40,96,109,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110,96,41,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,10,111,116,104,101,114,119,105,115,101,32,96,102,97,108,115,101,96,46,10,10,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,96,116,114,117,101,96,32,102,111,114,32,97,110,121,32,116,101,114,109,32,116,104,97,116,10,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,96,115,111,102,115,96,32,115,101,116,46,32,83,101,101,32,97,108,115,111,32,110,111,116,101,32,111,110,10,91,100,97,116,97,32,116,121,112,101,115,93,40,96,101,58,115,121,115,116,101,109,58,100,97,116,97,95,116,121,112,101,115,46,109,100,35,110,111,95,117,115,101,114,95,116,121,112,101,115,96,41,46>>},#{specification => [{attribute,{734,2},spec,{{is_sofs_set,1},[{type,{734,18},bounded_fun,[{type,{734,18},'fun',[{type,{734,18},product,[{var,{734,19},'Term'}]},{var,{734,28},'Bool'}]},[{type,{735,7},constraint,[{atom,{735,7},is_subtype},[{var,{735,7},'Bool'},{type,{735,15},boolean,[]}]]},{type,{736,7},constraint,[{atom,{736,7},is_subtype},[{var,{736,7},'Term'},{type,{736,15},term,[]}]]}]]}]}}]}},{{function,is_subset,2},{711,2},[<<105,115,95,115,117,98,115,101,116,40,83,101,116,49,44,32,83,101,116,50,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,83,101,116,49,96,32,105,115,32,97,32,91,115,117,98,115,101,116,93,40,96,109,58,115,111,102,115,35,115,117,98,115,101,116,96,41,32,111,102,32,96,83,101,116,50,96,44,32,111,116,104,101,114,119,105,115,101,10,96,102,97,108,115,101,96,46>>},#{specification => [{attribute,{715,2},spec,{{is_subset,2},[{type,{715,16},bounded_fun,[{type,{715,16},'fun',[{type,{715,16},product,[{var,{715,17},'Set1'},{var,{715,23},'Set2'}]},{var,{715,32},'Bool'}]},[{type,{716,7},constraint,[{atom,{716,7},is_subtype},[{var,{716,7},'Bool'},{type,{716,15},boolean,[]}]]},{type,{717,7},constraint,[{atom,{717,7},is_subtype},[{var,{717,7},'Set1'},{user_type,{717,15},a_set,[]}]]},{type,{718,7},constraint,[{atom,{718,7},is_subtype},[{var,{718,7},'Set2'},{user_type,{718,15},a_set,[]}]]}]]}]}}]}},{{function,is_equal,2},{680,2},[<<105,115,95,101,113,117,97,108,40,65,110,121,83,101,116,49,44,32,65,110,121,83,101,116,50,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,96,65,110,121,83,101,116,49,96,32,97,110,100,32,96,65,110,121,83,101,116,50,96,32,97,114,101,32,91,101,113,117,97,108,93,40,96,109,58,115,111,102,115,35,101,113,117,97,108,96,41,44,32,111,116,104,101,114,119,105,115,101,10,96,102,97,108,115,101,96,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,96,61,61,47,50,96,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,10,101,113,117,97,108,105,116,121,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{692,2},spec,{{is_equal,2},[{type,{692,15},bounded_fun,[{type,{692,15},'fun',[{type,{692,15},product,[{var,{692,16},'AnySet1'},{var,{692,25},'AnySet2'}]},{var,{692,37},'Bool'}]},[{type,{693,7},constraint,[{atom,{693,7},is_subtype},[{var,{693,7},'AnySet1'},{user_type,{693,18},anyset,[]}]]},{type,{694,7},constraint,[{atom,{694,7},is_subtype},[{var,{694,7},'AnySet2'},{user_type,{694,18},anyset,[]}]]},{type,{695,7},constraint,[{atom,{695,7},is_subtype},[{var,{695,7},'Bool'},{type,{695,15},boolean,[]}]]}]]}]}}]}},{{function,constant_function,2},{653,2},[<<99,111,110,115,116,97,110,116,95,102,117,110,99,116,105,111,110,40,83,101,116,44,32,65,110,121,83,101,116,41>>],#{<<101,110>> => <<67,114,101,97,116,101,115,32,116,104,101,32,91,102,117,110,99,116,105,111,110,93,40,96,109,58,115,111,102,115,35,102,117,110,99,116,105,111,110,96,41,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,96,83,101,116,96,10,111,110,116,111,32,96,65,110,121,83,101,116,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{665,2},spec,{{constant_function,2},[{type,{665,24},bounded_fun,[{type,{665,24},'fun',[{type,{665,24},product,[{var,{665,25},'Set'},{var,{665,30},'AnySet'}]},{var,{665,41},'Function'}]},[{type,{666,7},constraint,[{atom,{666,7},is_subtype},[{var,{666,7},'AnySet'},{user_type,{666,17},anyset,[]}]]},{type,{667,7},constraint,[{atom,{667,7},is_subtype},[{var,{667,7},'Function'},{user_type,{667,19},a_function,[]}]]},{type,{668,7},constraint,[{atom,{668,7},is_subtype},[{var,{668,7},'Set'},{user_type,{668,14},a_set,[]}]]}]]}]}}]}},{{function,product,1},{617,2},[<<112,114,111,100,117,99,116,40,84,117,112,108,101,79,102,83,101,116,115,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,67,97,114,116,101,115,105,97,110,32,112,114,111,100,117,99,116,93,40,96,109,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,96,41,32,111,102,32,116,104,101,10,110,111,110,45,101,109,112,116,121,32,116,117,112,108,101,32,111,102,32,115,101,116,115,32,96,84,117,112,108,101,79,102,83,101,116,115,96,46,32,73,102,32,40,120,92,91,49,93,44,194,160,46,46,46,44,194,160,120,92,91,110,93,41,32,105,115,32,97,110,32,101,108,101,109,101,110,116,32,111,102,10,116,104,101,32,110,45,97,114,121,32,114,101,108,97,116,105,111,110,32,96,82,101,108,97,116,105,111,110,96,44,32,116,104,101,110,32,120,92,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,10,96,84,117,112,108,101,79,102,83,101,116,115,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{632,2},spec,{{product,1},[{type,{632,14},bounded_fun,[{type,{632,14},'fun',[{type,{632,14},product,[{var,{632,15},'TupleOfSets'}]},{var,{632,31},'Relation'}]},[{type,{633,7},constraint,[{atom,{633,7},is_subtype},[{var,{633,7},'Relation'},{user_type,{633,19},relation,[]}]]},{type,{634,7},constraint,[{atom,{634,7},is_subtype},[{var,{634,7},'TupleOfSets'},{user_type,{634,22},tuple_of,[{user_type,{634,31},a_set,[]}]}]]}]]}]}}]}},{{function,product,2},{588,2},[<<112,114,111,100,117,99,116,40,83,101,116,49,44,32,83,101,116,50,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,67,97,114,116,101,115,105,97,110,32,112,114,111,100,117,99,116,93,40,96,109,58,115,111,102,115,35,67,97,114,116,101,115,105,97,110,95,112,114,111,100,117,99,116,96,41,32,111,102,32,96,83,101,116,49,96,32,97,110,100,10,96,83,101,116,50,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,91,96,112,114,111,100,117,99,116,40,83,49,44,194,160,83,50,41,96,93,40,96,112,114,111,100,117,99,116,47,50,96,41,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,10,91,96,112,114,111,100,117,99,116,40,123,83,49,44,194,160,83,50,125,41,96,93,40,96,112,114,111,100,117,99,116,47,49,96,41,46>>},#{specification => [{attribute,{603,2},spec,{{product,2},[{type,{603,14},bounded_fun,[{type,{603,14},'fun',[{type,{603,14},product,[{var,{603,15},'Set1'},{var,{603,21},'Set2'}]},{var,{603,30},'BinRel'}]},[{type,{604,7},constraint,[{atom,{604,7},is_subtype},[{var,{604,7},'BinRel'},{user_type,{604,17},binary_relation,[]}]]},{type,{605,7},constraint,[{atom,{605,7},is_subtype},[{var,{605,7},'Set1'},{user_type,{605,15},a_set,[]}]]},{type,{606,7},constraint,[{atom,{606,7},is_subtype},[{var,{606,7},'Set2'},{user_type,{606,15},a_set,[]}]]}]]}]}}]}},{{function,symmetric_partition,2},{569,2},[<<115,121,109,109,101,116,114,105,99,95,112,97,114,116,105,116,105,111,110,40,83,101,116,49,44,32,83,101,116,50,41>>],#{<<101,110>> => <<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,10,10,45,32,96,83,101,116,51,96,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,96,83,101,116,49,96,32,116,104,97,116,32,100,111,32,110,111,116,32,98,101,108,111,110,103,32,116,111,32,96,83,101,116,50,96,46,10,45,32,96,83,101,116,52,96,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,96,83,101,116,49,96,32,116,104,97,116,32,98,101,108,111,110,103,32,116,111,32,96,83,101,116,50,96,46,10,45,32,96,83,101,116,53,96,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,96,83,101,116,50,96,32,116,104,97,116,32,100,111,32,110,111,116,32,98,101,108,111,110,103,32,116,111,32,96,83,101,116,49,96,46>>},#{specification => [{attribute,{576,2},spec,{{symmetric_partition,2},[{type,{576,26},bounded_fun,[{type,{576,26},'fun',[{type,{576,26},product,[{var,{576,27},'Set1'},{var,{576,33},'Set2'}]},{type,{576,42},tuple,[{var,{576,43},'Set3'},{var,{576,49},'Set4'},{var,{576,55},'Set5'}]}]},[{type,{577,7},constraint,[{atom,{577,7},is_subtype},[{var,{577,7},'Set1'},{user_type,{577,15},a_set,[]}]]},{type,{578,7},constraint,[{atom,{578,7},is_subtype},[{var,{578,7},'Set2'},{user_type,{578,15},a_set,[]}]]},{type,{579,7},constraint,[{atom,{579,7},is_subtype},[{var,{579,7},'Set3'},{user_type,{579,15},a_set,[]}]]},{type,{580,7},constraint,[{atom,{580,7},is_subtype},[{var,{580,7},'Set4'},{user_type,{580,15},a_set,[]}]]},{type,{581,7},constraint,[{atom,{581,7},is_subtype},[{var,{581,7},'Set5'},{user_type,{581,15},a_set,[]}]]}]]}]}}]}},{{function,symdiff,2},{547,2},[<<115,121,109,100,105,102,102,40,83,101,116,49,44,32,83,101,116,50,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,115,121,109,109,101,116,114,105,99,32,100,105,102,102,101,114,101,110,99,101,93,40,96,109,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,96,41,32,40,111,114,32,116,104,101,10,66,111,111,108,101,97,110,32,115,117,109,41,32,111,102,32,96,83,101,116,49,96,32,97,110,100,32,96,83,101,116,50,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{559,2},spec,{{symdiff,2},[{type,{559,14},bounded_fun,[{type,{559,14},'fun',[{type,{559,14},product,[{var,{559,15},'Set1'},{var,{559,21},'Set2'}]},{var,{559,30},'Set3'}]},[{type,{560,7},constraint,[{atom,{560,7},is_subtype},[{var,{560,7},'Set1'},{user_type,{560,15},a_set,[]}]]},{type,{561,7},constraint,[{atom,{561,7},is_subtype},[{var,{561,7},'Set2'},{user_type,{561,15},a_set,[]}]]},{type,{562,7},constraint,[{atom,{562,7},is_subtype},[{var,{562,7},'Set3'},{user_type,{562,15},a_set,[]}]]}]]}]}}]}},{{function,difference,2},{536,2},[<<100,105,102,102,101,114,101,110,99,101,40,83,101,116,49,44,32,83,101,116,50,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,100,105,102,102,101,114,101,110,99,101,93,40,96,109,58,115,111,102,115,35,100,105,102,102,101,114,101,110,99,101,96,41,32,111,102,32,116,104,101,32,115,101,116,115,32,96,83,101,116,49,96,32,97,110,100,32,96,83,101,116,50,96,46>>},#{specification => [{attribute,{537,2},spec,{{difference,2},[{type,{537,17},bounded_fun,[{type,{537,17},'fun',[{type,{537,17},product,[{var,{537,18},'Set1'},{var,{537,24},'Set2'}]},{var,{537,33},'Set3'}]},[{type,{538,7},constraint,[{atom,{538,7},is_subtype},[{var,{538,7},'Set1'},{user_type,{538,15},a_set,[]}]]},{type,{539,7},constraint,[{atom,{539,7},is_subtype},[{var,{539,7},'Set2'},{user_type,{539,15},a_set,[]}]]},{type,{540,7},constraint,[{atom,{540,7},is_subtype},[{var,{540,7},'Set3'},{user_type,{540,15},a_set,[]}]]}]]}]}}]}},{{function,intersection,2},{525,2},[<<105,110,116,101,114,115,101,99,116,105,111,110,40,83,101,116,49,44,32,83,101,116,50,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,105,110,116,101,114,115,101,99,116,105,111,110,93,40,96,109,58,115,111,102,115,35,105,110,116,101,114,115,101,99,116,105,111,110,96,41,32,111,102,32,96,83,101,116,49,96,32,97,110,100,32,96,83,101,116,50,96,46>>},#{specification => [{attribute,{526,2},spec,{{intersection,2},[{type,{526,19},bounded_fun,[{type,{526,19},'fun',[{type,{526,19},product,[{var,{526,20},'Set1'},{var,{526,26},'Set2'}]},{var,{526,35},'Set3'}]},[{type,{527,7},constraint,[{atom,{527,7},is_subtype},[{var,{527,7},'Set1'},{user_type,{527,15},a_set,[]}]]},{type,{528,7},constraint,[{atom,{528,7},is_subtype},[{var,{528,7},'Set2'},{user_type,{528,15},a_set,[]}]]},{type,{529,7},constraint,[{atom,{529,7},is_subtype},[{var,{529,7},'Set3'},{user_type,{529,15},a_set,[]}]]}]]}]}}]}},{{function,union,2},{514,2},[<<117,110,105,111,110,40,83,101,116,49,44,32,83,101,116,50,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,117,110,105,111,110,93,40,96,109,58,115,111,102,115,35,117,110,105,111,110,96,41,32,111,102,32,96,83,101,116,49,96,32,97,110,100,32,96,83,101,116,50,96,46>>},#{specification => [{attribute,{515,2},spec,{{union,2},[{type,{515,12},bounded_fun,[{type,{515,12},'fun',[{type,{515,12},product,[{var,{515,13},'Set1'},{var,{515,19},'Set2'}]},{var,{515,28},'Set3'}]},[{type,{516,7},constraint,[{atom,{516,7},is_subtype},[{var,{516,7},'Set1'},{user_type,{516,15},a_set,[]}]]},{type,{517,7},constraint,[{atom,{517,7},is_subtype},[{var,{517,7},'Set2'},{user_type,{517,15},a_set,[]}]]},{type,{518,7},constraint,[{atom,{518,7},is_subtype},[{var,{518,7},'Set3'},{user_type,{518,15},a_set,[]}]]}]]}]}}]}},{{function,specification,2},{480,2},[<<115,112,101,99,105,102,105,99,97,116,105,111,110,40,70,117,110,44,32,83,101,116,49,41>>],#{<<101,110>> => <<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,96,83,101,116,49,96,32,102,111,114,32,119,104,105,99,104,32,96,70,117,110,96,32,114,101,116,117,114,110,115,10,96,116,114,117,101,96,46,32,73,102,32,96,70,117,110,96,32,105,115,32,97,32,116,117,112,108,101,32,96,123,101,120,116,101,114,110,97,108,44,194,160,70,117,110,50,125,96,44,32,96,70,117,110,50,96,32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,116,104,101,10,91,101,120,116,101,114,110,97,108,32,115,101,116,93,40,96,109,58,115,111,102,115,35,101,120,116,101,114,110,97,108,95,115,101,116,96,41,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,96,70,117,110,96,32,105,115,10,97,112,112,108,105,101,100,32,116,111,32,101,97,99,104,32,101,108,101,109,101,110,116,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96>>},#{specification => [{attribute,{495,2},spec,{{specification,2},[{type,{495,20},bounded_fun,[{type,{495,20},'fun',[{type,{495,20},product,[{var,{495,21},'Fun'},{var,{495,26},'Set1'}]},{var,{495,35},'Set2'}]},[{type,{496,7},constraint,[{atom,{496,7},is_subtype},[{var,{496,7},'Fun'},{user_type,{496,14},spec_fun,[]}]]},{type,{497,7},constraint,[{atom,{497,7},is_subtype},[{var,{497,7},'Set1'},{user_type,{497,15},a_set,[]}]]},{type,{498,7},constraint,[{atom,{498,7},is_subtype},[{var,{498,7},'Set2'},{user_type,{498,15},a_set,[]}]]}]]}]}}]}},{{function,no_elements,1},{469,2},[<<110,111,95,101,108,101,109,101,110,116,115,40,65,83,101,116,41>>],#{<<101,110>> => <<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,96,65,83,101,116,96,46>>},#{specification => [{attribute,{470,2},spec,{{no_elements,1},[{type,{470,18},bounded_fun,[{type,{470,18},'fun',[{type,{470,18},product,[{var,{470,19},'ASet'}]},{var,{470,28},'NoElements'}]},[{type,{471,7},constraint,[{atom,{471,7},is_subtype},[{var,{471,7},'ASet'},{type,{471,15},union,[{user_type,{471,15},a_set,[]},{user_type,{471,25},ordset,[]}]}]]},{type,{472,7},constraint,[{atom,{472,7},is_subtype},[{var,{472,7},'NoElements'},{type,{472,21},non_neg_integer,[]}]]}]]}]}}]}},{{function,to_sets,1},{450,2},[<<116,111,95,115,101,116,115,40,65,83,101,116,41>>],#{<<101,110>> => <<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,96,65,83,101,116,96,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,10,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,96,65,83,101,116,96,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,10,100,117,112,108,105,99,97,116,101,115,46>>},#{specification => [{attribute,{455,2},spec,{{to_sets,1},[{type,{455,14},bounded_fun,[{type,{455,14},'fun',[{type,{455,14},product,[{var,{455,15},'ASet'}]},{var,{455,24},'Sets'}]},[{type,{456,7},constraint,[{atom,{456,7},is_subtype},[{var,{456,7},'ASet'},{type,{456,15},union,[{user_type,{456,15},a_set,[]},{user_type,{456,25},ordset,[]}]}]]},{type,{457,7},constraint,[{atom,{457,7},is_subtype},[{var,{457,7},'Sets'},{type,{457,15},union,[{user_type,{457,15},tuple_of,[{var,{457,24},'AnySet'}]},{type,{457,34},list,[{var,{457,35},'AnySet'}]}]}]]},{type,{458,7},constraint,[{atom,{458,7},is_subtype},[{var,{458,7},'AnySet'},{user_type,{458,17},anyset,[]}]]}]]}]}}]}},{{function,type,1},{441,2},[<<116,121,112,101,40,65,110,121,83,101,116,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,116,121,112,101,93,40,96,109,58,115,111,102,115,35,116,121,112,101,96,41,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>>},#{specification => [{attribute,{442,2},spec,{{type,1},[{type,{442,11},bounded_fun,[{type,{442,11},'fun',[{type,{442,11},product,[{var,{442,12},'AnySet'}]},{var,{442,23},'Type'}]},[{type,{443,7},constraint,[{atom,{443,7},is_subtype},[{var,{443,7},'AnySet'},{user_type,{443,17},anyset,[]}]]},{type,{444,7},constraint,[{atom,{444,7},is_subtype},[{var,{444,7},'Type'},{user_type,{444,15},type,[]}]]}]]}]}}]}},{{function,to_external,1},{429,2},[<<116,111,95,101,120,116,101,114,110,97,108,40,65,110,121,83,101,116,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,101,120,116,101,114,110,97,108,32,115,101,116,93,40,96,109,58,115,111,102,115,35,101,120,116,101,114,110,97,108,95,115,101,116,96,41,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,10,117,110,111,114,100,101,114,101,100,32,115,101,116,46>>},#{specification => [{attribute,{433,2},spec,{{to_external,1},[{type,{433,18},bounded_fun,[{type,{433,18},'fun',[{type,{433,18},product,[{var,{433,19},'AnySet'}]},{var,{433,30},'ExternalSet'}]},[{type,{434,7},constraint,[{atom,{434,7},is_subtype},[{var,{434,7},'ExternalSet'},{user_type,{434,22},external_set,[]}]]},{type,{435,7},constraint,[{atom,{435,7},is_subtype},[{var,{435,7},'AnySet'},{user_type,{435,17},anyset,[]}]]}]]}]}}]}},{{function,family,2},{408,2},[<<102,97,109,105,108,121,40,84,117,112,108,101,115,44,32,84,121,112,101,41>>],#{<<101,110>> => <<67,114,101,97,116,101,115,32,97,32,91,102,97,109,105,108,121,32,111,102,32,115,117,98,115,101,116,115,93,40,96,109,58,115,111,102,115,35,102,97,109,105,108,121,96,41,46,32,91,96,102,97,109,105,108,121,40,70,44,194,160,84,41,96,93,40,96,102,97,109,105,108,121,47,50,96,41,32,105,115,10,101,113,117,105,118,97,108,101,110,116,32,116,111,32,91,96,102,114,111,109,95,116,101,114,109,40,70,44,194,160,84,41,96,93,40,96,102,114,111,109,95,116,101,114,109,47,50,96,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>>},#{specification => [{attribute,{412,2},spec,{{family,2},[{type,{412,13},bounded_fun,[{type,{412,13},'fun',[{type,{412,13},product,[{var,{412,14},'Tuples'},{var,{412,22},'Type'}]},{var,{412,31},'Family'}]},[{type,{413,7},constraint,[{atom,{413,7},is_subtype},[{var,{413,7},'Family'},{user_type,{413,17},family,[]}]]},{type,{414,7},constraint,[{atom,{414,7},is_subtype},[{var,{414,7},'Tuples'},{type,{414,17},list,[{type,{414,18},tuple,any}]}]]},{type,{415,7},constraint,[{atom,{415,7},is_subtype},[{var,{415,7},'Type'},{user_type,{415,15},type,[]}]]}]]}]}}]}},{{function,family,1},{399,1},[<<102,97,109,105,108,121,40,84,117,112,108,101,115,41>>],none,#{equiv => <<102,97,109,105,108,121,40,84,117,112,108,101,115,44,32,91,123,97,116,111,109,44,32,91,97,116,111,109,93,125,93,41>>}},{{function,a_function,2},{376,2},[<<97,95,102,117,110,99,116,105,111,110,40,84,117,112,108,101,115,44,32,84,121,112,101,41>>],#{<<101,110>> => <<67,114,101,97,116,101,115,32,97,32,91,102,117,110,99,116,105,111,110,93,40,96,109,58,115,111,102,115,35,102,117,110,99,116,105,111,110,96,41,46,10,10,91,96,97,95,102,117,110,99,116,105,111,110,40,70,44,194,160,84,41,96,93,40,96,97,95,102,117,110,99,116,105,111,110,47,50,96,41,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,10,91,96,102,114,111,109,95,116,101,114,109,40,70,44,194,160,84,41,96,93,40,96,102,114,111,109,95,116,101,114,109,47,50,96,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>>},#{specification => [{attribute,{382,2},spec,{{a_function,2},[{type,{382,17},bounded_fun,[{type,{382,17},'fun',[{type,{382,17},product,[{var,{382,18},'Tuples'},{var,{382,26},'Type'}]},{var,{382,35},'Function'}]},[{type,{383,7},constraint,[{atom,{383,7},is_subtype},[{var,{383,7},'Function'},{user_type,{383,19},a_function,[]}]]},{type,{384,7},constraint,[{atom,{384,7},is_subtype},[{var,{384,7},'Tuples'},{type,{384,17},list,[{type,{384,18},tuple,any}]}]]},{type,{385,7},constraint,[{atom,{385,7},is_subtype},[{var,{385,7},'Type'},{user_type,{385,15},type,[]}]]}]]}]}}]}},{{function,a_function,1},{367,1},[<<97,95,102,117,110,99,116,105,111,110,40,84,117,112,108,101,115,41>>],none,#{equiv => <<97,95,102,117,110,99,116,105,111,110,40,84,117,112,108,101,115,44,32,91,123,97,116,111,109,44,32,97,116,111,109,125,93,41>>}},{{function,relation,2},{345,2},[<<114,101,108,97,116,105,111,110,40,84,117,112,108,101,115,44,32,84,121,112,101,41>>],#{<<101,110>> => <<67,114,101,97,116,101,115,32,97,32,91,114,101,108,97,116,105,111,110,93,40,96,109,58,115,111,102,115,35,114,101,108,97,116,105,111,110,96,41,46,32,91,96,114,101,108,97,116,105,111,110,40,82,44,194,160,84,41,96,93,40,96,114,101,108,97,116,105,111,110,47,50,96,41,32,105,115,10,101,113,117,105,118,97,108,101,110,116,32,116,111,32,91,96,102,114,111,109,95,116,101,114,109,40,82,44,194,160,84,41,96,93,40,96,102,114,111,109,95,116,101,114,109,47,50,96,41,44,32,105,102,32,84,32,105,115,32,97,10,91,116,121,112,101,93,40,96,109,58,115,111,102,115,35,116,121,112,101,96,41,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,10,10,73,102,32,96,84,121,112,101,96,32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,78,44,32,116,104,101,110,32,96,91,123,97,116,111,109,44,194,160,46,46,46,44,194,160,97,116,111,109,125,93,41,96,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,10,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>>},#{specification => [{attribute,{353,2},spec,{{relation,2},[{type,{353,15},bounded_fun,[{type,{353,15},'fun',[{type,{353,15},product,[{var,{353,16},'Tuples'},{var,{353,24},'Type'}]},{var,{353,33},'Relation'}]},[{type,{354,7},constraint,[{atom,{354,7},is_subtype},[{var,{354,7},'N'},{type,{354,12},integer,[]}]]},{type,{355,7},constraint,[{atom,{355,7},is_subtype},[{var,{355,7},'Type'},{type,{355,15},union,[{var,{355,15},'N'},{user_type,{355,19},type,[]}]}]]},{type,{356,7},constraint,[{atom,{356,7},is_subtype},[{var,{356,7},'Relation'},{user_type,{356,19},relation,[]}]]},{type,{357,7},constraint,[{atom,{357,7},is_subtype},[{var,{357,7},'Tuples'},{type,{357,17},list,[{type,{357,18},tuple,any}]}]]}]]}]}}]}},{{function,relation,1},{327,2},[<<114,101,108,97,116,105,111,110,40,84,117,112,108,101,115,41>>],#{<<101,110>> => <<69,113,117,105,118,97,108,101,110,116,32,116,111,32,91,96,114,101,108,97,116,105,111,110,40,84,117,112,108,101,115,44,32,84,121,112,101,41,96,93,40,96,114,101,108,97,116,105,111,110,47,50,96,41,32,119,104,101,114,101,32,96,84,121,112,101,96,32,105,115,32,116,104,101,32,115,105,122,101,10,111,102,32,116,104,101,32,102,105,114,115,116,32,116,117,112,108,101,32,111,102,32,96,84,117,112,108,101,115,96,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,10,10,73,102,32,116,117,112,108,101,115,32,105,115,32,96,91,93,96,44,32,116,104,101,110,32,96,84,121,112,101,96,32,105,115,32,96,50,96,46>>},#{specification => [{attribute,{333,2},spec,{{relation,1},[{type,{333,15},bounded_fun,[{type,{333,15},'fun',[{type,{333,15},product,[{var,{333,16},'Tuples'}]},{var,{333,27},'Relation'}]},[{type,{334,7},constraint,[{atom,{334,7},is_subtype},[{var,{334,7},'Relation'},{user_type,{334,19},relation,[]}]]},{type,{335,7},constraint,[{atom,{335,7},is_subtype},[{var,{335,7},'Tuples'},{type,{335,17},list,[{type,{335,18},tuple,any}]}]]}]]}]}}]}},{{function,from_sets,1},{289,2},[<<102,114,111,109,95,115,101,116,115,47,49>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,117,110,111,114,100,101,114,101,100,32,115,101,116,93,40,96,109,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110,96,41,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,115,101,116,115,32,111,102,10,108,105,115,116,32,96,76,105,115,116,79,102,83,101,116,115,96,46,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,82,101,116,117,114,110,115,32,116,104,101,32,91,111,114,100,101,114,101,100,32,115,101,116,93,40,96,109,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110,96,41,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,10,110,111,110,45,101,109,112,116,121,32,116,117,112,108,101,32,96,84,117,112,108,101,79,102,83,101,116,115,96,46>>},#{specification => [{attribute,{304,2},spec,{{from_sets,1},[{type,{304,16},bounded_fun,[{type,{304,16},'fun',[{type,{304,16},product,[{var,{304,17},'ListOfSets'}]},{var,{304,32},'Set'}]},[{type,{305,7},constraint,[{atom,{305,7},is_subtype},[{var,{305,7},'Set'},{user_type,{305,14},a_set,[]}]]},{type,{306,7},constraint,[{atom,{306,7},is_subtype},[{var,{306,7},'ListOfSets'},{type,{306,21},list,[{user_type,{306,22},anyset,[]}]}]]}]]},{type,{307,16},bounded_fun,[{type,{307,16},'fun',[{type,{307,16},product,[{var,{307,17},'TupleOfSets'}]},{var,{307,33},'Ordset'}]},[{type,{308,7},constraint,[{atom,{308,7},is_subtype},[{var,{308,7},'Ordset'},{user_type,{308,17},ordset,[]}]]},{type,{309,7},constraint,[{atom,{309,7},is_subtype},[{var,{309,7},'TupleOfSets'},{user_type,{309,22},tuple_of,[{user_type,{309,31},anyset,[]}]}]]}]]}]}}]}},{{function,set,2},{268,2},[<<115,101,116,40,84,101,114,109,115,44,32,84,121,112,101,41>>],#{<<101,110>> => <<67,114,101,97,116,101,115,32,97,110,32,91,117,110,111,114,100,101,114,101,100,32,115,101,116,93,40,96,109,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110,96,41,46,32,91,96,115,101,116,40,76,44,194,160,84,41,96,93,40,96,115,101,116,47,50,96,41,32,105,115,10,101,113,117,105,118,97,108,101,110,116,32,116,111,32,91,96,102,114,111,109,95,116,101,114,109,40,76,44,194,160,84,41,96,93,40,96,102,114,111,109,95,116,101,114,109,47,50,96,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,10,115,101,116,46>>},#{specification => [{attribute,{273,2},spec,{{set,2},[{type,{273,10},bounded_fun,[{type,{273,10},'fun',[{type,{273,10},product,[{var,{273,11},'Terms'},{var,{273,18},'Type'}]},{var,{273,27},'Set'}]},[{type,{274,7},constraint,[{atom,{274,7},is_subtype},[{var,{274,7},'Set'},{user_type,{274,14},a_set,[]}]]},{type,{275,7},constraint,[{atom,{275,7},is_subtype},[{var,{275,7},'Terms'},{type,{275,16},list,[{type,{275,17},term,[]}]}]]},{type,{276,7},constraint,[{atom,{276,7},is_subtype},[{var,{276,7},'Type'},{user_type,{276,15},type,[]}]]}]]}]}}]}},{{function,set,1},{262,1},[<<115,101,116,40,84,101,114,109,115,41>>],none,#{equiv => <<115,101,116,40,84,101,114,109,115,44,32,91,97,116,111,109,93,41>>}},{{function,is_type,1},{245,2},[<<105,115,95,116,121,112,101,40,84,101,114,109,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,96,116,114,117,101,96,32,105,102,32,116,101,114,109,32,96,84,101,114,109,96,32,105,115,32,97,32,91,116,121,112,101,93,40,96,109,58,115,111,102,115,35,116,121,112,101,96,41,46>>},#{specification => [{attribute,{246,2},spec,{{is_type,1},[{type,{246,14},bounded_fun,[{type,{246,14},'fun',[{type,{246,14},product,[{var,{246,15},'Term'}]},{var,{246,24},'Bool'}]},[{type,{247,7},constraint,[{atom,{247,7},is_subtype},[{var,{247,7},'Bool'},{type,{247,15},boolean,[]}]]},{type,{248,7},constraint,[{atom,{248,7},is_subtype},[{var,{248,7},'Term'},{type,{248,15},term,[]}]]}]]}]}}]}},{{function,empty_set,0},{236,2},[<<101,109,112,116,121,95,115,101,116,40,41>>],#{<<101,110>> => <<82,101,116,117,114,110,115,32,116,104,101,32,91,117,110,116,121,112,101,100,32,101,109,112,116,121,32,115,101,116,93,40,96,109,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110,96,41,46,32,96,101,109,112,116,121,95,115,101,116,47,48,96,32,105,115,10,101,113,117,105,118,97,108,101,110,116,32,116,111,32,91,96,102,114,111,109,95,116,101,114,109,40,91,93,44,194,160,91,39,95,39,93,41,96,93,40,96,102,114,111,109,95,116,101,114,109,47,50,96,41,46>>},#{specification => [{attribute,{240,2},spec,{{empty_set,0},[{type,{240,16},bounded_fun,[{type,{240,16},'fun',[{type,{240,16},product,[]},{var,{240,22},'Set'}]},[{type,{241,7},constraint,[{atom,{241,7},is_subtype},[{var,{241,7},'Set'},{user_type,{241,14},a_set,[]}]]}]]}]}}]}},{{function,from_external,2},{222,2},[<<102,114,111,109,95,101,120,116,101,114,110,97,108,40,69,120,116,101,114,110,97,108,83,101,116,44,32,84,121,112,101,41>>],#{<<101,110>> => <<67,114,101,97,116,101,115,32,97,32,115,101,116,32,102,114,111,109,32,116,104,101,32,91,101,120,116,101,114,110,97,108,32,115,101,116,93,40,96,109,58,115,111,102,115,35,101,120,116,101,114,110,97,108,95,115,101,116,96,41,32,96,69,120,116,101,114,110,97,108,83,101,116,96,32,97,110,100,10,116,104,101,32,91,116,121,112,101,93,40,96,109,58,115,111,102,115,35,116,121,112,101,96,41,32,96,84,121,112,101,96,46,32,73,116,32,105,115,32,97,115,115,117,109,101,100,32,116,104,97,116,32,96,84,121,112,101,96,32,105,115,32,97,10,91,118,97,108,105,100,32,116,121,112,101,93,40,96,109,58,115,111,102,115,35,118,97,108,105,100,95,116,121,112,101,96,41,32,111,102,32,96,69,120,116,101,114,110,97,108,83,101,116,96,46>>},#{specification => [{attribute,{227,2},spec,{{from_external,2},[{type,{227,20},bounded_fun,[{type,{227,20},'fun',[{type,{227,20},product,[{var,{227,21},'ExternalSet'},{var,{227,34},'Type'}]},{var,{227,43},'AnySet'}]},[{type,{228,7},constraint,[{atom,{228,7},is_subtype},[{var,{228,7},'ExternalSet'},{user_type,{228,22},external_set,[]}]]},{type,{229,7},constraint,[{atom,{229,7},is_subtype},[{var,{229,7},'AnySet'},{user_type,{229,17},anyset,[]}]]},{type,{230,7},constraint,[{atom,{230,7},is_subtype},[{var,{230,7},'Type'},{user_type,{230,15},type,[]}]]}]]}]}}]}},{{function,from_term,2},{169,2},[<<102,114,111,109,95,116,101,114,109,40,84,101,114,109,44,32,84,121,112,101,41>>],#{<<101,110>> => <<67,114,101,97,116,101,115,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32,91,83,101,116,115,93,40,96,109,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110,96,41,32,98,121,10,116,114,97,118,101,114,115,105,110,103,32,116,101,114,109,32,96,84,101,114,109,96,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,10,118,101,114,105,102,121,105,110,103,32,97,32,91,118,97,108,105,100,32,116,121,112,101,93,40,96,109,58,115,111,102,115,35,118,97,108,105,100,95,116,121,112,101,96,41,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,10,10,65,110,32,101,120,112,108,105,99,105,116,108,121,32,115,112,101,99,105,102,105,101,100,32,91,116,121,112,101,93,40,96,109,58,115,111,102,115,35,116,121,112,101,96,41,32,96,84,121,112,101,96,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,10,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,10,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,32,119,104,101,114,101,32,96,34,102,111,111,34,96,32,97,110,100,32,96,123,34,102,111,111,34,125,96,32,97,114,101,32,108,101,102,116,32,117,110,109,111,100,105,102,105,101,100,58,10,10,96,96,96,101,114,108,97,110,103,10,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,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,123,97,116,111,109,44,91,97,116,111,109,93,125,93,41,44,10,32,32,32,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,10,96,96,96,10,10,96,102,114,111,109,95,116,101,114,109,96,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,10,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,10,109,111,100,117,108,101,32,116,104,97,116,32,95,100,111,95,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,10,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,10,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,10,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,10,108,97,121,101,114,34,58,10,10,96,96,96,101,114,108,97,110,103,10,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,10,96,96,96,10,10,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,96,102,114,111,109,95,101,120,116,101,114,110,97,108,47,50,96,32,97,110,100,32,96,102,114,111,109,95,115,101,116,115,47,49,96,46,10,83,112,101,99,105,97,108,32,99,97,115,101,115,32,111,102,32,91,96,102,114,111,109,95,116,101,114,109,47,50,96,93,40,96,102,114,111,109,95,116,101,114,109,47,50,96,41,32,97,114,101,10,91,96,97,95,102,117,110,99,116,105,111,110,47,49,44,50,96,93,40,96,97,95,102,117,110,99,116,105,111,110,47,49,96,41,44,32,96,101,109,112,116,121,95,115,101,116,47,48,96,44,32,91,96,102,97,109,105,108,121,47,49,44,50,96,93,40,96,102,97,109,105,108,121,47,49,96,41,44,10,91,96,114,101,108,97,116,105,111,110,47,49,44,50,96,93,40,96,114,101,108,97,116,105,111,110,47,49,96,41,44,32,97,110,100,32,91,96,115,101,116,47,49,44,50,96,93,40,96,115,101,116,47,49,96,41,46>>},#{specification => [{attribute,{208,2},spec,{{from_term,2},[{type,{208,16},bounded_fun,[{type,{208,16},'fun',[{type,{208,16},product,[{var,{208,17},'Term'},{var,{208,23},'Type'}]},{var,{208,32},'AnySet'}]},[{type,{209,7},constraint,[{atom,{209,7},is_subtype},[{var,{209,7},'AnySet'},{user_type,{209,17},anyset,[]}]]},{type,{210,7},constraint,[{atom,{210,7},is_subtype},[{var,{210,7},'Term'},{type,{210,15},term,[]}]]},{type,{211,7},constraint,[{atom,{211,7},is_subtype},[{var,{211,7},'Type'},{user_type,{211,15},type,[]}]]}]]}]}}]}},{{function,from_term,1},{160,1},[<<102,114,111,109,95,116,101,114,109,40,84,101,114,109,41>>],none,#{equiv => <<102,114,111,109,95,116,101,114,109,40,84,101,114,109,44,32,39,95,39,41>>}}]}. \ No newline at end of file diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re.txt index c984adb828d5..9d3d738b5a02 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re.txt @@ -1,13 +1,10 @@  re - Perl-like regular expressions for Erlang. - This module contains regular expression matching functions for strings and binaries. - The regular expression syntax and semantics resemble that of - Perl. + The regular expression syntax and semantics resemble that of Perl. The matching algorithms of the library are based on the PCRE library, but not all of the PCRE library is interfaced and some @@ -16,11 +13,15 @@ the PCRE documentation that are relevant to this module are included here. - Note: - The Erlang literal syntax for strings uses the "\" (backslash) - character as an escape code. You need to escape backslashes in - literal strings, both in your code and in the shell, with an - extra backslash, that is, "\\". + Note + + The Erlang literal syntax for strings uses the \` (backslash) + character as an escape code. You need to escape backslashes in + literal strings, both in your code and in the shell, with an + extra backslash, that is, "\\" or <<"\\">>. Since + Erlang/OTP 27 you can use verbatim sigils to write literal + strings. The example above would be written as ~S"" or  + ~B"". Perl-Like Regular Expression Syntax @@ -127,9 +128,9 @@ (*UCP) This has the same effect as setting option ucp: it causes - sequences such as \d and \w to use Unicode properties to determine - character types, instead of recognizing only characters with codes < - 256 through a lookup table. + sequences such as \d and \w to use Unicode properties to + determine character types, instead of recognizing only characters + with codes < 256 through a lookup table. Disabling Startup Optimizations @@ -146,20 +147,15 @@ A newline convention can also be specified by starting a pattern string with one of the following five sequences: - (*CR): - Carriage return + • (*CR) - Carriage return - (*LF): - Line feed + • (*LF) - Line feed - (*CRLF): - >Carriage return followed by line feed + • (*CRLF) - >Carriage return followed by line feed - (*ANYCRLF): - Any of the three above + • (*ANYCRLF) - Any of the three above - (*ANY): - All Unicode newline sequences + • (*ANY) - All Unicode newline sequences These override the default and the options specified to compile/2. For example, the following pattern changes the convention to CR: @@ -171,11 +167,11 @@ The newline convention affects where the circumflex and dollar assertions are true. It also affects the interpretation of the dot - metacharacter when dotall is not set, and the behavior of \N. - However, it does not affect what the \R escape sequence matches. + metacharacter when dotall is not set, and the behavior of \N. + However, it does not affect what the \R escape sequence matches. By default, this is any Unicode newline sequence, for Perl compatibility. However, this can be changed; see the description - of \R in section Newline Sequences. A change of the \R setting + of \R in section Newline Sequences. A change of the \R setting can be combined with a change of the newline convention. Setting Match and Recursion Limits @@ -231,61 +227,45 @@ that are recognized within square brackets. Outside square brackets, the metacharacters are as follows: - \: - General escape character with many uses + • **`** - General escape character with many uses - ^: - Assert start of string (or line, in multiline mode) + • ^ - Assert start of string (or line, in multiline mode) - $: - Assert end of string (or line, in multiline mode) + • $ - Assert end of string (or line, in multiline mode) - .: - Match any character except newline (by default) + • . - Match any character except newline (by default) - [: - Start character class definition + • [ - Start character class definition - |: - Start of alternative branch + • | - Start of alternative branch - (: - Start subpattern + • ( - Start subpattern - ): - End subpattern + • ) - End subpattern - ?: - Extends the meaning of (, also 0 or 1 quantifier, also - quantifier minimizer + • ? - Extends the meaning of (, also 0 or 1 quantifier, also + quantifier minimizer - *: - 0 or more quantifiers + • * - 0 or more quantifiers - +: - 1 or more quantifier, also "possessive quantifier" + • + - 1 or more quantifier, also "possessive quantifier" - {: - Start min/max quantifier + • { - Start min/max quantifier Part of a pattern within square brackets is called a "character class". The following are the only metacharacters in a character class: - \: - General escape character + • **`** - General escape character - ^: - Negate the class, but only if the first character + • ^ - Negate the class, but only if the first character - -: - Indicates character range + • - - Indicates character range - [: - Posix character class (only if followed by Posix syntax) + • [ - Posix character class (only if followed by Posix + syntax) - ]: - Terminates the character class + • ] - Terminates the character class The following sections describe the use of each metacharacter. @@ -297,12 +277,12 @@ as an escape character applies both inside and outside character classes. - For example, if you want to match a * character, you write \* in - the pattern. This escaping action applies if the following + For example, if you want to match a "_" character, you write \_ + in the pattern. This escaping action applies if the following character would otherwise be interpreted as a metacharacter, so it is always safe to precede a non-alphanumeric with backslash to specify that it stands for itself. In particular, if you want to - match a backslash, write \\. + match a backslash, write \`. In unicode mode, only ASCII numbers and letters have any special meaning after a backslash. All other characters (in particular, @@ -315,10 +295,10 @@ character as part of the pattern. To remove the special meaning from a sequence of characters, put - them between \Q and \E. This is different from Perl in that $ and @ - are handled as literals in \Q...\E sequences in PCRE, while $ and @ - cause variable interpolation in Perl. Notice the following - examples: + them between \Q and \E. This is different from Perl in that $ + and @ are handled as literals in \Q...\E sequences in PCRE, + while $ and @ cause variable interpolation in Perl. Notice the + following examples: Pattern PCRE matches Perl matches @@ -326,13 +306,13 @@ \Qabc\$xyz\E abc\$xyz abc\$xyz \Qabc\E\$\Qxyz\E abc$xyz abc$xyz - The \Q...\E sequence is recognized both inside and outside - character classes. An isolated \E that is not preceded by \Q is - ignored. If \Q is not followed by \E later in the pattern, the - literal interpretation continues to the end of the pattern (that - is, \E is assumed at the end). If the isolated \Q is inside a - character class, this causes an error, as the character class is - not terminated. + The \Q...\E sequence is recognized both inside and outside + character classes. An isolated \E that is not preceded by \Q + is ignored. If \Q is not followed by \E later in the pattern, + the literal interpretation continues to the end of the pattern + (that is, \E is assumed at the end). If the isolated \Q is + inside a character class, this causes an error, as the character + class is not terminated. Non-Printing Characters @@ -344,76 +324,65 @@ following escape sequences than the binary character it represents: - \a: - Alarm, that is, the BEL character (hex 07) + • \a - Alarm, that is, the BEL character (hex 07) - \cx: - "Control-x", where x is any ASCII character + • \cx - "Control-x", where x is any ASCII character - \e: - Escape (hex 1B) + • \e - Escape (hex 1B) - \f: - Form feed (hex 0C) + • \f - Form feed (hex 0C) - \n: - Line feed (hex 0A) + • \n - Line feed (hex 0A) - \r: - Carriage return (hex 0D) + • \r - Carriage return (hex 0D) - \t: - Tab (hex 09) + • \t - Tab (hex 09) - \0dd: - Character with octal code 0dd + • \0dd - Character with octal code 0dd - \ddd: - Character with octal code ddd, or back reference + • \ddd - Character with octal code ddd, or back reference - \o{ddd..}: - character with octal code ddd.. + • \o{ddd..} - character with octal code ddd.. - \xhh: - Character with hex code hh + • \xhh - Character with hex code hh - \x{hhh..}: - Character with hex code hhh.. + • \x{hhh..} - Character with hex code hhh.. - Note: - Note that \0dd is always an octal code, and that \8 and \9 are - the literal characters "8" and "9". + Note - The precise effect of \cx on ASCII characters is as follows: if x - is a lowercase letter, it is converted to upper case. Then bit 6 - of the character (hex 40) is inverted. Thus \cA to \cZ become hex - 01 to hex 1A (A is 41, Z is 5A), but \c{ becomes hex 3B ({ is 7B), - and \c; becomes hex 7B (; is 3B). If the data item (byte or 16-bit - value) following \c has a value > 127, a compile-time error - occurs. This locks out non-ASCII characters in all modes. + Note that \0dd is always an octal code, and that \8 and  + \9 are the literal characters "8" and "9". - The \c facility was designed for use with ASCII characters, but + The precise effect of \cx on ASCII characters is as follows: if + x is a lowercase letter, it is converted to upper case. Then bit 6 + of the character (hex 40) is inverted. Thus \cA to \cZ become + hex 01 to hex 1A (A is 41, Z is 5A), but \c{ becomes hex 3B ({ + is 7B), and \c; becomes hex 7B (; is 3B). If the data item (byte + or 16-bit value) following \c has a value > 127, a compile-time + error occurs. This locks out non-ASCII characters in all modes. + + The \c facility was designed for use with ASCII characters, but with the extension to Unicode it is even less useful than it once was. - After \0 up to two further octal digits are read. If there are + After \0 up to two further octal digits are read. If there are fewer than two digits, just those that are present are used. Thus - the sequence \0\x\015 specifies two binary zeros followed by a CR - character (code value 13). Make sure you supply two digits after - the initial zero if the pattern character that follows is itself - an octal digit. + the sequence \0\x\015 specifies two binary zeros followed by a + CR character (code value 13). Make sure you supply two digits + after the initial zero if the pattern character that follows is + itself an octal digit. - The escape \o must be followed by a sequence of octal digits, + The escape \o must be followed by a sequence of octal digits, enclosed in braces. An error occurs if this is not the case. This escape is a recent addition to Perl; it provides way of specifying character code points as octal numbers greater than 0777, and it also allows octal numbers and back references to be unambiguously specified. - For greater clarity and unambiguity, it is best to avoid following \ - by a digit greater than zero. Instead, use \o{} or \x{} to specify - character numbers, and \g{} to specify back references. The - following paragraphs describe the old, ambiguous syntax. + For greater clarity and unambiguity, it is best to avoid following ` + by a digit greater than zero. Instead, use \o{} or \x{} to + specify character numbers, and \g{} to specify back references. + The following paragraphs describe the old, ambiguous syntax. The handling of a backslash followed by a digit other than 0 is complicated, and Perl has changed in recent releases, causing PCRE @@ -424,66 +393,60 @@ as a back reference. A description of how this works is provided later, following the discussion of parenthesized subpatterns. - Inside a character class, or if the decimal number following \ is > - 7 and there have not been that many capturing subpatterns, PCRE - handles \8 and \9 as the literal characters "8" and "9", and + Inside a character class, or if the decimal number following ` is > + 7 and there have not been that many capturing subpatterns, PCRE + handles \8 and \9 as the literal characters "8" and "9", and otherwise re-reads up to three octal digits following the backslash, and using them to generate a data character. Any subsequent digits stand for themselves. For example: - \040: - Another way of writing an ASCII space + • \040 - Another way of writing an ASCII space - \40: - The same, provided there are < 40 previous capturing - subpatterns + • \40 - The same, provided there are < 40 previous capturing + subpatterns - \7: - Always a back reference + • \7 - Always a back reference - \11: - Can be a back reference, or another way of writing a tab + • \11 - Can be a back reference, or another way of writing a + tab - \011: - Always a tab + • \011 - Always a tab - \0113: - A tab followed by character "3" + • \0113 - A tab followed by character "3" - \113: - Can be a back reference, otherwise the character with octal - code 113 + • \113 - Can be a back reference, otherwise the character + with octal code 113 - \377: - Can be a back reference, otherwise value 255 (decimal) + • \377 - Can be a back reference, otherwise value 255 + (decimal) - \81: - Either a back reference, or the two characters "8" and "1" + • \81 - Either a back reference, or the two characters "8" + and "1" Notice that octal values >= 100 that are specified using this syntax must not be introduced by a leading zero, as no more than three octal digits are ever read. - By default, after \x that is not followed by {, from zero to two - hexadecimal digits are read (letters can be in upper or lower - case). Any number of hexadecimal digits may appear between \x{ and - }. If a character other than a hexadecimal digit appears between - \x{ and }, or if there is no terminating }, an error occurs. + By default, after \x that is not followed by {, from zero to + two hexadecimal digits are read (letters can be in upper or lower + case). Any number of hexadecimal digits may appear between \x{ + and }. If a character other than a hexadecimal digit appears + between \x{ and }, or if there is no terminating }, an error + occurs. Characters whose value is less than 256 can be defined by either - of the two syntaxes for \x. There is no difference in the way they - are handled. For example, \xdc is exactly the same as \x{dc}. + of the two syntaxes for \x. There is no difference in the way + they are handled. For example, \xdc is exactly the same as  + \x{dc}. Constraints on character values Characters that are specified using octal or hexadecimal numbers are limited to certain values, as follows: - 8-bit non-UTF mode: - < 0x100 + • 8-bit non-UTF mode - < 0x100 - 8-bit UTF-8 mode: - < 0x10ffff and a valid codepoint + • 8-bit UTF-8 mode - < 0x10ffff and a valid codepoint Invalid Unicode codepoints are the range 0xd800 to 0xdfff (the so-called "surrogate" codepoints), and 0xffef. @@ -492,78 +455,70 @@ All the sequences that define a single character value can be used both inside and outside character classes. Also, inside a - character class, \b is interpreted as the backspace character (hex - 08). + character class, \b is interpreted as the backspace character + (hex 08). - \N is not allowed in a character class. \B, \R, and \X are not - special inside a character class. Like other unrecognized escape - sequences, they are treated as the literal characters "B", "R", - and "X". Outside a character class, these sequences have different - meanings. + \N is not allowed in a character class. \B, \R, and \X are + not special inside a character class. Like other unrecognized + escape sequences, they are treated as the literal characters "B", + "R", and "X". Outside a character class, these sequences have + different meanings. Unsupported Escape Sequences - In Perl, the sequences \l, \L, \u, and \U are recognized by its - string handler and used to modify the case of following + In Perl, the sequences \l, \L, \u, and \U are recognized + by its string handler and used to modify the case of following characters. PCRE does not support these escape sequences. Absolute and Relative Back References - The sequence \g followed by an unsigned or a negative number, + The sequence \g followed by an unsigned or a negative number, optionally enclosed in braces, is an absolute or relative back - reference. A named back reference can be coded as \g{name}. Back + reference. A named back reference can be coded as \g{name}. Back references are discussed later, following the discussion of parenthesized subpatterns. Absolute and Relative Subroutine Calls - For compatibility with Oniguruma, the non-Perl syntax \g followed - by a name or a number enclosed either in angle brackets or single - quotes, is alternative syntax for referencing a subpattern as a - "subroutine". Details are discussed later. Notice that \g{...} - (Perl syntax) and \g<...> (Oniguruma syntax) are not synonymous. - The former is a back reference and the latter is a subroutine - call. + For compatibility with Oniguruma, the non-Perl syntax \g + followed by a name or a number enclosed either in angle brackets + or single quotes, is alternative syntax for referencing a + subpattern as a "subroutine". Details are discussed later. Notice + that \g{...} (Perl syntax) and \g<...> (Oniguruma syntax) are + not synonymous. The former is a back reference and the latter is + a subroutine call. Generic Character Types Another use of backslash is for specifying generic character types: - \d: - Any decimal digit + • \d - Any decimal digit - \D: - Any character that is not a decimal digit + • \D - Any character that is not a decimal digit - \h: - Any horizontal whitespace character + • \h - Any horizontal whitespace character - \H: - Any character that is not a horizontal whitespace character + • \H - Any character that is not a horizontal whitespace + character - \s: - Any whitespace character + • \s - Any whitespace character - \S: - Any character that is not a whitespace character + • \S - Any character that is not a whitespace character - \v: - Any vertical whitespace character + • \v - Any vertical whitespace character - \V: - Any character that is not a vertical whitespace character + • \V - Any character that is not a vertical whitespace + character - \w: - Any "word" character + • \w - Any "word" character - \W: - Any "non-word" character + • \W - Any "non-word" character - There is also the single sequence \N, which matches a non-newline - character. This is the same as the "." metacharacter when dotall - is not set. Perl also uses \N to match characters by name, but - PCRE does not support this. + There is also the single sequence \N, which matches a + non-newline character. This is the same as the "." metacharacter + when dotall is not set. Perl also uses \N to match characters + by name, but PCRE does not support this. Each pair of lowercase and uppercase escape sequences partitions the complete set of characters into two disjoint sets. Any given @@ -573,15 +528,15 @@ matching point is at the end of the subject string, all fail, as there is no character to match. - For compatibility with Perl, \s did not used to match the VT + For compatibility with Perl, \s did not used to match the VT character (code 11), which made it different from the the POSIX "space" class. However, Perl added VT at release 5.18, and PCRE - followed suit at release 8.34. The default \s characters are now + followed suit at release 8.34. The default \s characters are now HT (9), LF (10), VT (11), FF (12), CR (13), and space (32), which are defined as white space in the "C" locale. This list may vary if locale-specific matching is taking place. For example, in some - locales the "non-breaking space" character (\xA0) is recognized as - white space, and in others the VT character is not. + locales the "non-breaking space" character (\xA0) is recognized + as white space, and in others the VT character is not. A "word" character is an underscore or any character that is a letter or a digit. By default, the definition of letters and @@ -591,122 +546,94 @@ By default, in unicode mode, characters with values > 255, that is, all characters outside the ISO Latin-1 character set, never - match \d, \s, or \w, and always match \D, \S, and \W. These - sequences retain their original meanings from before UTF support - was available, mainly for efficiency reasons. However, if option  - ucp is set, the behavior is changed so that Unicode properties - are used to determine character types, as follows: + match \d, \s, or \w, and always match \D, \S, and \W. + These sequences retain their original meanings from before UTF + support was available, mainly for efficiency reasons. However, if + option ucp is set, the behavior is changed so that Unicode + properties are used to determine character types, as follows: - \d: - Any character that \p{Nd} matches (decimal digit) + • \d - Any character that \p{Nd} matches (decimal digit) - \s: - Any character that \p{Z} or \h or \v + • \s - Any character that \p{Z} or \h or \v - \w: - Any character that matches \p{L} or \p{N} matches, plus - underscore + • \w - Any character that matches \p{L} or \p{N} matches, + plus underscore The uppercase escapes match the inverse sets of characters. Notice - that \d matches only decimal digits, while \w matches any Unicode - digit, any Unicode letter, and underscore. Notice also that ucp - affects \b and \B, as they are defined in terms of \w and \W. - Matching these sequences is noticeably slower when ucp is set. + that \d matches only decimal digits, while \w matches any + Unicode digit, any Unicode letter, and underscore. Notice also + that ucp affects \b and \B, as they are defined in terms of  + \w and \W. Matching these sequences is noticeably slower when  + ucp is set. - The sequences \h, \H, \v, and \V are features that were added to - Perl in release 5.10. In contrast to the other sequences, which - match only ASCII characters by default, these always match certain - high-valued code points, regardless if ucp is set. + The sequences \h, \H, \v, and \V are features that were + added to Perl in release 5.10. In contrast to the other sequences, + which match only ASCII characters by default, these always match + certain high-valued code points, regardless if ucp is set. The following are the horizontal space characters: - U+0009: - Horizontal tab (HT) + • U+0009 - Horizontal tab (HT) - U+0020: - Space + • U+0020 - Space - U+00A0: - Non-break space + • U+00A0 - Non-break space - U+1680: - Ogham space mark + • U+1680 - Ogham space mark - U+180E: - Mongolian vowel separator + • U+180E - Mongolian vowel separator - U+2000: - En quad + • U+2000 - En quad - U+2001: - Em quad + • U+2001 - Em quad - U+2002: - En space + • U+2002 - En space - U+2003: - Em space + • U+2003 - Em space - U+2004: - Three-per-em space + • U+2004 - Three-per-em space - U+2005: - Four-per-em space + • U+2005 - Four-per-em space - U+2006: - Six-per-em space + • U+2006 - Six-per-em space - U+2007: - Figure space + • U+2007 - Figure space - U+2008: - Punctuation space + • U+2008 - Punctuation space - U+2009: - Thin space + • U+2009 - Thin space - U+200A: - Hair space + • U+200A - Hair space - U+202F: - Narrow no-break space + • U+202F - Narrow no-break space - U+205F: - Medium mathematical space + • U+205F - Medium mathematical space - U+3000: - Ideographic space + • U+3000 - Ideographic space The following are the vertical space characters: - U+000A: - Line feed (LF) + • U+000A - Line feed (LF) - U+000B: - Vertical tab (VT) + • U+000B - Vertical tab (VT) - U+000C: - Form feed (FF) + • U+000C - Form feed (FF) - U+000D: - Carriage return (CR) + • U+000D - Carriage return (CR) - U+0085: - Next line (NEL) + • U+0085 - Next line (NEL) - U+2028: - Line separator + • U+2028 - Line separator - U+2029: - Paragraph separator + • U+2029 - Paragraph separator In 8-bit, non-UTF-8 mode, only the characters with code points < 256 are relevant. Newline Sequences - Outside a character class, by default, the escape sequence \R - matches any Unicode newline sequence. In non-UTF-8 mode, \R is + Outside a character class, by default, the escape sequence \R + matches any Unicode newline sequence. In non-UTF-8 mode, \R is equivalent to the following: (?>\r\n|\n|\x0b|\f|\r|\x85) @@ -726,8 +653,8 @@ separator, U+2029). Unicode character property support is not needed for these characters to be recognized. - \R can be restricted to match only CR, LF, or CRLF (instead of the - complete set of Unicode line endings) by setting option  + \R can be restricted to match only CR, LF, or CRLF (instead of + the complete set of Unicode line endings) by setting option  bsr_anycrlf either at compile time or when the pattern is matched. (BSR is an acronym for "backslash R".) This can be made the default when PCRE is built; if so, the other behavior can be @@ -735,11 +662,9 @@ specified by starting a pattern string with one of the following sequences: - (*BSR_ANYCRLF): - CR, LF, or CRLF only + • (*BSR_ANYCRLF) - CR, LF, or CRLF only - (*BSR_UNICODE): - Any Unicode newline sequence + • (*BSR_UNICODE) - Any Unicode newline sequence These override the default and the options specified to the compiling function, but they can themselves be overridden by @@ -752,8 +677,8 @@ (*ANY)(*BSR_ANYCRLF) - They can also be combined with the (*UTF8), (*UTF), or (*UCP) - special sequences. Inside a character class, \R is treated as an + They can also be combined with the (UTF8), (UTF), or (*UCP) + special sequences. Inside a character class, \R is treated as an unrecognized escape sequence, and so matches the letter "R" by default. @@ -765,21 +690,18 @@ 256, but they do work in this mode. The following are the extra escape sequences: - \p{xx}: - A character with property xx + • \p{_xx_} - A character with property xx - \P{xx}: - A character without property xx + • \P{_xx_} - A character without property xx - \X: - A Unicode extended grapheme cluster + • \X - A Unicode extended grapheme cluster The property names represented by xx above are limited to the Unicode script names, the general category properties, "Any", which matches any character (including newline), and some special PCRE properties (described in the next section). Other Perl properties, such as "InMusicalSymbols", are currently not - supported by PCRE. Notice that \P{Any} does not match any + supported by PCRE. Notice that \P{Any} does not match any characters and always causes a match failure. Sets of Unicode characters are defined as belonging to certain @@ -1043,130 +965,93 @@ Each character has exactly one Unicode general category property, specified by a two-letter acronym. For compatibility with Perl, negation can be specified by including a circumflex between the - opening brace and the property name. For example, \p{^Lu} is the - same as \P{Lu}. + opening brace and the property name. For example, \p{^Lu} is the + same as \P{Lu}. - If only one letter is specified with \p or \P, it includes all the - general category properties that start with that letter. In this - case, in the absence of negation, the curly brackets in the escape - sequence are optional. The following two examples have the same - effect: + If only one letter is specified with \p or \P, it includes all + the general category properties that start with that letter. In + this case, in the absence of negation, the curly brackets in the + escape sequence are optional. The following two examples have the + same effect: \p{L} \pL The following general category property codes are supported: - C: - Other + • C - Other - Cc: - Control + • Cc - Control - Cf: - Format + • Cf - Format - Cn: - Unassigned + • Cn - Unassigned - Co: - Private use + • Co - Private use - Cs: - Surrogate + • Cs - Surrogate - L: - Letter + • L - Letter - Ll: - Lowercase letter + • Ll - Lowercase letter - Lm: - Modifier letter + • Lm - Modifier letter - Lo: - Other letter + • Lo - Other letter - Lt: - Title case letter + • Lt - Title case letter - Lu: - Uppercase letter + • Lu - Uppercase letter - M: - Mark + • M - Mark - Mc: - Spacing mark + • Mc - Spacing mark - Me: - Enclosing mark + • Me - Enclosing mark - Mn: - Non-spacing mark + • Mn - Non-spacing mark - N: - Number + • N - Number - Nd: - Decimal number + • Nd - Decimal number - Nl: - Letter number + • Nl - Letter number - No: - Other number + • No - Other number - P: - Punctuation + • P - Punctuation - Pc: - Connector punctuation + • Pc - Connector punctuation - Pd: - Dash punctuation + • Pd - Dash punctuation - Pe: - Close punctuation + • Pe - Close punctuation - Pf: - Final punctuation + • Pf - Final punctuation - Pi: - Initial punctuation + • Pi - Initial punctuation - Po: - Other punctuation + • Po - Other punctuation - Ps: - Open punctuation + • Ps - Open punctuation - S: - Symbol + • S - Symbol - Sc: - Currency symbol + • Sc - Currency symbol - Sk: - Modifier symbol + • Sk - Modifier symbol - Sm: - Mathematical symbol + • Sm - Mathematical symbol - So: - Other symbol + • So - Other symbol - Z: - Separator + • Z - Separator - Zl: - Line separator + • Zl - Line separator - Zp: - Paragraph separator + • Zp - Paragraph separator - Zs: - Space separator + • Zs - Space separator The special property L& is also supported. It matches a character that has the Lu, Ll, or Lt property, that is, a letter that is not @@ -1177,8 +1062,8 @@ strings and so cannot be tested by PCRE. Perl does not support the Cs property. - The long synonyms for property names supported by Perl (such as - \p{Letter}) are not supported by PCRE. It is not permitted to + The long synonyms for property names supported by Perl (such as  + \p{Letter}) are not supported by PCRE. It is not permitted to prefix any of these properties with "Is". No character in the Unicode table has the Cn (unassigned) @@ -1186,20 +1071,20 @@ is not in the Unicode table. Specifying caseless matching does not affect these escape - sequences. For example, \p{Lu} always matches only uppercase + sequences. For example, \p{Lu} always matches only uppercase letters. This is different from the behavior of current versions of Perl. Matching characters by Unicode property is not fast, as PCRE must do a multistage table lookup to find a character property. That is - why the traditional escape sequences such as \d and \w do not use - Unicode properties in PCRE by default. However, you can make them - do so by setting option ucp or by starting the pattern with - (*UCP). + why the traditional escape sequences such as \d and \w do not + use Unicode properties in PCRE by default. However, you can make + them do so by setting option ucp or by starting the pattern with  + (*UCP). Extended Grapheme Clusters - The \X escape matches any number of Unicode characters that form + The \X escape matches any number of Unicode characters that form an "extended grapheme cluster", and treats the sequence as an atomic group (see below). Up to and including release 8.31, PCRE matched an earlier, simpler definition that was equivalent to  @@ -1212,10 +1097,10 @@ complicated kinds of composite character by giving each character a grapheme breaking property, and creating rules that use these properties to define the boundaries of extended grapheme clusters. - In PCRE releases later than 8.31, \X matches one of these + In PCRE releases later than 8.31, \X matches one of these clusters. - \X always matches at least one character. Then it decides whether + \X always matches at least one character. Then it decides whether to add more characters according to the following rules for ending a cluster: @@ -1243,27 +1128,23 @@ In addition to the standard Unicode properties described earlier, PCRE supports four more that make it possible to convert - traditional escape sequences, such as \w and \s to use Unicode + traditional escape sequences, such as \w and \s to use Unicode properties. PCRE uses these non-standard, non-Perl properties internally when the ucp option is passed. However, they can also be used explicitly. The properties are as follows: - Xan: - Any alphanumeric character. Matches characters that have - either the L (letter) or the N (number) property. + • Xan - Any alphanumeric character. Matches characters that + have either the L (letter) or the N (number) property. - Xps: - Any Posix space character. Matches the characters tab, line - feed, vertical tab, form feed, carriage return, and any other - character that has the Z (separator) property. + • Xps - Any Posix space character. Matches the characters + tab, line feed, vertical tab, form feed, carriage return, + and any other character that has the Z (separator) property. - Xsp: - Any Perl space character. Matches the same as Xps, except that - vertical tab is excluded. + • Xsp - Any Perl space character. Matches the same as Xps, + except that vertical tab is excluded. - Xwd: - Any Perl "word" character. Matches the same characters as Xan, - plus underscore. + • Xwd - Any Perl "word" character. Matches the same + characters as Xan, plus underscore. Perl and POSIX space are now the same. Perl added VT to its space character set at release 5.18 and PCRE changed at release 8.34. @@ -1278,17 +1159,17 @@ There is another non-standard property, Xuc, which matches any character that can be represented by a Universal Character Name in - C++ and other programming languages. These are the characters $, - @, ` (grave accent), and all characters with Unicode code points - >= U+00A0, except for the surrogates U+D800 to U+DFFF. Notice that - most base (ASCII) characters are excluded. (Universal Character - Names are of the form \uHHHH or \UHHHHHHHH, where H is a + C++ and other programming languages. These are the characters $, @,  + (grave accent), and all characters with Unicode code points >= + U+00A0, except for the surrogates U+D800 to U+DFFF. Notice that + most base (ASCII) characters are excluded. (Universal Character + Names are of the form \uHHHH or \UHHHHHHHH, where H is a hexadecimal digit. Notice that the Xuc property does not match these sequences but the characters that they represent.) Resetting the Match Start - The escape sequence \K causes any previously matched characters + The escape sequence \K causes any previously matched characters not to be included in the final matched sequence. For example, the following pattern matches "foobar", but reports that it has matched "bar": @@ -1298,17 +1179,17 @@ This feature is similar to a lookbehind assertion (described below). However, in this case, the part of the subject before the real match does not have to be of fixed length, as lookbehind - assertions do. The use of \K does not interfere with the setting + assertions do. The use of \K does not interfere with the setting of captured substrings. For example, when the following pattern matches "foobar", the first substring is still set to "foo": (foo)\Kbar - Perl documents that the use of \K within assertions is "not well - defined". In PCRE, \K is acted upon when it occurs inside positive - assertions, but is ignored in negative assertions. Note that when - a pattern such as (?=ab\K) matches, the reported start of the - match can be greater than the end of the match. + Perl documents that the use of \K within assertions is "not well + defined". In PCRE, \K is acted upon when it occurs inside + positive assertions, but is ignored in negative assertions. Note + that when a pattern such as (?=ab\K) matches, the reported start + of the match can be greater than the end of the match. Simple Assertions @@ -1319,42 +1200,36 @@ assertions is described below. The following are the backslashed assertions: - \b: - Matches at a word boundary. + • \b - Matches at a word boundary. - \B: - Matches when not at a word boundary. + • \B - Matches when not at a word boundary. - \A: - Matches at the start of the subject. + • \A - Matches at the start of the subject. - \Z: - Matches at the end of the subject, and before a newline at the - end of the subject. + • \Z - Matches at the end of the subject, and before a + newline at the end of the subject. - \z: - Matches only at the end of the subject. + • \z - Matches only at the end of the subject. - \G: - Matches at the first matching position in the subject. + • \G - Matches at the first matching position in the subject. - Inside a character class, \b has a different meaning; it matches + Inside a character class, \b has a different meaning; it matches the backspace character. If any other of these assertions appears in a character class, by default it matches the corresponding - literal character (for example, \B matches the letter B). + literal character (for example, \B matches the letter B). A word boundary is a position in the subject string where the - current character and the previous character do not both match \w - or \W (that is, one matches \w and the other matches \W), or the - start or end of the string if the first or last character matches - \w, respectively. In UTF mode, the meanings of \w and \W can be - changed by setting option ucp. When this is done, it also - affects \b and \B. PCRE and Perl do not have a separate "start of - word" or "end of word" metasequence. However, whatever follows \b - normally determines which it is. For example, the fragment \ba - matches "a" at the start of a word. - - The \A, \Z, and \z assertions differ from the traditional + current character and the previous character do not both match \w + or \W (that is, one matches \w and the other matches \W), or + the start or end of the string if the first or last character + matches \w, respectively. In UTF mode, the meanings of \w and  + \W can be changed by setting option ucp. When this is done, it + also affects \b and \B. PCRE and Perl do not have a separate + "start of word" or "end of word" metasequence. However, whatever + follows \b normally determines which it is. For example, the + fragment \ba matches "a" at the start of a word. + + The \A, \Z, and \z assertions differ from the traditional circumflex and dollar (described in the next section) in that they only ever match at the very start and end of the subject string, whatever options are set. Thus, they are independent of multiline @@ -1362,27 +1237,27 @@ or noteol, which affect only the behavior of the circumflex and dollar metacharacters. However, if argument startoffset of  run/3 is non-zero, indicating that matching is to start at a - point other than the beginning of the subject, \A can never match. - The difference between \Z and \z is that \Z matches before a - newline at the end of the string and at the very end, while \z - matches only at the end. + point other than the beginning of the subject, \A can never + match. The difference between \Z and \z is that \Z matches + before a newline at the end of the string and at the very end, + while \z matches only at the end. - The \G assertion is true only when the current matching position + The \G assertion is true only when the current matching position is at the start point of the match, as specified by argument  - startoffset of run/3. It differs from \A when the value of  + startoffset of run/3. It differs from \A when the value of  startoffset is non-zero. By calling run/3 multiple times with appropriate arguments, you can mimic the Perl option /g, and it - is in this kind of implementation where \G can be useful. + is in this kind of implementation where \G can be useful. - Notice, however, that the PCRE interpretation of \G, as the start - of the current match, is subtly different from Perl, which defines - it as the end of the previous match. In Perl, these can be + Notice, however, that the PCRE interpretation of \G, as the + start of the current match, is subtly different from Perl, which + defines it as the end of the previous match. In Perl, these can be different when the previously matched string was empty. As PCRE does only one match at a time, it cannot reproduce this behavior. - If all the alternatives of a pattern begin with \G, the expression - is anchored to the starting match position, and the "anchored" - flag is set in the compiled regular expression. + If all the alternatives of a pattern begin with \G, the + expression is anchored to the starting match position, and the + "anchored" flag is set in the compiled regular expression. Circumflex and Dollar @@ -1417,7 +1292,7 @@ The meaning of dollar can be changed so that it matches only at the very end of the string, by setting option dollar_endonly at - compile time. This does not affect the \Z assertion. + compile time. This does not affect the \Z assertion. The meanings of the circumflex and dollar characters are changed if option multiline is set. When this is the case, a circumflex @@ -1428,7 +1303,7 @@ specified as the two-character sequence CRLF, isolated CR and LF characters do not indicate newlines. - For example, the pattern /^abc$/ matches the subject string + For example, the pattern /^abc$/ matches the subject string "def\nabc" (where \n represents a newline) in multiline mode, but not otherwise. So, patterns that are anchored in single-line mode because all branches start with ^ are not anchored in multiline @@ -1436,10 +1311,10 @@ startoffset of run/3 is non-zero. Option dollar_endonly is ignored if multiline is set. - Notice that the sequences \A, \Z, and \z can be used to match the - start and end of the subject in both modes. If all branches of a - pattern start with \A, it is always anchored, regardless if  - multiline is set. + Notice that the sequences \A, \Z, and \z can be used to + match the start and end of the subject in both modes. If all + branches of a pattern start with \A, it is always anchored, + regardless if multiline is set. Full Stop (Period, Dot) and \N @@ -1463,33 +1338,33 @@ circumflex and dollar, the only relationship is that both involve newlines. Dot has no special meaning in a character class. - The escape sequence \N behaves like a dot, except that it is not + The escape sequence \N behaves like a dot, except that it is not affected by option PCRE_DOTALL. That is, it matches any character except one that signifies the end of a line. Perl also - uses \N to match characters by name but PCRE does not support + uses \N to match characters by name but PCRE does not support this. Matching a Single Data Unit - Outside a character class, the escape sequence \C matches any data - unit, regardless if a UTF mode is set. One data unit is one byte. - Unlike a dot, \C always matches line-ending characters. The - feature is provided in Perl to match individual bytes in UTF-8 - mode, but it is unclear how it can usefully be used. As \C breaks - up characters into individual data units, matching one unit with - \C in a UTF mode means that the remaining string can start with a - malformed UTF character. This has undefined results, as PCRE - assumes that it deals with valid UTF strings. - - PCRE does not allow \C to appear in lookbehind assertions + Outside a character class, the escape sequence \C matches any + data unit, regardless if a UTF mode is set. One data unit is one + byte. Unlike a dot, \C always matches line-ending characters. + The feature is provided in Perl to match individual bytes in UTF-8 + mode, but it is unclear how it can usefully be used. As \C + breaks up characters into individual data units, matching one unit + with \C in a UTF mode means that the remaining string can start + with a malformed UTF character. This has undefined results, as + PCRE assumes that it deals with valid UTF strings. + + PCRE does not allow \C to appear in lookbehind assertions (described below) in a UTF mode, as this would make it impossible to calculate the length of the lookbehind. - The \C escape sequence is best avoided. However, one way of using - it that avoids the problem of malformed UTF characters is to use a - lookahead to check the length of the next character, as in the - following pattern, which can be used with a UTF-8 string (ignore - whitespace and line breaks): + The \C escape sequence is best avoided. However, one way of + using it that avoids the problem of malformed UTF characters is to + use a lookahead to check the length of the next character, as in + the following pattern, which can be used with a UTF-8 string + (ignore whitespace and line breaks): (?| (?=[\x00-\x7f])(\C) | (?=[\x80-\x{7ff}])(\C)(\C) | @@ -1534,7 +1409,7 @@ In UTF-8 mode, characters with values > 255 (0xffff) can be included in a class as a literal string of data units, or by using - the \x{ escaping mechanism. + the \x{ escaping mechanism. When caseless matching is set, any letters in a class represent both their uppercase and lowercase versions. For example, a @@ -1551,23 +1426,23 @@ Characters that can indicate line breaks are never treated in any special way when matching character classes, whatever line-ending sequence is in use, and whatever setting of options PCRE_DOTALL - and PCRE_MULTILINE is used. A class such as [^a] always matches - one of these characters. + and PCRE_MULTILINE is used. A class such as [^a] always + matches one of these characters. The minus (hyphen) character can be used to specify a range of - characters in a character class. For example, [d-m] matches any + characters in a character class. For example, [d-m] matches any letter between d and m, inclusive. If a minus character is required in a class, it must be escaped with a backslash or appear in a position where it cannot be interpreted as indicating a range, typically as the first or last character in the class, or - immediately after a range. For example, [b-d-z] matches letters in - the range b to d, a hyphen character, or z. + immediately after a range. For example, [b-d-z] matches letters + in the range b to d, a hyphen character, or z. The literal character "]" cannot be the end character of a range. - A pattern such as [W-]46] is interpreted as a class of two + A pattern such as [W-]46] is interpreted as a class of two characters ("W" and "-") followed by a literal string "46]", so it would match "W46]" or "-46]". However, if "]" is escaped with a - backslash, it is interpreted as the end of range, so [W-\]46] is + backslash, it is interpreted as the end of range, so [W-\]46] is interpreted as a class containing a range followed by two other characters. The octal or hexadecimal representation of "]" can also be used to end a range. @@ -1575,39 +1450,39 @@ An error is generated if a POSIX character class (see below) or an escape sequence other than one that defines a single character appears at a point where a range ending character is expected. For - example, [z-\xff] is valid, but [A-\d] and [A-[:digit:]] are not. + example, [z-\xff] is valid, but [A-\d] and [A-[:digit:]] are + not. Ranges operate in the collating sequence of character values. They can also be used for characters specified numerically, for - example, [\000-\037]. Ranges can include any characters that are + example, [\000-\037]. Ranges can include any characters that are valid for the current mode. If a range that includes letters is used when caseless matching is - set, it matches the letters in either case. For example, [W-c] is - equivalent to [][\\^_`wxyzabc], matched caselessly. In a non-UTF - mode, if character tables for a French locale are in use, - [\xc8-\xcb] matches accented E characters in both cases. In UTF - modes, PCRE supports the concept of case for characters with - values > 255 only when it is compiled with Unicode property - support. - - The character escape sequences \d, \D, \h, \H, \p, \P, \s, \S, \v, - \V, \w, and \W can appear in a character class, and add the - characters that they match to the class. For example, [\dABCDEF] - matches any hexadecimal digit. In UTF modes, option ucp affects - the meanings of \d, \s, \w and their uppercase partners, just as - it does when they appear outside a character class, as described - in section Generic Character Types earlier. The escape sequence - \b has a different meaning inside a character class; it matches - the backspace character. The sequences \B, \N, \R, and \X are not - special inside a character class. Like any other unrecognized - escape sequences, they are treated as the literal characters "B", - "N", "R", and "X". + set, it matches the letters in either case. For example, [W-c] + is equivalent to , matched caselessly. In a non-UTF mode, if + character tables for a French locale are in use, [\xc8-\xcb] + matches accented E characters in both cases. In UTF modes, PCRE + supports the concept of case for characters with values > 255 only + when it is compiled with Unicode property support. + + The character escape sequences \d, \D, \h, \H, \p, \P,  + \s, \S, \v, \V, \w, and \W can appear in a character + class, and add the characters that they match to the class. For + example, [\dABCDEF] matches any hexadecimal digit. In UTF modes, + option ucp affects the meanings of \d, \s, \w and their + uppercase partners, just as it does when they appear outside a + character class, as described in section Generic Character Types + earlier. The escape sequence \b has a different meaning inside a + character class; it matches the backspace character. The sequences  + \B, \N, \R, and \X are not special inside a character + class. Like any other unrecognized escape sequences, they are + treated as the literal characters "B", "N", "R", and "X". A circumflex can conveniently be used with the uppercase character types to specify a more restricted set of characters than the - matching lowercase type. For example, class [^\W_] matches any - letter or digit, but not underscore, while [\w] includes + matching lowercase type. For example, class [^\W_] matches any + letter or digit, but not underscore, while [\w] includes underscore. A positive character class is to be read as "something OR something OR ..." and a negative class as "NOT something AND NOT something AND NOT ...". @@ -1633,52 +1508,40 @@ Posix Character Classes Perl supports the Posix notation for character classes. This uses - names enclosed by [: and :] within the enclosing square brackets. - PCRE also supports this notation. For example, the following - matches "0", "1", any alphabetic character, or "%": + names enclosed by [: and :] within the enclosing square + brackets. PCRE also supports this notation. For example, the + following matches "0", "1", any alphabetic character, or "%": [01[:alpha:]%] The following are the supported class names: - alnum: - Letters and digits + • alnum - Letters and digits - alpha: - Letters + • alpha - Letters - blank: - Space or tab only + • blank - Space or tab only - cntrl: - Control characters + • cntrl - Control characters - digit: - Decimal digits (same as \d) + • digit - Decimal digits (same as \d) - graph: - Printing characters, excluding space + • graph - Printing characters, excluding space - lower: - Lowercase letters + • lower - Lowercase letters - print: - Printing characters, including space + • print - Printing characters, including space - punct: - Printing characters, excluding letters, digits, and space + • punct - Printing characters, excluding letters, digits, and + space - space: - Whitespace (the same as \s from PCRE 8.34) + • space - Whitespace (the same as \s from PCRE 8.34) - upper: - Uppercase letters + • upper - Uppercase letters - word: - "Word" characters (same as \w) + • word - "Word" characters (same as \w) - xdigit: - Hexadecimal digits + • xdigit - Hexadecimal digits There is another character class, ascii, that erroneously matches Latin-1 characters instead of the 0-127 range specified by @@ -1689,10 +1552,10 @@ The default "space" characters are HT (9), LF (10), VT (11), FF (12), CR (13), and space (32). If locale-specific matching is taking place, the list of space characters may be different; there - may be fewer or more of them. "Space" used to be different to \s, + may be fewer or more of them. "Space" used to be different to \s, which did not include VT, for Perl compatibility. However, Perl changed at release 5.18, and PCRE followed at release 8.34. - "Space" and \s now match the same set of characters. + "Space" and \s now match the same set of characters. The name "word" is a Perl extension, and "blank" is a GNU extension from Perl 5.8. Another Perl extension is negation, which @@ -1701,9 +1564,9 @@ [12[:^digit:]] - PCRE (and Perl) also recognize the Posix syntax [.ch.] and [=ch=] - where "ch" is a "collating element", but these are not supported, - and an error is given if they are encountered. + PCRE (and Perl) also recognize the Posix syntax [.ch.] and  + [=ch=] where "ch" is a "collating element", but these are not + supported, and an error is given if they are encountered. By default, characters with values > 255 do not match any of the Posix character classes. However, if option PCRE_UCP is passed @@ -1711,57 +1574,44 @@ Unicode character properties are used. This is achieved by replacing certain Posix classes by other sequences, as follows: - [:alnum:]: - Becomes \p{Xan} + • [:alnum:] - Becomes \p{Xan} - [:alpha:]: - Becomes \p{L} + • [:alpha:] - Becomes \p{L} - [:blank:]: - Becomes \h + • [:blank:] - Becomes \h - [:digit:]: - Becomes \p{Nd} + • [:digit:] - Becomes \p{Nd} - [:lower:]: - Becomes \p{Ll} + • [:lower:] - Becomes \p{Ll} - [:space:]: - Becomes \p{Xps} + • [:space:] - Becomes \p{Xps} - [:upper:]: - Becomes \p{Lu} + • [:upper:] - Becomes \p{Lu} - [:word:]: - Becomes \p{Xwd} + • [:word:] - Becomes \p{Xwd} - Negated versions, such as [:^alpha:], use \P instead of \p. Three - other POSIX classes are handled specially in UCP mode: + Negated versions, such as [:^alpha:], use \P instead of \p. + Three other POSIX classes are handled specially in UCP mode: - [:graph:]: - This matches characters that have glyphs that mark the page - when printed. In Unicode property terms, it matches all - characters with the L, M, N, P, S, or Cf properties, except - for: + • [:graph:] - This matches characters that have glyphs that + mark the page when printed. In Unicode property terms, it + matches all characters with the L, M, N, P, S, or Cf + properties, except for: - U+061C: - Arabic Letter Mark + ○ U+061C - Arabic Letter Mark - U+180E: - Mongolian Vowel Separator + ○ U+180E - Mongolian Vowel Separator - U+2066 - U+2069: - Various "isolate"s + ○ U+2066 - U+2069 - Various "isolate"s - [:print:]: - This matches the same characters as [:graph:] plus space - characters that are not controls, that is, characters with the - Zs property. + • [:print:] - This matches the same characters as [:graph:] + plus space characters that are not controls, that is, + characters with the Zs property. - [:punct:]: - This matches all characters that have the Unicode P - (punctuation) property, plus those characters whose code - points are less than 128 that have the S (Symbol) property. + • [:punct:] - This matches all characters that have the + Unicode P (punctuation) property, plus those characters + whose code points are less than 128 that have the S (Symbol) + property. The other POSIX classes are unchanged, and match only characters with code points less than 128. @@ -1769,21 +1619,20 @@ Compatibility Feature for Word Boundaries In the POSIX.2 compliant library that was included in 4.4BSD Unix, - the ugly syntax [[:<:]] and [[:>:]] is used for matching "start of - word" and "end of word". PCRE treats these items as follows: + the ugly syntax [[:<:]] and [[:>:]] is used for matching + "start of word" and "end of word". PCRE treats these items as + follows: - [[:<:]]: - is converted to \b(?=\w) + • [[:<:]] - is converted to \b(?=\w) - [[:>:]]: - is converted to \b(?<=\w) + • [[:>:]] - is converted to \b(?<=\w) Only these exact character sequences are recognized. A sequence - such as [a[:<:]b] provokes error for an unrecognized POSIX class + such as [a[:<:]b] provokes error for an unrecognized POSIX class name. This support is not compatible with Perl. It is provided to help migrations from other environments, and is best not used in - any new patterns. Note that \b matches at the start and the end of - a word (see "Simple assertions" above), and in a Perl-style + any new patterns. Note that \b matches at the start and the end + of a word (see "Simple assertions" above), and in a Perl-style pattern the preceding or following character normally shows which is wanted, without the need for the assertions that are used above in order to give exactly the POSIX behaviour. @@ -1810,17 +1659,13 @@ a sequence of Perl option letters enclosed between "(?" and ")". The option letters are as follows: - i: - For caseless + • i - For caseless - m: - For multiline + • m - For multiline - s: - For dotall + • s - For dotall - x: - For extended + • x - For extended For example, (?im) sets caseless, multiline matching. These options can also be unset by preceding the letter with a hyphen. A @@ -1856,20 +1701,20 @@ because the effects of option settings occur at compile time. There would be some weird behavior otherwise. - Note: + Note + Other PCRE-specific options can be set by the application when the compiling or matching functions are called. Sometimes the pattern can contain special leading sequences, such as (*CRLF), to override what the application has set or what has been defaulted. Details are provided in section Newline - Sequences earlier. - - The (*UTF8) and (*UCP) leading sequences can be used to set - UTF and Unicode property modes. They are equivalent to setting - options unicode and ucp, respectively. The (*UTF) sequence - is a generic version that can be used with any of the - libraries. However, the application can set option never_utf, - which locks out the use of the (*UTF) sequences. + Sequences earlier. The (UTF8) and (UCP) leading sequences + can be used to set UTF and Unicode property modes. They are + equivalent to setting options unicode and ucp, + respectively. The (UTF) sequence is a generic version that + can be used with any of the libraries. However, the + application can set option never_utf, which locks out the + use of the (UTF) sequences. Subpatterns @@ -1877,20 +1722,19 @@ can be nested. Turning part of a pattern into a subpattern does two things: - 1.: - It localizes a set of alternatives. For example, the following - pattern matches "cataract", "caterpillar", or "cat": + • 1. - It localizes a set of alternatives. For example, the + following pattern matches "cataract", "caterpillar", or + "cat": - cat(aract|erpillar|) + cat(aract|erpillar|) - Without the parentheses, it would match "cataract", - "erpillar", or an empty string. + Without the parentheses, it would match "cataract", + "erpillar", or an empty string. - 2.: - It sets up the subpattern as a capturing subpattern. That is, - when the complete pattern matches, that portion of the subject - string that matched the subpattern is passed back to the - caller through the return value of run/3. + • 2. - It sets up the subpattern as a capturing subpattern. + That is, when the complete pattern matches, that portion of + the subject string that matched the subpattern is passed + back to the caller through the return value of run/3. Opening parentheses are counted from left to right (starting from 1) to obtain numbers for the capturing subpatterns. For example, @@ -2023,7 +1867,8 @@ values part of the capture statement. The all_names capturing value matches all the names in the same way. - Note: + Note + You cannot use different names to distinguish between two subpatterns with the same number, as PCRE uses only the numbers when matching. For this reason, an error is given at @@ -2037,25 +1882,26 @@ Repetition is specified by quantifiers, which can follow any of the following items: - • A literal data character + • literal data character • The dot metacharacter - • The \C escape sequence + • The \C escape sequence - • The \X escape sequence + • The \X escape sequence - • The \R escape sequence + • The \R escape sequence - • An escape such as \d or \pL that matches a single character + • An escape such as \d or \pL that matches a single + character - • A character class + • character class - • A back reference (see the next section) + • back reference (see the next section) - • A parenthesized subpattern (including assertions) + • parenthesized subpattern (including assertions) - • A subroutine call to a subpattern (recursive or otherwise) + • subroutine call to a subpattern (recursive or otherwise) The general repetition quantifier specifies a minimum and maximum number of permitted matches, by giving the two numbers in curly @@ -2084,9 +1930,9 @@ {,6} is not a quantifier, but a literal string of four characters. In Unicode mode, quantifiers apply to characters rather than to - individual data units. Thus, for example, \x{100}{2} matches two + individual data units. Thus, for example, \x{100}{2} matches two characters, each of which is represented by a 2-byte sequence in a - UTF-8 string. Similarly, \X{3} matches three Unicode extended + UTF-8 string. Similarly, \X{3} matches three Unicode extended grapheme clusters, each of which can be many data units long (and they can be of different lengths). @@ -2101,14 +1947,11 @@ For convenience, the three most common quantifiers have single-character abbreviations: - *: - Equivalent to {0,} + • * - Equivalent to {0,} - +: - Equivalent to {1,} + • + - Equivalent to {1,} - ?: - Equivalent to {0,1} + • ? - Equivalent to {0,1} Infinite loops can be constructed by following a subpattern that can match no characters with a quantifier that has no upper limit, @@ -2126,7 +1969,7 @@ much as possible (up to the maximum number of permitted times), without causing the remaining pattern to fail. The classic example of where this gives problems is in trying to match comments in C - programs. These appear between /* and */. Within the comment, + programs. These appear between / and /. Within the comment, individual * and / characters can appear. An attempt to match C comments by applying the pattern @@ -2172,7 +2015,7 @@ whatever follows is tried against every character position in the subject string. So, there is no point in retrying the overall match at any position after the first. PCRE normally treats such a - pattern as if it was preceded by \A. + pattern as if it was preceded by \A. In cases where it is known that the subject string contains no newlines, it is worth setting dotall to obtain this @@ -2197,7 +2040,7 @@ (?>.*?a)b It matches "ab" in the subject "aab". The use of the backtracking - control verbs (*PRUNE) and (*SKIP) also disable this optimization. + control verbs (PRUNE) and (SKIP) also disable this optimization. When a capturing subpattern is repeated, the value captured is the substring that matched the final iteration. For example, after @@ -2223,14 +2066,14 @@ or to cause it to fail earlier than it otherwise might, when the author of the pattern knows that there is no point in carrying on. - Consider, for example, the pattern \d+foo when applied to the + Consider, for example, the pattern \d+foo when applied to the following subject line: 123456bar After matching all six digits and then failing to match "foo", the normal action of the matcher is to try again with only five digits - matching item \d+, and then with four, and so on, before + matching item \d+, and then with four, and so on, before ultimately failing. "Atomic grouping" (a term taken from Jeffrey Friedl's book) provides the means for specifying that once a subpattern has matched, it is not to be re-evaluated in this way. @@ -2254,9 +2097,9 @@ Atomic grouping subpatterns are not capturing subpatterns. Simple cases such as the above example can be thought of as a maximizing - repeat that must swallow everything it can. So, while both \d+ and - \d+? are prepared to adjust the number of digits they match to - make the remaining pattern match, (?>\d+) can only match an + repeat that must swallow everything it can. So, while both \d+ + and \d+? are prepared to adjust the number of digits they match + to make the remaining pattern match, (?>\d+) can only match an entire sequence of digits. Atomic groups in general can contain any complicated subpatterns, @@ -2299,15 +2142,15 @@ (\D+|<\d+>)*[!?] matches an unlimited number of substrings that either consist of - non-digits, or digits enclosed in <>, followed by ! or ?. When it - matches, it runs quickly. However, if it is applied to + non-digits, or digits enclosed in <>, followed by ! or ?. + When it matches, it runs quickly. However, if it is applied to aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa it takes a long time before reporting failure. This is because the - string can be divided between the internal \D+ repeat and the + string can be divided between the internal \D+ repeat and the external * repeat in many ways, and all must be tried. (The - example uses [!?] rather than a single character at the end, as + example uses [!?] rather than a single character at the end, as both PCRE and Perl have an optimization that allows for fast failure when a single character is used. They remember the last single character that is required for a match, and fail early if @@ -2335,14 +2178,14 @@ It is not possible to have a numerical "forward back reference" to a subpattern whose number is 10 or more using this syntax, as a - sequence such as \50 is interpreted as a character defined in + sequence such as \50 is interpreted as a character defined in octal. For more details of the handling of digits following a backslash, see section Non-Printing Characters earlier. There is no such problem when named parentheses are used. A back reference to any subpattern is possible using named parentheses (see below). Another way to avoid the ambiguity inherent in the use of digits - following a backslash is to use the \g escape sequence. This + following a backslash is to use the \g escape sequence. This escape must be followed by an unsigned number or a negative number, optionally enclosed in braces. The following examples are identical: @@ -2358,12 +2201,12 @@ (abc(def)ghi)\g{-1} - The sequence \g{-1} is a reference to the most recently started - capturing subpattern before \g, that is, it is equivalent to \2 in - this example. Similarly, \g{-2} would be equivalent to \1. The use - of relative references can be helpful in long patterns, and also - in patterns that are created by joining fragments containing - references within themselves. + The sequence \g{-1} is a reference to the most recently started + capturing subpattern before \g, that is, it is equivalent to \2 + in this example. Similarly, \g{-2} would be equivalent to \1. + The use of relative references can be helpful in long patterns, + and also in patterns that are created by joining fragments + containing references within themselves. A back reference matches whatever matched the capturing subpattern in the current subject string, rather than anything matching the @@ -2385,7 +2228,7 @@ subpatterns. The .NET syntax \k{name} and the Perl syntax  \k or \k'name' are supported, as is the Python syntax  (?P=name). The unified back reference syntax in Perl 5.10, in - which \g can be used for both numeric and named references, is + which \g can be used for both numeric and named references, is also supported. The previous example can be rewritten in the following ways: @@ -2414,8 +2257,8 @@ Recursive Back References A back reference that occurs inside the parentheses to which it - refers fails when the subpattern is first used, so, for example, - (a\1) never matches. However, such references can be useful inside + refers fails when the subpattern is first used, so, for example, ( + a\1) never matches. However, such references can be useful inside repeated subpatterns. For example, the following pattern matches any number of "a"s and also "aba", "ababbaa", and so on: @@ -2437,8 +2280,8 @@ An assertion is a test on the characters following or preceding the current matching point that does not consume any characters. - The simple assertions coded as \b, \B, \A, \G, \Z, \z, ^, and $ - are described in the previous sections. + The simple assertions coded as \b, \B, \A, \G, \Z, \z, ^, + and $ are described in the previous sections. More complicated assertions are coded as subpatterns. There are two kinds: those that look ahead of the current position in the @@ -2453,7 +2296,8 @@ positive assertions. (Perl sometimes, but not always, performs capturing in negative assertions.) - Warning: + Warning + If a positive assertion containing one or more capturing subpatterns succeeds, but failure to match later in the pattern causes backtracking over this assertion, the captures @@ -2510,7 +2354,7 @@ pattern, the most convenient way to do it is with (?!), as an empty string always matches. So, an assertion that requires there is not to be an empty string must always fail. The backtracking - control verb (*FAIL) or (*F) is a synonym for (?!). + control verb (FAIL) or (F) is a synonym for (?!). Lookbehind Assertions @@ -2545,7 +2389,7 @@ (?<=abc|abde) - Sometimes the escape sequence \K (see above) can be used instead + Sometimes the escape sequence \K (see above) can be used instead of a lookbehind assertion to get round the fixed-length restriction. @@ -2554,11 +2398,11 @@ fixed length and then try to match. If there are insufficient characters before the current position, the assertion fails. - In a UTF mode, PCRE does not allow the \C escape (which matches a - single data unit even in a UTF mode) to appear in lookbehind + In a UTF mode, PCRE does not allow the \C escape (which matches + a single data unit even in a UTF mode) to appear in lookbehind assertions, as it makes it impossible to calculate the length of - the lookbehind. The \X and \R escapes, which can match different - numbers of data units, are not permitted either. + the lookbehind. The \X and \R escapes, which can match + different numbers of data units, are not permitted either. "Subroutine" calls (see below), such as (?2) or (?&X), are permitted in lookbehinds, as long as the subpattern matches a @@ -2798,9 +2642,9 @@ abc #comment \n still comment On encountering character #, pcre_compile() skips along, looking - for a newline in the pattern. The sequence \n is still literal at - this stage, so it does not terminate the comment. Only a character - with code value 0x0a (the default newline) does so. + for a newline in the pattern. The sequence \n is still literal + at this stage, so it does not terminate the comment. Only a + character with code value 0x0a (the default newline) does so. Recursive Patterns @@ -2985,7 +2829,8 @@ phrases, and Perl takes so long that you think it has gone into a loop. - Note: + Note + The palindrome-matching patterns above work only if the subject string does not start with a palindrome that is shorter than the entire string. For example, although "abcba" @@ -3005,11 +2850,12 @@ ^(.)(\1|a(?2)) In PCRE, it matches "bab". The first capturing parentheses match - "b", then in the second group, when the back reference \1 fails to - match "b", the second alternative matches "a", and then recurses. - In the recursion, \1 does now match "b" and so the whole match - succeeds. In Perl, the pattern fails to match because inside the - recursive call \1 cannot access the externally set value. + "b", then in the second group, when the back reference \1 fails + to match "b", the second alternative matches "a", and then + recurses. In the recursion, \1 does now match "b" and so the + whole match succeeds. In Perl, the pattern fails to match because + inside the recursive call \1 cannot access the externally set + value. Subpatterns as Subroutines @@ -3054,11 +2900,11 @@ Oniguruma Subroutine Syntax - For compatibility with Oniguruma, the non-Perl syntax \g followed - by a name or a number enclosed either in angle brackets or single - quotes, is alternative syntax for referencing a subpattern as a - subroutine, possibly recursively. Here follows two of the examples - used above, rewritten using this syntax: + For compatibility with Oniguruma, the non-Perl syntax \g + followed by a name or a number enclosed either in angle brackets + or single quotes, is alternative syntax for referencing a + subpattern as a subroutine, possibly recursively. Here follows two + of the examples used above, rewritten using this syntax: (? \( ( (?>[^()]+) | \g )* \) ) (sens|respons)e and \g'1'ibility @@ -3069,9 +2915,9 @@ (abc)(?i:\g<-1>) - Notice that \g{...} (Perl syntax) and \g<...> (Oniguruma syntax) - are not synonymous. The former is a back reference; the latter - is a subroutine call. + Notice that \g{...} (Perl syntax) and \g<...> (Oniguruma + syntax) are not synonymous. The former is a back reference; the + latter is a subroutine call. Backtracking Control @@ -3084,7 +2930,7 @@ The new verbs make use of what was previously invalid syntax: an opening parenthesis followed by an asterisk. They are generally of - the form (*VERB) or (*VERB:NAME). Some can take either form, + the form (VERB) or (VERB:NAME). Some can take either form, possibly behaving differently depending on whether a name is present. A name is any sequence of characters that does not include a closing parenthesis. The maximum name length is 255 in @@ -3151,14 +2997,14 @@ at, although it also has a secondary use in with advancing the match starting point (see (*SKIP) below). - Note: + Note + In Erlang, there is no interface to retrieve a mark with  run/2,3, so only the secondary purpose is relevant to the - Erlang programmer. - - The rest of this section is therefore deliberately not adapted - for reading by the Erlang programmer, but the examples can - help in understanding NAMES as they can be used by (*SKIP). + Erlang programmer. The rest of this section is therefore + deliberately not adapted for reading by the Erlang programmer, + but the examples can help in understanding NAMES as they can + be used by (*SKIP). (*MARK:NAME) or (*:NAME) @@ -3166,14 +3012,14 @@ instances of (*MARK) as you like in a pattern, and their names do not have to be unique. - When a match succeeds, the name of the last encountered - (*MARK:NAME), (*PRUNE:NAME), or (*THEN:NAME) on the matching path - is passed back to the caller as described in section "Extra data - for pcre_exec()" in the pcreapi documentation. In the - following example of pcretest output, the /K modifier requests - the retrieval and outputting of (*MARK) data: + When a match succeeds, the name of the last encountered ( + MARK:NAME), (PRUNE:NAME), or (THEN:NAME) on the matching path is + passed back to the caller as described in section "Extra data for  + pcre_exec()" in the pcreapi documentation. In the following + example of pcretest output, the /K modifier requests the + retrieval and outputting of (MARK) data: - re> /X(*MARK:A)Y|X(*MARK:B)Z/K + re> /X(*MARK:A)Y|X(*MARK:B)Z/K data> XY 0: XY MK: A @@ -3194,7 +3040,7 @@ After a partial match or a failed match, the last encountered name in the entire match process is returned, for example: - re> /X(*MARK:A)Y|X(*MARK:B)Z/K + re> /X(*MARK:A)Y|X(*MARK:B)Z/K data> XP No match, mark = B @@ -3238,12 +3084,12 @@ This matches "xxaab" but not "aacaab". It can be thought of as a kind of dynamic anchor, or "I've started, so I must finish". The - name of the most recently passed (*MARK) in the path is passed - back when (*COMMIT) forces a match failure. + name of the most recently passed (MARK) in the path is passed + back when (COMMIT) forces a match failure. If more than one backtracking verb exists in a pattern, a - different one that follows (*COMMIT) can be triggered first, so - merely passing (*COMMIT) during a match does not always guarantee + different one that follows (COMMIT) can be triggered first, so + merely passing (COMMIT) during a match does not always guarantee that a match must be at this starting point. Notice that (*COMMIT) at the start of a pattern is not the same as @@ -3271,27 +3117,28 @@ If the pattern is unanchored, the normal "bumpalong" advance to the next starting character then occurs. Backtracking can occur as - usual to the left of (*PRUNE), before it is reached, or when - matching to the right of (*PRUNE), but if there is no match to the - right, backtracking cannot cross (*PRUNE). In simple cases, the - use of (*PRUNE) is just an alternative to an atomic group or - possessive quantifier, but there are some uses of (*PRUNE) that - cannot be expressed in any other way. In an anchored pattern, - (*PRUNE) has the same effect as (*COMMIT). - - The behavior of (*PRUNE:NAME) is the not the same as - (*MARK:NAME)(*PRUNE). It is like (*MARK:NAME) in that the name is - remembered for passing back to the caller. However, (*SKIP:NAME) - searches only for names set with (*MARK). - - Note: + usual to the left of (PRUNE), before it is reached, or when + matching to the right of (PRUNE), but if there is no match to the + right, backtracking cannot cross (PRUNE). In simple cases, the + use of (PRUNE) is just an alternative to an atomic group or + possessive quantifier, but there are some uses of (PRUNE) that + cannot be expressed in any other way. In an anchored pattern, ( + PRUNE) has the same effect as (*COMMIT). + + The behavior of (PRUNE:NAME) is the not the same as (MARK:NAME)( + PRUNE). It is like (MARK:NAME) in that the name is remembered for + passing back to the caller. However, (SKIP:NAME) searches only + for names set with (MARK). + + Note + The fact that (*PRUNE:NAME) remembers the name is useless to the Erlang programmer, as names cannot be retrieved. - The following verb, when specified without a name, is like - (*PRUNE), except that if the pattern is unanchored, the - "bumpalong" advance is not to the next character, but to the - position in the subject where (*SKIP) was encountered. + The following verb, when specified without a name, is like ( + PRUNE), except that if the pattern is unanchored, the "bumpalong" + advance is not to the next character, but to the position in the + subject where (SKIP) was encountered. (*SKIP) @@ -3313,15 +3160,15 @@ (*SKIP:NAME) When this is triggered, the previous path through the pattern is - searched for the most recent (*MARK) that has the same name. If + searched for the most recent (MARK) that has the same name. If one is found, the "bumpalong" advance is to the subject position - that corresponds to that (*MARK) instead of to where (*SKIP) was - encountered. If no (*MARK) with a matching name is found, (*SKIP) + that corresponds to that (MARK) instead of to where (SKIP) was + encountered. If no (MARK) with a matching name is found, (*SKIP) is ignored. - Notice that (*SKIP:NAME) searches only for names set by - (*MARK:NAME). It ignores names that are set by (*PRUNE:NAME) or - (*THEN:NAME). + Notice that (SKIP:NAME) searches only for names set by ( + MARK:NAME). It ignores names that are set by (PRUNE:NAME) or ( + THEN:NAME). The following verb causes a skip to the next innermost alternative when backtracking reaches it. That is, it cancels any further @@ -3339,15 +3186,16 @@ matcher skips to the second alternative and tries COND2, without backtracking into COND1. If that succeeds and BAR fails, COND3 is tried. If BAZ then fails, there are no more alternatives, so there - is a backtrack to whatever came before the entire group. If - (*THEN) is not inside an alternation, it acts like (*PRUNE). + is a backtrack to whatever came before the entire group. If ( + THEN) is not inside an alternation, it acts like (PRUNE). + + The behavior of (THEN:NAME) is the not the same as (MARK:NAME)( + THEN). It is like (MARK:NAME) in that the name is remembered for + passing back to the caller. However, (SKIP:NAME) searches only + for names set with (MARK). - The behavior of (*THEN:NAME) is the not the same as - (*MARK:NAME)(*THEN). It is like (*MARK:NAME) in that the name is - remembered for passing back to the caller. However, (*SKIP:NAME) - searches only for names set with (*MARK). + Note - Note: The fact that (*THEN:NAME) remembers the name is useless to the Erlang programmer, as names cannot be retrieved. @@ -3367,8 +3215,8 @@ A (B(*THEN)C | (*FAIL)) | D - The effect of (*THEN) is now confined to the inner subpattern. - After a failure in C, matching moves to (*FAIL), which causes the + The effect of (THEN) is now confined to the inner subpattern. + After a failure in C, matching moves to (FAIL), which causes the whole subpattern to fail, as there are no more alternatives to try. In this case, matching does now backtrack into A. @@ -3379,10 +3227,10 @@ ^.*? (?(?=a) a | b(*THEN)c ) - If the subject is "ba", this pattern does not match. As .*? is + If the subject is "ba", this pattern does not match. As .? is ungreedy, it initially matches zero characters. The condition (?=a) then fails, the character "b" is matched, but "c" is not. At - this point, matching does not backtrack to .*? as can perhaps be + this point, matching does not backtrack to .? as can perhaps be expected from the presence of the | character. The conditional subpattern is part of the single alternative that comprises the whole pattern, and so the match fails. (If there was a backtrack @@ -3413,9 +3261,9 @@ (A(*COMMIT)B(*THEN)C|ABD) - If A matches but B fails, the backtrack to (*COMMIT) causes the + If A matches but B fails, the backtrack to (COMMIT) causes the entire match to fail. However, if A and B match, but C fails, the - backtrack to (*THEN) causes the next alternative (ABD) to be + backtrack to (THEN) causes the next alternative (ABD) to be tried. This behavior is consistent, but is not always the same as in Perl. It means that if two or more backtracking verbs appear in succession, the last of them has no effect. Consider the following @@ -3423,9 +3271,9 @@ ...(*COMMIT)(*PRUNE)... - If there is a matching failure to the right, backtracking onto - (*PRUNE) causes it to be triggered, and its action is taken. There - can never be a backtrack onto (*COMMIT). + If there is a matching failure to the right, backtracking onto ( + PRUNE) causes it to be triggered, and its action is taken. There + can never be a backtrack onto (COMMIT). Backtracking Verbs in Repeated Groups @@ -3442,8 +3290,8 @@ (*FAIL) in an assertion has its normal effect: it forces an immediate backtrack. - (*ACCEPT) in a positive assertion causes the assertion to succeed - without any further processing. In a negative assertion, (*ACCEPT) + (ACCEPT) in a positive assertion causes the assertion to succeed + without any further processing. In a negative assertion, (ACCEPT) causes the assertion to fail without any further processing. The other backtracking verbs are not treated specially if they @@ -3453,12 +3301,12 @@ Negative assertions are, however, different, to ensure that changing a positive assertion into a negative assertion changes - its result. Backtracking into (*COMMIT), (*SKIP), or (*PRUNE) + its result. Backtracking into (COMMIT), (SKIP), or (PRUNE) causes a negative assertion to be true, without considering any - further alternative branches in the assertion. Backtracking into - (*THEN) causes it to skip to the next enclosing alternative within + further alternative branches in the assertion. Backtracking into ( + THEN) causes it to skip to the next enclosing alternative within the assertion (the normal behavior), but if the assertion does not - have such an alternative, (*THEN) behaves like (*PRUNE). + have such an alternative, (THEN) behaves like (PRUNE). Backtracking Verbs in Subroutines @@ -3473,10 +3321,10 @@ subroutine match to succeed without any further processing. Matching then continues after the subroutine call. - • (*COMMIT), (*SKIP), and (*PRUNE) in a subpattern called as a + • (COMMIT), (SKIP), and (*PRUNE) in a subpattern called as a subroutine cause the subroutine match to fail. - • (*THEN) skips to the next alternative in the innermost + • (THEN) skips to the next alternative in the innermost enclosing group within the subpattern that has alternatives. - If there is no such group within the subpattern, (*THEN) + If there is no such group within the subpattern, (THEN) causes the subroutine match to fail. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_compile_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_compile_2_func.txt index ddf4f055d9d0..a8156d162492 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_compile_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_compile_2_func.txt @@ -21,168 +21,157 @@ When option unicode is specified, the regular expression is to be specified as a valid Unicode charlist(), otherwise as any - valid iodata(). + valid iodata/0. Options: - unicode: - The regular expression is specified as a Unicode charlist() - and the resulting regular expression code is to be run against - a valid Unicode charlist() subject. Also consider option  - ucp when using Unicode characters. - - anchored: - The pattern is forced to be "anchored", that is, it is - constrained to match only at the first matching point in the - string that is searched (the "subject string"). This effect - can also be achieved by appropriate constructs in the pattern - itself. - - caseless: - Letters in the pattern match both uppercase and lowercase - letters. It is equivalent to Perl option /i and can be - changed within a pattern by a (?i) option setting. Uppercase - and lowercase letters are defined as in the ISO 8859-1 - character set. - - dollar_endonly: - A dollar metacharacter in the pattern matches only at the end - of the subject string. Without this option, a dollar also - matches immediately before a newline at the end of the string - (but not before any other newlines). This option is ignored if - option multiline is specified. There is no equivalent option - in Perl, and it cannot be set within a pattern. - - dotall: - A dot in the pattern matches all characters, including those - indicating newline. Without it, a dot does not match when the - current position is at a newline. This option is equivalent to - Perl option /s and it can be changed within a pattern by a  - (?s) option setting. A negative class, such as [^a], always - matches newline characters, independent of the setting of this - option. - - extended: - If this option is set, most white space characters in the - pattern are totally ignored except when escaped or inside a - character class. However, white space is not allowed within - sequences such as (?> that introduce various parenthesized - subpatterns, nor within a numerical quantifier such as {1,3}. - However, ignorable white space is permitted between an item - and a following quantifier and between a quantifier and a - following + that indicates possessiveness. - - White space did not used to include the VT character (code - 11), because Perl did not treat this character as white space. - However, Perl changed at release 5.18, so PCRE followed at - release 8.34, and VT is now treated as white space. - - This also causes characters between an unescaped # outside a - character class and the next newline, inclusive, to be - ignored. This is equivalent to Perl's /x option, and it can - be changed within a pattern by a (?x) option setting. - - With this option, comments inside complicated patterns can be - included. However, notice that this applies only to data - characters. Whitespace characters can never appear within - special character sequences in a pattern, for example within - sequence (?( that introduces a conditional subpattern. - - firstline: - An unanchored pattern is required to match before or at the - first newline in the subject string, although the matched text - can continue over the newline. - - multiline: - By default, PCRE treats the subject string as consisting of a - single line of characters (even if it contains newlines). The - "start of line" metacharacter (^) matches only at the start - of the string, while the "end of line" metacharacter ($) - matches only at the end of the string, or before a terminating - newline (unless option dollar_endonly is specified). This is - the same as in Perl. - - When this option is specified, the "start of line" and "end of - line" constructs match immediately following or immediately - before internal newlines in the subject string, respectively, - as well as at the very start and end. This is equivalent to - Perl option /m and can be changed within a pattern by a  - (?m) option setting. If there are no newlines in a subject - string, or no occurrences of ^ or $ in a pattern, setting  - multiline has no effect. - - no_auto_capture: - Disables the use of numbered capturing parentheses in the - pattern. Any opening parenthesis that is not followed by ? - behaves as if it is followed by ?:. Named parentheses can - still be used for capturing (and they acquire numbers in the - usual way). There is no equivalent option in Perl. - - dupnames: - Names used to identify capturing subpatterns need not be - unique. This can be helpful for certain types of pattern when - it is known that only one instance of the named subpattern can - ever be matched. More details of named subpatterns are - provided below. - - ungreedy: - Inverts the "greediness" of the quantifiers so that they are - not greedy by default, but become greedy if followed by "?". - It is not compatible with Perl. It can also be set by a (?U) - option setting within the pattern. - - {newline, NLSpec}: - Overrides the default definition of a newline in the subject - string, which is LF (ASCII 10) in Erlang. - - cr: - Newline is indicated by a single character cr (ASCII - 13). - - lf: - Newline is indicated by a single character LF (ASCII 10), - the default. - - crlf: - Newline is indicated by the two-character CRLF (ASCII 13 - followed by ASCII 10) sequence. - - anycrlf: - Any of the three preceding sequences is to be recognized. - - any: - Any of the newline sequences above, and the Unicode - sequences VT (vertical tab, U+000B), FF (formfeed, - U+000C), NEL (next line, U+0085), LS (line separator, - U+2028), and PS (paragraph separator, U+2029). - - bsr_anycrlf: - Specifies specifically that \R is to match only the CR, LF, or - CRLF sequences, not the Unicode-specific newline characters. - - bsr_unicode: - Specifies specifically that \R is to match all the Unicode - newline characters (including CRLF, and so on, the default). - - no_start_optimize: - Disables optimization that can malfunction if "Special - start-of-pattern items" are present in the regular expression. - A typical example would be when matching "DEFABC" against - "(*COMMIT)ABC", where the start optimization of PCRE would - skip the subject up to "A" and never realize that the - (*COMMIT) instruction is to have made the matching fail. This - option is only relevant if you use "start-of-pattern items", - as discussed in section PCRE Regular Expression Details. - - ucp: - Specifies that Unicode character properties are to be used - when resolving \B, \b, \D, \d, \S, \s, \W and \w. Without this - flag, only ISO Latin-1 properties are used. Using Unicode - properties hurts performance, but is semantically correct when - working with Unicode characters beyond the ISO Latin-1 range. - - never_utf: - Specifies that the (*UTF) and/or (*UTF8) "start-of-pattern - items" are forbidden. This flag cannot be combined with option  - unicode. Useful if ISO Latin-1 patterns from an external - source are to be compiled. + • unicode - The regular expression is specified as a Unicode  + charlist() and the resulting regular expression code is to + be run against a valid Unicode charlist() subject. Also + consider option ucp when using Unicode characters. + + • anchored - The pattern is forced to be "anchored", that is, + it is constrained to match only at the first matching point + in the string that is searched (the "subject string"). This + effect can also be achieved by appropriate constructs in the + pattern itself. + + • caseless - Letters in the pattern match both uppercase and + lowercase letters. It is equivalent to Perl option /i and + can be changed within a pattern by a (?i) option setting. + Uppercase and lowercase letters are defined as in the ISO + 8859-1 character set. + + • dollar_endonly - A dollar metacharacter in the pattern + matches only at the end of the subject string. Without this + option, a dollar also matches immediately before a newline + at the end of the string (but not before any other + newlines). This option is ignored if option multiline is + specified. There is no equivalent option in Perl, and it + cannot be set within a pattern. + + • dotall - A dot in the pattern matches all characters, + including those indicating newline. Without it, a dot does + not match when the current position is at a newline. This + option is equivalent to Perl option /s and it can be + changed within a pattern by a (?s) option setting. A + negative class, such as [^a], always matches newline + characters, independent of the setting of this option. + + • extended - If this option is set, most white space + characters in the pattern are totally ignored except when + escaped or inside a character class. However, white space is + not allowed within sequences such as (?> that introduce + various parenthesized subpatterns, nor within a numerical + quantifier such as {1,3}. However, ignorable white space + is permitted between an item and a following quantifier and + between a quantifier and a following + that indicates + possessiveness. + + White space did not used to include the VT character (code + 11), because Perl did not treat this character as white + space. However, Perl changed at release 5.18, so PCRE + followed at release 8.34, and VT is now treated as white + space. + + This also causes characters between an unescaped # outside a + character class and the next newline, inclusive, to be + ignored. This is equivalent to Perl's /x option, and it + can be changed within a pattern by a (?x) option setting. + + With this option, comments inside complicated patterns can + be included. However, notice that this applies only to data + characters. Whitespace characters can never appear within + special character sequences in a pattern, for example within + sequence (?( that introduces a conditional subpattern. + + • firstline - An unanchored pattern is required to match + before or at the first newline in the subject string, + although the matched text can continue over the newline. + + • multiline - By default, PCRE treats the subject string as + consisting of a single line of characters (even if it + contains newlines). The "start of line" metacharacter (^) + matches only at the start of the string, while the "end of + line" metacharacter ($) matches only at the end of the + string, or before a terminating newline (unless option  + dollar_endonly is specified). This is the same as in Perl. + + When this option is specified, the "start of line" and "end + of line" constructs match immediately following or + immediately before internal newlines in the subject string, + respectively, as well as at the very start and end. This is + equivalent to Perl option /m and can be changed within a + pattern by a (?m) option setting. If there are no newlines + in a subject string, or no occurrences of ^ or $ in a + pattern, setting multiline has no effect. + + • no_auto_capture - Disables the use of numbered capturing + parentheses in the pattern. Any opening parenthesis that is + not followed by ? behaves as if it is followed by ?:. + Named parentheses can still be used for capturing (and they + acquire numbers in the usual way). There is no equivalent + option in Perl. + + • dupnames - Names used to identify capturing subpatterns + need not be unique. This can be helpful for certain types of + pattern when it is known that only one instance of the named + subpattern can ever be matched. More details of named + subpatterns are provided below. + + • ungreedy - Inverts the "greediness" of the quantifiers so + that they are not greedy by default, but become greedy if + followed by "?". It is not compatible with Perl. It can also + be set by a (?U) option setting within the pattern. + + • {newline, NLSpec} - Overrides the default definition of a + newline in the subject string, which is LF (ASCII 10) in + Erlang. + + ○ cr - Newline is indicated by a single character cr + (ASCII 13). + + ○ lf - Newline is indicated by a single character LF + (ASCII 10), the default. + + ○ crlf - Newline is indicated by the two-character CRLF + (ASCII 13 followed by ASCII 10) sequence. + + ○ anycrlf - Any of the three preceding sequences is to + be recognized. + + ○ any - Any of the newline sequences above, and the + Unicode sequences VT (vertical tab, U+000B), FF + (formfeed, U+000C), NEL (next line, U+0085), LS (line + separator, U+2028), and PS (paragraph separator, + U+2029). + + • bsr_anycrlf - Specifies specifically that \R is to match + only the CR, LF, or CRLF sequences, not the Unicode-specific + newline characters. + + • bsr_unicode - Specifies specifically that \R is to match + all the Unicode newline characters (including CRLF, and so + on, the default). + + • no_start_optimize - Disables optimization that can + malfunction if "Special start-of-pattern items" are present + in the regular expression. A typical example would be when + matching "DEFABC" against "(COMMIT)ABC", where the start + optimization of PCRE would skip the subject up to "A" and + never realize that the (COMMIT) instruction is to have made + the matching fail. This option is only relevant if you use + "start-of-pattern items", as discussed in section PCRE + Regular Expression Details. + + • ucp - Specifies that Unicode character properties are to be + used when resolving \B, \b, \D, \d, \S, \s, \W and \w. + Without this flag, only ISO Latin-1 properties are used. + Using Unicode properties hurts performance, but is + semantically correct when working with Unicode characters + beyond the ISO Latin-1 range. + + • never_utf - Specifies that the (UTF) and/or (UTF8) + "start-of-pattern items" are forbidden. This flag cannot be + combined with option unicode. Useful if ISO Latin-1 + patterns from an external source are to be compiled. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_compile_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_compile_func.txt index 2d889c9f6c61..836aa8958c3f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_compile_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_compile_func.txt @@ -31,168 +31,157 @@ When option unicode is specified, the regular expression is to be specified as a valid Unicode charlist(), otherwise as any - valid iodata(). + valid iodata/0. Options: - unicode: - The regular expression is specified as a Unicode charlist() - and the resulting regular expression code is to be run against - a valid Unicode charlist() subject. Also consider option  - ucp when using Unicode characters. - - anchored: - The pattern is forced to be "anchored", that is, it is - constrained to match only at the first matching point in the - string that is searched (the "subject string"). This effect - can also be achieved by appropriate constructs in the pattern - itself. - - caseless: - Letters in the pattern match both uppercase and lowercase - letters. It is equivalent to Perl option /i and can be - changed within a pattern by a (?i) option setting. Uppercase - and lowercase letters are defined as in the ISO 8859-1 - character set. - - dollar_endonly: - A dollar metacharacter in the pattern matches only at the end - of the subject string. Without this option, a dollar also - matches immediately before a newline at the end of the string - (but not before any other newlines). This option is ignored if - option multiline is specified. There is no equivalent option - in Perl, and it cannot be set within a pattern. - - dotall: - A dot in the pattern matches all characters, including those - indicating newline. Without it, a dot does not match when the - current position is at a newline. This option is equivalent to - Perl option /s and it can be changed within a pattern by a  - (?s) option setting. A negative class, such as [^a], always - matches newline characters, independent of the setting of this - option. - - extended: - If this option is set, most white space characters in the - pattern are totally ignored except when escaped or inside a - character class. However, white space is not allowed within - sequences such as (?> that introduce various parenthesized - subpatterns, nor within a numerical quantifier such as {1,3}. - However, ignorable white space is permitted between an item - and a following quantifier and between a quantifier and a - following + that indicates possessiveness. - - White space did not used to include the VT character (code - 11), because Perl did not treat this character as white space. - However, Perl changed at release 5.18, so PCRE followed at - release 8.34, and VT is now treated as white space. - - This also causes characters between an unescaped # outside a - character class and the next newline, inclusive, to be - ignored. This is equivalent to Perl's /x option, and it can - be changed within a pattern by a (?x) option setting. - - With this option, comments inside complicated patterns can be - included. However, notice that this applies only to data - characters. Whitespace characters can never appear within - special character sequences in a pattern, for example within - sequence (?( that introduces a conditional subpattern. - - firstline: - An unanchored pattern is required to match before or at the - first newline in the subject string, although the matched text - can continue over the newline. - - multiline: - By default, PCRE treats the subject string as consisting of a - single line of characters (even if it contains newlines). The - "start of line" metacharacter (^) matches only at the start - of the string, while the "end of line" metacharacter ($) - matches only at the end of the string, or before a terminating - newline (unless option dollar_endonly is specified). This is - the same as in Perl. - - When this option is specified, the "start of line" and "end of - line" constructs match immediately following or immediately - before internal newlines in the subject string, respectively, - as well as at the very start and end. This is equivalent to - Perl option /m and can be changed within a pattern by a  - (?m) option setting. If there are no newlines in a subject - string, or no occurrences of ^ or $ in a pattern, setting  - multiline has no effect. - - no_auto_capture: - Disables the use of numbered capturing parentheses in the - pattern. Any opening parenthesis that is not followed by ? - behaves as if it is followed by ?:. Named parentheses can - still be used for capturing (and they acquire numbers in the - usual way). There is no equivalent option in Perl. - - dupnames: - Names used to identify capturing subpatterns need not be - unique. This can be helpful for certain types of pattern when - it is known that only one instance of the named subpattern can - ever be matched. More details of named subpatterns are - provided below. - - ungreedy: - Inverts the "greediness" of the quantifiers so that they are - not greedy by default, but become greedy if followed by "?". - It is not compatible with Perl. It can also be set by a (?U) - option setting within the pattern. - - {newline, NLSpec}: - Overrides the default definition of a newline in the subject - string, which is LF (ASCII 10) in Erlang. - - cr: - Newline is indicated by a single character cr (ASCII - 13). - - lf: - Newline is indicated by a single character LF (ASCII 10), - the default. - - crlf: - Newline is indicated by the two-character CRLF (ASCII 13 - followed by ASCII 10) sequence. - - anycrlf: - Any of the three preceding sequences is to be recognized. - - any: - Any of the newline sequences above, and the Unicode - sequences VT (vertical tab, U+000B), FF (formfeed, - U+000C), NEL (next line, U+0085), LS (line separator, - U+2028), and PS (paragraph separator, U+2029). - - bsr_anycrlf: - Specifies specifically that \R is to match only the CR, LF, or - CRLF sequences, not the Unicode-specific newline characters. - - bsr_unicode: - Specifies specifically that \R is to match all the Unicode - newline characters (including CRLF, and so on, the default). - - no_start_optimize: - Disables optimization that can malfunction if "Special - start-of-pattern items" are present in the regular expression. - A typical example would be when matching "DEFABC" against - "(*COMMIT)ABC", where the start optimization of PCRE would - skip the subject up to "A" and never realize that the - (*COMMIT) instruction is to have made the matching fail. This - option is only relevant if you use "start-of-pattern items", - as discussed in section PCRE Regular Expression Details. - - ucp: - Specifies that Unicode character properties are to be used - when resolving \B, \b, \D, \d, \S, \s, \W and \w. Without this - flag, only ISO Latin-1 properties are used. Using Unicode - properties hurts performance, but is semantically correct when - working with Unicode characters beyond the ISO Latin-1 range. - - never_utf: - Specifies that the (*UTF) and/or (*UTF8) "start-of-pattern - items" are forbidden. This flag cannot be combined with option  - unicode. Useful if ISO Latin-1 patterns from an external - source are to be compiled. + • unicode - The regular expression is specified as a Unicode  + charlist() and the resulting regular expression code is to + be run against a valid Unicode charlist() subject. Also + consider option ucp when using Unicode characters. + + • anchored - The pattern is forced to be "anchored", that is, + it is constrained to match only at the first matching point + in the string that is searched (the "subject string"). This + effect can also be achieved by appropriate constructs in the + pattern itself. + + • caseless - Letters in the pattern match both uppercase and + lowercase letters. It is equivalent to Perl option /i and + can be changed within a pattern by a (?i) option setting. + Uppercase and lowercase letters are defined as in the ISO + 8859-1 character set. + + • dollar_endonly - A dollar metacharacter in the pattern + matches only at the end of the subject string. Without this + option, a dollar also matches immediately before a newline + at the end of the string (but not before any other + newlines). This option is ignored if option multiline is + specified. There is no equivalent option in Perl, and it + cannot be set within a pattern. + + • dotall - A dot in the pattern matches all characters, + including those indicating newline. Without it, a dot does + not match when the current position is at a newline. This + option is equivalent to Perl option /s and it can be + changed within a pattern by a (?s) option setting. A + negative class, such as [^a], always matches newline + characters, independent of the setting of this option. + + • extended - If this option is set, most white space + characters in the pattern are totally ignored except when + escaped or inside a character class. However, white space is + not allowed within sequences such as (?> that introduce + various parenthesized subpatterns, nor within a numerical + quantifier such as {1,3}. However, ignorable white space + is permitted between an item and a following quantifier and + between a quantifier and a following + that indicates + possessiveness. + + White space did not used to include the VT character (code + 11), because Perl did not treat this character as white + space. However, Perl changed at release 5.18, so PCRE + followed at release 8.34, and VT is now treated as white + space. + + This also causes characters between an unescaped # outside a + character class and the next newline, inclusive, to be + ignored. This is equivalent to Perl's /x option, and it + can be changed within a pattern by a (?x) option setting. + + With this option, comments inside complicated patterns can + be included. However, notice that this applies only to data + characters. Whitespace characters can never appear within + special character sequences in a pattern, for example within + sequence (?( that introduces a conditional subpattern. + + • firstline - An unanchored pattern is required to match + before or at the first newline in the subject string, + although the matched text can continue over the newline. + + • multiline - By default, PCRE treats the subject string as + consisting of a single line of characters (even if it + contains newlines). The "start of line" metacharacter (^) + matches only at the start of the string, while the "end of + line" metacharacter ($) matches only at the end of the + string, or before a terminating newline (unless option  + dollar_endonly is specified). This is the same as in Perl. + + When this option is specified, the "start of line" and "end + of line" constructs match immediately following or + immediately before internal newlines in the subject string, + respectively, as well as at the very start and end. This is + equivalent to Perl option /m and can be changed within a + pattern by a (?m) option setting. If there are no newlines + in a subject string, or no occurrences of ^ or $ in a + pattern, setting multiline has no effect. + + • no_auto_capture - Disables the use of numbered capturing + parentheses in the pattern. Any opening parenthesis that is + not followed by ? behaves as if it is followed by ?:. + Named parentheses can still be used for capturing (and they + acquire numbers in the usual way). There is no equivalent + option in Perl. + + • dupnames - Names used to identify capturing subpatterns + need not be unique. This can be helpful for certain types of + pattern when it is known that only one instance of the named + subpattern can ever be matched. More details of named + subpatterns are provided below. + + • ungreedy - Inverts the "greediness" of the quantifiers so + that they are not greedy by default, but become greedy if + followed by "?". It is not compatible with Perl. It can also + be set by a (?U) option setting within the pattern. + + • {newline, NLSpec} - Overrides the default definition of a + newline in the subject string, which is LF (ASCII 10) in + Erlang. + + ○ cr - Newline is indicated by a single character cr + (ASCII 13). + + ○ lf - Newline is indicated by a single character LF + (ASCII 10), the default. + + ○ crlf - Newline is indicated by the two-character CRLF + (ASCII 13 followed by ASCII 10) sequence. + + ○ anycrlf - Any of the three preceding sequences is to + be recognized. + + ○ any - Any of the newline sequences above, and the + Unicode sequences VT (vertical tab, U+000B), FF + (formfeed, U+000C), NEL (next line, U+0085), LS (line + separator, U+2028), and PS (paragraph separator, + U+2029). + + • bsr_anycrlf - Specifies specifically that \R is to match + only the CR, LF, or CRLF sequences, not the Unicode-specific + newline characters. + + • bsr_unicode - Specifies specifically that \R is to match + all the Unicode newline characters (including CRLF, and so + on, the default). + + • no_start_optimize - Disables optimization that can + malfunction if "Special start-of-pattern items" are present + in the regular expression. A typical example would be when + matching "DEFABC" against "(COMMIT)ABC", where the start + optimization of PCRE would skip the subject up to "A" and + never realize that the (COMMIT) instruction is to have made + the matching fail. This option is only relevant if you use + "start-of-pattern items", as discussed in section PCRE + Regular Expression Details. + + • ucp - Specifies that Unicode character properties are to be + used when resolving \B, \b, \D, \d, \S, \s, \W and \w. + Without this flag, only ISO Latin-1 properties are used. + Using Unicode properties hurts performance, but is + semantically correct when working with Unicode characters + beyond the ISO Latin-1 range. + + • never_utf - Specifies that the (UTF) and/or (UTF8) + "start-of-pattern items" are forbidden. This flag cannot be + combined with option unicode. Useful if ISO Latin-1 + patterns from an external source are to be compiled. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_inspect_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_inspect_2_func.txt index 8c3aa0ecf5ce..0cacd6cd2c79 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_inspect_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_inspect_2_func.txt @@ -6,10 +6,13 @@ OTP 17.0 Takes a compiled regular expression and an item, and returns the - relevant data from the regular expression. The only supported item - is namelist, which returns the tuple {namelist, [binary()]}, - containing the names of all (unique) named subpatterns in the - regular expression. For example: + relevant data from the regular expression. + + The only supported item is namelist, which returns the tuple  + {namelist, [binary()]}, containing the names of all (unique) + named subpatterns in the regular expression. + + For example: 1> {ok,MP} = re:compile("(?A)|(?B)|(?C)"). {ok,{re_pattern,3,0,0, @@ -21,7 +24,7 @@ {ok,{re_pattern,3,0,0, <<69,82,67,80,119,0,0,0,0,0,8,0,1,0,0,0,255,255,255,255, 255,255,...>>}} - 4> re:inspect(MPD,namelist). + 4> re:inspect(MPD,namelist). {namelist,[<<"B">>,<<"C">>]} Notice in the second example that the duplicate name only occurs diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_internal_run_4_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_internal_run_4_func.txt index d896aabce3d1..aa6f82324ffa 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_internal_run_4_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_internal_run_4_func.txt @@ -1,5 +1,47 @@ -  internal_run/4 + -spec internal_run(Subject, RE, Options, FirstCall) -> +  {match, Captured} | +  match | nomatch | +  {error, ErrType} +  when +  Subject :: iodata() | unicode:charlist(), +  RE :: mp() | iodata() | unicode:charlist(), +  Options :: [Option], +  Option :: +  anchored | global | notbol | noteol | +  notempty | notempty_atstart | +  report_errors | +  {offset, non_neg_integer()} | +  {match_limit, non_neg_integer()} | +  {match_limit_recursion, non_neg_integer()} | +  {newline, NLSpec :: nl_spec()} | +  bsr_anycrlf | bsr_unicode | +  {capture, ValueSpec} | +  {capture, ValueSpec, Type} | +  CompileOpt, +  Type :: index | list | binary, +  ValueSpec :: +  all | all_but_first | all_names | first | +  none | ValueList, +  ValueList :: [ValueID], +  ValueID :: integer() | string() | atom(), +  CompileOpt :: compile_option(), +  Captured :: [CaptureData] | [[CaptureData]], +  CaptureData :: +  {integer(), integer()} | +  ListConversionData | +  binary(), +  ListConversionData :: +  string() | +  {error, string(), binary()} | +  {incomplete, string(), binary()}, +  ErrType :: +  match_limit | match_limit_recursion | +  {compile, CompileErr}, +  CompileErr :: +  {ErrString :: string(), +  Position :: non_neg_integer()}, +  FirstCall :: boolean(). The documentation for internal_run/4 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_mp_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_mp_0_type.txt index b4345ebac994..e70ba06a49dc 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_mp_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_mp_0_type.txt @@ -1,8 +1,9 @@ -type mp() :: {re_pattern, _, _, _, _}. - Opaque data type containing a compiled regular expression. mp() - is guaranteed to be a tuple() having the atom re_pattern as its - first element, to allow for matching in guards. The arity of the - tuple or the content of the other fields can change in future - Erlang/OTP releases. + Opaque data type containing a compiled regular expression. + + mp/0 is guaranteed to be a tuple() having the atom re_pattern + as its first element, to allow for matching in guards. The arity + of the tuple or the content of the other fields can change in + future Erlang/OTP releases. 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 b6b326c1d55d..aebfbb853c9f 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 @@ -29,10 +29,10 @@ option capture is not allowed. Instead a {return, ReturnType} is present. The default return type is iodata, constructed in a way to minimize copying. The iodata result can be used directly - in many I/O operations. If a flat list() is desired, specify  + in many I/O operations. If a flat list/0 is desired, specify  {return, list}. If a binary is desired, specify {return, binary}. - As in function run/3, an mp() compiled with option unicode + As in function run/3, an mp/0 compiled with option unicode requires Subject to be a Unicode charlist(). If compilation is done implicitly and the unicode compilation option is specified to this function, both the regular expression and Subject are to @@ -40,11 +40,10 @@ 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. + 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 @@ -53,18 +52,12 @@ Example: - re:replace("abcd","c","[&]",[{return,list}]). - - gives - + 1> re:replace("abcd","c","[&]",[{return,list}]). "ab[c]d" while - re:replace("abcd","c","[\\&]",[{return,list}]). - - gives - + 2> re:replace("abcd","c","[\\&]",[{return,list}]). "ab[&]d" If the replacement is given as a fun, it will be called with the @@ -75,22 +68,21 @@ Example: - re:replace("abcd", ".(.)", fun(Whole, [<>]) -> <<$#, Whole/binary, $-, (C - $a + $A), $#>> end, [{return, list}]). - - gives - + 3> re:replace("abcd", ".(.)", + fun(Whole, [<>]) -> + <<$#, Whole/binary, $-, (C - $a + $A), $#>> + end, + [{return, list}]). "#ab-B#cd" - Note: + 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: + 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" diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_replace_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_replace_func.txt index b87fd3e7835d..8c54ce55143a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_replace_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_replace_func.txt @@ -6,7 +6,8 @@  Replacement ::  iodata() | unicode:charlist() | replace_fun(). - Same as replace(Subject, RE, Replacement, []). + There is no documentation for replace(Subject, RE, Replacement, + []) -spec replace(Subject, RE, Replacement, Options) ->  iodata() | unicode:charlist() @@ -38,10 +39,10 @@ option capture is not allowed. Instead a {return, ReturnType} is present. The default return type is iodata, constructed in a way to minimize copying. The iodata result can be used directly - in many I/O operations. If a flat list() is desired, specify  + in many I/O operations. If a flat list/0 is desired, specify  {return, list}. If a binary is desired, specify {return, binary}. - As in function run/3, an mp() compiled with option unicode + As in function run/3, an mp/0 compiled with option unicode requires Subject to be a Unicode charlist(). If compilation is done implicitly and the unicode compilation option is specified to this function, both the regular expression and Subject are to @@ -49,11 +50,10 @@ 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. + 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 @@ -62,18 +62,12 @@ Example: - re:replace("abcd","c","[&]",[{return,list}]). - - gives - + 1> re:replace("abcd","c","[&]",[{return,list}]). "ab[c]d" while - re:replace("abcd","c","[\\&]",[{return,list}]). - - gives - + 2> re:replace("abcd","c","[\\&]",[{return,list}]). "ab[&]d" If the replacement is given as a fun, it will be called with the @@ -84,22 +78,21 @@ Example: - re:replace("abcd", ".(.)", fun(Whole, [<>]) -> <<$#, Whole/binary, $-, (C - $a + $A), $#>> end, [{return, list}]). - - gives - + 3> re:replace("abcd", ".(.)", + fun(Whole, [<>]) -> + <<$#, Whole/binary, $-, (C - $a + $A), $#>> + end, + [{return, list}]). "#ab-B#cd" - Note: + 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: + 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" diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_run_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_run_3_func.txt index d722dbe3bcf8..9092484d7f0f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_run_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_run_3_func.txt @@ -4,25 +4,7 @@  when  Subject :: iodata() | unicode:charlist(),  RE :: mp() | iodata() | unicode:charlist(), -  Options :: [Option], -  Option :: -  anchored | global | notbol | noteol | notempty | -  notempty_atstart | report_errors | -  {offset, non_neg_integer()} | -  {match_limit, non_neg_integer()} | -  {match_limit_recursion, non_neg_integer()} | -  {newline, NLSpec :: nl_spec()} | -  bsr_anycrlf | bsr_unicode | -  {capture, ValueSpec} | -  {capture, ValueSpec, Type} | -  CompileOpt, -  Type :: index | list | binary, -  ValueSpec :: -  all | all_but_first | all_names | first | none | -  ValueList, -  ValueList :: [ValueID], -  ValueID :: integer() | string() | atom(), -  CompileOpt :: compile_option(), +  Options :: options(),  Captured :: [CaptureData] | [[CaptureData]],  CaptureData ::  {integer(), integer()} | @@ -40,10 +22,12 @@  Position :: non_neg_integer()}. Executes a regular expression matching, and returns match/{match, - Captured} or nomatch. The regular expression can be specified - either as iodata() in which case it is automatically compiled - (as by compile/2) and executed, or as a precompiled mp() in - which case it is executed against the subject directly. + Captured} or nomatch. + + The regular expression can be specified either as iodata/0 in + which case it is automatically compiled (as by compile/2) and + executed, or as a precompiled mp/0 in which case it is executed + against the subject directly. When compilation is involved, exception badarg is thrown if a compilation error occurs. Call compile/2 to get information @@ -84,7 +68,7 @@ If the regular expression was previously compiled with option  unicode, Subject is to be provided as a valid Unicode  - charlist(), otherwise any iodata() will do. If compilation is + charlist(), otherwise any iodata/0 will do. If compilation is involved and option unicode is specified, both Subject and the regular expression are to be specified as valid Unicode  charlists(). @@ -114,481 +98,482 @@ The following options are relevant for execution: - anchored: - Limits run/3 to matching at the first matching position. If - a pattern was compiled with anchored, or turned out to be - anchored by virtue of its contents, it cannot be made - unanchored at matching time, hence there is no unanchored - option. - - global: - Implements global (repetitive) search (flag g in Perl). Each - match is returned as a separate list() containing the - specific match and any matching subexpressions (or as - specified by option capture. The Captured part of the - return value is hence a list() of list()s when this option - is specified. - - The interaction of option global with a regular expression - that matches an empty string surprises some users. When option  - global is specified, run/3 handles empty matches in the - same way as Perl: a zero-length match at any point is also - retried with options [anchored, notempty_atstart]. If that - search gives a result of length > 0, the result is included. - Example: - - re:run("cat","(|at)",[global]). - - The following matchings are performed: - - At offset 0: - The regular expression (|at) first match at the initial - position of string cat, giving the result set  - [{0,0},{0,0}] (the second {0,0} is because of the - subexpression marked by the parentheses). As the length of - the match is 0, we do not advance to the next position - yet. - - At offset 0 with [anchored, notempty_atstart]: - The search is retried with options [anchored, - notempty_atstart] at the same position, which does not - give any interesting result of longer length, so the - search position is advanced to the next character (a). - - At offset 1: - The search results in [{1,0},{1,0}], so this search is - also repeated with the extra options. - - At offset 1 with [anchored, notempty_atstart]: - Alternative ab is found and the result is [{1,2},{1,2}]. - The result is added to the list of results and the - position in the search string is advanced two steps. - - At offset 3: - The search once again matches the empty string, giving  - [{3,0},{3,0}]. - - At offset 1 with [anchored, notempty_atstart]: - This gives no result of length > 0 and we are at the last - position, so the global search is complete. - - The result of the call is: - - {match,[[{0,0},{0,0}],[{1,0},{1,0}],[{1,2},{1,2}],[{3,0},{3,0}]]} - - notempty: - An empty string is not considered to be a valid match if this - option is specified. If alternatives in the pattern exist, - they are tried. If all the alternatives match the empty - string, the entire match fails. - - Example: - - If the following pattern is applied to a string not beginning - with "a" or "b", it would normally match the empty string at - the start of the subject: - - a?b? - - With option notempty, this match is invalid, so run/3 - searches further into the string for occurrences of "a" or - "b". - - notempty_atstart: - Like notempty, except that an empty string match that is not - at the start of the subject is permitted. If the pattern is - anchored, such a match can occur only if the pattern contains - \K. - - Perl has no direct equivalent of notempty or  - notempty_atstart, but it does make a special case of a - pattern match of the empty string within its split() function, - and when using modifier /g. The Perl behavior can be - emulated after matching a null string by first trying the - match again at the same offset with notempty_atstart and  - anchored, and then, if that fails, by advancing the starting - offset (see below) and trying an ordinary match again. - - notbol: - Specifies that the first character of the subject string is - not the beginning of a line, so the circumflex metacharacter - is not to match before it. Setting this without multiline - (at compile time) causes circumflex never to match. This - option only affects the behavior of the circumflex - metacharacter. It does not affect \A. - - noteol: - Specifies that the end of the subject string is not the end of - a line, so the dollar metacharacter is not to match it nor - (except in multiline mode) a newline immediately before it. - Setting this without multiline (at compile time) causes - dollar never to match. This option affects only the behavior - of the dollar metacharacter. It does not affect \Z or \z. - - report_errors: - Gives better control of the error handling in run/3. When - specified, compilation errors (if the regular expression is - not already compiled) and runtime errors are explicitly - returned as an error tuple. - - The following are the possible runtime errors: - - match_limit: - The PCRE library sets a limit on how many times the - internal match function can be called. Defaults to - 10,000,000 in the library compiled for Erlang. If {error, - match_limit} is returned, the execution of the regular - expression has reached this limit. This is normally to be - regarded as a nomatch, which is the default return value - when this occurs, but by specifying report_errors, you - are informed when the match fails because of too many - internal calls. - - match_limit_recursion: - This error is very similar to match_limit, but occurs - when the internal match function of PCRE is "recursively" - called more times than the match_limit_recursion limit, - which defaults to 10,000,000 as well. Notice that as long - as the match_limit and match_limit_default values are - kept at the default values, the match_limit_recursion - error cannot occur, as the match_limit error occurs - before that (each recursive call is also a call, but not - conversely). Both limits can however be changed, either by - setting limits directly in the regular expression string - (see section PCRE Regular Eexpression Details) or by - specifying options to run/3. - - It is important to understand that what is referred to as - "recursion" when limiting matches is not recursion on the C - stack of the Erlang machine or on the Erlang process stack. - The PCRE version compiled into the Erlang VM uses machine - "heap" memory to store values that must be kept over recursion - in regular expression matches. - - {match_limit, integer() >= 0}: - Limits the execution time of a match in an - implementation-specific way. It is described as follows by the - PCRE documentation: - - The match_limit field provides a means of preventing PCRE from using - up a vast amount of resources when running patterns that are not going - to match, but which have a very large number of possibilities in their - search trees. The classic example is a pattern that uses nested - unlimited repeats. - - Internally, pcre_exec() uses a function called match(), which it calls - repeatedly (sometimes recursively). The limit set by match_limit is - imposed on the number of times this function is called during a match, - which has the effect of limiting the amount of backtracking that can - take place. For patterns that are not anchored, the count restarts - from zero for each position in the subject string. - - This means that runaway regular expression matches can fail - faster if the limit is lowered using this option. The default - value 10,000,000 is compiled into the Erlang VM. - - Note: - This option does in no way affect the execution of the - Erlang VM in terms of "long running BIFs". run/3 always - gives control back to the scheduler of Erlang processes at - intervals that ensures the real-time properties of the - Erlang system. - - {match_limit_recursion, integer() >= 0}: - Limits the execution time and memory consumption of a match in - an implementation-specific way, very similar to match_limit. - It is described as follows by the PCRE documentation: - - The match_limit_recursion field is similar to match_limit, but instead - of limiting the total number of times that match() is called, it - limits the depth of recursion. The recursion depth is a smaller number - than the total number of calls, because not all calls to match() are - recursive. This limit is of use only if it is set smaller than - match_limit. - - Limiting the recursion depth limits the amount of machine stack that - can be used, or, when PCRE has been compiled to use memory on the heap - instead of the stack, the amount of heap memory that can be used. - - The Erlang VM uses a PCRE library where heap memory is used - when regular expression match recursion occurs. This therefore - limits the use of machine heap, not C stack. - - Specifying a lower value can result in matches with deep - recursion failing, when they should have matched: - - 1> re:run("aaaaaaaaaaaaaz","(a+)*z"). - {match,[{0,14},{0,13}]} - 2> re:run("aaaaaaaaaaaaaz","(a+)*z",[{match_limit_recursion,5}]). - nomatch - 3> re:run("aaaaaaaaaaaaaz","(a+)*z",[{match_limit_recursion,5},report_errors]). - {error,match_limit_recursion} - - This option and option match_limit are only to be used in - rare cases. Understanding of the PCRE library internals is - recommended before tampering with these limits. - - {offset, integer() >= 0}: - Start matching at the offset (position) specified in the - subject string. The offset is zero-based, so that the default - is {offset,0} (all of the subject string). - - {newline, NLSpec}: - Overrides the default definition of a newline in the subject - string, which is LF (ASCII 10) in Erlang. - - cr: - Newline is indicated by a single character CR (ASCII 13). - - lf: - Newline is indicated by a single character LF (ASCII 10), - the default. - - crlf: - Newline is indicated by the two-character CRLF (ASCII 13 - followed by ASCII 10) sequence. - - anycrlf: - Any of the three preceding sequences is be recognized. - - any: - Any of the newline sequences above, and the Unicode - sequences VT (vertical tab, U+000B), FF (formfeed, - U+000C), NEL (next line, U+0085), LS (line separator, - U+2028), and PS (paragraph separator, U+2029). - - bsr_anycrlf: - Specifies specifically that \R is to match only the CR LF, or - CRLF sequences, not the Unicode-specific newline characters. - (Overrides the compilation option.) - - bsr_unicode: - Specifies specifically that \R is to match all the Unicode - newline characters (including CRLF, and so on, the default). - (Overrides the compilation option.) - - {capture, ValueSpec}/{capture, ValueSpec, Type}: - Specifies which captured substrings are returned and in what - format. By default, run/3 captures all of the matching part - of the substring and all capturing subpatterns (all of the - pattern is automatically captured). The default return type is - (zero-based) indexes of the captured parts of the string, - specified as {Offset,Length} pairs (the index Type of - capturing). - - As an example of the default behavior, the following call - returns, as first and only captured string, the matching part - of the subject ("abcd" in the middle) as an index pair {3,4}, - where character positions are zero-based, just as in offsets: - - re:run("ABCabcdABC","abcd",[]). - - The return value of this call is: - - {match,[{3,4}]} - - Another (and quite common) case is where the regular - expression matches all of the subject: - - re:run("ABCabcdABC",".*abcd.*",[]). - - Here the return value correspondingly points out all of the - string, beginning at index 0, and it is 10 characters long: - - {match,[{0,10}]} - - If the regular expression contains capturing subpatterns, like - in: - - re:run("ABCabcdABC",".*(abcd).*",[]). - - all of the matched subject is captured, as well as the - captured substrings: - - {match,[{0,10},{3,4}]} - - The complete matching pattern always gives the first return - value in the list and the remaining subpatterns are added in - the order they occurred in the regular expression. - - The capture tuple is built up as follows: - - ValueSpec: - Specifies which captured (sub)patterns are to be returned.  - ValueSpec can either be an atom describing a predefined - set of return values, or a list containing the indexes or - the names of specific subpatterns to return. - - The following are the predefined sets of subpatterns: - - all: - All captured subpatterns including the complete - matching string. This is the default. + • anchored - Limits run/3 to matching at the first matching + position. If a pattern was compiled with anchored, or + turned out to be anchored by virtue of its contents, it + cannot be made unanchored at matching time, hence there is + no unanchored option. + + • global - Implements global (repetitive) search (flag g in + Perl). Each match is returned as a separate list/0 + containing the specific match and any matching + subexpressions (or as specified by option capture. The  + Captured part of the return value is hence a list/0 of  + list/0s when this option is specified. + + The interaction of option global with a regular expression + that matches an empty string surprises some users. When + option global is specified, run/3 handles empty matches + in the same way as Perl: a zero-length match at any point is + also retried with options [anchored, notempty_atstart]. If + that search gives a result of length > 0, the result is + included. Example: + + re:run("cat","(|at)",[global]). + + The following matchings are performed: + + ○ At offset 0 - The regular expression (|at) first + match at the initial position of string cat, giving + the result set [{0,0},{0,0}] (the second {0,0} is + because of the subexpression marked by the + parentheses). As the length of the match is 0, we do + not advance to the next position yet. + + ○ At offset 0 with [anchored, notempty_atstart] - + The search is retried with options [anchored, + notempty_atstart] at the same position, which does + not give any interesting result of longer length, so + the search position is advanced to the next character ( + a). + + ○ At offset 1 - The search results in [{1,0},{1,0}], + so this search is also repeated with the extra + options. + + ○ At offset 1 with [anchored, notempty_atstart] - + Alternative ab is found and the result is + [{1,2},{1,2}]. The result is added to the list of + results and the position in the search string is + advanced two steps. + + ○ At offset 3 - The search once again matches the + empty string, giving [{3,0},{3,0}]. + + ○ At offset 1 with [anchored, notempty_atstart] - + This gives no result of length > 0 and we are at the + last position, so the global search is complete. + + The result of the call is: + + {match,[[{0,0},{0,0}],[{1,0},{1,0}],[{1,2},{1,2}],[{3,0},{3,0}]]} + + • notempty - An empty string is not considered to be a valid + match if this option is specified. If alternatives in the + pattern exist, they are tried. If all the alternatives match + the empty string, the entire match fails. + + Example: + + If the following pattern is applied to a string not + beginning with "a" or "b", it would normally match the empty + string at the start of the subject: + + a?b? + + With option notempty, this match is invalid, so run/3 + searches further into the string for occurrences of "a" or + "b". + + • notempty_atstart - Like notempty, except that an empty + string match that is not at the start of the subject is + permitted. If the pattern is anchored, such a match can + occur only if the pattern contains \K. + + Perl has no direct equivalent of notempty or  + notempty_atstart, but it does make a special case of a + pattern match of the empty string within its split() + function, and when using modifier /g. The Perl behavior + can be emulated after matching a null string by first trying + the match again at the same offset with notempty_atstart + and anchored, and then, if that fails, by advancing the + starting offset (see below) and trying an ordinary match + again. + + • notbol - Specifies that the first character of the subject + string is not the beginning of a line, so the circumflex + metacharacter is not to match before it. Setting this + without multiline (at compile time) causes circumflex + never to match. This option only affects the behavior of the + circumflex metacharacter. It does not affect \A. + + • noteol - Specifies that the end of the subject string is + not the end of a line, so the dollar metacharacter is not to + match it nor (except in multiline mode) a newline + immediately before it. Setting this without multiline (at + compile time) causes dollar never to match. This option + affects only the behavior of the dollar metacharacter. It + does not affect \Z or \z. + + • report_errors - Gives better control of the error handling + in run/3. When specified, compilation errors (if the + regular expression is not already compiled) and runtime + errors are explicitly returned as an error tuple. + + The following are the possible runtime errors: + + ○ match_limit - The PCRE library sets a limit on how + many times the internal match function can be called. + Defaults to 10,000,000 in the library compiled for + Erlang. If {error, match_limit} is returned, the + execution of the regular expression has reached this + limit. This is normally to be regarded as a nomatch, + which is the default return value when this occurs, + but by specifying report_errors, you are informed + when the match fails because of too many internal + calls. + + ○ match_limit_recursion - This error is very similar to  + match_limit, but occurs when the internal match + function of PCRE is "recursively" called more times + than the match_limit_recursion limit, which defaults + to 10,000,000 as well. Notice that as long as the  + match_limit and match_limit_default values are kept + at the default values, the match_limit_recursion + error cannot occur, as the match_limit error occurs + before that (each recursive call is also a call, but + not conversely). Both limits can however be changed, + either by setting limits directly in the regular + expression string (see section PCRE Regular + Eexpression Details) or by specifying options to  + run/3. + + It is important to understand that what is referred to as + "recursion" when limiting matches is not recursion on the C + stack of the Erlang machine or on the Erlang process stack. + The PCRE version compiled into the Erlang VM uses machine + "heap" memory to store values that must be kept over + recursion in regular expression matches. + + • {match_limit, integer() >= 0} - Limits the execution time + of a match in an implementation-specific way. It is + described as follows by the PCRE documentation: + + The match_limit field provides a means of preventing + PCRE from using up a vast amount of resources when + running patterns that are not going to match, but which + have a very large number of possibilities in their + search trees. The classic example is a pattern that uses + nested unlimited repeats. Internally, pcre_exec() uses a + function called match(), which it calls repeatedly + (sometimes recursively). The limit set by match_limit is + imposed on the number of times this function is called + during a match, which has the effect of limiting the + amount of backtracking that can take place. For patterns + that are not anchored, the count restarts from zero for + each position in the subject string. + + This means that runaway regular expression matches can fail + faster if the limit is lowered using this option. The + default value 10,000,000 is compiled into the Erlang VM. + + Note + + This option does in no way affect the execution of the + Erlang VM in terms of "long running BIFs". run/3 + always gives control back to the scheduler of Erlang + processes at intervals that ensures the real-time + properties of the Erlang system. + + • {match_limit_recursion, integer() >= 0} - Limits the + execution time and memory consumption of a match in an + implementation-specific way, very similar to match_limit. + It is described as follows by the PCRE documentation: + + The match_limit_recursion field is similar to + match_limit, but instead of limiting the total number of + times that match() is called, it limits the depth of + recursion. The recursion depth is a smaller number than + the total number of calls, because not all calls to + match() are recursive. This limit is of use only if it + is set smaller than match_limit. Limiting the recursion + depth limits the amount of machine stack that can be + used, or, when PCRE has been compiled to use memory on + the heap instead of the stack, the amount of heap memory + that can be used. + + The Erlang VM uses a PCRE library where heap memory is used + when regular expression match recursion occurs. This + therefore limits the use of machine heap, not C stack. + + Specifying a lower value can result in matches with deep + recursion failing, when they should have matched: + + 1> re:run("aaaaaaaaaaaaaz","(a+)*z"). + {match,[{0,14},{0,13}]} + 2> re:run("aaaaaaaaaaaaaz","(a+)*z",[{match_limit_recursion,5}]). + nomatch + 3> re:run("aaaaaaaaaaaaaz","(a+)*z",[{match_limit_recursion,5},report_errors]). + {error,match_limit_recursion} + + This option and option match_limit are only to be used in + rare cases. Understanding of the PCRE library internals is + recommended before tampering with these limits. + + • {offset, integer() >= 0} - Start matching at the offset + (position) specified in the subject string. The offset is + zero-based, so that the default is {offset,0} (all of the + subject string). + + • {newline, NLSpec} - Overrides the default definition of a + newline in the subject string, which is LF (ASCII 10) in + Erlang. + + ○ cr - Newline is indicated by a single character CR + (ASCII 13). + + ○ lf - Newline is indicated by a single character LF + (ASCII 10), the default. + + ○ crlf - Newline is indicated by the two-character CRLF + (ASCII 13 followed by ASCII 10) sequence. + + ○ anycrlf - Any of the three preceding sequences is be + recognized. + + ○ any - Any of the newline sequences above, and the + Unicode sequences VT (vertical tab, U+000B), FF + (formfeed, U+000C), NEL (next line, U+0085), LS (line + separator, U+2028), and PS (paragraph separator, + U+2029). + + • bsr_anycrlf - Specifies specifically that \R is to match + only the CR LF, or CRLF sequences, not the Unicode-specific + newline characters. (Overrides the compilation option.) + + • bsr_unicode - Specifies specifically that \R is to match + all the Unicode newline characters (including CRLF, and so + on, the default). (Overrides the compilation option.) + + • {capture, ValueSpec}/{capture, ValueSpec, Type} - + Specifies which captured substrings are returned and in what + format. By default, run/3 captures all of the matching + part of the substring and all capturing subpatterns (all of + the pattern is automatically captured). The default return + type is (zero-based) indexes of the captured parts of the + string, specified as {Offset,Length} pairs (the index  + Type of capturing). + + As an example of the default behavior, the following call + returns, as first and only captured string, the matching + part of the subject ("abcd" in the middle) as an index pair  + {3,4}, where character positions are zero-based, just as in + offsets: + + re:run("ABCabcdABC","abcd",[]). - all_names: - All named subpatterns in the regular expression, as - if a list() of all the names in alphabetical order - was specified. The list of all names can also be - retrieved with inspect/2. - - first: - Only the first captured subpattern, which is always - the complete matching part of the subject. All - explicitly captured subpatterns are discarded. - - all_but_first: - All but the first matching subpattern, that is, all - explicitly captured subpatterns, but not the complete - matching part of the subject string. This is useful if - the regular expression as a whole matches a large part - of the subject, but the part you are interested in is - in an explicitly captured subpattern. If the return - type is list or binary, not returning subpatterns - you are not interested in is a good way to optimize. - - none: - Returns no matching subpatterns, gives the single atom  - match as the return value of the function when - matching successfully instead of the {match, list()} - return. Specifying an empty list gives the same - behavior. - - The value list is a list of indexes for the subpatterns to - return, where index 0 is for all of the pattern, and 1 is - for the first explicit capturing subpattern in the regular - expression, and so on. When using named captured - subpatterns (see below) in the regular expression, one can - use atom()s or string()s to specify the subpatterns to - be returned. For example, consider the regular expression: - - ".*(abcd).*" - - matched against string "ABCabcdABC", capturing only the - "abcd" part (the first explicit subpattern): - - re:run("ABCabcdABC",".*(abcd).*",[{capture,[1]}]). - - The call gives the following result, as the first - explicitly captured subpattern is "(abcd)", matching - "abcd" in the subject, at (zero-based) position 3, of - length 4: + The return value of this call is: - {match,[{3,4}]} + {match,[{3,4}]} - Consider the same regular expression, but with the - subpattern explicitly named 'FOO': + Another (and quite common) case is where the regular + expression matches all of the subject: - ".*(?abcd).*" + re:run("ABCabcdABC",".*abcd.*",[]). - With this expression, we could still give the index of the - subpattern with the following call: + Here the return value correspondingly points out all of the + string, beginning at index 0, and it is 10 characters long: - re:run("ABCabcdABC",".*(?abcd).*",[{capture,[1]}]). + {match,[{0,10}]} - giving the same result as before. But, as the subpattern - is named, we can also specify its name in the value list: + If the regular expression contains capturing subpatterns, + like in: - re:run("ABCabcdABC",".*(?abcd).*",[{capture,['FOO']}]). + re:run("ABCabcdABC",".*(abcd).*",[]). - This would give the same result as the earlier examples, - namely: - - {match,[{3,4}]} + all of the matched subject is captured, as well as the + captured substrings: - The values list can specify indexes or names not present - in the regular expression, in which case the return values - vary depending on the type. If the type is index, the - tuple {-1,0} is returned for values with no - corresponding subpattern in the regular expression, but - for the other types (binary and list), the values are - the empty binary or list, respectively. - - Type: - Optionally specifies how captured substrings are to be - returned. If omitted, the default of index is used. - - Type can be one of the following: - - index: - Returns captured substrings as pairs of byte indexes - into the subject string and length of the matching - string in the subject (as if the subject string was - flattened with erlang:iolist_to_binary/1 or  - unicode:characters_to_binary/2 before matching). - Notice that option unicode results in byte-oriented - indexes in a (possibly virtual) UTF-8 encoded - binary. A byte index tuple {0,2} can therefore - represent one or two characters when unicode is in - effect. This can seem counter-intuitive, but has been - deemed the most effective and useful way to do it. To - return lists instead can result in simpler code if - that is desired. This return type is the default. - - list: - Returns matching substrings as lists of characters - (Erlang string()s). It option unicode is used in - combination with the \C sequence in the regular - expression, a captured subpattern can contain bytes - that are not valid UTF-8 (\C matches bytes regardless - of character encoding). In that case the list - capturing can result in the same types of tuples that  - unicode:characters_to_list/2 can return, namely - three-tuples with tag incomplete or error, the - successfully converted characters and the invalid - UTF-8 tail of the conversion as a binary. The best - strategy is to avoid using the \C sequence when - capturing lists. - - binary: - Returns matching substrings as binaries. If option  - unicode is used, these binaries are in UTF-8. If the - \C sequence is used together with unicode, the - binaries can be invalid UTF-8. - - In general, subpatterns that were not assigned a value in the - match are returned as the tuple {-1,0} when type is index. - Unassigned subpatterns are returned as the empty binary or - list, respectively, for other return types. Consider the - following regular expression: + {match,[{0,10},{3,4}]} - ".*((?abdd)|a(..d)).*" + The complete matching pattern always gives the first return + value in the list and the remaining subpatterns are added in + the order they occurred in the regular expression. - There are three explicitly capturing subpatterns, where the - opening parenthesis position determines the order in the - result, hence ((?abdd)|a(..d)) is subpattern index 1,  - (?abdd) is subpattern index 2, and (..d) is subpattern - index 3. When matched against the following string: + The capture tuple is built up as follows: - "ABCabcdABC" + ○ ValueSpec - Specifies which captured (sub)patterns + are to be returned. ValueSpec can either be an atom + describing a predefined set of return values, or a + list containing the indexes or the names of specific + subpatterns to return. - the subpattern at index 2 does not match, as "abdd" is not - present in the string, but the complete pattern matches - (because of the alternative a(..d)). The subpattern at index - 2 is therefore unassigned and the default return value is: + The following are the predefined sets of subpatterns: - {match,[{0,10},{3,4},{-1,0},{4,3}]} + ◼ all - All captured subpatterns including the + complete matching string. This is the default. - Setting the capture Type to binary gives: - - {match,[<<"ABCabcdABC">>,<<"abcd">>,<<>>,<<"bcd">>]} + ◼ all_names - All named subpatterns in the + regular expression, as if a list/0 of all the + names in alphabetical order was specified. The + list of all names can also be retrieved with  + inspect/2. - Here the empty binary (<<>>) represents the unassigned - subpattern. In the binary case, some information about the - matching is therefore lost, as <<>> can also be an empty - string captured. - - If differentiation between empty matches and non-existing - subpatterns is necessary, use the type index and do the - conversion to the final type in Erlang code. - - When option global is speciified, the capture - specification affects each match separately, so that: - - re:run("cacb","c(a|b)",[global,{capture,[1],list}]). - - gives - - {match,[["a"],["b"]]} + ◼ first - Only the first captured subpattern, + which is always the complete matching part of + the subject. All explicitly captured subpatterns + are discarded. + + ◼ all_but_first - All but the first matching + subpattern, that is, all explicitly captured + subpatterns, but not the complete matching part + of the subject string. This is useful if the + regular expression as a whole matches a large + part of the subject, but the part you are + interested in is in an explicitly captured + subpattern. If the return type is list or  + binary, not returning subpatterns you are not + interested in is a good way to optimize. + + ◼ none - Returns no matching subpatterns, gives + the single atom match as the return value of + the function when matching successfully instead + of the {match, list()} return. Specifying an + empty list gives the same behavior. + + The value list is a list of indexes for the + subpatterns to return, where index 0 is for all of the + pattern, and 1 is for the first explicit capturing + subpattern in the regular expression, and so on. When + using named captured subpatterns (see below) in the + regular expression, one can use atom/0s or string/0 + s to specify the subpatterns to be returned. For + example, consider the regular expression: + + ".*(abcd).*" + + matched against string "ABCabcdABC", capturing only + the "abcd" part (the first explicit subpattern): + + re:run("ABCabcdABC",".*(abcd).*",[{capture,[1]}]). + + The call gives the following result, as the first + explicitly captured subpattern is "(abcd)", matching + "abcd" in the subject, at (zero-based) position 3, of + length 4: + + {match,[{3,4}]} + + Consider the same regular expression, but with the + subpattern explicitly named 'FOO': + + ".*(?abcd).*" + + With this expression, we could still give the index of + the subpattern with the following call: + + re:run("ABCabcdABC",".*(?abcd).*",[{capture,[1]}]). + + giving the same result as before. But, as the + subpattern is named, we can also specify its name in + the value list: + + re:run("ABCabcdABC",".*(?abcd).*",[{capture,['FOO']}]). + + This would give the same result as the earlier + examples, namely: + + {match,[{3,4}]} + + The values list can specify indexes or names not + present in the regular expression, in which case the + return values vary depending on the type. If the type + is index, the tuple {-1,0} is returned for values + with no corresponding subpattern in the regular + expression, but for the other types (binary and  + list), the values are the empty binary or list, + respectively. + + ○ Type - Optionally specifies how captured substrings + are to be returned. If omitted, the default of index + is used. + + Type can be one of the following: + + ◼ index - Returns captured substrings as pairs of + byte indexes into the subject string and length + of the matching string in the subject (as if the + subject string was flattened with  + erlang:iolist_to_binary/1 or  + unicode:characters_to_binary/2 before + matching). Notice that option unicode results + in byte-oriented indexes in a (possibly + virtual) UTF-8 encoded binary. A byte index + tuple {0,2} can therefore represent one or two + characters when unicode is in effect. This can + seem counter-intuitive, but has been deemed the + most effective and useful way to do it. To + return lists instead can result in simpler code + if that is desired. This return type is the + default. + + ◼ list - Returns matching substrings as lists of + characters (Erlang string/0s). It option  + unicode is used in combination with the \C + sequence in the regular expression, a captured + subpattern can contain bytes that are not valid + UTF-8 (\C matches bytes regardless of character + encoding). In that case the list capturing can + result in the same types of tuples that  + unicode:characters_to_list/2 can return, namely + three-tuples with tag incomplete or error, + the successfully converted characters and the + invalid UTF-8 tail of the conversion as a + binary. The best strategy is to avoid using the + \C sequence when capturing lists. + + ◼ binary - Returns matching substrings as + binaries. If option unicode is used, these + binaries are in UTF-8. If the \C sequence is + used together with unicode, the binaries can + be invalid UTF-8. + + In general, subpatterns that were not assigned a value in + the match are returned as the tuple {-1,0} when type is  + index. Unassigned subpatterns are returned as the empty + binary or list, respectively, for other return types. + Consider the following regular expression: + + ".*((?abdd)|a(..d)).*" + + There are three explicitly capturing subpatterns, where the + opening parenthesis position determines the order in the + result, hence ((?abdd)|a(..d)) is subpattern index 1,  + (?abdd) is subpattern index 2, and (..d) is + subpattern index 3. When matched against the following + string: + + "ABCabcdABC" + + the subpattern at index 2 does not match, as "abdd" is not + present in the string, but the complete pattern matches + (because of the alternative a(..d)). The subpattern at + index 2 is therefore unassigned and the default return value + is: + + {match,[{0,10},{3,4},{-1,0},{4,3}]} + + Setting the capture Type to binary gives: + + {match,[<<"ABCabcdABC">>,<<"abcd">>,<<>>,<<"bcd">>]} + + Here the empty binary (<<>>) represents the unassigned + subpattern. In the binary case, some information about the + matching is therefore lost, as <<>> can also be an empty + string captured. + + If differentiation between empty matches and non-existing + subpatterns is necessary, use the type index and do the + conversion to the final type in Erlang code. + + When option global is speciified, the capture + specification affects each match separately, so that: + + re:run("cacb","c(a|b)",[global,{capture,[1],list}]). + + gives + + {match,[["a"],["b"]]} For a descriptions of options only affecting the compilation step, see compile/2. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_run_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_run_func.txt index 7571ed6f6492..2e595a0e0f7a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_run_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_run_func.txt @@ -6,32 +6,14 @@  Captured :: [CaptureData],  CaptureData :: {integer(), integer()}. - Same as run(Subject,RE,[]). + There is no documentation for run(Subject, RE, []) -spec run(Subject, RE, Options) ->  {match, Captured} | match | nomatch | {error, ErrType}  when  Subject :: iodata() | unicode:charlist(),  RE :: mp() | iodata() | unicode:charlist(), -  Options :: [Option], -  Option :: -  anchored | global | notbol | noteol | notempty | -  notempty_atstart | report_errors | -  {offset, non_neg_integer()} | -  {match_limit, non_neg_integer()} | -  {match_limit_recursion, non_neg_integer()} | -  {newline, NLSpec :: nl_spec()} | -  bsr_anycrlf | bsr_unicode | -  {capture, ValueSpec} | -  {capture, ValueSpec, Type} | -  CompileOpt, -  Type :: index | list | binary, -  ValueSpec :: -  all | all_but_first | all_names | first | none | -  ValueList, -  ValueList :: [ValueID], -  ValueID :: integer() | string() | atom(), -  CompileOpt :: compile_option(), +  Options :: options(),  Captured :: [CaptureData] | [[CaptureData]],  CaptureData ::  {integer(), integer()} | @@ -49,10 +31,12 @@  Position :: non_neg_integer()}. Executes a regular expression matching, and returns match/{match, - Captured} or nomatch. The regular expression can be specified - either as iodata() in which case it is automatically compiled - (as by compile/2) and executed, or as a precompiled mp() in - which case it is executed against the subject directly. + Captured} or nomatch. + + The regular expression can be specified either as iodata/0 in + which case it is automatically compiled (as by compile/2) and + executed, or as a precompiled mp/0 in which case it is executed + against the subject directly. When compilation is involved, exception badarg is thrown if a compilation error occurs. Call compile/2 to get information @@ -93,7 +77,7 @@ If the regular expression was previously compiled with option  unicode, Subject is to be provided as a valid Unicode  - charlist(), otherwise any iodata() will do. If compilation is + charlist(), otherwise any iodata/0 will do. If compilation is involved and option unicode is specified, both Subject and the regular expression are to be specified as valid Unicode  charlists(). @@ -123,481 +107,482 @@ The following options are relevant for execution: - anchored: - Limits run/3 to matching at the first matching position. If - a pattern was compiled with anchored, or turned out to be - anchored by virtue of its contents, it cannot be made - unanchored at matching time, hence there is no unanchored - option. - - global: - Implements global (repetitive) search (flag g in Perl). Each - match is returned as a separate list() containing the - specific match and any matching subexpressions (or as - specified by option capture. The Captured part of the - return value is hence a list() of list()s when this option - is specified. - - The interaction of option global with a regular expression - that matches an empty string surprises some users. When option  - global is specified, run/3 handles empty matches in the - same way as Perl: a zero-length match at any point is also - retried with options [anchored, notempty_atstart]. If that - search gives a result of length > 0, the result is included. - Example: - - re:run("cat","(|at)",[global]). - - The following matchings are performed: - - At offset 0: - The regular expression (|at) first match at the initial - position of string cat, giving the result set  - [{0,0},{0,0}] (the second {0,0} is because of the - subexpression marked by the parentheses). As the length of - the match is 0, we do not advance to the next position - yet. - - At offset 0 with [anchored, notempty_atstart]: - The search is retried with options [anchored, - notempty_atstart] at the same position, which does not - give any interesting result of longer length, so the - search position is advanced to the next character (a). - - At offset 1: - The search results in [{1,0},{1,0}], so this search is - also repeated with the extra options. - - At offset 1 with [anchored, notempty_atstart]: - Alternative ab is found and the result is [{1,2},{1,2}]. - The result is added to the list of results and the - position in the search string is advanced two steps. - - At offset 3: - The search once again matches the empty string, giving  - [{3,0},{3,0}]. - - At offset 1 with [anchored, notempty_atstart]: - This gives no result of length > 0 and we are at the last - position, so the global search is complete. - - The result of the call is: - - {match,[[{0,0},{0,0}],[{1,0},{1,0}],[{1,2},{1,2}],[{3,0},{3,0}]]} - - notempty: - An empty string is not considered to be a valid match if this - option is specified. If alternatives in the pattern exist, - they are tried. If all the alternatives match the empty - string, the entire match fails. - - Example: - - If the following pattern is applied to a string not beginning - with "a" or "b", it would normally match the empty string at - the start of the subject: - - a?b? - - With option notempty, this match is invalid, so run/3 - searches further into the string for occurrences of "a" or - "b". - - notempty_atstart: - Like notempty, except that an empty string match that is not - at the start of the subject is permitted. If the pattern is - anchored, such a match can occur only if the pattern contains - \K. - - Perl has no direct equivalent of notempty or  - notempty_atstart, but it does make a special case of a - pattern match of the empty string within its split() function, - and when using modifier /g. The Perl behavior can be - emulated after matching a null string by first trying the - match again at the same offset with notempty_atstart and  - anchored, and then, if that fails, by advancing the starting - offset (see below) and trying an ordinary match again. - - notbol: - Specifies that the first character of the subject string is - not the beginning of a line, so the circumflex metacharacter - is not to match before it. Setting this without multiline - (at compile time) causes circumflex never to match. This - option only affects the behavior of the circumflex - metacharacter. It does not affect \A. - - noteol: - Specifies that the end of the subject string is not the end of - a line, so the dollar metacharacter is not to match it nor - (except in multiline mode) a newline immediately before it. - Setting this without multiline (at compile time) causes - dollar never to match. This option affects only the behavior - of the dollar metacharacter. It does not affect \Z or \z. - - report_errors: - Gives better control of the error handling in run/3. When - specified, compilation errors (if the regular expression is - not already compiled) and runtime errors are explicitly - returned as an error tuple. - - The following are the possible runtime errors: - - match_limit: - The PCRE library sets a limit on how many times the - internal match function can be called. Defaults to - 10,000,000 in the library compiled for Erlang. If {error, - match_limit} is returned, the execution of the regular - expression has reached this limit. This is normally to be - regarded as a nomatch, which is the default return value - when this occurs, but by specifying report_errors, you - are informed when the match fails because of too many - internal calls. - - match_limit_recursion: - This error is very similar to match_limit, but occurs - when the internal match function of PCRE is "recursively" - called more times than the match_limit_recursion limit, - which defaults to 10,000,000 as well. Notice that as long - as the match_limit and match_limit_default values are - kept at the default values, the match_limit_recursion - error cannot occur, as the match_limit error occurs - before that (each recursive call is also a call, but not - conversely). Both limits can however be changed, either by - setting limits directly in the regular expression string - (see section PCRE Regular Eexpression Details) or by - specifying options to run/3. - - It is important to understand that what is referred to as - "recursion" when limiting matches is not recursion on the C - stack of the Erlang machine or on the Erlang process stack. - The PCRE version compiled into the Erlang VM uses machine - "heap" memory to store values that must be kept over recursion - in regular expression matches. - - {match_limit, integer() >= 0}: - Limits the execution time of a match in an - implementation-specific way. It is described as follows by the - PCRE documentation: - - The match_limit field provides a means of preventing PCRE from using - up a vast amount of resources when running patterns that are not going - to match, but which have a very large number of possibilities in their - search trees. The classic example is a pattern that uses nested - unlimited repeats. - - Internally, pcre_exec() uses a function called match(), which it calls - repeatedly (sometimes recursively). The limit set by match_limit is - imposed on the number of times this function is called during a match, - which has the effect of limiting the amount of backtracking that can - take place. For patterns that are not anchored, the count restarts - from zero for each position in the subject string. - - This means that runaway regular expression matches can fail - faster if the limit is lowered using this option. The default - value 10,000,000 is compiled into the Erlang VM. - - Note: - This option does in no way affect the execution of the - Erlang VM in terms of "long running BIFs". run/3 always - gives control back to the scheduler of Erlang processes at - intervals that ensures the real-time properties of the - Erlang system. - - {match_limit_recursion, integer() >= 0}: - Limits the execution time and memory consumption of a match in - an implementation-specific way, very similar to match_limit. - It is described as follows by the PCRE documentation: - - The match_limit_recursion field is similar to match_limit, but instead - of limiting the total number of times that match() is called, it - limits the depth of recursion. The recursion depth is a smaller number - than the total number of calls, because not all calls to match() are - recursive. This limit is of use only if it is set smaller than - match_limit. - - Limiting the recursion depth limits the amount of machine stack that - can be used, or, when PCRE has been compiled to use memory on the heap - instead of the stack, the amount of heap memory that can be used. - - The Erlang VM uses a PCRE library where heap memory is used - when regular expression match recursion occurs. This therefore - limits the use of machine heap, not C stack. - - Specifying a lower value can result in matches with deep - recursion failing, when they should have matched: - - 1> re:run("aaaaaaaaaaaaaz","(a+)*z"). - {match,[{0,14},{0,13}]} - 2> re:run("aaaaaaaaaaaaaz","(a+)*z",[{match_limit_recursion,5}]). - nomatch - 3> re:run("aaaaaaaaaaaaaz","(a+)*z",[{match_limit_recursion,5},report_errors]). - {error,match_limit_recursion} - - This option and option match_limit are only to be used in - rare cases. Understanding of the PCRE library internals is - recommended before tampering with these limits. - - {offset, integer() >= 0}: - Start matching at the offset (position) specified in the - subject string. The offset is zero-based, so that the default - is {offset,0} (all of the subject string). - - {newline, NLSpec}: - Overrides the default definition of a newline in the subject - string, which is LF (ASCII 10) in Erlang. - - cr: - Newline is indicated by a single character CR (ASCII 13). - - lf: - Newline is indicated by a single character LF (ASCII 10), - the default. - - crlf: - Newline is indicated by the two-character CRLF (ASCII 13 - followed by ASCII 10) sequence. - - anycrlf: - Any of the three preceding sequences is be recognized. - - any: - Any of the newline sequences above, and the Unicode - sequences VT (vertical tab, U+000B), FF (formfeed, - U+000C), NEL (next line, U+0085), LS (line separator, - U+2028), and PS (paragraph separator, U+2029). - - bsr_anycrlf: - Specifies specifically that \R is to match only the CR LF, or - CRLF sequences, not the Unicode-specific newline characters. - (Overrides the compilation option.) - - bsr_unicode: - Specifies specifically that \R is to match all the Unicode - newline characters (including CRLF, and so on, the default). - (Overrides the compilation option.) - - {capture, ValueSpec}/{capture, ValueSpec, Type}: - Specifies which captured substrings are returned and in what - format. By default, run/3 captures all of the matching part - of the substring and all capturing subpatterns (all of the - pattern is automatically captured). The default return type is - (zero-based) indexes of the captured parts of the string, - specified as {Offset,Length} pairs (the index Type of - capturing). - - As an example of the default behavior, the following call - returns, as first and only captured string, the matching part - of the subject ("abcd" in the middle) as an index pair {3,4}, - where character positions are zero-based, just as in offsets: - - re:run("ABCabcdABC","abcd",[]). - - The return value of this call is: - - {match,[{3,4}]} - - Another (and quite common) case is where the regular - expression matches all of the subject: - - re:run("ABCabcdABC",".*abcd.*",[]). - - Here the return value correspondingly points out all of the - string, beginning at index 0, and it is 10 characters long: - - {match,[{0,10}]} - - If the regular expression contains capturing subpatterns, like - in: - - re:run("ABCabcdABC",".*(abcd).*",[]). - - all of the matched subject is captured, as well as the - captured substrings: - - {match,[{0,10},{3,4}]} - - The complete matching pattern always gives the first return - value in the list and the remaining subpatterns are added in - the order they occurred in the regular expression. - - The capture tuple is built up as follows: - - ValueSpec: - Specifies which captured (sub)patterns are to be returned.  - ValueSpec can either be an atom describing a predefined - set of return values, or a list containing the indexes or - the names of specific subpatterns to return. - - The following are the predefined sets of subpatterns: - - all: - All captured subpatterns including the complete - matching string. This is the default. + • anchored - Limits run/3 to matching at the first matching + position. If a pattern was compiled with anchored, or + turned out to be anchored by virtue of its contents, it + cannot be made unanchored at matching time, hence there is + no unanchored option. + + • global - Implements global (repetitive) search (flag g in + Perl). Each match is returned as a separate list/0 + containing the specific match and any matching + subexpressions (or as specified by option capture. The  + Captured part of the return value is hence a list/0 of  + list/0s when this option is specified. + + The interaction of option global with a regular expression + that matches an empty string surprises some users. When + option global is specified, run/3 handles empty matches + in the same way as Perl: a zero-length match at any point is + also retried with options [anchored, notempty_atstart]. If + that search gives a result of length > 0, the result is + included. Example: + + re:run("cat","(|at)",[global]). + + The following matchings are performed: + + ○ At offset 0 - The regular expression (|at) first + match at the initial position of string cat, giving + the result set [{0,0},{0,0}] (the second {0,0} is + because of the subexpression marked by the + parentheses). As the length of the match is 0, we do + not advance to the next position yet. + + ○ At offset 0 with [anchored, notempty_atstart] - + The search is retried with options [anchored, + notempty_atstart] at the same position, which does + not give any interesting result of longer length, so + the search position is advanced to the next character ( + a). + + ○ At offset 1 - The search results in [{1,0},{1,0}], + so this search is also repeated with the extra + options. + + ○ At offset 1 with [anchored, notempty_atstart] - + Alternative ab is found and the result is + [{1,2},{1,2}]. The result is added to the list of + results and the position in the search string is + advanced two steps. + + ○ At offset 3 - The search once again matches the + empty string, giving [{3,0},{3,0}]. + + ○ At offset 1 with [anchored, notempty_atstart] - + This gives no result of length > 0 and we are at the + last position, so the global search is complete. + + The result of the call is: + + {match,[[{0,0},{0,0}],[{1,0},{1,0}],[{1,2},{1,2}],[{3,0},{3,0}]]} + + • notempty - An empty string is not considered to be a valid + match if this option is specified. If alternatives in the + pattern exist, they are tried. If all the alternatives match + the empty string, the entire match fails. + + Example: + + If the following pattern is applied to a string not + beginning with "a" or "b", it would normally match the empty + string at the start of the subject: + + a?b? + + With option notempty, this match is invalid, so run/3 + searches further into the string for occurrences of "a" or + "b". + + • notempty_atstart - Like notempty, except that an empty + string match that is not at the start of the subject is + permitted. If the pattern is anchored, such a match can + occur only if the pattern contains \K. + + Perl has no direct equivalent of notempty or  + notempty_atstart, but it does make a special case of a + pattern match of the empty string within its split() + function, and when using modifier /g. The Perl behavior + can be emulated after matching a null string by first trying + the match again at the same offset with notempty_atstart + and anchored, and then, if that fails, by advancing the + starting offset (see below) and trying an ordinary match + again. + + • notbol - Specifies that the first character of the subject + string is not the beginning of a line, so the circumflex + metacharacter is not to match before it. Setting this + without multiline (at compile time) causes circumflex + never to match. This option only affects the behavior of the + circumflex metacharacter. It does not affect \A. + + • noteol - Specifies that the end of the subject string is + not the end of a line, so the dollar metacharacter is not to + match it nor (except in multiline mode) a newline + immediately before it. Setting this without multiline (at + compile time) causes dollar never to match. This option + affects only the behavior of the dollar metacharacter. It + does not affect \Z or \z. + + • report_errors - Gives better control of the error handling + in run/3. When specified, compilation errors (if the + regular expression is not already compiled) and runtime + errors are explicitly returned as an error tuple. + + The following are the possible runtime errors: + + ○ match_limit - The PCRE library sets a limit on how + many times the internal match function can be called. + Defaults to 10,000,000 in the library compiled for + Erlang. If {error, match_limit} is returned, the + execution of the regular expression has reached this + limit. This is normally to be regarded as a nomatch, + which is the default return value when this occurs, + but by specifying report_errors, you are informed + when the match fails because of too many internal + calls. + + ○ match_limit_recursion - This error is very similar to  + match_limit, but occurs when the internal match + function of PCRE is "recursively" called more times + than the match_limit_recursion limit, which defaults + to 10,000,000 as well. Notice that as long as the  + match_limit and match_limit_default values are kept + at the default values, the match_limit_recursion + error cannot occur, as the match_limit error occurs + before that (each recursive call is also a call, but + not conversely). Both limits can however be changed, + either by setting limits directly in the regular + expression string (see section PCRE Regular + Eexpression Details) or by specifying options to  + run/3. + + It is important to understand that what is referred to as + "recursion" when limiting matches is not recursion on the C + stack of the Erlang machine or on the Erlang process stack. + The PCRE version compiled into the Erlang VM uses machine + "heap" memory to store values that must be kept over + recursion in regular expression matches. + + • {match_limit, integer() >= 0} - Limits the execution time + of a match in an implementation-specific way. It is + described as follows by the PCRE documentation: + + The match_limit field provides a means of preventing + PCRE from using up a vast amount of resources when + running patterns that are not going to match, but which + have a very large number of possibilities in their + search trees. The classic example is a pattern that uses + nested unlimited repeats. Internally, pcre_exec() uses a + function called match(), which it calls repeatedly + (sometimes recursively). The limit set by match_limit is + imposed on the number of times this function is called + during a match, which has the effect of limiting the + amount of backtracking that can take place. For patterns + that are not anchored, the count restarts from zero for + each position in the subject string. + + This means that runaway regular expression matches can fail + faster if the limit is lowered using this option. The + default value 10,000,000 is compiled into the Erlang VM. + + Note + + This option does in no way affect the execution of the + Erlang VM in terms of "long running BIFs". run/3 + always gives control back to the scheduler of Erlang + processes at intervals that ensures the real-time + properties of the Erlang system. + + • {match_limit_recursion, integer() >= 0} - Limits the + execution time and memory consumption of a match in an + implementation-specific way, very similar to match_limit. + It is described as follows by the PCRE documentation: + + The match_limit_recursion field is similar to + match_limit, but instead of limiting the total number of + times that match() is called, it limits the depth of + recursion. The recursion depth is a smaller number than + the total number of calls, because not all calls to + match() are recursive. This limit is of use only if it + is set smaller than match_limit. Limiting the recursion + depth limits the amount of machine stack that can be + used, or, when PCRE has been compiled to use memory on + the heap instead of the stack, the amount of heap memory + that can be used. + + The Erlang VM uses a PCRE library where heap memory is used + when regular expression match recursion occurs. This + therefore limits the use of machine heap, not C stack. + + Specifying a lower value can result in matches with deep + recursion failing, when they should have matched: + + 1> re:run("aaaaaaaaaaaaaz","(a+)*z"). + {match,[{0,14},{0,13}]} + 2> re:run("aaaaaaaaaaaaaz","(a+)*z",[{match_limit_recursion,5}]). + nomatch + 3> re:run("aaaaaaaaaaaaaz","(a+)*z",[{match_limit_recursion,5},report_errors]). + {error,match_limit_recursion} + + This option and option match_limit are only to be used in + rare cases. Understanding of the PCRE library internals is + recommended before tampering with these limits. + + • {offset, integer() >= 0} - Start matching at the offset + (position) specified in the subject string. The offset is + zero-based, so that the default is {offset,0} (all of the + subject string). + + • {newline, NLSpec} - Overrides the default definition of a + newline in the subject string, which is LF (ASCII 10) in + Erlang. + + ○ cr - Newline is indicated by a single character CR + (ASCII 13). + + ○ lf - Newline is indicated by a single character LF + (ASCII 10), the default. + + ○ crlf - Newline is indicated by the two-character CRLF + (ASCII 13 followed by ASCII 10) sequence. + + ○ anycrlf - Any of the three preceding sequences is be + recognized. + + ○ any - Any of the newline sequences above, and the + Unicode sequences VT (vertical tab, U+000B), FF + (formfeed, U+000C), NEL (next line, U+0085), LS (line + separator, U+2028), and PS (paragraph separator, + U+2029). + + • bsr_anycrlf - Specifies specifically that \R is to match + only the CR LF, or CRLF sequences, not the Unicode-specific + newline characters. (Overrides the compilation option.) + + • bsr_unicode - Specifies specifically that \R is to match + all the Unicode newline characters (including CRLF, and so + on, the default). (Overrides the compilation option.) + + • {capture, ValueSpec}/{capture, ValueSpec, Type} - + Specifies which captured substrings are returned and in what + format. By default, run/3 captures all of the matching + part of the substring and all capturing subpatterns (all of + the pattern is automatically captured). The default return + type is (zero-based) indexes of the captured parts of the + string, specified as {Offset,Length} pairs (the index  + Type of capturing). + + As an example of the default behavior, the following call + returns, as first and only captured string, the matching + part of the subject ("abcd" in the middle) as an index pair  + {3,4}, where character positions are zero-based, just as in + offsets: + + re:run("ABCabcdABC","abcd",[]). - all_names: - All named subpatterns in the regular expression, as - if a list() of all the names in alphabetical order - was specified. The list of all names can also be - retrieved with inspect/2. - - first: - Only the first captured subpattern, which is always - the complete matching part of the subject. All - explicitly captured subpatterns are discarded. - - all_but_first: - All but the first matching subpattern, that is, all - explicitly captured subpatterns, but not the complete - matching part of the subject string. This is useful if - the regular expression as a whole matches a large part - of the subject, but the part you are interested in is - in an explicitly captured subpattern. If the return - type is list or binary, not returning subpatterns - you are not interested in is a good way to optimize. - - none: - Returns no matching subpatterns, gives the single atom  - match as the return value of the function when - matching successfully instead of the {match, list()} - return. Specifying an empty list gives the same - behavior. - - The value list is a list of indexes for the subpatterns to - return, where index 0 is for all of the pattern, and 1 is - for the first explicit capturing subpattern in the regular - expression, and so on. When using named captured - subpatterns (see below) in the regular expression, one can - use atom()s or string()s to specify the subpatterns to - be returned. For example, consider the regular expression: - - ".*(abcd).*" - - matched against string "ABCabcdABC", capturing only the - "abcd" part (the first explicit subpattern): - - re:run("ABCabcdABC",".*(abcd).*",[{capture,[1]}]). - - The call gives the following result, as the first - explicitly captured subpattern is "(abcd)", matching - "abcd" in the subject, at (zero-based) position 3, of - length 4: + The return value of this call is: - {match,[{3,4}]} + {match,[{3,4}]} - Consider the same regular expression, but with the - subpattern explicitly named 'FOO': + Another (and quite common) case is where the regular + expression matches all of the subject: - ".*(?abcd).*" + re:run("ABCabcdABC",".*abcd.*",[]). - With this expression, we could still give the index of the - subpattern with the following call: + Here the return value correspondingly points out all of the + string, beginning at index 0, and it is 10 characters long: - re:run("ABCabcdABC",".*(?abcd).*",[{capture,[1]}]). + {match,[{0,10}]} - giving the same result as before. But, as the subpattern - is named, we can also specify its name in the value list: + If the regular expression contains capturing subpatterns, + like in: - re:run("ABCabcdABC",".*(?abcd).*",[{capture,['FOO']}]). + re:run("ABCabcdABC",".*(abcd).*",[]). - This would give the same result as the earlier examples, - namely: - - {match,[{3,4}]} + all of the matched subject is captured, as well as the + captured substrings: - The values list can specify indexes or names not present - in the regular expression, in which case the return values - vary depending on the type. If the type is index, the - tuple {-1,0} is returned for values with no - corresponding subpattern in the regular expression, but - for the other types (binary and list), the values are - the empty binary or list, respectively. - - Type: - Optionally specifies how captured substrings are to be - returned. If omitted, the default of index is used. - - Type can be one of the following: - - index: - Returns captured substrings as pairs of byte indexes - into the subject string and length of the matching - string in the subject (as if the subject string was - flattened with erlang:iolist_to_binary/1 or  - unicode:characters_to_binary/2 before matching). - Notice that option unicode results in byte-oriented - indexes in a (possibly virtual) UTF-8 encoded - binary. A byte index tuple {0,2} can therefore - represent one or two characters when unicode is in - effect. This can seem counter-intuitive, but has been - deemed the most effective and useful way to do it. To - return lists instead can result in simpler code if - that is desired. This return type is the default. - - list: - Returns matching substrings as lists of characters - (Erlang string()s). It option unicode is used in - combination with the \C sequence in the regular - expression, a captured subpattern can contain bytes - that are not valid UTF-8 (\C matches bytes regardless - of character encoding). In that case the list - capturing can result in the same types of tuples that  - unicode:characters_to_list/2 can return, namely - three-tuples with tag incomplete or error, the - successfully converted characters and the invalid - UTF-8 tail of the conversion as a binary. The best - strategy is to avoid using the \C sequence when - capturing lists. - - binary: - Returns matching substrings as binaries. If option  - unicode is used, these binaries are in UTF-8. If the - \C sequence is used together with unicode, the - binaries can be invalid UTF-8. - - In general, subpatterns that were not assigned a value in the - match are returned as the tuple {-1,0} when type is index. - Unassigned subpatterns are returned as the empty binary or - list, respectively, for other return types. Consider the - following regular expression: + {match,[{0,10},{3,4}]} - ".*((?abdd)|a(..d)).*" + The complete matching pattern always gives the first return + value in the list and the remaining subpatterns are added in + the order they occurred in the regular expression. - There are three explicitly capturing subpatterns, where the - opening parenthesis position determines the order in the - result, hence ((?abdd)|a(..d)) is subpattern index 1,  - (?abdd) is subpattern index 2, and (..d) is subpattern - index 3. When matched against the following string: + The capture tuple is built up as follows: - "ABCabcdABC" + ○ ValueSpec - Specifies which captured (sub)patterns + are to be returned. ValueSpec can either be an atom + describing a predefined set of return values, or a + list containing the indexes or the names of specific + subpatterns to return. - the subpattern at index 2 does not match, as "abdd" is not - present in the string, but the complete pattern matches - (because of the alternative a(..d)). The subpattern at index - 2 is therefore unassigned and the default return value is: + The following are the predefined sets of subpatterns: - {match,[{0,10},{3,4},{-1,0},{4,3}]} + ◼ all - All captured subpatterns including the + complete matching string. This is the default. - Setting the capture Type to binary gives: - - {match,[<<"ABCabcdABC">>,<<"abcd">>,<<>>,<<"bcd">>]} + ◼ all_names - All named subpatterns in the + regular expression, as if a list/0 of all the + names in alphabetical order was specified. The + list of all names can also be retrieved with  + inspect/2. - Here the empty binary (<<>>) represents the unassigned - subpattern. In the binary case, some information about the - matching is therefore lost, as <<>> can also be an empty - string captured. - - If differentiation between empty matches and non-existing - subpatterns is necessary, use the type index and do the - conversion to the final type in Erlang code. - - When option global is speciified, the capture - specification affects each match separately, so that: - - re:run("cacb","c(a|b)",[global,{capture,[1],list}]). - - gives - - {match,[["a"],["b"]]} + ◼ first - Only the first captured subpattern, + which is always the complete matching part of + the subject. All explicitly captured subpatterns + are discarded. + + ◼ all_but_first - All but the first matching + subpattern, that is, all explicitly captured + subpatterns, but not the complete matching part + of the subject string. This is useful if the + regular expression as a whole matches a large + part of the subject, but the part you are + interested in is in an explicitly captured + subpattern. If the return type is list or  + binary, not returning subpatterns you are not + interested in is a good way to optimize. + + ◼ none - Returns no matching subpatterns, gives + the single atom match as the return value of + the function when matching successfully instead + of the {match, list()} return. Specifying an + empty list gives the same behavior. + + The value list is a list of indexes for the + subpatterns to return, where index 0 is for all of the + pattern, and 1 is for the first explicit capturing + subpattern in the regular expression, and so on. When + using named captured subpatterns (see below) in the + regular expression, one can use atom/0s or string/0 + s to specify the subpatterns to be returned. For + example, consider the regular expression: + + ".*(abcd).*" + + matched against string "ABCabcdABC", capturing only + the "abcd" part (the first explicit subpattern): + + re:run("ABCabcdABC",".*(abcd).*",[{capture,[1]}]). + + The call gives the following result, as the first + explicitly captured subpattern is "(abcd)", matching + "abcd" in the subject, at (zero-based) position 3, of + length 4: + + {match,[{3,4}]} + + Consider the same regular expression, but with the + subpattern explicitly named 'FOO': + + ".*(?abcd).*" + + With this expression, we could still give the index of + the subpattern with the following call: + + re:run("ABCabcdABC",".*(?abcd).*",[{capture,[1]}]). + + giving the same result as before. But, as the + subpattern is named, we can also specify its name in + the value list: + + re:run("ABCabcdABC",".*(?abcd).*",[{capture,['FOO']}]). + + This would give the same result as the earlier + examples, namely: + + {match,[{3,4}]} + + The values list can specify indexes or names not + present in the regular expression, in which case the + return values vary depending on the type. If the type + is index, the tuple {-1,0} is returned for values + with no corresponding subpattern in the regular + expression, but for the other types (binary and  + list), the values are the empty binary or list, + respectively. + + ○ Type - Optionally specifies how captured substrings + are to be returned. If omitted, the default of index + is used. + + Type can be one of the following: + + ◼ index - Returns captured substrings as pairs of + byte indexes into the subject string and length + of the matching string in the subject (as if the + subject string was flattened with  + erlang:iolist_to_binary/1 or  + unicode:characters_to_binary/2 before + matching). Notice that option unicode results + in byte-oriented indexes in a (possibly + virtual) UTF-8 encoded binary. A byte index + tuple {0,2} can therefore represent one or two + characters when unicode is in effect. This can + seem counter-intuitive, but has been deemed the + most effective and useful way to do it. To + return lists instead can result in simpler code + if that is desired. This return type is the + default. + + ◼ list - Returns matching substrings as lists of + characters (Erlang string/0s). It option  + unicode is used in combination with the \C + sequence in the regular expression, a captured + subpattern can contain bytes that are not valid + UTF-8 (\C matches bytes regardless of character + encoding). In that case the list capturing can + result in the same types of tuples that  + unicode:characters_to_list/2 can return, namely + three-tuples with tag incomplete or error, + the successfully converted characters and the + invalid UTF-8 tail of the conversion as a + binary. The best strategy is to avoid using the + \C sequence when capturing lists. + + ◼ binary - Returns matching substrings as + binaries. If option unicode is used, these + binaries are in UTF-8. If the \C sequence is + used together with unicode, the binaries can + be invalid UTF-8. + + In general, subpatterns that were not assigned a value in + the match are returned as the tuple {-1,0} when type is  + index. Unassigned subpatterns are returned as the empty + binary or list, respectively, for other return types. + Consider the following regular expression: + + ".*((?abdd)|a(..d)).*" + + There are three explicitly capturing subpatterns, where the + opening parenthesis position determines the order in the + result, hence ((?abdd)|a(..d)) is subpattern index 1,  + (?abdd) is subpattern index 2, and (..d) is + subpattern index 3. When matched against the following + string: + + "ABCabcdABC" + + the subpattern at index 2 does not match, as "abdd" is not + present in the string, but the complete pattern matches + (because of the alternative a(..d)). The subpattern at + index 2 is therefore unassigned and the default return value + is: + + {match,[{0,10},{3,4},{-1,0},{4,3}]} + + Setting the capture Type to binary gives: + + {match,[<<"ABCabcdABC">>,<<"abcd">>,<<>>,<<"bcd">>]} + + Here the empty binary (<<>>) represents the unassigned + subpattern. In the binary case, some information about the + matching is therefore lost, as <<>> can also be an empty + string captured. + + If differentiation between empty matches and non-existing + subpatterns is necessary, use the type index and do the + conversion to the final type in Erlang code. + + When option global is speciified, the capture + specification affects each match separately, so that: + + re:run("cacb","c(a|b)",[global,{capture,[1],list}]). + + gives + + {match,[["a"],["b"]]} For a descriptions of options only affecting the compilation step, see compile/2. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_split_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_split_3_func.txt index 45f526a07b4c..a2d0b4d0768f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_split_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_split_3_func.txt @@ -24,12 +24,14 @@  iodata() | unicode:charlist() | binary() | list(). Splits the input into parts by finding tokens according to the - regular expression supplied. The splitting is basically done by - running a global regular expression match and dividing the initial - string wherever a match occurs. The matching part of the string is - removed from the output. + regular expression supplied. - As in run/3, an mp() compiled with option unicode requires  + The splitting is basically done by running a global regular + expression match and dividing the initial string wherever a match + occurs. The matching part of the string is removed from the + output. + + As in run/3, an mp/0 compiled with option unicode requires  Subject to be a Unicode charlist(). If compilation is done implicitly and the unicode compilation option is specified to this function, both the regular expression and Subject are to be @@ -141,43 +143,39 @@ Summary of options not previously described for function run/3: - {return,ReturnType}: - Specifies how the parts of the original string are presented - in the result list. Valid types: - - iodata: - The variant of iodata() that gives the least copying of - data with the current implementation (often a binary, but - do not depend on it). - - binary: - All parts returned as binaries. - - list: - All parts returned as lists of characters ("strings"). - - group: - Groups together the part of the string with the parts of the - string matching the subexpressions of the regular expression. - - The return value from the function is in this case a list() - of list()s. Each sublist begins with the string picked out - of the subject string, followed by the parts matching each of - the subexpressions in order of occurrence in the regular - expression. - - {parts,N}: - Specifies the number of parts the subject string is to be - split into. - - The number of parts is to be a positive integer for a specific - maximum number of parts, and infinity for the maximum number - of parts possible (the default). Specifying {parts,0} gives - as many parts as possible disregarding empty parts at the end, - the same as specifying trim. - - trim: - Specifies that empty parts at the end of the result list are - to be disregarded. The same as specifying {parts,0}. This - corresponds to the default behavior of the split built-in - function in Perl. + • {return,ReturnType} - Specifies how the parts of the + original string are presented in the result list. Valid + types: + + ○ iodata - The variant of iodata/0 that gives the + least copying of data with the current implementation + (often a binary, but do not depend on it). + + ○ binary - All parts returned as binaries. + + ○ list - All parts returned as lists of characters + ("strings"). + + • group - Groups together the part of the string with the + parts of the string matching the subexpressions of the + regular expression. + + The return value from the function is in this case a list/0 + of list/0s. Each sublist begins with the string picked out + of the subject string, followed by the parts matching each + of the subexpressions in order of occurrence in the regular + expression. + + • {parts,N} - Specifies the number of parts the subject + string is to be split into. + + The number of parts is to be a positive integer for a + specific maximum number of parts, and infinity for the + maximum number of parts possible (the default). Specifying  + {parts,0} gives as many parts as possible disregarding + empty parts at the end, the same as specifying trim. + + • trim - Specifies that empty parts at the end of the result + list are to be disregarded. The same as specifying  + {parts,0}. This corresponds to the default behavior of the  + split built-in function in Perl. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_split_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_split_func.txt index 3d16b6030ac2..da4e9adee162 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_split_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_split_func.txt @@ -5,7 +5,7 @@  RE :: mp() | iodata(),  SplitList :: [iodata() | unicode:charlist()]. - Same as split(Subject, RE, []). + There is no documentation for split(Subject, RE, []) -spec split(Subject, RE, Options) -> SplitList  when @@ -32,12 +32,14 @@  iodata() | unicode:charlist() | binary() | list(). Splits the input into parts by finding tokens according to the - regular expression supplied. The splitting is basically done by - running a global regular expression match and dividing the initial - string wherever a match occurs. The matching part of the string is - removed from the output. + regular expression supplied. - As in run/3, an mp() compiled with option unicode requires  + The splitting is basically done by running a global regular + expression match and dividing the initial string wherever a match + occurs. The matching part of the string is removed from the + output. + + As in run/3, an mp/0 compiled with option unicode requires  Subject to be a Unicode charlist(). If compilation is done implicitly and the unicode compilation option is specified to this function, both the regular expression and Subject are to be @@ -149,43 +151,39 @@ Summary of options not previously described for function run/3: - {return,ReturnType}: - Specifies how the parts of the original string are presented - in the result list. Valid types: - - iodata: - The variant of iodata() that gives the least copying of - data with the current implementation (often a binary, but - do not depend on it). - - binary: - All parts returned as binaries. - - list: - All parts returned as lists of characters ("strings"). - - group: - Groups together the part of the string with the parts of the - string matching the subexpressions of the regular expression. - - The return value from the function is in this case a list() - of list()s. Each sublist begins with the string picked out - of the subject string, followed by the parts matching each of - the subexpressions in order of occurrence in the regular - expression. - - {parts,N}: - Specifies the number of parts the subject string is to be - split into. - - The number of parts is to be a positive integer for a specific - maximum number of parts, and infinity for the maximum number - of parts possible (the default). Specifying {parts,0} gives - as many parts as possible disregarding empty parts at the end, - the same as specifying trim. - - trim: - Specifies that empty parts at the end of the result list are - to be disregarded. The same as specifying {parts,0}. This - corresponds to the default behavior of the split built-in - function in Perl. + • {return,ReturnType} - Specifies how the parts of the + original string are presented in the result list. Valid + types: + + ○ iodata - The variant of iodata/0 that gives the + least copying of data with the current implementation + (often a binary, but do not depend on it). + + ○ binary - All parts returned as binaries. + + ○ list - All parts returned as lists of characters + ("strings"). + + • group - Groups together the part of the string with the + parts of the string matching the subexpressions of the + regular expression. + + The return value from the function is in this case a list/0 + of list/0s. Each sublist begins with the string picked out + of the subject string, followed by the parts matching each + of the subexpressions in order of occurrence in the regular + expression. + + • {parts,N} - Specifies the number of parts the subject + string is to be split into. + + The number of parts is to be a positive integer for a + specific maximum number of parts, and infinity for the + maximum number of parts possible (the default). Specifying  + {parts,0} gives as many parts as possible disregarding + empty parts at the end, the same as specifying trim. + + • trim - Specifies that empty parts at the end of the result + list are to be disregarded. The same as specifying  + {parts,0}. This corresponds to the default behavior of the  + split built-in function in Perl. 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 ee7b48eb2bea..e7daba81ad79 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 @@ -2,9 +2,28 @@ These types are documented in this module: - -type mp() :: {re_pattern, _, _, _, _}. + -type replace_fun() :: +  fun((binary(), [binary()]) -> iodata() | unicode:charlist()). - -type nl_spec() :: cr | crlf | lf | anycrlf | any. + -type capture() :: +  all | all_but_first | all_names | first | none | +  (ValueList :: [integer() | string() | atom()]). + + -type option() :: +  anchored | global | notbol | noteol | notempty | +  notempty_atstart | report_errors | +  {offset, non_neg_integer()} | +  {match_limit, non_neg_integer()} | +  {match_limit_recursion, non_neg_integer()} | +  {newline, NLSpec :: nl_spec()} | +  bsr_anycrlf | bsr_unicode | +  {capture, ValueSpec :: capture()} | +  {capture, +  ValueSpec :: capture(), +  Type :: index | list | binary} | +  compile_option(). + + -type options() :: [option()]. -type compile_option() ::  unicode | anchored | caseless | dollar_endonly | dotall | @@ -14,5 +33,8 @@ These types are documented in this module:  bsr_anycrlf | bsr_unicode | no_start_optimize | ucp |  never_utf. - -type replace_fun() :: -  fun((binary(), [binary()]) -> iodata() | unicode:charlist()). + -type compile_options() :: [compile_option()]. + + -type nl_spec() :: cr | crlf | lf | anycrlf | any. + + -type mp() :: {re_pattern, _, _, _, _}. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_ucompile_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_ucompile_2_func.txt index 148c48a4b028..bf23ab7c0a7a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_ucompile_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_ucompile_2_func.txt @@ -1,5 +1,5 @@ -  ucompile/2 +  ucompile(RE, Options) The documentation for ucompile/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/stdlib_re_urun_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_urun_3_func.txt index ddfb951486ec..dc8c33ea2ff7 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_urun_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_urun_3_func.txt @@ -1,5 +1,5 @@ -  urun/3 +  urun(Subject, RE, Options) The documentation for urun/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/stdlib_sofs.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs.txt index 0c1512097c6b..b1fa35647a18 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs.txt @@ -109,16 +109,18 @@ If R is a relation in X, and if S is defined so that x S y if x R y and not x = y, then S is the strict relation - corresponding to R. Conversely, if S is a relation in X, and - if R is defined so that x R y if x S y or x = y, then R is - the weak relation corresponding to S. + corresponding to + + ○ Conversely, if S is a relation in X, and if R is + defined so that x R y if x S y or x = y, then R is the + weak relation corresponding to S. A relation R in X is reflexive if x R x for every element x of X, it is symmetric if x R y implies that y R x, and it is transitive if x R y and y R z imply that x R z. - • A function F is a relation, a subset of X × Y, such that - the domain of F is equal to X and such that for every x in X + • function F is a relation, a subset of X × Y, such that the + domain of F is equal to X and such that for every x in X there is a unique element y in Y with (x, y) in F. The latter condition can be formulated as follows: if x F y and x F z, then y = z. In this module, it is not required that @@ -163,9 +165,9 @@ families of subsets of some set X; in the following, the word "family" is used for such families of subsets. - • A partition of a set X is a collection S of non-empty - subsets of X whose union is X and whose elements are - pairwise disjoint. + • partition of a set X is a collection S of non-empty subsets + of X whose union is X and whose elements are pairwise + disjoint. A relation in a set is an equivalence relation if it is reflexive, symmetric, and transitive. @@ -187,7 +189,7 @@ from now on referred to as binary relations. We call a set of ordered sets (x[1], ..., x[n]) an (n-ary) - relation, and say that the relation is a subset of the + relation, and say that the relation is a subset of the Cartesian product X[1] × ... × X[n], where x[i] is an element of X[i], 1 <= i <= n. @@ -282,10 +284,12 @@ from X to Y, where X is defined as all sets Set(x) for some element x in Sets the type of which is A, and similarly for Y. In the same way Arg2 is interpreted as representing a binary relation - from W to Z. Finally it is checked that B matches C, which is - sufficient to ensure that W is equal to Y. The untyped empty set - is handled separately: its type, ['_'], matches the type of any - unordered set. + from W to + + • Finally it is checked that B matches C, which is sufficient + to ensure that W is equal to Y. The untyped empty set is + handled separately: its type, ['_'], matches the type of any + unordered set. A few functions of this module (drestriction/3,  family_projection/2, partition/2, partition_family/2,  @@ -348,4 +352,4 @@ See Also - dict(3), digraph(3), orddict(3), ordsets(3), sets(3) + dict, digraph, orddict, ordsets, sets diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_a_function_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_a_function_2_func.txt index 0d06400dc453..0cb41756b0ce 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_a_function_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_a_function_2_func.txt @@ -5,7 +5,7 @@  Tuples :: [tuple()],  Type :: type(). - Creates a function. a_function(F, T) is equivalent to  - from_term(F, T) if the result is a function. If no type is - explicitly specified, [{atom, atom}] is used as the function - type. + Creates a function. + + a_function(F, T) is equivalent to from_term(F, T) if the result + is a function. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_a_function_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_a_function_func.txt index f0d6c9e96b1e..ccefdb6528e9 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_a_function_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_a_function_func.txt @@ -2,10 +2,7 @@ -spec a_function(Tuples) -> Function  when Function :: a_function(), Tuples :: [tuple()]. - Creates a function. a_function(F, T) is equivalent to  - from_term(F, T) if the result is a function. If no type is - explicitly specified, [{atom, atom}] is used as the function - type. + There is no documentation for a_function(Tuples, [{atom, atom}]) -spec a_function(Tuples, Type) -> Function  when @@ -13,7 +10,7 @@  Tuples :: [tuple()],  Type :: type(). - Creates a function. a_function(F, T) is equivalent to  - from_term(F, T) if the result is a function. If no type is - explicitly specified, [{atom, atom}] is used as the function - type. + Creates a function. + + a_function(F, T) is equivalent to from_term(F, T) if the result + is a function. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_canonical_relation_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_canonical_relation_1_func.txt index 29515277cfaf..d2c14bdd137b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_canonical_relation_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_canonical_relation_1_func.txt @@ -5,8 +5,9 @@  SetOfSets :: set_of_sets(). Returns the binary relation containing the elements (E, Set) such - that Set belongs to SetOfSets and E belongs to Set. If  - SetOfSets is a partition of a set X and R is the equivalence + that Set belongs to SetOfSets and E belongs to Set. + + If SetOfSets is a partition of a set X and R is the equivalence relation in X induced by SetOfSets, then the returned relation is the canonical map from X onto the equivalence classes with respect to R. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_composite_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_composite_2_func.txt index 6423881290db..c1ba023d6086 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_composite_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_composite_2_func.txt @@ -5,8 +5,7 @@  Function2 :: a_function(),  Function3 :: a_function(). - Returns the composite of the functions Function1 and  - Function2. + Returns the composite of the functions Function1 and Function2. 1> F1 = sofs:a_function([{a,1},{b,2},{c,2}]), F2 = sofs:a_function([{1,x},{2,y},{3,z}]), diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_digraph_to_family_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_digraph_to_family_2_func.txt index 9722f39420b7..880b8b73a479 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_digraph_to_family_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_digraph_to_family_2_func.txt @@ -5,12 +5,10 @@  Family :: family(),  Type :: type(). - Creates a family from the directed graph Graph. Each vertex a - of Graph is represented by a pair (a, {b[1], ..., b[n]}), where - the b[i]:s are the out-neighbors of a. If no type is explicitly - specified, [{atom, [atom]}] is used as type of the family. It is - assumed that Type is a valid type of the external set of the - family. + Creates a family from the directed graph Graph. Each vertex a of  + Graph is represented by a pair (a, {b[1], ..., b[n]}), where the + b[i]:s are the out-neighbors of a. It is assumed that Type is a + valid type of the external set of the family. If G is a directed graph, it holds that the vertices and edges of G are the same as the vertices and edges of  diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_digraph_to_family_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_digraph_to_family_func.txt index fe930b2982c1..a6278db6b672 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_digraph_to_family_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_digraph_to_family_func.txt @@ -4,16 +4,8 @@  Graph :: digraph:graph(),  Family :: family(). - Creates a family from the directed graph Graph. Each vertex a - of Graph is represented by a pair (a, {b[1], ..., b[n]}), where - the b[i]:s are the out-neighbors of a. If no type is explicitly - specified, [{atom, [atom]}] is used as type of the family. It is - assumed that Type is a valid type of the external set of the - family. - - If G is a directed graph, it holds that the vertices and edges of - G are the same as the vertices and edges of  - family_to_digraph(digraph_to_family(G)). + There is no documentation for digraph_to_family(Graph, [{atom, + [atom]}]) -spec digraph_to_family(Graph, Type) -> Family  when @@ -21,12 +13,10 @@  Family :: family(),  Type :: type(). - Creates a family from the directed graph Graph. Each vertex a - of Graph is represented by a pair (a, {b[1], ..., b[n]}), where - the b[i]:s are the out-neighbors of a. If no type is explicitly - specified, [{atom, [atom]}] is used as type of the family. It is - assumed that Type is a valid type of the external set of the - family. + Creates a family from the directed graph Graph. Each vertex a of  + Graph is represented by a pair (a, {b[1], ..., b[n]}), where the + b[i]:s are the out-neighbors of a. It is assumed that Type is a + valid type of the external set of the family. If G is a directed graph, it holds that the vertices and edges of G are the same as the vertices and edges of  diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_empty_set_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_empty_set_0_func.txt index befe3d4484e3..576449248122 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_empty_set_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_empty_set_0_func.txt @@ -1,5 +1,5 @@ -spec empty_set() -> Set when Set :: a_set(). - Returns the untyped empty set. empty_set() is equivalent to  + Returns the untyped empty set. empty_set/0 is equivalent to  from_term([], ['_']). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_extension_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_extension_3_func.txt index 9c180796ba34..c342bf0efd78 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_extension_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_extension_3_func.txt @@ -6,9 +6,9 @@  BinRel2 :: binary_relation(),  Set :: a_set(). - Returns the extension of BinRel1 such that for each element E - in Set that does not belong to the domain of BinRel1,  - BinRel2 contains the pair (E, AnySet). + Returns the extension of BinRel1 such that for each element E in  + Set that does not belong to the domain of BinRel1, BinRel2 + contains the pair (E, AnySet). 1> S = sofs:set([b,c]), A = sofs:empty_set(), diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_fam2rel_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_fam2rel_1_func.txt index 1eafcb4078c3..e09d723d2f34 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_fam2rel_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_fam2rel_1_func.txt @@ -1,5 +1,6 @@ -  fam2rel/1 + -spec fam2rel(Family) -> BinRel +  when Family :: family(), BinRel :: binary_relation(). The documentation for fam2rel/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/stdlib_sofs_family_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_2_func.txt index eb36e0bff29b..b026ecc63165 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_2_func.txt @@ -6,6 +6,4 @@  Type :: type(). Creates a family of subsets. family(F, T) is equivalent to  - from_term(F, T) if the result is a family. If no type is - explicitly specified, [{atom, [atom]}] is used as the family - type. + from_term(F, T) if the result is a family. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_domain_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_domain_1_func.txt index 13fbcd6eb11c..89e058ce9e03 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_domain_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_domain_1_func.txt @@ -2,8 +2,8 @@ -spec family_domain(Family1) -> Family2  when Family1 :: family(), Family2 :: family(). - If Family1 is a family and Family1[i] is a binary relation - for every i in the index set of Family1, then Family2 is the + If Family1 is a family and Family1[i] is a binary relation for + every i in the index set of Family1, then Family2 is the family with the same index set as Family1 such that Family2[i] is the domain of Family1[i]. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_field_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_field_1_func.txt index eae61b0b4022..ebe233b0d824 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_field_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_field_1_func.txt @@ -2,8 +2,8 @@ -spec family_field(Family1) -> Family2  when Family1 :: family(), Family2 :: family(). - If Family1 is a family and Family1[i] is a binary relation - for every i in the index set of Family1, then Family2 is the + If Family1 is a family and Family1[i] is a binary relation for + every i in the index set of Family1, then Family2 is the family with the same index set as Family1 such that Family2[i] is the field of Family1[i]. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_func.txt index 334fa4c5df1e..f00cd4a2be6e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_func.txt @@ -2,10 +2,7 @@ -spec family(Tuples) -> Family  when Family :: family(), Tuples :: [tuple()]. - Creates a family of subsets. family(F, T) is equivalent to  - from_term(F, T) if the result is a family. If no type is - explicitly specified, [{atom, [atom]}] is used as the family - type. + There is no documentation for family(Tuples, [{atom, [atom]}]) -spec family(Tuples, Type) -> Family  when @@ -14,6 +11,4 @@  Type :: type(). Creates a family of subsets. family(F, T) is equivalent to  - from_term(F, T) if the result is a family. If no type is - explicitly specified, [{atom, [atom]}] is used as the family - type. + from_term(F, T) if the result is a family. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_range_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_range_1_func.txt index bdd66f77d92b..c1b901b80bc8 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_range_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_range_1_func.txt @@ -2,8 +2,8 @@ -spec family_range(Family1) -> Family2  when Family1 :: family(), Family2 :: family(). - If Family1 is a family and Family1[i] is a binary relation - for every i in the index set of Family1, then Family2 is the + If Family1 is a family and Family1[i] is a binary relation for + every i in the index set of Family1, then Family2 is the family with the same index set as Family1 such that Family2[i] is the range of Family1[i]. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_to_digraph_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_to_digraph_2_func.txt index 51b3076bb20b..ce7d7eb08c43 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_to_digraph_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_to_digraph_2_func.txt @@ -10,9 +10,7 @@ (a, b[i]) for 1 <= i <= n are added to a newly created directed graph. - If no graph type is specified, digraph:new/0 is used for - creating the directed graph, otherwise argument GraphType is - passed on as second argument to digraph:new/1. + GraphType is passed on to digraph:new/1. It F is a family, it holds that F is a subset of  digraph_to_family(family_to_digraph(F), type(F)). Equality holds diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_to_digraph_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_to_digraph_func.txt index 19d4eb587d9c..8e7743f41671 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_to_digraph_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_to_digraph_func.txt @@ -4,21 +4,7 @@  Graph :: digraph:graph(),  Family :: family(). - Creates a directed graph from family Family. For each pair - (a, {b[1], ..., b[n]}) of Family, vertex a and the edges - (a, b[i]) for 1 <= i <= n are added to a newly created directed - graph. - - If no graph type is specified, digraph:new/0 is used for - creating the directed graph, otherwise argument GraphType is - passed on as second argument to digraph:new/1. - - It F is a family, it holds that F is a subset of  - digraph_to_family(family_to_digraph(F), type(F)). Equality holds - if union_of_family(F) is a subset of domain(F). - - Creating a cycle in an acyclic graph exits the process with a  - cyclic message. + There is no documentation for family_to_digraph(Family, []) -spec family_to_digraph(Family, GraphType) -> Graph  when @@ -31,9 +17,7 @@ (a, b[i]) for 1 <= i <= n are added to a newly created directed graph. - If no graph type is specified, digraph:new/0 is used for - creating the directed graph, otherwise argument GraphType is - passed on as second argument to digraph:new/1. + GraphType is passed on to digraph:new/1. It F is a family, it holds that F is a subset of  digraph_to_family(family_to_digraph(F), type(F)). Equality holds diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_union_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_union_1_func.txt index e1132a109416..2456ea0af8a5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_union_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_union_1_func.txt @@ -4,7 +4,7 @@ If Family1 is a family and Family1[i] is a set of sets for each i in the index set of Family1, then Family2 is the family - with the same index set as Family1 such that Family2[i] is the + with the same index set as Family1 such that Family2[i] is the union of Family1[i]. 1> F1 = sofs:from_term([{a,[[1,2],[2,3]]},{b,[[]]}]), diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_union_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_union_func.txt index c90c1fc765ba..6409599543c4 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_union_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_family_union_func.txt @@ -4,7 +4,7 @@ If Family1 is a family and Family1[i] is a set of sets for each i in the index set of Family1, then Family2 is the family - with the same index set as Family1 such that Family2[i] is the + with the same index set as Family1 such that Family2[i] is the union of Family1[i]. 1> F1 = sofs:from_term([{a,[[1,2],[2,3]]},{b,[[]]}]), 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 c3b7d802cc62..f0463f57583f 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,12 @@ -spec from_sets(ListOfSets) -> Set -  when Set :: a_set(), ListOfSets :: [anyset()]. +  when Set :: a_set(), ListOfSets :: [anyset()]; +  (TupleOfSets) -> Ordset +  when +  Ordset :: ordset(), +  TupleOfSets :: tuple_of(anyset()). - Returns the unordered set containing the sets of list  - ListOfSets. + Returns the unordered set containing the sets of list ListOfSets. 1> S1 = sofs:relation([{a,1},{b,2}]), S2 = sofs:relation([{x,3},{y,4}]), @@ -11,10 +14,5 @@ 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. + 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_from_term_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_from_term_2_func.txt index 0a2524021270..22237e8fbc11 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_from_term_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_from_term_2_func.txt @@ -6,15 +6,17 @@  Type :: type(). Creates an element of Sets by traversing term Term, sorting - lists, removing duplicates, and deriving or verifying a valid - type for the so obtained external set. An explicitly specified - type Type can be used to limit the depth of the traversal; an - atomic type stops the traversal, as shown by the following example - where "foo" and {"foo"} are left unmodified: + lists, removing duplicates, and deriving or verifying a valid type + for the so obtained external set. + + An explicitly specified type Type can be used to limit the depth + of the traversal; an atomic type stops the traversal, as shown by + the following example where "foo" and {"foo"} are left + unmodified: 1> S = sofs:from_term([{{"foo"},[1,1]},{"foo",[2,2]}], - [{atom,[atom]}]), - sofs:to_external(S). + [{atom,[atom]}]), + sofs:to_external(S). [{{"foo"},[1]},{"foo",[2]}] from_term can be used for creating atomic or ordered sets. The diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_from_term_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_from_term_func.txt index c957e5654fa2..45b86e90bc12 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_from_term_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_from_term_func.txt @@ -1,38 +1,7 @@ -spec from_term(Term) -> AnySet when AnySet :: anyset(), Term :: term(). - Creates an element of Sets by traversing term Term, sorting - lists, removing duplicates, and deriving or verifying a valid - type for the so obtained external set. An explicitly specified - type Type can be used to limit the depth of the traversal; an - atomic type stops the traversal, as shown by the following example - where "foo" and {"foo"} are left unmodified: - - 1> S = sofs:from_term([{{"foo"},[1,1]},{"foo",[2,2]}], - [{atom,[atom]}]), - sofs:to_external(S). - [{{"foo"},[1]},{"foo",[2]}] - - from_term can be used for creating atomic or ordered sets. The - only purpose of such a set is that of later building unordered - sets, as all functions in this module that do anything operate - on unordered sets. Creating unordered sets from a collection of - ordered sets can be the way to go if the ordered sets are big and - one does not want to waste heap by rebuilding the elements of the - unordered set. The following example shows that a set can be built - "layer by layer": - - 1> A = sofs:from_term(a), - S = sofs:set([1,2,3]), - P1 = sofs:from_sets({A,S}), - P2 = sofs:from_term({b,[6,5,4]}), - Ss = sofs:from_sets([P1,P2]), - sofs:to_external(Ss). - [{a,[1,2,3]},{b,[4,5,6]}] - - Other functions that create sets are from_external/2 and  - from_sets/1. Special cases of from_term/2 are a_function/1,2,  - empty_set/0, family/1,2, relation/1,2, and set/1,2. + There is no documentation for from_term(Term, '_') -spec from_term(Term, Type) -> AnySet  when @@ -41,15 +10,17 @@  Type :: type(). Creates an element of Sets by traversing term Term, sorting - lists, removing duplicates, and deriving or verifying a valid - type for the so obtained external set. An explicitly specified - type Type can be used to limit the depth of the traversal; an - atomic type stops the traversal, as shown by the following example - where "foo" and {"foo"} are left unmodified: + lists, removing duplicates, and deriving or verifying a valid type + for the so obtained external set. + + An explicitly specified type Type can be used to limit the depth + of the traversal; an atomic type stops the traversal, as shown by + the following example where "foo" and {"foo"} are left + unmodified: 1> S = sofs:from_term([{{"foo"},[1,1]},{"foo",[2,2]}], - [{atom,[atom]}]), - sofs:to_external(S). + [{atom,[atom]}]), + sofs:to_external(S). [{{"foo"},[1]},{"foo",[2]}] from_term can be used for creating atomic or ordered sets. The diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_image_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_image_2_func.txt index ec732cb46c31..5a23fbc0b5a5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_image_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_image_2_func.txt @@ -5,8 +5,7 @@  Set1 :: a_set(),  Set2 :: a_set(). - Returns the image of set Set1 under the binary relation  - BinRel. + Returns the image of set Set1 under the binary relation BinRel. 1> R = sofs:relation([{1,a},{2,b},{2,c},{3,d}]), S1 = sofs:set([1,2]), diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_is_disjoint_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_is_disjoint_2_func.txt index d280380aefd5..984772172fc8 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_is_disjoint_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_is_disjoint_2_func.txt @@ -5,5 +5,4 @@  Set1 :: a_set(),  Set2 :: a_set(). - Returns true if Set1 and Set2 are disjoint, otherwise  - false. + Returns true if Set1 and Set2 are disjoint, otherwise false. 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 9d8a8ee7757a..16db33c6cee8 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 @@ -3,6 +3,8 @@ 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 + 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 c510929f9d0c..4b08b33620c9 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 @@ -2,6 +2,8 @@ -spec is_sofs_set(Term) -> Bool when Bool :: boolean(), Term :: term(). 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. + 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_partition_family_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_partition_family_2_func.txt index 6538edd9d2be..9c24b566fa1f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_partition_family_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_partition_family_2_func.txt @@ -5,10 +5,10 @@  SetFun :: set_fun(),  Set :: a_set(). - Returns family Family where the indexed set is a partition - of Set such that two elements are considered equal if the - results of applying SetFun are the same value i. This i is the - index that Family maps onto the equivalence class. + Returns family Family where the indexed set is a partition of  + Set such that two elements are considered equal if the results of + applying SetFun are the same value i. This i is the index that  + Family maps onto the equivalence class. 1> S = sofs:relation([{a,a,a,a},{a,a,b,b},{a,b,b,b}]), SetFun = {external, fun({A,_,C,_}) -> {A,C} end}, diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_rel2fam_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_rel2fam_1_func.txt index d41d2c6c1801..addcfbe65ccf 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_rel2fam_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_rel2fam_1_func.txt @@ -1,5 +1,6 @@ -  rel2fam/1 + -spec rel2fam(BinRel) -> Family +  when Family :: family(), BinRel :: binary_relation(). The documentation for rel2fam/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/stdlib_sofs_relation_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relation_1_func.txt index a26b251b884f..a4bf58c3a24c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relation_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relation_1_func.txt @@ -2,10 +2,7 @@ -spec relation(Tuples) -> Relation  when Relation :: relation(), Tuples :: [tuple()]. - Creates a relation. relation(R, T) is equivalent to  - from_term(R, T), if T is a type and the result is a relation. - If Type is an integer N, then [{atom, ..., atom}]), where the - tuple size is N, is used as type of the relation. If no type is - explicitly specified, the size of the first tuple of Tuples is - used if there is such a tuple. relation([]) is equivalent to  - relation([], 2). + Equivalent to relation(Tuples, Type) where Type is the size of + the first tuple of Tuples is used if there is such a tuple. + + If tuples is [], then Type is 2. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relation_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relation_2_func.txt index 74a0039c1c9f..6501003913d1 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relation_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relation_2_func.txt @@ -8,8 +8,6 @@ Creates a relation. relation(R, T) is equivalent to  from_term(R, T), if T is a type and the result is a relation. + If Type is an integer N, then [{atom, ..., atom}]), where the - tuple size is N, is used as type of the relation. If no type is - explicitly specified, the size of the first tuple of Tuples is - used if there is such a tuple. relation([]) is equivalent to  - relation([], 2). + tuple size is N, is used as type of the relation. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relation_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relation_func.txt index a730094f5027..c0f092012952 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relation_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relation_func.txt @@ -2,13 +2,10 @@ -spec relation(Tuples) -> Relation  when Relation :: relation(), Tuples :: [tuple()]. - Creates a relation. relation(R, T) is equivalent to  - from_term(R, T), if T is a type and the result is a relation. - If Type is an integer N, then [{atom, ..., atom}]), where the - tuple size is N, is used as type of the relation. If no type is - explicitly specified, the size of the first tuple of Tuples is - used if there is such a tuple. relation([]) is equivalent to  - relation([], 2). + Equivalent to relation(Tuples, Type) where Type is the size of + the first tuple of Tuples is used if there is such a tuple. + + If tuples is [], then Type is 2. -spec relation(Tuples, Type) -> Relation  when @@ -19,8 +16,6 @@ Creates a relation. relation(R, T) is equivalent to  from_term(R, T), if T is a type and the result is a relation. + If Type is an integer N, then [{atom, ..., atom}]), where the - tuple size is N, is used as type of the relation. If no type is - explicitly specified, the size of the first tuple of Tuples is - used if there is such a tuple. relation([]) is equivalent to  - relation([], 2). + tuple size is N, is used as type of the relation. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relation_to_family_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relation_to_family_1_func.txt index 44b828d7887f..39f633c01103 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relation_to_family_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relation_to_family_1_func.txt @@ -4,8 +4,8 @@  Family :: family(),  BinRel :: binary_relation(). - Returns family Family such that the index set is equal to the - domain of the binary relation BinRel, and Family[i] is the + Returns family Family such that the index set is equal to the + domain of the binary relation BinRel, and Family[i] is the image of the set of i under BinRel. 1> R = sofs:relation([{b,1},{c,2},{c,3}]), diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relative_product_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relative_product_2_func.txt index e475df89a2c9..2bb8279e2d98 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relative_product_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relative_product_2_func.txt @@ -4,7 +4,12 @@  ListOfBinRels :: [BinRel, ...],  BinRel :: binary_relation(),  BinRel1 :: binary_relation(), -  BinRel2 :: binary_relation(). +  BinRel2 :: binary_relation(); +  (BinRel1, BinRel2) -> BinRel3 +  when +  BinRel1 :: binary_relation(), +  BinRel2 :: binary_relation(), +  BinRel3 :: binary_relation(). If ListOfBinRels is a non-empty list [R[1], ..., R[n]] of binary relations and BinRel1 is a binary relation, then BinRel2 is @@ -26,11 +31,5 @@ relative_product(R1, R2); the list of one element is not identified with the element itself. - -spec relative_product(BinRel1, BinRel2) -> BinRel3 -  when -  BinRel1 :: binary_relation(), -  BinRel2 :: binary_relation(), -  BinRel3 :: binary_relation(). - - Returns the relative product of the binary relations BinRel1 - and BinRel2. + Returns the relative product of the binary relations BinRel1 and  + BinRel2. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relative_product_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relative_product_func.txt index cd4c4a06dc51..30e2c24b4167 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relative_product_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_relative_product_func.txt @@ -5,32 +5,19 @@  BinRel :: binary_relation(),  BinRel2 :: binary_relation(). - If ListOfBinRels is a non-empty list [R[1], ..., R[n]] of binary - relations and BinRel1 is a binary relation, then BinRel2 is - the relative product of the ordered set (R[i], ..., R[n]) and  - BinRel1. - - If BinRel1 is omitted, the relation of equality between the - elements of the Cartesian product of the ranges of R[i], - range R[1] × ... × range R[n], is used instead (intuitively, - nothing is "lost"). - - 1> TR = sofs:relation([{1,a},{1,aa},{2,b}]), - R1 = sofs:relation([{1,u},{2,v},{3,c}]), - R2 = sofs:relative_product([TR, R1]), - sofs:to_external(R2). - [{1,{a,u}},{1,{aa,u}},{2,{b,v}}] - - Notice that relative_product([R1], R2) is different from  - relative_product(R1, R2); the list of one element is not - identified with the element itself. + There is no documentation for relative_product/2 -spec relative_product(ListOfBinRels, BinRel1) -> BinRel2  when  ListOfBinRels :: [BinRel, ...],  BinRel :: binary_relation(),  BinRel1 :: binary_relation(), -  BinRel2 :: binary_relation(). +  BinRel2 :: binary_relation(); +  (BinRel1, BinRel2) -> BinRel3 +  when +  BinRel1 :: binary_relation(), +  BinRel2 :: binary_relation(), +  BinRel3 :: binary_relation(). If ListOfBinRels is a non-empty list [R[1], ..., R[n]] of binary relations and BinRel1 is a binary relation, then BinRel2 is @@ -52,11 +39,5 @@ relative_product(R1, R2); the list of one element is not identified with the element itself. - -spec relative_product(BinRel1, BinRel2) -> BinRel3 -  when -  BinRel1 :: binary_relation(), -  BinRel2 :: binary_relation(), -  BinRel3 :: binary_relation(). - - Returns the relative product of the binary relations BinRel1 - and BinRel2. + Returns the relative product of the binary relations BinRel1 and  + BinRel2. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_set_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_set_2_func.txt index 2cd17c3cd3bc..34dbdadf8ceb 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_set_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_set_2_func.txt @@ -3,5 +3,4 @@  when Set :: a_set(), Terms :: [term()], Type :: type(). Creates an unordered set. set(L, T) is equivalent to  - from_term(L, T), if the result is an unordered set. If no type - is explicitly specified, [atom] is used as the set type. + from_term(L, T), if the result is an unordered set. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_set_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_set_func.txt index 579a935f4ac3..f5857f10f26a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_set_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_set_func.txt @@ -1,13 +1,10 @@ -spec set(Terms) -> Set when Set :: a_set(), Terms :: [term()]. - Creates an unordered set. set(L, T) is equivalent to  - from_term(L, T), if the result is an unordered set. If no type - is explicitly specified, [atom] is used as the set type. + There is no documentation for set(Terms, [atom]) -spec set(Terms, Type) -> Set  when Set :: a_set(), Terms :: [term()], Type :: type(). Creates an unordered set. set(L, T) is equivalent to  - from_term(L, T), if the result is an unordered set. If no type - is explicitly specified, [atom] is used as the set type. + from_term(L, T), if the result is an unordered set. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_substitution_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_substitution_2_func.txt index 63b9ad766856..645d03f7d132 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_substitution_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_substitution_2_func.txt @@ -26,7 +26,7 @@ [{a,a},{b,b},{c,c}] Let SetOfSets be a set of sets and BinRel a binary relation. - The function that maps each element Set of SetOfSets onto the + The function that maps each element Set of SetOfSets onto the image of Set under BinRel is returned by the following function: diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_to_external_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_to_external_1_func.txt index e5b9ca0ed3c0..8bbe8787d5cf 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_to_external_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_to_external_1_func.txt @@ -4,5 +4,4 @@  ExternalSet :: external_set(),  AnySet :: anyset(). - Returns the external set of an atomic, ordered, or unordered - set. + Returns the external set of an atomic, ordered, or unordered set. 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 38069a070720..7d953de0e7dc 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 @@ -  tuple_of(T) + -type tuple_of(_T) :: tuple(). 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 bed79d0171af..d9e0c614d9e1 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 @@ -2,33 +2,33 @@ These types are documented in this module: - -type anyset() :: ordset() | a_set(). + -type tuple_of(_T) :: tuple(). - -type binary_relation() :: relation(). + -type type() :: term(). - -type external_set() :: term(). + -type spec_fun() :: +  {external, fun((external_set()) -> boolean())} | +  fun((anyset()) -> boolean()). - -type family() :: a_function(). + -type set_fun() :: +  pos_integer() | +  {external, fun((external_set()) -> external_set())} | +  fun((anyset()) -> anyset()). - -type a_function() :: relation(). + -type set_of_sets() :: a_set(). - -opaque ordset()  + -opaque a_set()  -type relation() :: a_set(). - -opaque a_set()  + -opaque ordset()  - -type set_of_sets() :: a_set(). + -type family() :: a_function(). - -type set_fun() :: -  pos_integer() | -  {external, fun((external_set()) -> external_set())} | -  fun((anyset()) -> anyset()). + -type a_function() :: relation(). - -type spec_fun() :: -  {external, fun((external_set()) -> boolean())} | -  fun((anyset()) -> boolean()). + -type external_set() :: term(). - -type type() :: term(). + -type binary_relation() :: relation(). -  tuple_of(T) + -type anyset() :: ordset() | a_set(). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang.txt index 18dc79087d5b..b41ef07bb684 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang.txt @@ -11,17 +11,13 @@ atom_to_list(erlang) and erlang:atom_to_list(erlang) are identical. - Auto-imported BIFs are listed without module prefix. BIFs listed - with module prefix are not auto-imported. + Auto-imported BIFs are annotated with auto-imported and + predefined types are annotated with predefined. - Predefined types are listed in the Predefined datatypes section - of this reference manual and in the Types and Function - Specifications section of the Erlang Reference Manual. + Some auto-imported BIFs are also allowed in guard expression. Such + BIFs are annoted with both auto-imported and guard-bif. BIFs can fail for various reasons. All BIFs fail with reason  badarg if they are called with arguments of an incorrect type. The other reasons are described in the description of each individual BIF. - - Some BIFs can be used in guard tests and are marked with "Allowed - in guard tests". diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_!_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_!_2_func.txt index 222e8527641c..a781dcef8d8a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_!_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_!_2_func.txt @@ -1,5 +1,5 @@ -  '!'/2 + -spec '!'(send_destination(), term()) -> term(). The documentation for '!'/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_++_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_++_2_func.txt index 5dcd568da562..3c8443813521 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_++_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_++_2_func.txt @@ -1,5 +1,5 @@ -  '++'/2 + -spec '++'(list(), term()) -> term(). The documentation for '++'/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_+_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_+_1_func.txt index e3ecf4bf3c24..c8d18ada5dd0 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_+_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_+_1_func.txt @@ -1,5 +1,5 @@ -  '+'/1 + -spec '+'(number()) -> number(). The documentation for '+'/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/unknown_erlang_+_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_+_2_func.txt index bf738628fcac..b468ca23bd7c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_+_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_+_2_func.txt @@ -1,5 +1,5 @@ -  '+'/2 + -spec '+'(number(), number()) -> number(). The documentation for '+'/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_+_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_+_func.txt index 95646354fde4..b7f3f9aa6168 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_+_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_+_func.txt @@ -1,10 +1,10 @@ -  '+'/1 + -spec '+'(number()) -> number(). The documentation for '+'/1 is hidden. This probably means that it is internal and not to be used by other applications. -  '+'/2 + -spec '+'(number(), number()) -> number(). The documentation for '+'/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_--_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_--_2_func.txt index 797d1d5b4505..89281127b927 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_--_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_--_2_func.txt @@ -1,5 +1,5 @@ -  '--'/2 + -spec '--'(list(), list()) -> list(). The documentation for '--'/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_-_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_-_1_func.txt index 51cf37438652..1be886a2ab9d 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_-_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_-_1_func.txt @@ -1,5 +1,5 @@ -  '-'/1 + -spec '-'(number()) -> number(). The documentation for '-'/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/unknown_erlang_-_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_-_2_func.txt index 797a700c8696..ccb59b578e86 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_-_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_-_2_func.txt @@ -1,5 +1,5 @@ -  '-'/2 + -spec '-'(number(), number()) -> number(). The documentation for '-'/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_-_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_-_func.txt index bf63e4a2458e..7433df883564 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_-_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_-_func.txt @@ -1,10 +1,10 @@ -  '-'/1 + -spec '-'(number()) -> number(). The documentation for '-'/1 is hidden. This probably means that it is internal and not to be used by other applications. -  '-'/2 + -spec '-'(number(), number()) -> number(). The documentation for '-'/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_abs_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_abs_1_func.txt index 869c22dca4de..4f2584bb1646 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_abs_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_abs_1_func.txt @@ -3,11 +3,11 @@  (Int) -> non_neg_integer() when Int :: integer(). Returns an integer or float that is the arithmetical absolute - value of Float or Int, for example: + value of Float or Int. + + For example: > abs(-3.33). 3.33 > abs(-3). 3 - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_adler32_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_adler32_1_func.txt index f52f54d715a7..da2d3e0b44b2 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_adler32_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_adler32_1_func.txt @@ -1,4 +1,4 @@ - -spec erlang:adler32(Data) -> non_neg_integer() when Data :: iodata(). + -spec adler32(Data) -> non_neg_integer() when Data :: iodata(). Computes and returns the adler32 checksum for Data. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_adler32_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_adler32_2_func.txt index eca5f15f446f..57da2b0fa581 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_adler32_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_adler32_2_func.txt @@ -1,8 +1,6 @@ - -spec erlang:adler32(OldAdler, Data) -> non_neg_integer() -  when -  OldAdler :: non_neg_integer(), -  Data :: iodata(). + -spec adler32(OldAdler, Data) -> non_neg_integer() +  when OldAdler :: non_neg_integer(), Data :: iodata(). Continues computing the adler32 checksum by combining the previous checksum, OldAdler, with the checksum of Data. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_adler32_combine_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_adler32_combine_3_func.txt index ae9414f27fdb..7f2a38b74496 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_adler32_combine_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_adler32_combine_3_func.txt @@ -1,14 +1,15 @@ - -spec erlang:adler32_combine(FirstAdler, SecondAdler, SecondSize) -> -  non_neg_integer() -  when -  FirstAdler :: non_neg_integer(), -  SecondAdler :: non_neg_integer(), -  SecondSize :: non_neg_integer(). + -spec adler32_combine(FirstAdler, SecondAdler, SecondSize) -> +  non_neg_integer() +  when +  FirstAdler :: non_neg_integer(), +  SecondAdler :: non_neg_integer(), +  SecondSize :: non_neg_integer(). - Combines two previously computed adler32 checksums. This - computation requires the size of the data object for the second - checksum to be known. + Combines two previously computed adler32 checksums. + + This computation requires the size of the data object for the + second checksum to be known. The following code: diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_adler32_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_adler32_func.txt index 758f2b3e04ba..8f62b500039a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_adler32_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_adler32_func.txt @@ -1,12 +1,10 @@ - -spec erlang:adler32(Data) -> non_neg_integer() when Data :: iodata(). + -spec adler32(Data) -> non_neg_integer() when Data :: iodata(). Computes and returns the adler32 checksum for Data. - -spec erlang:adler32(OldAdler, Data) -> non_neg_integer() -  when -  OldAdler :: non_neg_integer(), -  Data :: iodata(). + -spec adler32(OldAdler, Data) -> non_neg_integer() +  when OldAdler :: non_neg_integer(), Data :: iodata(). Continues computing the adler32 checksum by combining the previous checksum, OldAdler, with the checksum of Data. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_alias_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_alias_1_func.txt index 7acd5920c332..662470931358 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_alias_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_alias_1_func.txt @@ -10,18 +10,17 @@ Create an alias which can be used when sending messages to the process that created the alias. When the alias has been deactivated, messages sent using the alias will be dropped. An - alias can be deactivated using unalias/1. Currently available - options for alias/1: - - explicit_unalias: - The alias can only be deactivated via a call to unalias/1. - This is also the default behaviour if no options are passed or - if alias/0 is called. - - reply: - The alias will be automatically deactivated when a reply - message sent via the alias is received. The alias can also - still be deactivated via a call to unalias/1. + alias can be deactivated using unalias/1. + + Currently available options for alias/1: + + • explicit_unalias - The alias can only be deactivated via a + call to unalias/1. This is also the default behaviour if + no options are passed or if alias/0 is called. + + • reply - The alias will be automatically deactivated when a + reply message sent via the alias is received. The alias can + also still be deactivated via a call to unalias/1. Example: diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_alias_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_alias_func.txt index 3b4d184c98b4..2bba6c14e10a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_alias_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_alias_func.txt @@ -4,53 +4,7 @@ Since: OTP 24.0 - Create an alias which can be used when sending messages to the - process that created the alias. When the alias has been - deactivated, messages sent using the alias will be dropped. An - alias can be deactivated using unalias/1. Currently available - options for alias/1: - - explicit_unalias: - The alias can only be deactivated via a call to unalias/1. - This is also the default behaviour if no options are passed or - if alias/0 is called. - - reply: - The alias will be automatically deactivated when a reply - message sent via the alias is received. The alias can also - still be deactivated via a call to unalias/1. - - Example: - - server() -> - receive - {request, AliasReqId, Request} -> - Result = perform_request(Request), - AliasReqId ! {reply, AliasReqId, Result} - end, - server(). - - client(ServerPid, Request) -> - AliasReqId = alias([reply]), - ServerPid ! {request, AliasReqId, Request}, - %% Alias will be automatically deactivated if we receive a reply - %% since we used the 'reply' option... - receive - {reply, AliasReqId, Result} -> Result - after 5000 -> - unalias(AliasReqId), - %% Flush message queue in case the reply arrived - %% just before the alias was deactivated... - receive {reply, AliasReqId, Result} -> Result - after 0 -> exit(timeout) - end - end. - - Note that both the server and the client in this example must be - executing on at least OTP 24 systems in order for this to work. - - For more information on process aliases see the Process Aliases - section of the Erlang Reference Manual. + There is no documentation for alias([]) -spec alias(Opts) -> Alias  when @@ -63,18 +17,17 @@ Create an alias which can be used when sending messages to the process that created the alias. When the alias has been deactivated, messages sent using the alias will be dropped. An - alias can be deactivated using unalias/1. Currently available - options for alias/1: + alias can be deactivated using unalias/1. + + Currently available options for alias/1: - explicit_unalias: - The alias can only be deactivated via a call to unalias/1. - This is also the default behaviour if no options are passed or - if alias/0 is called. + • explicit_unalias - The alias can only be deactivated via a + call to unalias/1. This is also the default behaviour if + no options are passed or if alias/0 is called. - reply: - The alias will be automatically deactivated when a reply - message sent via the alias is received. The alias can also - still be deactivated via a call to unalias/1. + • reply - The alias will be automatically deactivated when a + reply message sent via the alias is received. The alias can + also still be deactivated via a call to unalias/1. Example: diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_alloc_info_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_alloc_info_1_func.txt index 110bd44e5360..72814f5d038f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_alloc_info_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_alloc_info_1_func.txt @@ -1,5 +1,5 @@ -  alloc_info/1 +  alloc_info(Allocs) The documentation for alloc_info/1 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_alloc_sizes_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_alloc_sizes_1_func.txt index e2abffaa6e50..99f781495b4c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_alloc_sizes_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_alloc_sizes_1_func.txt @@ -1,5 +1,5 @@ -  alloc_sizes/1 +  alloc_sizes(Allocs) The documentation for alloc_sizes/1 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_and_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_and_2_func.txt index 820cf8347533..b10acf163021 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_and_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_and_2_func.txt @@ -1,5 +1,5 @@ -  'and'/2 + -spec 'and'(boolean(), boolean()) -> boolean(). The documentation for 'and'/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_any_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_any_0_type.txt index 99d9f7affa8a..f9ade7f8d55d 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_any_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_any_0_type.txt @@ -1,4 +1,4 @@ -type any() :: any(). - All possible Erlang terms. Synonym for term(). + All possible Erlang terms. Synonym for term/0. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_append_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_append_2_func.txt index a65746afaf96..23869fbb055e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_append_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_append_2_func.txt @@ -1,5 +1,6 @@ -  append/2 + -spec append(List, Tail) -> maybe_improper_list() +  when List :: [term()], Tail :: term(). The documentation for append/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_append_element_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_append_element_2_func.txt index 3b3818f9cd51..ecff737cd698 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_append_element_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_append_element_2_func.txt @@ -1,15 +1,18 @@ - -spec erlang:append_element(Tuple1, Term) -> Tuple2 -  when -  Tuple1 :: tuple(), -  Tuple2 :: tuple(), -  Term :: term(). + -spec append_element(Tuple1, Term) -> Tuple2 +  when +  Tuple1 :: tuple(), +  Tuple2 :: tuple(), +  Term :: term(). Returns a new tuple that has one element more than Tuple1, and contains the elements in Tuple1 followed by Term as the last - element. Semantically equivalent to  - list_to_tuple(tuple_to_list(Tuple1) ++ [Term]), but much faster. - Example: + element. + + Semantically equivalent to list_to_tuple(tuple_to_list(Tuple1) ++ + [Term]), but much faster. + + For example: > erlang:append_element({one, two}, three). {one,two,three} diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_apply_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_apply_2_func.txt index 0f9f5314d1af..0529e4336a54 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_apply_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_apply_2_func.txt @@ -7,7 +7,8 @@ If the number of elements in the arguments are known at compile time, the call is better written as Fun(Arg1, Arg2, ... ArgN). - Warning: + Warning + Earlier, Fun could also be specified as {Module, Function}, equivalent to apply(Module, Function, Args). This use is deprecated and will stop working in a future release. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_apply_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_apply_3_func.txt index 6cfe2edfff75..1f41a336944e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_apply_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_apply_3_func.txt @@ -7,7 +7,9 @@ Returns the result of applying Function in Module to Args. The applied function must be exported from Module. The arity of - the function is the length of Args. Example: + the function is the length of Args. + + For example: > apply(lists, reverse, [[a, b, c]]). [c,b,a] diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_apply_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_apply_func.txt index cb3090978193..53b93f2a5989 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_apply_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_apply_func.txt @@ -7,7 +7,8 @@ If the number of elements in the arguments are known at compile time, the call is better written as Fun(Arg1, Arg2, ... ArgN). - Warning: + Warning + Earlier, Fun could also be specified as {Module, Function}, equivalent to apply(Module, Function, Args). This use is deprecated and will stop working in a future release. @@ -20,7 +21,9 @@ Returns the result of applying Function in Module to Args. The applied function must be exported from Module. The arity of - the function is the length of Args. Example: + the function is the length of Args. + + For example: > apply(lists, reverse, [[a, b, c]]). [c,b,a] 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 71413f11a8a5..185ee54d6aa5 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 @@ -5,12 +5,14 @@  Encoding :: latin1 | unicode | utf8. Returns a binary corresponding to the text representation of Atom. + If Encoding is latin1, one byte exists for each character in the text representation. If Encoding is utf8 or unicode, the characters are encoded using UTF-8 where characters may require multiple bytes. - Change: + 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_atom_to_binary_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_atom_to_binary_func.txt index dfbd89ce8bd5..3426b21f9a39 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_atom_to_binary_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_atom_to_binary_func.txt @@ -4,7 +4,7 @@ Since: OTP 23.0 - The same as atom_to_binary (Atom, utf8). + There is no documentation for atom_to_binary(Atom, utf8) -spec atom_to_binary(Atom, Encoding) -> binary()  when @@ -12,12 +12,14 @@  Encoding :: latin1 | unicode | utf8. Returns a binary corresponding to the text representation of Atom. + If Encoding is latin1, one byte exists for each character in the text representation. If Encoding is utf8 or unicode, the characters are encoded using UTF-8 where characters may require multiple bytes. - Change: + 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_atom_to_list_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_atom_to_list_1_func.txt index b7000d23c951..3b77d270f806 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_atom_to_list_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_atom_to_list_1_func.txt @@ -2,7 +2,9 @@ -spec atom_to_list(Atom) -> string() when Atom :: atom(). Returns a list of unicode code points corresponding to the text - representation of Atom, for example: + representation of Atom. + + For example: > atom_to_list('Erlang'). "Erlang" @@ -10,5 +12,5 @@ > atom_to_list('你好'). [20320,22909] - See unicode(3) for how to convert the resulting list to - different formats. + See unicode for how to convert the resulting list to different + formats. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_band_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_band_2_func.txt index f3781ac0e0bc..966802c05b84 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_band_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_band_2_func.txt @@ -1,5 +1,5 @@ -  'band'/2 + -spec 'band'(integer(), integer()) -> integer(). The documentation for 'band'/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_binary_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_0_type.txt index 25e2353a9a67..7e3ea8d3f380 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_0_type.txt @@ -1,5 +1,4 @@ -type binary() :: <<_:_*8>>. - An Erlang binary, that is, a bitstring with a size divisible by - 8. + An Erlang binary, that is, a bitstring with a size divisible by 8. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_part_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_part_2_func.txt index 75fa9f4fec03..dc6591bcb61b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_part_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_part_2_func.txt @@ -12,7 +12,9 @@ Extracts the part of the binary described by PosLen. Negative length can be used to extract bytes at the end of a - binary, for example: + binary. + + For example: 1> Bin = <<1,2,3,4,5,6,7,8,9,10>>. 2> binary_part(Bin,{byte_size(Bin), -5}). @@ -27,6 +29,4 @@ 2> binary_part(Bin,{0,2}). <<1,2>> - For details about the PosLen semantics, see binary(3). - - Allowed in guard tests. + For details about the PosLen semantics, see binary. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_part_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_part_func.txt index 7ba1616b4ab1..3b2cbb4553a4 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_part_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_part_func.txt @@ -12,7 +12,9 @@ Extracts the part of the binary described by PosLen. Negative length can be used to extract bytes at the end of a - binary, for example: + binary. + + For example: 1> Bin = <<1,2,3,4,5,6,7,8,9,10>>. 2> binary_part(Bin,{byte_size(Bin), -5}). @@ -27,9 +29,7 @@ 2> binary_part(Bin,{0,2}). <<1,2>> - For details about the PosLen semantics, see binary(3). - - Allowed in guard tests. + For details about the PosLen semantics, see binary. -spec binary_part(Subject, Start, Length) -> binary()  when @@ -40,6 +40,5 @@ Since: OTP R14B - The same as binary_part(Subject, {Start, Length}). - - Allowed in guard tests. + There is no documentation for binary_part(Subject, {Start, + Length}) 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 1c6454304b77..e9ce23de064b 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,22 +8,25 @@ Encoding is utf8 or unicode, the binary must contain valid UTF-8 sequences. - Change: + 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. - Note: + Note + The number of characters that are permitted in an atom name is - limited. The default limits can be found in the efficiency - guide (section Advanced). + limited. The default limits can be found in the Efficiency + Guide (section System Limits). + + Note - Note: There is configurable limit on how many atoms that can exist and atoms are not garbage collected. Therefore, it is recommended to consider whether binary_to_existing_atom/2 is a better option than binary_to_atom/2. The default limits - can be found in efficiency guide (section Advanced). + can be found in Efficiency Guide (section System Limits). Examples: diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_atom_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_atom_func.txt index 1b92f9f27ea3..6aa88f726023 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_atom_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_atom_func.txt @@ -4,7 +4,7 @@ Since: OTP 23.0 - The same as binary_to_atom (Binary, utf8). + There is no documentation for binary_to_atom(Binary, utf8) -spec binary_to_atom(Binary, Encoding) -> atom()  when @@ -15,22 +15,25 @@ Encoding is utf8 or unicode, the binary must contain valid UTF-8 sequences. - Change: + 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. - Note: + Note + The number of characters that are permitted in an atom name is - limited. The default limits can be found in the efficiency - guide (section Advanced). + limited. The default limits can be found in the Efficiency + Guide (section System Limits). + + Note - Note: There is configurable limit on how many atoms that can exist and atoms are not garbage collected. Therefore, it is recommended to consider whether binary_to_existing_atom/2 is a better option than binary_to_atom/2. The default limits - can be found in efficiency guide (section Advanced). + can be found in Efficiency Guide (section System Limits). Examples: diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_existing_atom_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_existing_atom_2_func.txt index cc63827b9d09..178f474870b6 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_existing_atom_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_existing_atom_2_func.txt @@ -6,8 +6,8 @@ As binary_to_atom/2, but the atom must exist. - The Erlang system has a configurable limit for the total number - of atoms that can exist, and atoms are not garbage collected. + The Erlang system has a configurable limit for the total number of + atoms that can exist, and atoms are not garbage collected. Therefore, it is not safe to create many atoms from binaries that come from an untrusted source (for example, a file fetched from the Internet), for example, using binary_to_atom/2. This @@ -22,7 +22,8 @@ Failure: badarg if the atom does not exist. - Note: + Note + Note that the compiler may optimize away atoms. For example, the compiler will rewrite atom_to_list(some_atom) to  "some_atom". If that expression is the only mention of the @@ -30,7 +31,8 @@ be created when the module is loaded, and a subsequent call to  binary_to_existing_atom(<<"some_atom">>, utf8) will fail. - Note: + Note + The number of characters that are permitted in an atom name is - limited. The default limits can be found in the efficiency - guide (section Advanced). + limited. The default limits can be found in the Efficiency + Guide (section System Limits). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_existing_atom_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_existing_atom_func.txt index 3036a125c5ba..5d0db2360f0f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_existing_atom_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_existing_atom_func.txt @@ -4,7 +4,8 @@ Since: OTP 23.0 - The same as binary_to_existing_atom (Binary, utf8). + There is no documentation for binary_to_existing_atom(Binary, + utf8) -spec binary_to_existing_atom(Binary, Encoding) -> atom()  when @@ -13,8 +14,8 @@ As binary_to_atom/2, but the atom must exist. - The Erlang system has a configurable limit for the total number - of atoms that can exist, and atoms are not garbage collected. + The Erlang system has a configurable limit for the total number of + atoms that can exist, and atoms are not garbage collected. Therefore, it is not safe to create many atoms from binaries that come from an untrusted source (for example, a file fetched from the Internet), for example, using binary_to_atom/2. This @@ -29,7 +30,8 @@ Failure: badarg if the atom does not exist. - Note: + Note + Note that the compiler may optimize away atoms. For example, the compiler will rewrite atom_to_list(some_atom) to  "some_atom". If that expression is the only mention of the @@ -37,7 +39,8 @@ be created when the module is loaded, and a subsequent call to  binary_to_existing_atom(<<"some_atom">>, utf8) will fail. - Note: + Note + The number of characters that are permitted in an atom name is - limited. The default limits can be found in the efficiency - guide (section Advanced). + limited. The default limits can be found in the Efficiency + Guide (section System Limits). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_float_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_float_1_func.txt index be3db957a854..760bb1d34942 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_float_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_float_1_func.txt @@ -4,14 +4,15 @@ Since: OTP R16B - Returns the float whose text representation is Binary, for - example: + Returns the float whose text representation is Binary. + + For example: > binary_to_float(<<"2.2017764e+0">>). 2.2017764 - The float string format is the same as the format for Erlang - float literals except for that underscores are not permitted. + The float string format is the same as the format for Erlang float + literals except for that underscores are not permitted. Failure: badarg if Binary contains a bad representation of a float. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_integer_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_integer_1_func.txt index c3570665b06c..0311ed68cbb2 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_integer_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_integer_1_func.txt @@ -4,8 +4,9 @@ Since: OTP R16B - Returns an integer whose text representation is Binary, for - example: + Returns an integer whose text representation is Binary. + + For example: > binary_to_integer(<<"123">>). 123 diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_integer_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_integer_2_func.txt index 3828d0b1d179..0b03f6213c7b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_integer_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_integer_2_func.txt @@ -6,7 +6,9 @@ OTP R16B Returns an integer whose text representation in base Base is  - Binary, for example: + Binary. + + For example: > binary_to_integer(<<"3FF">>, 16). 1023 diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_integer_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_integer_func.txt index a9abee24497a..f0a557173c99 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_integer_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_integer_func.txt @@ -4,8 +4,9 @@ Since: OTP R16B - Returns an integer whose text representation is Binary, for - example: + Returns an integer whose text representation is Binary. + + For example: > binary_to_integer(<<"123">>). 123 @@ -23,7 +24,9 @@ OTP R16B Returns an integer whose text representation in base Base is  - Binary, for example: + Binary. + + For example: > binary_to_integer(<<"3FF">>, 16). 1023 diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_list_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_list_3_func.txt index b626bd86d237..6561e982251d 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_list_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_list_3_func.txt @@ -10,7 +10,8 @@ in Binary. The positions in the binary are numbered starting from 1. - Note: + Note + The one-based indexing for binaries used by this function is deprecated. New code is to use binary:bin_to_list/3 in STDLIB instead. All functions in module binary consistently diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_list_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_list_func.txt index 1788f4416a22..f578d44da498 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_list_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_list_func.txt @@ -14,7 +14,8 @@ in Binary. The positions in the binary are numbered starting from 1. - Note: + Note + The one-based indexing for binaries used by this function is deprecated. New code is to use binary:bin_to_list/3 in STDLIB instead. All functions in module binary consistently diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_term_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_term_1_func.txt index 413260f6a8a9..91bfde3fe7c6 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_term_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_term_1_func.txt @@ -10,7 +10,8 @@ > hello = binary_to_term(Bin). hello - Warning: + Warning + When decoding binaries from untrusted sources, the untrusted source may submit data in a way to create resources, such as atoms and remote references, that cannot be garbage collected diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_term_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_term_2_func.txt index 60e6109348c0..e9c45963b2be 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_term_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_term_2_func.txt @@ -9,48 +9,50 @@ Since: OTP R13B04 - As binary_to_term/1, but takes these options: - - safe: - Use this option when receiving binaries from an untrusted - source. - - When enabled, it prevents decoding data that can be used to - attack the Erlang runtime. In the event of receiving unsafe - data, decoding fails with a badarg error. - - This prevents creation of new atoms directly, creation of new - atoms indirectly (as they are embedded in certain structures, - such as process identifiers, refs, and funs), and creation of - new external function references. None of those resources are - garbage collected, so unchecked creation of them can exhaust - available memory. - - > binary_to_term(<<131,100,0,5,"hello">>, [safe]). - ** exception error: bad argument - > hello. - hello - > binary_to_term(<<131,100,0,5,"hello">>, [safe]). - hello - - Warning: - The safe option ensures the data is safely processed by - the Erlang runtime but it does not guarantee the data is - safe to your application. You must always validate data - from untrusted sources. If the binary is stored or - transits through untrusted sources, you should also - consider cryptographically signing it. - - used: - Changes the return value to {Term, Used} where Used is the - number of bytes actually read from Binary. - - > Input = <<131,100,0,5,"hello","world">>. - <<131,100,0,5,104,101,108,108,111,119,111,114,108,100>> - > {Term, Used} = binary_to_term(Input, [used]). - {hello, 9} - > split_binary(Input, Used). - {<<131,100,0,5,104,101,108,108,111>>, <<"world">>} + Equivalent to binary_to_term(Binary), but can be configured to + fit special purposes. + + The allowed options are: + + • safe - Use this option when receiving binaries from an + untrusted source. + + When enabled, it prevents decoding data that can be used to + attack the Erlang runtime. In the event of receiving unsafe + data, decoding fails with a badarg error. + + This prevents creation of new atoms directly, creation of + new atoms indirectly (as they are embedded in certain + structures, such as process identifiers, refs, and funs), + and creation of new external function references. None of + those resources are garbage collected, so unchecked creation + of them can exhaust available memory. + + > binary_to_term(<<131,100,0,5,"hello">>, [safe]). + ** exception error: bad argument + > hello. + hello + > binary_to_term(<<131,100,0,5,"hello">>, [safe]). + hello + + Warning + + The safe option ensures the data is safely processed + by the Erlang runtime but it does not guarantee the data + is safe to your application. You must always validate + data from untrusted sources. If the binary is stored or + transits through untrusted sources, you should also + consider cryptographically signing it. + + • used - Changes the return value to {Term, Used} where  + Used is the number of bytes actually read from Binary. + + > Input = <<131,100,0,5,"hello","world">>. + <<131,100,0,5,104,101,108,108,111,119,111,114,108,100>> + > {Term, Used} = binary_to_term(Input, [used]). + {hello, 9} + > split_binary(Input, Used). + {<<131,100,0,5,104,101,108,108,111>>, <<"world">>} Failure: badarg if safe is specified and unsafe data is decoded. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_term_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_term_func.txt index d9ec9936b008..5fd04de3b38f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_term_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_term_func.txt @@ -10,7 +10,8 @@ > hello = binary_to_term(Bin). hello - Warning: + Warning + When decoding binaries from untrusted sources, the untrusted source may submit data in a way to create resources, such as atoms and remote references, that cannot be garbage collected @@ -29,48 +30,50 @@ Since: OTP R13B04 - As binary_to_term/1, but takes these options: - - safe: - Use this option when receiving binaries from an untrusted - source. - - When enabled, it prevents decoding data that can be used to - attack the Erlang runtime. In the event of receiving unsafe - data, decoding fails with a badarg error. - - This prevents creation of new atoms directly, creation of new - atoms indirectly (as they are embedded in certain structures, - such as process identifiers, refs, and funs), and creation of - new external function references. None of those resources are - garbage collected, so unchecked creation of them can exhaust - available memory. - - > binary_to_term(<<131,100,0,5,"hello">>, [safe]). - ** exception error: bad argument - > hello. - hello - > binary_to_term(<<131,100,0,5,"hello">>, [safe]). - hello - - Warning: - The safe option ensures the data is safely processed by - the Erlang runtime but it does not guarantee the data is - safe to your application. You must always validate data - from untrusted sources. If the binary is stored or - transits through untrusted sources, you should also - consider cryptographically signing it. - - used: - Changes the return value to {Term, Used} where Used is the - number of bytes actually read from Binary. - - > Input = <<131,100,0,5,"hello","world">>. - <<131,100,0,5,104,101,108,108,111,119,111,114,108,100>> - > {Term, Used} = binary_to_term(Input, [used]). - {hello, 9} - > split_binary(Input, Used). - {<<131,100,0,5,104,101,108,108,111>>, <<"world">>} + Equivalent to binary_to_term(Binary), but can be configured to + fit special purposes. + + The allowed options are: + + • safe - Use this option when receiving binaries from an + untrusted source. + + When enabled, it prevents decoding data that can be used to + attack the Erlang runtime. In the event of receiving unsafe + data, decoding fails with a badarg error. + + This prevents creation of new atoms directly, creation of + new atoms indirectly (as they are embedded in certain + structures, such as process identifiers, refs, and funs), + and creation of new external function references. None of + those resources are garbage collected, so unchecked creation + of them can exhaust available memory. + + > binary_to_term(<<131,100,0,5,"hello">>, [safe]). + ** exception error: bad argument + > hello. + hello + > binary_to_term(<<131,100,0,5,"hello">>, [safe]). + hello + + Warning + + The safe option ensures the data is safely processed + by the Erlang runtime but it does not guarantee the data + is safe to your application. You must always validate + data from untrusted sources. If the binary is stored or + transits through untrusted sources, you should also + consider cryptographically signing it. + + • used - Changes the return value to {Term, Used} where  + Used is the number of bytes actually read from Binary. + + > Input = <<131,100,0,5,"hello","world">>. + <<131,100,0,5,104,101,108,108,111,119,111,114,108,100>> + > {Term, Used} = binary_to_term(Input, [used]). + {hello, 9} + > split_binary(Input, Used). + {<<131,100,0,5,104,101,108,108,111>>, <<"world">>} Failure: badarg if safe is specified and unsafe data is decoded. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bit_size_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bit_size_1_func.txt index 63125879d08d..cc59db1832b2 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bit_size_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bit_size_1_func.txt @@ -2,12 +2,11 @@ -spec bit_size(Bitstring) -> non_neg_integer()  when Bitstring :: bitstring(). - Returns an integer that is the size in bits of Bitstring, for - example: + Returns an integer that is the size in bits of Bitstring. + + For example: > bit_size(<<433:16,3:3>>). 19 > bit_size(<<1,2,3>>). 24 - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bitstring_to_list_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bitstring_to_list_1_func.txt index 9a81e805d3e2..aaa02cf029a8 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bitstring_to_list_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bitstring_to_list_1_func.txt @@ -3,9 +3,13 @@  when Bitstring :: bitstring(). Returns a list of integers corresponding to the bytes of  - Bitstring. If the number of bits in the binary is not divisible - by 8, the last element of the list is a bitstring containing the - remaining 1-7 bits. Examples: + Bitstring. + + If the number of bits in the binary is not divisible by 8, the + last element of the list is a bitstring containing the remaining + 1-7 bits. + + For example: > bitstring_to_list(<<433:16>>). [1,177] diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bnot_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bnot_1_func.txt index 7fb3acadcccf..b9420ce7fd23 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bnot_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bnot_1_func.txt @@ -1,5 +1,5 @@ -  'bnot'/1 + -spec 'bnot'(integer()) -> integer(). The documentation for 'bnot'/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/unknown_erlang_bool_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bool_0_type.txt new file mode 100644 index 000000000000..778d19b225ae --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bool_0_type.txt @@ -0,0 +1,5 @@ + + -type bool() :: boolean(). + + The documentation for bool/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/unknown_erlang_bor_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bor_2_func.txt index 698de2bfe3b3..7c4373c35983 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bor_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bor_2_func.txt @@ -1,5 +1,5 @@ -  'bor'/2 + -spec 'bor'(integer(), integer()) -> integer(). The documentation for 'bor'/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_bsl_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bsl_2_func.txt index 65b26f4c0398..b33c0b7c8da4 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bsl_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bsl_2_func.txt @@ -1,5 +1,5 @@ -  'bsl'/2 + -spec 'bsl'(integer(), integer()) -> integer(). The documentation for 'bsl'/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_bsr_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bsr_2_func.txt index 6b6849672f79..17b92661bc98 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bsr_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bsr_2_func.txt @@ -1,5 +1,5 @@ -  'bsr'/2 + -spec 'bsr'(integer(), integer()) -> integer(). The documentation for 'bsr'/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_bump_reductions_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bump_reductions_1_func.txt index d76a28bfad4d..a18589a59874 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bump_reductions_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bump_reductions_1_func.txt @@ -1,15 +1,18 @@ - -spec erlang:bump_reductions(Reductions) -> true -  when Reductions :: pos_integer(). + -spec bump_reductions(Reductions) -> true +  when Reductions :: pos_integer(). This implementation-dependent function increments the reduction - counter for the calling process. In the Beam emulator, the - reduction counter is normally incremented by one for each function - and BIF call. A context switch is forced when the counter reaches - the maximum number of reductions for a process (4000 reductions in - Erlang/OTP 19.2 and later). + counter for the calling process. + + In the Beam emulator, the reduction counter is normally + incremented by one for each function and BIF call. A context + switch is forced when the counter reaches the maximum number of + reductions for a process (4000 reductions in Erlang/OTP 19.2 and + later). + + Warning - Warning: This BIF can be removed in a future version of the Beam machine without prior warning. It is unlikely to be implemented in other Erlang implementations. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bxor_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bxor_2_func.txt index 76aa3fbe7e5b..efd9c697fe75 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bxor_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_bxor_2_func.txt @@ -1,5 +1,5 @@ -  'bxor'/2 + -spec 'bxor'(integer(), integer()) -> integer(). The documentation for 'bxor'/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_byte_size_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_byte_size_1_func.txt index ade11f555f50..873a8e517f63 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_byte_size_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_byte_size_1_func.txt @@ -5,11 +5,10 @@ Returns an integer that is the number of bytes needed to contain  Bitstring. That is, if the number of bits in Bitstring is not divisible by 8, the resulting number of bytes is rounded up. - Examples: + + For example: > byte_size(<<433:16,3:3>>). 3 > byte_size(<<1,2,3>>). 3 - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_call_on_load_function_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_call_on_load_function_1_func.txt index abf49640cc84..6a83de09def7 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_call_on_load_function_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_call_on_load_function_1_func.txt @@ -1,5 +1,5 @@ -  call_on_load_function/1 + -spec call_on_load_function(P1) -> term() when P1 :: atom(). The documentation for call_on_load_function/1 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_cancel_timer_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_cancel_timer_2_func.txt index 278121208872..b5c982742a58 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_cancel_timer_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_cancel_timer_2_func.txt @@ -1,13 +1,13 @@ - -spec erlang:cancel_timer(TimerRef, Options) -> Result | ok -  when -  TimerRef :: reference(), -  Async :: boolean(), -  Info :: boolean(), -  Option :: {async, Async} | {info, Info}, -  Options :: [Option], -  Time :: non_neg_integer(), -  Result :: Time | false. + -spec cancel_timer(TimerRef, Options) -> Result | ok +  when +  TimerRef :: reference(), +  Async :: boolean(), +  Info :: boolean(), +  Option :: {async, Async} | {info, Info}, +  Options :: [Option], +  Time :: non_neg_integer(), +  Result :: Time | false. Since: OTP 18.0 @@ -18,30 +18,28 @@ Options: - {async, Async}: - Asynchronous request for cancellation. Async defaults to  - false, which causes the cancellation to be performed - synchronously. When Async is set to true, the cancel - operation is performed asynchronously. That is,  - cancel_timer() sends an asynchronous request for cancellation - to the timer service that manages the timer, and then returns  - ok. + • {async, Async} - Asynchronous request for cancellation.  + Async defaults to false, which causes the cancellation to + be performed synchronously. When Async is set to true, + the cancel operation is performed asynchronously. That is,  + cancel_timer() sends an asynchronous request for + cancellation to the timer service that manages the timer, + and then returns ok. - {info, Info}: - Requests information about the Result of the cancellation.  - Info defaults to true, which means the Result is given. - When Info is set to false, no information about the result - of the cancellation is given. + • {info, Info} - Requests information about the Result of + the cancellation. Info defaults to true, which means the  + Result is given. When Info is set to false, no + information about the result of the cancellation is given. - • When Async is false: if Info is true, the  - Result is returned by erlang:cancel_timer(). - otherwise ok is returned. + ○ When Async is false: if Info is true, the  + Result is returned by erlang:cancel_timer(). + otherwise ok is returned. - • When Async is true: if Info is true, a message - on the form {cancel_timer, TimerRef, Result} is sent - to the caller of erlang:cancel_timer() when the - cancellation operation has been performed, otherwise no - message is sent. + ○ When Async is true: if Info is true, a message + on the form {cancel_timer, TimerRef, Result} is sent + to the caller of erlang:cancel_timer() when the + cancellation operation has been performed, otherwise + no message is sent. More Options may be added in the future. @@ -55,7 +53,8 @@ not tell you if the time-out message has arrived at its destination yet. - Note: + Note + The timer service that manages the timer can be co-located with another scheduler than the scheduler that the calling process is executing on. If so, communication with the timer diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_cancel_timer_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_cancel_timer_func.txt index c9873c2926c9..e9e5cc3f53d1 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_cancel_timer_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_cancel_timer_func.txt @@ -1,22 +1,21 @@ - -spec erlang:cancel_timer(TimerRef) -> Result -  when -  TimerRef :: reference(), -  Time :: non_neg_integer(), -  Result :: Time | false. - - Cancels a timer. The same as calling  - erlang:cancel_timer(TimerRef, []). - - -spec erlang:cancel_timer(TimerRef, Options) -> Result | ok -  when -  TimerRef :: reference(), -  Async :: boolean(), -  Info :: boolean(), -  Option :: {async, Async} | {info, Info}, -  Options :: [Option], -  Time :: non_neg_integer(), -  Result :: Time | false. + -spec cancel_timer(TimerRef) -> Result +  when +  TimerRef :: reference(), +  Time :: non_neg_integer(), +  Result :: Time | false. + + There is no documentation for erlang:cancel_timer(TimerRef, []) + + -spec cancel_timer(TimerRef, Options) -> Result | ok +  when +  TimerRef :: reference(), +  Async :: boolean(), +  Info :: boolean(), +  Option :: {async, Async} | {info, Info}, +  Options :: [Option], +  Time :: non_neg_integer(), +  Result :: Time | false. Since: OTP 18.0 @@ -27,30 +26,28 @@ Options: - {async, Async}: - Asynchronous request for cancellation. Async defaults to  - false, which causes the cancellation to be performed - synchronously. When Async is set to true, the cancel - operation is performed asynchronously. That is,  - cancel_timer() sends an asynchronous request for cancellation - to the timer service that manages the timer, and then returns  - ok. - - {info, Info}: - Requests information about the Result of the cancellation.  - Info defaults to true, which means the Result is given. - When Info is set to false, no information about the result - of the cancellation is given. - - • When Async is false: if Info is true, the  - Result is returned by erlang:cancel_timer(). - otherwise ok is returned. - - • When Async is true: if Info is true, a message - on the form {cancel_timer, TimerRef, Result} is sent - to the caller of erlang:cancel_timer() when the - cancellation operation has been performed, otherwise no - message is sent. + • {async, Async} - Asynchronous request for cancellation.  + Async defaults to false, which causes the cancellation to + be performed synchronously. When Async is set to true, + the cancel operation is performed asynchronously. That is,  + cancel_timer() sends an asynchronous request for + cancellation to the timer service that manages the timer, + and then returns ok. + + • {info, Info} - Requests information about the Result of + the cancellation. Info defaults to true, which means the  + Result is given. When Info is set to false, no + information about the result of the cancellation is given. + + ○ When Async is false: if Info is true, the  + Result is returned by erlang:cancel_timer(). + otherwise ok is returned. + + ○ When Async is true: if Info is true, a message + on the form {cancel_timer, TimerRef, Result} is sent + to the caller of erlang:cancel_timer() when the + cancellation operation has been performed, otherwise + no message is sent. More Options may be added in the future. @@ -64,7 +61,8 @@ not tell you if the time-out message has arrived at its destination yet. - Note: + Note + The timer service that manages the timer can be co-located with another scheduler than the scheduler that the calling process is executing on. If so, communication with the timer diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_ceil_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_ceil_1_func.txt index 9bda9842e2c3..1d16ee7b1db8 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_ceil_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_ceil_1_func.txt @@ -4,9 +4,9 @@ Since: OTP 20.0 - Returns the smallest integer not less than Number. For example: + Returns the smallest integer not less than Number. + + For example: > ceil(5.5). 6 - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_char_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_char_0_type.txt index e0c2f2333f80..1f963874dc62 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_char_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_char_0_type.txt @@ -1,5 +1,5 @@ -type char() :: 0..1114111. - An ASCII character or a unicode codepoint presented by an + An ASCII character or a unicode codepoint presented by an integer. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_check_old_code_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_check_old_code_1_func.txt index 9e8e3ccabcbb..82db4e1a576a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_check_old_code_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_check_old_code_1_func.txt @@ -6,4 +6,4 @@ Returns true if Module has old code, otherwise false. - See also code(3). + See also code. 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 c0e6da2c317f..2389d27a05ca 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 @@ -18,22 +18,20 @@ Options: - {allow_gc, boolean()}: - Determines if garbage collection is allowed when performing - the operation. If {allow_gc, false} is passed, and a garbage - collection is needed to determine the result of the operation, - the operation is aborted (see information on CheckResult - below). The default is to allow garbage collection, that is,  - {allow_gc, true}. - - {async, RequestId}: - The function check_process_code/3 returns the value async - immediately after the request has been sent. When the request - has been processed, the process that called this function is - passed a message on the form {check_process_code, RequestId, - CheckResult}. - - If Pid equals self(), and no async option has been passed, + • {allow_gc, boolean()} - Determines if garbage collection is + allowed when performing the operation. If {allow_gc, false} + is passed, and a garbage collection is needed to determine + the result of the operation, the operation is aborted (see + information on CheckResult below). The default is to allow + garbage collection, that is, {allow_gc, true}. + + • {async, RequestId} - The function check_process_code/3 + returns the value async immediately after the request has + been sent. When the request has been processed, the process + that called this function is passed a message on the form  + {check_process_code, RequestId, CheckResult}. + + If Pid equals self/0, and no async option has been passed, the operation is performed at once. Otherwise a request for the operation is sent to the process identified by Pid, and is handled when appropriate. If no async option has been passed, @@ -42,49 +40,43 @@ CheckResult informs about the result of the request as follows: - true: - The process identified by Pid executes old code for Module. - That is, the current call of the process executes old code for - this module, or the process has references to old code for - this module, or the process contains funs that references old - code for this module. + • true - The process identified by Pid executes old code + for Module. That is, the current call of the process + executes old code for this module, or the process has + references to old code for this module, or the process + contains funs that references old code for this module. - false: - The process identified by Pid does not execute old code for  - Module. + • false - The process identified by Pid does not execute + old code for Module. - aborted: - The operation was aborted, as the process needed to be garbage - collected to determine the operation result, and the operation - was requested by passing option {allow_gc, false}. + • aborted - The operation was aborted, as the process needed + to be garbage collected to determine the operation result, + and the operation was requested by passing option  + {allow_gc, false}. + + Change - 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 stack), indirect references (funs in process context), and - references to literals in the code. - - As of ERTS version 9.0, the check process code operation only - checks for direct references to the code. Indirect references - via funs will be ignored. If such funs exist and are used - after a purge of the old code, an exception will be raised - upon usage (same as the case when the fun is received by the - process after the purge). Literals will be taken care of - (copied) at a later stage. This behavior can as of ERTS - version 8.1 be enabled when building OTP, and will - automatically be enabled if dirty scheduler support is - enabled. - - See also code(3). + references to literals in the code. As of ERTS version 9.0, + the check process code operation only checks for direct + references to the code. Indirect references via funs will be + ignored. If such funs exist and are used after a purge of + the old code, an exception will be raised upon usage (same as + the case when the fun is received by the process after the + purge). Literals will be taken care of (copied) at a later + stage. This behavior can as of ERTS version 8.1 be enabled + when building OTP, and will automatically be enabled if dirty + scheduler support is enabled. + + See also code. Failures: - badarg: - If Pid is not a node local process identifier. + • badarg - If Pid is not a node local process identifier. - badarg: - If Module is not an atom. + • badarg - If Module is not an atom. - badarg: - If OptionList is an invalid list of options. + • badarg - If OptionList is an invalid list of options. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_check_process_code_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_check_process_code_func.txt index 16ac232181ae..c2e3038e1a39 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_check_process_code_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_check_process_code_func.txt @@ -5,7 +5,7 @@  Module :: module(),  CheckResult :: boolean(). - The same as check_process_code(Pid, Module, []) . + There is no documentation for check_process_code(Pid, Module, []) -spec check_process_code(Pid, Module, OptionList) -> CheckResult | async  when @@ -26,22 +26,20 @@ Options: - {allow_gc, boolean()}: - Determines if garbage collection is allowed when performing - the operation. If {allow_gc, false} is passed, and a garbage - collection is needed to determine the result of the operation, - the operation is aborted (see information on CheckResult - below). The default is to allow garbage collection, that is,  - {allow_gc, true}. - - {async, RequestId}: - The function check_process_code/3 returns the value async - immediately after the request has been sent. When the request - has been processed, the process that called this function is - passed a message on the form {check_process_code, RequestId, - CheckResult}. - - If Pid equals self(), and no async option has been passed, + • {allow_gc, boolean()} - Determines if garbage collection is + allowed when performing the operation. If {allow_gc, false} + is passed, and a garbage collection is needed to determine + the result of the operation, the operation is aborted (see + information on CheckResult below). The default is to allow + garbage collection, that is, {allow_gc, true}. + + • {async, RequestId} - The function check_process_code/3 + returns the value async immediately after the request has + been sent. When the request has been processed, the process + that called this function is passed a message on the form  + {check_process_code, RequestId, CheckResult}. + + If Pid equals self/0, and no async option has been passed, the operation is performed at once. Otherwise a request for the operation is sent to the process identified by Pid, and is handled when appropriate. If no async option has been passed, @@ -50,49 +48,43 @@ CheckResult informs about the result of the request as follows: - true: - The process identified by Pid executes old code for Module. - That is, the current call of the process executes old code for - this module, or the process has references to old code for - this module, or the process contains funs that references old - code for this module. + • true - The process identified by Pid executes old code + for Module. That is, the current call of the process + executes old code for this module, or the process has + references to old code for this module, or the process + contains funs that references old code for this module. + + • false - The process identified by Pid does not execute + old code for Module. - false: - The process identified by Pid does not execute old code for  - Module. + • aborted - The operation was aborted, as the process needed + to be garbage collected to determine the operation result, + and the operation was requested by passing option  + {allow_gc, false}. - aborted: - The operation was aborted, as the process needed to be garbage - collected to determine the operation result, and the operation - was requested by passing option {allow_gc, false}. + Change - 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 stack), indirect references (funs in process context), and - references to literals in the code. - - As of ERTS version 9.0, the check process code operation only - checks for direct references to the code. Indirect references - via funs will be ignored. If such funs exist and are used - after a purge of the old code, an exception will be raised - upon usage (same as the case when the fun is received by the - process after the purge). Literals will be taken care of - (copied) at a later stage. This behavior can as of ERTS - version 8.1 be enabled when building OTP, and will - automatically be enabled if dirty scheduler support is - enabled. - - See also code(3). + references to literals in the code. As of ERTS version 9.0, + the check process code operation only checks for direct + references to the code. Indirect references via funs will be + ignored. If such funs exist and are used after a purge of + the old code, an exception will be raised upon usage (same as + the case when the fun is received by the process after the + purge). Literals will be taken care of (copied) at a later + stage. This behavior can as of ERTS version 8.1 be enabled + when building OTP, and will automatically be enabled if dirty + scheduler support is enabled. + + See also code. Failures: - badarg: - If Pid is not a node local process identifier. + • badarg - If Pid is not a node local process identifier. - badarg: - If Module is not an atom. + • badarg - If Module is not an atom. - badarg: - If OptionList is an invalid list of options. + • badarg - If OptionList is an invalid list of options. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_convert_time_unit_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_convert_time_unit_3_func.txt index 33f0b549cb7a..5b26d4bb72de 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_convert_time_unit_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_convert_time_unit_3_func.txt @@ -1,19 +1,20 @@ - -spec erlang:convert_time_unit(Time, FromUnit, ToUnit) -> ConvertedTime -  when -  Time :: integer(), -  ConvertedTime :: integer(), -  FromUnit :: time_unit(), -  ToUnit :: time_unit(). + -spec convert_time_unit(Time, FromUnit, ToUnit) -> ConvertedTime +  when +  Time :: integer(), +  ConvertedTime :: integer(), +  FromUnit :: time_unit(), +  ToUnit :: time_unit(). Since: OTP 18.0 Converts the Time value of time unit FromUnit to the corresponding ConvertedTime value of time unit ToUnit. The - result is rounded using the floor function. + result is rounded using the floor/1 function. + + Warning - Warning: You can lose accuracy and precision when converting between time units. To minimize such loss, collect all data at native time unit and do the conversion on the end result. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_cpu_topology_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_cpu_topology_0_type.txt new file mode 100644 index 000000000000..efe8941d5ed6 --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_cpu_topology_0_type.txt @@ -0,0 +1,21 @@ + + -type cpu_topology() :: [LevelEntry :: level_entry()] | undefined. + + The current cpu topology. + + 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. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_crc32_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_crc32_1_func.txt index 68a14fae81a6..704e98c762c7 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_crc32_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_crc32_1_func.txt @@ -1,5 +1,5 @@ - -spec erlang:crc32(Data) -> non_neg_integer() when Data :: iodata(). + -spec crc32(Data) -> non_neg_integer() when Data :: iodata(). Computes and returns the crc32 (IEEE 802.3 style) checksum for  Data. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_crc32_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_crc32_2_func.txt index b631d37cb42d..5f06b16c0f55 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_crc32_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_crc32_2_func.txt @@ -1,6 +1,6 @@ - -spec erlang:crc32(OldCrc, Data) -> non_neg_integer() -  when OldCrc :: non_neg_integer(), Data :: iodata(). + -spec crc32(OldCrc, Data) -> non_neg_integer() +  when OldCrc :: non_neg_integer(), Data :: iodata(). Continues computing the crc32 checksum by combining the previous checksum, OldCrc, with the checksum of Data. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_crc32_combine_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_crc32_combine_3_func.txt index 245c25e60262..e9930df27116 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_crc32_combine_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_crc32_combine_3_func.txt @@ -1,14 +1,15 @@ - -spec erlang:crc32_combine(FirstCrc, SecondCrc, SecondSize) -> -  non_neg_integer() -  when -  FirstCrc :: non_neg_integer(), -  SecondCrc :: non_neg_integer(), -  SecondSize :: non_neg_integer(). + -spec crc32_combine(FirstCrc, SecondCrc, SecondSize) -> +  non_neg_integer() +  when +  FirstCrc :: non_neg_integer(), +  SecondCrc :: non_neg_integer(), +  SecondSize :: non_neg_integer(). - Combines two previously computed crc32 checksums. This computation - requires the size of the data object for the second checksum to be - known. + Combines two previously computed crc32 checksums. + + This computation requires the size of the data object for the + second checksum to be known. The following code: diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_crc32_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_crc32_func.txt index ad6013e44acb..3c1b67e78d62 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_crc32_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_crc32_func.txt @@ -1,11 +1,11 @@ - -spec erlang:crc32(Data) -> non_neg_integer() when Data :: iodata(). + -spec crc32(Data) -> non_neg_integer() when Data :: iodata(). Computes and returns the crc32 (IEEE 802.3 style) checksum for  Data. - -spec erlang:crc32(OldCrc, Data) -> non_neg_integer() -  when OldCrc :: non_neg_integer(), Data :: iodata(). + -spec crc32(OldCrc, Data) -> non_neg_integer() +  when OldCrc :: non_neg_integer(), Data :: iodata(). Continues computing the crc32 checksum by combining the previous checksum, OldCrc, with the checksum of Data. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_date_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_date_0_func.txt index 97b1140996b3..0db2d75f559a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_date_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_date_0_func.txt @@ -5,7 +5,8 @@ The time zone and Daylight Saving Time correction depend on the underlying OS. The return value is based on the OS System Time. - Example: + + For example: > date(). {1995,2,19} 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 ce97517bf3b9..2f051e6515e0 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 @@ -1,97 +1,83 @@ - -spec erlang:decode_packet(Type, Bin, Options) -> -  {ok, Packet, Rest} | -  {more, Length} | -  {error, Reason} -  when -  Type :: -  raw | 0 | 1 | 2 | 4 | asn1 | cdr | -  sunrm | fcgi | tpkt | line | -  http | http_bin | httph | -  httph_bin, -  Bin :: binary(), -  Options :: [Opt], -  Opt :: -  {packet_size, non_neg_integer()} | -  {line_length, non_neg_integer()}, -  Packet :: binary() | HttpPacket, -  Rest :: binary(), -  Length :: -  non_neg_integer() | undefined, -  Reason :: term(), -  HttpPacket :: -  HttpRequest | HttpResponse | -  HttpHeader | http_eoh | HttpError, -  HttpRequest :: -  {http_request, HttpMethod, -  HttpUri, HttpVersion}, -  HttpResponse :: -  {http_response, HttpVersion, -  integer(), -  HttpString}, -  HttpHeader :: -  {http_header, -  integer(), -  HttpField, -  UnmodifiedField :: HttpString, -  Value :: HttpString}, -  HttpError :: {http_error, HttpString}, -  HttpMethod :: -  'OPTIONS' | 'GET' | 'HEAD' | -  'POST' | 'PUT' | 'DELETE' | -  'TRACE' | HttpString, -  HttpUri :: -  '*' | -  {absoluteURI, -  http | https, -  Host :: HttpString, -  Port :: -  inet:port_number() | -  undefined, -  Path :: HttpString} | -  {scheme, -  Scheme :: HttpString, -  HttpString} | -  {abs_path, HttpString} | -  HttpString, -  HttpVersion :: -  {Major :: non_neg_integer(), -  Minor :: non_neg_integer()}, -  HttpField :: -  'Cache-Control' | 'Connection' | -  'Date' | 'Pragma' | -  'Transfer-Encoding' | 'Upgrade' | -  'Via' | 'Accept' | -  'Accept-Charset' | -  'Accept-Encoding' | -  'Accept-Language' | -  'Authorization' | 'From' | -  'Host' | 'If-Modified-Since' | -  'If-Match' | 'If-None-Match' | -  'If-Range' | -  'If-Unmodified-Since' | -  'Max-Forwards' | -  'Proxy-Authorization' | 'Range' | -  'Referer' | 'User-Agent' | 'Age' | -  'Location' | -  'Proxy-Authenticate' | 'Public' | -  'Retry-After' | 'Server' | -  'Vary' | 'Warning' | -  'Www-Authenticate' | 'Allow' | -  'Content-Base' | -  'Content-Encoding' | -  'Content-Language' | -  'Content-Length' | -  'Content-Location' | -  'Content-Md5' | 'Content-Range' | -  'Content-Type' | 'Etag' | -  'Expires' | 'Last-Modified' | -  'Accept-Ranges' | 'Set-Cookie' | -  'Set-Cookie2' | -  'X-Forwarded-For' | 'Cookie' | -  'Keep-Alive' | -  'Proxy-Connection' | HttpString, -  HttpString :: string() | binary(). + -spec decode_packet(Type, Bin, Options) -> +  {ok, Packet, Rest} | +  {more, Length} | +  {error, Reason} +  when +  Type :: +  raw | 0 | 1 | 2 | 4 | asn1 | cdr | +  sunrm | fcgi | tpkt | line | http | +  http_bin | httph | httph_bin, +  Bin :: binary(), +  Options :: [Opt], +  Opt :: +  {packet_size, non_neg_integer()} | +  {line_length, non_neg_integer()}, +  Packet :: binary() | HttpPacket, +  Rest :: binary(), +  Length :: non_neg_integer() | undefined, +  Reason :: term(), +  HttpPacket :: +  HttpRequest | HttpResponse | HttpHeader | +  http_eoh | HttpError, +  HttpRequest :: +  {http_request, HttpMethod, HttpUri, +  HttpVersion}, +  HttpResponse :: +  {http_response, HttpVersion, +  integer(), +  HttpString}, +  HttpHeader :: +  {http_header, +  integer(), +  HttpField, +  UnmodifiedField :: HttpString, +  Value :: HttpString}, +  HttpError :: {http_error, HttpString}, +  HttpMethod :: +  'OPTIONS' | 'GET' | 'HEAD' | 'POST' | +  'PUT' | 'DELETE' | 'TRACE' | HttpString, +  HttpUri :: +  '*' | +  {absoluteURI, +  http | https, +  Host :: HttpString, +  Port :: inet:port_number() | undefined, +  Path :: HttpString} | +  {scheme, +  Scheme :: HttpString, +  HttpString} | +  {abs_path, HttpString} | +  HttpString, +  HttpVersion :: +  {Major :: non_neg_integer(), +  Minor :: non_neg_integer()}, +  HttpField :: +  'Cache-Control' | 'Connection' | 'Date' | +  'Pragma' | 'Transfer-Encoding' | +  'Upgrade' | 'Via' | 'Accept' | +  'Accept-Charset' | 'Accept-Encoding' | +  'Accept-Language' | 'Authorization' | +  'From' | 'Host' | 'If-Modified-Since' | +  'If-Match' | 'If-None-Match' | +  'If-Range' | 'If-Unmodified-Since' | +  'Max-Forwards' | 'Proxy-Authorization' | +  'Range' | 'Referer' | 'User-Agent' | +  'Age' | 'Location' | +  'Proxy-Authenticate' | 'Public' | +  'Retry-After' | 'Server' | 'Vary' | +  'Warning' | 'Www-Authenticate' | +  'Allow' | 'Content-Base' | +  'Content-Encoding' | 'Content-Language' | +  'Content-Length' | 'Content-Location' | +  'Content-Md5' | 'Content-Range' | +  'Content-Type' | 'Etag' | 'Expires' | +  'Last-Modified' | 'Accept-Ranges' | +  'Set-Cookie' | 'Set-Cookie2' | +  'X-Forwarded-For' | 'Cookie' | +  'Keep-Alive' | 'Proxy-Connection' | +  HttpString, +  HttpString :: string() | binary(). Decodes the binary Bin according to the packet protocol specified by Type. Similar to the packet handling done by @@ -110,87 +96,80 @@ Types: - raw | 0: - No packet handling is done. The entire binary is returned - unless it is empty. + • raw | 0 - No packet handling is done. The entire binary is + returned unless it is empty. - 1 | 2 | 4: - Packets consist of a header specifying the number of bytes in - the packet, followed by that number of bytes. The length of - the header can be one, two, or four bytes; the order of the - bytes is big-endian. The header is stripped off when the - packet is returned. + • 1 | 2 | 4 - Packets consist of a header specifying the + number of bytes in the packet, followed by that number of + bytes. The length of the header can be one, two, or four + bytes; the order of the bytes is big-endian. The header is + stripped off when the packet is returned. - line: - A packet is a line-terminated by a delimiter byte, default is - the latin-1 newline character. The delimiter byte is included - in the returned packet unless the line was truncated according - to option line_length. + • line - A packet is a line-terminated by a delimiter byte, + default is the latin-1 newline character. The delimiter byte + is included in the returned packet unless the line was + truncated according to option line_length. - asn1 | cdr | sunrm | fcgi | tpkt: - The header is not stripped off. + • asn1 | cdr | sunrm | fcgi | tpkt - The header is not + stripped off. - The meanings of the packet types are as follows: + The meanings of the packet types are as follows: - asn1 - ASN.1 BER: - + ○ asn1 - ASN.1 BER - sunrm - Sun's RPC encoding: - + ○ sunrm - Sun's RPC encoding - cdr - CORBA (GIOP 1.1): - + ○ cdr - CORBA (GIOP 1.1) - fcgi - Fast CGI: - + ○ fcgi - Fast CGI - tpkt - TPKT format [RFC1006]: - + ○ tpkt - TPKT format [RFC1006] - http | httph | http_bin | httph_bin: - The Hypertext Transfer Protocol. The packets are returned with - the format according to HttpPacket described earlier. A - packet is either a request, a response, a header, or an end of - header mark. Invalid lines are returned as HttpError. + • http | httph | http_bin | httph_bin - The Hypertext + Transfer Protocol. The packets are returned with the format + according to HttpPacket described earlier. A packet is + either a request, a response, a header, or an end of header + mark. Invalid lines are returned as HttpError. - Recognized request methods and header fields are returned as - atoms. Others are returned as strings. Strings of unrecognized - header fields are formatted with only capital letters first - and after hyphen characters, for example, "Sec-Websocket-Key". - Header field names are also returned in UnmodifiedField as - strings, without any conversion or formatting. + Recognized request methods and header fields are returned as + atoms. Others are returned as strings. Strings of + unrecognized header fields are formatted with only capital + letters first and after hyphen characters, for example,  + "Sec-Websocket-Key". Header field names are also returned + in UnmodifiedField as strings, without any conversion or + formatting. - The protocol type http is only to be used for the first line - when an HttpRequest or an HttpResponse is expected. The - following calls are to use httph to get HttpHeaders until  - http_eoh is returned, which marks the end of the headers and - the beginning of any following message body. + The protocol type http is only to be used for the first + line when an HttpRequest or an HttpResponse is expected. + The following calls are to use httph to get HttpHeaders + until http_eoh is returned, which marks the end of the + headers and the beginning of any following message body. - The variants http_bin and httph_bin return strings ( - HttpString) as binaries instead of lists. + 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 . + Since OTP 26.0, Host may be an IPv6 address enclosed in  + [], as defined in RFC2732 . Options: - {packet_size, integer() >= 0}: - Sets the maximum allowed size of the packet body. If the - packet header indicates that the length of the packet is - longer than the maximum allowed length, the packet is - considered invalid. Defaults to 0, which means no size limit. + • {packet_size, integer() >= 0} - Sets the maximum allowed + size of the packet body. If the packet header indicates that + the length of the packet is longer than the maximum allowed + length, the packet is considered invalid. Defaults to 0, + which means no size limit. - {line_length, integer() >= 0}: - For packet type line, lines longer than the indicated length - are truncated. + • {line_length, integer() >= 0} - For packet type line, + lines longer than the indicated length are truncated. - Option line_length also applies to http* packet types as - an alias for option packet_size if packet_size itself is - not set. This use is only intended for backward compatibility. + Option line_length also applies to http* packet types as + an alias for option packet_size if packet_size itself is + not set. This use is only intended for backward + compatibility. - {line_delimiter, 0 =< byte() =< 255}: - For packet type line, sets the delimiting byte. Default is - the latin-1 character $\n. + • {line_delimiter, 0 =< byte() =< 255} - For packet type  + line, sets the delimiting byte. Default is the latin-1 + character $\n. Examples: diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_delay_trap_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_delay_trap_2_func.txt index 6e1f78dcaa4a..8e528858fd7c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_delay_trap_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_delay_trap_2_func.txt @@ -1,5 +1,5 @@ -  delay_trap/2 + -spec delay_trap(Result, timeout()) -> Result. The documentation for delay_trap/2 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_delete_element_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_delete_element_2_func.txt index 2480d49f066f..1431901ec98e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_delete_element_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_delete_element_2_func.txt @@ -1,15 +1,17 @@ - -spec erlang:delete_element(Index, Tuple1) -> Tuple2 -  when -  Index :: pos_integer(), -  Tuple1 :: tuple(), -  Tuple2 :: tuple(). + -spec delete_element(Index, Tuple1) -> Tuple2 +  when +  Index :: pos_integer(), +  Tuple1 :: tuple(), +  Tuple2 :: tuple(). Since: OTP R16B Returns a new tuple with element at Index removed from tuple  - Tuple1, for example: + Tuple1. + + For example: > erlang:delete_element(2, {one, two, three}). {one,three} diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_delete_module_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_delete_module_1_func.txt index 4cbce1c5d0df..221cd8e547d8 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_delete_module_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_delete_module_1_func.txt @@ -5,8 +5,9 @@ all references for this module from the export table. Returns  undefined if the module does not exist, otherwise true. - Warning: - This BIF is intended for the code server (see code(3)) and - is not to be used elsewhere. + Warning + + This BIF is intended for the code server (see code) and is + not to be used elsewhere. Failure: badarg if there already is an old version of Module. 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 35cff119e6d6..ca4698b4d2f9 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 @@ -15,22 +15,23 @@ demonitor(MonitorRef, [flush]) can be used instead of  demonitor(MonitorRef) if this cleanup is wanted. - Note: + 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: + 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. This had one undesirable effect. You could never know when you were guaranteed not to receive a DOWN message because of - the monitor. - - The current behavior can be viewed as two combined operations: - asynchronously send a "demonitor signal" to the monitored - entity and ignore any future results of the monitor. + the monitor. The current behavior can be viewed as two + combined operations: asynchronously send a "demonitor signal" + to the monitored entity and ignore any future results of the + monitor. Failure: It is an error if MonitorRef refers to a monitoring started by another process. Not all such cases are cheap to check. 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 c6e1bd00c7aa..3e46129558ba 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 @@ -11,49 +11,43 @@ Options: - flush: - Removes (one) {_, MonitorRef, _, _, _} message, if there is - one, from the caller message queue after monitoring has been - stopped. - - Calling demonitor(MonitorRef, [flush]) is equivalent to the - following, but more efficient: - - demonitor(MonitorRef), - receive - {_, MonitorRef, _, _, _} -> - true - after 0 -> - true - end - - info: - The returned value is one of the following: - - true: - The monitor was found and removed. In this case, no  - 'DOWN' message corresponding to this monitor has been - delivered and will not be delivered. - - false: - The monitor was not found and could not be removed. This - probably because someone already has placed a 'DOWN' - message corresponding to this monitor in the caller - message queue. - - If option info is combined with option flush, false is - returned if a flush was needed, otherwise true. - - Change: + • flush - Removes (one) {_, MonitorRef, _, _, _} message, + if there is one, from the caller message queue after + monitoring has been stopped. + + Calling demonitor(MonitorRef, [flush]) is equivalent to + the following, but more efficient: + + demonitor(MonitorRef), + receive + {_, MonitorRef, _, _, _} -> + true + after 0 -> + true + end + + • info - The returned value is one of the following: + + ○ true - The monitor was found and removed. In this + case, no 'DOWN' message corresponding to this + monitor has been delivered and will not be delivered. + + ○ false - The monitor was not found and could not be + removed. This probably because someone already has + placed a 'DOWN' message corresponding to this + monitor in the caller message queue. + + If option info is combined with option flush, false is + returned if a flush was needed, otherwise true. + + Change + More options can be added in a future release. Failures: - badarg: - If OptionList is not a list. + • badarg - If OptionList is not a list. - badarg: - If Option is an invalid option. + • badarg - If Option is an invalid option. - badarg: - The same failure as for demonitor/1. + • badarg - The same failure as for demonitor/1. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_demonitor_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_demonitor_func.txt index 091db71c575a..5201d23a5071 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_demonitor_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_demonitor_func.txt @@ -15,22 +15,23 @@ demonitor(MonitorRef, [flush]) can be used instead of  demonitor(MonitorRef) if this cleanup is wanted. - Note: + 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: + 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. This had one undesirable effect. You could never know when you were guaranteed not to receive a DOWN message because of - the monitor. - - The current behavior can be viewed as two combined operations: - asynchronously send a "demonitor signal" to the monitored - entity and ignore any future results of the monitor. + the monitor. The current behavior can be viewed as two + combined operations: asynchronously send a "demonitor signal" + to the monitored entity and ignore any future results of the + monitor. Failure: It is an error if MonitorRef refers to a monitoring started by another process. Not all such cases are cheap to check. @@ -49,49 +50,43 @@ Options: - flush: - Removes (one) {_, MonitorRef, _, _, _} message, if there is - one, from the caller message queue after monitoring has been - stopped. + • flush - Removes (one) {_, MonitorRef, _, _, _} message, + if there is one, from the caller message queue after + monitoring has been stopped. + + Calling demonitor(MonitorRef, [flush]) is equivalent to + the following, but more efficient: - Calling demonitor(MonitorRef, [flush]) is equivalent to the - following, but more efficient: + demonitor(MonitorRef), + receive + {_, MonitorRef, _, _, _} -> + true + after 0 -> + true + end - demonitor(MonitorRef), - receive - {_, MonitorRef, _, _, _} -> - true - after 0 -> - true - end + • info - The returned value is one of the following: - info: - The returned value is one of the following: + ○ true - The monitor was found and removed. In this + case, no 'DOWN' message corresponding to this + monitor has been delivered and will not be delivered. - true: - The monitor was found and removed. In this case, no  - 'DOWN' message corresponding to this monitor has been - delivered and will not be delivered. + ○ false - The monitor was not found and could not be + removed. This probably because someone already has + placed a 'DOWN' message corresponding to this + monitor in the caller message queue. - false: - The monitor was not found and could not be removed. This - probably because someone already has placed a 'DOWN' - message corresponding to this monitor in the caller - message queue. + If option info is combined with option flush, false is + returned if a flush was needed, otherwise true. - If option info is combined with option flush, false is - returned if a flush was needed, otherwise true. + Change - Change: More options can be added in a future release. Failures: - badarg: - If OptionList is not a list. + • badarg - If OptionList is not a list. - badarg: - If Option is an invalid option. + • badarg - If Option is an invalid option. - badarg: - The same failure as for demonitor/1. + • badarg - The same failure as for demonitor/1. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_deprecated_time_unit_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_deprecated_time_unit_0_type.txt index 6981fe7bbfef..bcfd3856bae1 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_deprecated_time_unit_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_deprecated_time_unit_0_type.txt @@ -2,17 +2,13 @@ -type deprecated_time_unit() ::  seconds | milli_seconds | micro_seconds | nano_seconds. - The time_unit() type also consist of the following deprecated + The time_unit/0 type also consist of the following deprecated symbolic time units: - seconds: - Same as second. + • seconds - Same as second. - milli_seconds: - Same as millisecond. + • milli_seconds - Same as millisecond. - micro_seconds: - Same as microsecond. + • micro_seconds - Same as microsecond. - nano_seconds: - Same as nanosecond. + • nano_seconds - Same as nanosecond. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_disconnect_node_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_disconnect_node_1_func.txt index c0a08676317e..12b8812793a5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_disconnect_node_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_disconnect_node_1_func.txt @@ -1,13 +1,16 @@ -spec disconnect_node(Node) -> boolean() | ignored when Node :: node(). - Forces the disconnection of a node. This appears to the node Node - as if the local node has crashed. This BIF is mainly used in the - Erlang network authentication protocols. + Forces the disconnection of a node. + + Doing this makes it appears to the node Node as if the local + node has crashed. This BIF is mainly used in the Erlang network + authentication protocols. Returns true if disconnection succeeds, otherwise false. If the local node is not alive, ignored is returned. - Note: + Note + This function may return before nodedown messages have been delivered. 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 eb8a662906d4..a170efee7d32 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 @@ -1,9 +1,10 @@ - -spec erlang:display(Term) -> true when Term :: term(). + -spec display(Term) -> true when Term :: term(). Prints a text representation of Term on the standard output. - Warning: + Warning + 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_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_display_string_1_func.txt index 2d5267009aff..96fdf06d1b5b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_display_string_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_display_string_1_func.txt @@ -1,5 +1,5 @@ -  display_string/1 + -spec display_string(P1) -> true when P1 :: string() | binary(). The documentation for display_string/1 is hidden. This probably means that it is internal and not to be used by other 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 index e4777a8b4082..103ddda7c270 100644 --- 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 @@ -1,5 +1,8 @@ -  display_string/2 + -spec display_string(Device, P1) -> true +  when +  Device :: stdin | stdout | stderr, +  P1 :: string(). The documentation for display_string/2 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_display_string_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_display_string_func.txt index ab3308c70c09..6d801f4ceb4b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_display_string_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_display_string_func.txt @@ -1,11 +1,14 @@ -  display_string/1 + -spec display_string(P1) -> true when P1 :: string() | binary(). The documentation for display_string/1 is hidden. This probably means that it is internal and not to be used by other applications. -  display_string/2 + -spec display_string(Device, P1) -> true +  when +  Device :: stdin | stdout | stderr, +  P1 :: string(). The documentation for display_string/2 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_get_data_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_get_data_1_func.txt index 182a8e0ef142..44409598b8a2 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_get_data_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_get_data_1_func.txt @@ -1,18 +1,19 @@ - -spec erlang:dist_ctrl_get_data(DHandle) -> {Size, Data} | Data | none -  when -  Size :: non_neg_integer(), -  DHandle :: dist_handle(), -  Data :: iovec(). + -spec dist_ctrl_get_data(DHandle) -> {Size, Data} | Data | none +  when +  Size :: non_neg_integer(), +  DHandle :: dist_handle(), +  Data :: iovec(). Since: OTP 21.0 Get distribution channel data from the local node that is to be - passed to the remote node. The distribution channel is identified - by DHandle. If no data is available, the atom none is - returned. One can request to be informed by a message when more - data is available by calling  + passed to the remote node. + + The distribution channel is identified by DHandle. If no data is + available, the atom none is returned. One can request to be + informed by a message when more data is available by calling  erlang:dist_ctrl_get_data_notification(DHandle). The returned value when there are data available depends on the @@ -21,7 +22,8 @@ documentation of the get_size option for the  erlang:dist_ctrl_set_opt/3 function. - Note: + Note + Only the process registered as distribution controller for the distribution channel identified by DHandle is allowed to call this function. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_get_data_notification_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_get_data_notification_1_func.txt index 02197ca80519..262958b92bc5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_get_data_notification_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_get_data_notification_1_func.txt @@ -1,20 +1,21 @@ - -spec erlang:dist_ctrl_get_data_notification(DHandle) -> ok -  when -  DHandle :: -  dist_handle(). + -spec dist_ctrl_get_data_notification(DHandle) -> ok +  when DHandle :: dist_handle(). Since: OTP 21.0 Request notification when more data is available to fetch using  erlang:dist_ctrl_get_data(DHandle) for the distribution channel - identified by DHandle. When more data is present, the caller - will be sent the message dist_data. Once a dist_data messages - has been sent, no more dist_data messages will be sent until the  + identified by DHandle. + + When more data is present, the caller will be sent the message  + dist_data. Once a dist_data messages has been sent, no more  + dist_data messages will be sent until the  dist_ctrl_get_data_notification/1 function has been called again. - Note: + Note + Only the process registered as distribution controller for the distribution channel identified by DHandle is allowed to call this function. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_get_opt_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_get_opt_2_func.txt index 7e9050f105e4..8853cb5f6704 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_get_opt_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_get_opt_2_func.txt @@ -1,8 +1,8 @@ - -spec erlang:dist_ctrl_get_opt(DHandle, get_size) -> Value -  when -  DHandle :: dist_handle(), -  Value :: boolean(). + -spec dist_ctrl_get_opt(DHandle, get_size) -> Value +  when +  DHandle :: dist_handle(), +  Value :: boolean(). Since: OTP 22.0 @@ -12,7 +12,8 @@ documentation of the get_size option for the  erlang:dist_ctrl_set_opt/3 function. - Note: + Note + Only the process registered as distribution controller for the distribution channel identified by DHandle is allowed to call this function. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_input_handler_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_input_handler_2_func.txt index 0e8202aa109d..22729535d62b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_input_handler_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_input_handler_2_func.txt @@ -1,26 +1,33 @@ - -spec erlang:dist_ctrl_input_handler(DHandle, InputHandler) -> ok -  when -  DHandle :: dist_handle(), -  InputHandler :: pid(). + -spec dist_ctrl_input_handler(DHandle, InputHandler) -> ok +  when +  DHandle :: dist_handle(), +  InputHandler :: pid(). Since: OTP 21.0 Register an alternate input handler process for the distribution - channel identified by DHandle. Once this function has been - called, InputHandler is the only process allowed to call  - erlang:dist_ctrl_put_data(DHandle, Data) with the DHandle - identifying this distribution channel. + channel identified by DHandle. - Note: - Only the process registered as distribution controller for the - distribution channel identified by DHandle is allowed to - call this function. + Once this function has been called, InputHandler is the only + process allowed to call erlang:dist_ctrl_put_data(DHandle, Data) + with the DHandle identifying this distribution channel. + + Note + + When the distribution controller for the distribution channel + identified by DHandle is a process, it is the only process + allowed to call this function. This function is also allowed + to be called when the distribution controller for the + distribution channel identified by DHandle is a port. The + data received by the port should in this case be delivered to + the process identified by InputHandler which in turn should + call erlang:dist_ctrl_put_data/2. This function is used when implementing an alternative - distribution carrier using processes as distribution controllers.  - DHandle is retrieved via the callback f_handshake_complete. - More information can be found in the documentation of ERTS User's - Guide ➜ How to implement an Alternative Carrier for the Erlang - Distribution ➜ Distribution Module. + distribution carrier. DHandle is retrieved via the callback  + f_handshake_complete. More information can be found in the + documentation of ERTS User's Guide ➜ How to implement an + Alternative Carrier for the Erlang Distribution ➜ Distribution + Module. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_put_data_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_put_data_2_func.txt index 1279f67fa38b..9dfc42c05def 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_put_data_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_put_data_2_func.txt @@ -1,8 +1,8 @@ - -spec erlang:dist_ctrl_put_data(DHandle, Data) -> ok -  when -  DHandle :: dist_handle(), -  Data :: iodata(). + -spec dist_ctrl_put_data(DHandle, Data) -> ok +  when +  DHandle :: dist_handle(), +  Data :: iodata(). Since: OTP 21.0 @@ -10,7 +10,8 @@ Deliver distribution channel data from a remote node to the local node. - Note: + Note + Only the process registered as distribution controller for the distribution channel identified by DHandle is allowed to call this function unless an alternate input handler process @@ -21,8 +22,8 @@ function. This function is used when implementing an alternative - distribution carrier using processes as distribution controllers.  - DHandle is retrieved via the callback f_handshake_complete. - More information can be found in the documentation of ERTS User's - Guide ➜ How to implement an Alternative Carrier for the Erlang - Distribution ➜ Distribution Module. + distribution carrier. DHandle is retrieved via the callback  + f_handshake_complete. More information can be found in the + documentation of ERTS User's Guide ➜ How to implement an + Alternative Carrier for the Erlang Distribution ➜ Distribution + Module. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_set_opt_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_set_opt_3_func.txt index 70c5a443342c..9b6b0aa6f4d3 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_set_opt_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_ctrl_set_opt_3_func.txt @@ -1,34 +1,34 @@ - -spec erlang:dist_ctrl_set_opt(DHandle, get_size, Value) -> OldValue -  when -  DHandle :: dist_handle(), -  Value :: boolean(), -  OldValue :: boolean(). + -spec dist_ctrl_set_opt(DHandle, get_size, Value) -> OldValue +  when +  DHandle :: dist_handle(), +  Value :: boolean(), +  OldValue :: boolean(). Since: OTP 22.0 Sets the value of the get_size option on the distribution - channel identified by DHandle. This option controls the return - value of calls to erlang:dist_ctrl_get_data(DHandle) where  - DHandle equals DHandle used when setting this option. When the  - get_size option is: - - false: - and there are distribution data available, a call to  - erlang:dist_ctrl_get_data(DHandle) will just return Data to - pass over the channel. This is the default value of the  - get_size option. - - true: - and there are distribution data available, a call to  - erlang:dist_ctrl_get_data(DHandle) will return Data to pass - over the channel as well as the Size of Data in bytes. - This is returned as a tuple on the form {Size, Data}. + channel identified by DHandle. + + This option controls the return value of calls to + erlang:dist_ctrl_get_data(DHandle) where DHandle equals DHandle + used when setting this option. When the get_size option is: + + • false - and there are distribution data available, a call + to erlang:dist_ctrl_get_data(DHandle) will just return  + Data to pass over the channel. This is the default value of + the get_size option. + + • true - and there are distribution data available, a call to  + erlang:dist_ctrl_get_data(DHandle) will return Data to + pass over the channel as well as the Size of Data in + bytes. This is returned as a tuple on the form {Size, Data}. All options are set to default when a channel is closed. - Note: + Note + Only the process registered as distribution controller for the distribution channel identified by DHandle is allowed to call this function. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_get_stat_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_get_stat_1_func.txt index 141fe118ae82..57881f27d6ec 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_get_stat_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dist_get_stat_1_func.txt @@ -1,5 +1,13 @@ -  dist_get_stat/1 + -spec dist_get_stat(DHandle) -> Res +  when +  DHandle :: dist_handle(), +  InputPackets :: non_neg_integer(), +  OutputPackets :: non_neg_integer(), +  PendingOutputPackets :: non_neg_integer(), +  Res :: +  {ok, InputPackets, OutputPackets, +  PendingOutputPackets}. The documentation for dist_get_stat/1 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_div_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_div_2_func.txt index 1b349e7ecf14..d95f6830863c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_div_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_div_2_func.txt @@ -1,5 +1,5 @@ -  'div'/2 + -spec 'div'(integer(), integer()) -> integer(). The documentation for 'div'/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_dt_append_vm_tag_data_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_append_vm_tag_data_1_func.txt index 456b93faba0a..eafa0568acd5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_append_vm_tag_data_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_append_vm_tag_data_1_func.txt @@ -1,5 +1,8 @@ -  dt_append_vm_tag_data/1 + -spec dt_append_vm_tag_data(IoData) -> IoDataRet +  when +  IoData :: iodata(), +  IoDataRet :: iodata(). The documentation for dt_append_vm_tag_data/1 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_get_tag_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_get_tag_0_func.txt index 0b06a2134f40..e9a741cddd66 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_get_tag_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_get_tag_0_func.txt @@ -1,5 +1,5 @@ -  dt_get_tag/0 + -spec dt_get_tag() -> binary() | undefined. The documentation for dt_get_tag/0 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_get_tag_data_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_get_tag_data_0_func.txt index b7f39991ef25..5ea72275b784 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_get_tag_data_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_get_tag_data_0_func.txt @@ -1,5 +1,5 @@ -  dt_get_tag_data/0 + -spec dt_get_tag_data() -> binary() | undefined. The documentation for dt_get_tag_data/0 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_prepend_vm_tag_data_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_prepend_vm_tag_data_1_func.txt index 59c18346496c..cb4686638499 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_prepend_vm_tag_data_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_prepend_vm_tag_data_1_func.txt @@ -1,5 +1,8 @@ -  dt_prepend_vm_tag_data/1 + -spec dt_prepend_vm_tag_data(IoData) -> IoDataRet +  when +  IoData :: iodata(), +  IoDataRet :: iodata(). The documentation for dt_prepend_vm_tag_data/1 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_put_tag_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_put_tag_1_func.txt index 83906151a7f5..2fde0c47ba17 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_put_tag_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_put_tag_1_func.txt @@ -1,5 +1,5 @@ -  dt_put_tag/1 + -spec dt_put_tag(IoData) -> binary() | undefined when IoData :: iodata(). The documentation for dt_put_tag/1 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_restore_tag_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_restore_tag_1_func.txt index bf52d2f5d285..295c991be2f7 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_restore_tag_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_restore_tag_1_func.txt @@ -1,5 +1,5 @@ -  dt_restore_tag/1 + -spec dt_restore_tag(TagData) -> true when TagData :: term(). The documentation for dt_restore_tag/1 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_spread_tag_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_spread_tag_1_func.txt index 6a8496bc588e..dcd44d235324 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_spread_tag_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dt_spread_tag_1_func.txt @@ -1,5 +1,5 @@ -  dt_spread_tag/1 + -spec dt_spread_tag(boolean()) -> TagData when TagData :: term(). The documentation for dt_spread_tag/1 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dynamic_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dynamic_0_type.txt new file mode 100644 index 000000000000..e22b7d1eddb6 --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_dynamic_0_type.txt @@ -0,0 +1,4 @@ + + -type dynamic() :: dynamic(). + + The dynamic type. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_element_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_element_2_func.txt index 323fd3ac14e3..91f30fe919e1 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_element_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_element_2_func.txt @@ -2,10 +2,9 @@ -spec element(N, Tuple) -> term()  when N :: pos_integer(), Tuple :: tuple(). - Returns the Nth element (numbering from 1) of Tuple, for - example: + Returns the Nth element (numbering from 1) of Tuple. + + For example: > element(2, {a, b, c}). b - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_eqcoloneq_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_eqcoloneq_2_func.txt index 00c8120ad8a5..b6871699504a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_eqcoloneq_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_eqcoloneq_2_func.txt @@ -1,5 +1,5 @@ -  '=:='/2 + -spec '=:='(term(), term()) -> boolean(). The documentation for '=:='/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_eqeq_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_eqeq_2_func.txt index eab30981c216..d0f5bec85977 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_eqeq_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_eqeq_2_func.txt @@ -1,5 +1,5 @@ -  '=='/2 + -spec '=='(term(), term()) -> boolean(). The documentation for '=='/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_eqlt_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_eqlt_2_func.txt index fce7453bc22e..98e106798480 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_eqlt_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_eqlt_2_func.txt @@ -1,5 +1,5 @@ -  '=<'/2 + -spec '=<'(term(), term()) -> boolean(). The documentation for '=<'/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_eqslasheq_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_eqslasheq_2_func.txt index 69dfca83fc69..d629c8758835 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_eqslasheq_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_eqslasheq_2_func.txt @@ -1,5 +1,5 @@ -  '=/='/2 + -spec '=/='(term(), term()) -> boolean(). The documentation for '=/='/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_erase_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_erase_0_func.txt index dbe68eec4e2e..c6f931e34624 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_erase_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_erase_0_func.txt @@ -1,7 +1,9 @@ -spec erase() -> [{Key, Val}] when Key :: term(), Val :: term(). - Returns the process dictionary and deletes it, for example: + Returns the process dictionary and deletes it. + + For example: > put(key1, {1, 2, 3}), put(key2, [a, b, c]), diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_erase_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_erase_1_func.txt index 173742c63dc2..90f32cb90f31 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_erase_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_erase_1_func.txt @@ -3,10 +3,13 @@ Returns the value Val associated with Key and deletes it from the process dictionary. Returns undefined if no value is - associated with Key. The average time complexity for the current - implementation of this function is O(1) and the worst case time - complexity is O(N), where N is the number of items in the - process dictionary. Example: + associated with Key. + + The average time complexity for the current implementation of this + function is O(1) and the worst case time complexity is O(N), + where N is the number of items in the process dictionary. + + For example: > put(key1, {merry, lambs, are, playing}), X = erase(key1), diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_erase_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_erase_func.txt index 2440023dc4b9..008abfe416b0 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_erase_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_erase_func.txt @@ -1,7 +1,9 @@ -spec erase() -> [{Key, Val}] when Key :: term(), Val :: term(). - Returns the process dictionary and deletes it, for example: + Returns the process dictionary and deletes it. + + For example: > put(key1, {1, 2, 3}), put(key2, [a, b, c]), @@ -12,10 +14,13 @@ Returns the value Val associated with Key and deletes it from the process dictionary. Returns undefined if no value is - associated with Key. The average time complexity for the current - implementation of this function is O(1) and the worst case time - complexity is O(N), where N is the number of items in the - process dictionary. Example: + associated with Key. + + The average time complexity for the current implementation of this + function is O(1) and the worst case time complexity is O(N), + where N is the number of items in the process dictionary. + + For example: > put(key1, {merry, lambs, are, playing}), X = erase(key1), diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_error_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_error_1_func.txt index 18c0010a758b..2bc5c93a5da5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_error_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_error_1_func.txt @@ -1,13 +1,14 @@ -spec error(Reason) -> no_return() when Reason :: term(). - Raises an exception of class error with the reason Reason. As - evaluating this function causes an exception to be thrown, it has - no return value. + Raises an exception of class error with the reason Reason. + + As evaluating this function causes an exception to be thrown, it + has no return value. The intent of the exception class error is to signal that an unexpected error has happened (for example, a function is called - with a parameter that has an incorrect type). See the guide about + with a parameter that has an incorrect type). See the guide about errors and error handling for additional information. Example: > catch error(foobar). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_error_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_error_2_func.txt index ad987abeac5d..b2c382084b76 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_error_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_error_2_func.txt @@ -4,15 +4,17 @@ Raises an exception of class error with the reason Reason.  Args is expected to be the list of arguments for the current - function or the atom none. If it is a list, it is used to - provide the arguments for the current function in the stack - back-trace. If it is none, the arity of the calling function is - used in the stacktrace. As evaluating this function causes an - exception to be raised, it has no return value. + function or the atom none. + + If Args is a list, it is used to provide the arguments for the + current function in the stack back-trace. If it is none, the + arity of the calling function is used in the stacktrace. As + evaluating this function causes an exception to be raised, it has + no return value. The intent of the exception class error is to signal that an unexpected error has happened (for example, a function is called - with a parameter that has an incorrect type). See the guide about + with a parameter that has an incorrect type). See the guide about errors and error handling for additional information. Example: test.erl: diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_error_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_error_3_func.txt index 73f183013f99..8fed880318b6 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_error_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_error_3_func.txt @@ -15,11 +15,13 @@ Raises an exception of class error with the reason Reason.  Args is expected to be the list of arguments for the current - function or the atom none. If it is a list, it is used to - provide the arguments for the current function in the stack - back-trace. If it is none, the arity of the calling function is - used in the stacktrace. As evaluating this function causes an - exception to be raised, it has no return value. + function or the atom none. + + If Args is a list, it is used to provide the arguments for the + current function in the stack back-trace. If it is none, the + arity of the calling function is used in the stacktrace. As + evaluating this function causes an exception to be raised, it has + no return value. If the error_info option is given, the ErrorInfoMap will be inserted into the stacktrace. The information given in the  @@ -33,5 +35,5 @@ The intent of the exception class error is to signal that an unexpected error has happened (for example, a function is called - with a parameter that has an incorrect type). See the guide about + with a parameter that has an incorrect type). See the guide about errors and error handling for additional information. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_error_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_error_func.txt index cb1ca4a46282..c7bc484b7bcd 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_error_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_error_func.txt @@ -1,13 +1,14 @@ -spec error(Reason) -> no_return() when Reason :: term(). - Raises an exception of class error with the reason Reason. As - evaluating this function causes an exception to be thrown, it has - no return value. + Raises an exception of class error with the reason Reason. + + As evaluating this function causes an exception to be thrown, it + has no return value. The intent of the exception class error is to signal that an unexpected error has happened (for example, a function is called - with a parameter that has an incorrect type). See the guide about + with a parameter that has an incorrect type). See the guide about errors and error handling for additional information. Example: > catch error(foobar). @@ -24,15 +25,17 @@ Raises an exception of class error with the reason Reason.  Args is expected to be the list of arguments for the current - function or the atom none. If it is a list, it is used to - provide the arguments for the current function in the stack - back-trace. If it is none, the arity of the calling function is - used in the stacktrace. As evaluating this function causes an - exception to be raised, it has no return value. + function or the atom none. + + If Args is a list, it is used to provide the arguments for the + current function in the stack back-trace. If it is none, the + arity of the calling function is used in the stacktrace. As + evaluating this function causes an exception to be raised, it has + no return value. The intent of the exception class error is to signal that an unexpected error has happened (for example, a function is called - with a parameter that has an incorrect type). See the guide about + with a parameter that has an incorrect type). See the guide about errors and error handling for additional information. Example: test.erl: @@ -68,11 +71,13 @@ Raises an exception of class error with the reason Reason.  Args is expected to be the list of arguments for the current - function or the atom none. If it is a list, it is used to - provide the arguments for the current function in the stack - back-trace. If it is none, the arity of the calling function is - used in the stacktrace. As evaluating this function causes an - exception to be raised, it has no return value. + function or the atom none. + + If Args is a list, it is used to provide the arguments for the + current function in the stack back-trace. If it is none, the + arity of the calling function is used in the stacktrace. As + evaluating this function causes an exception to be raised, it has + no return value. If the error_info option is given, the ErrorInfoMap will be inserted into the stacktrace. The information given in the  @@ -86,5 +91,5 @@ The intent of the exception class error is to signal that an unexpected error has happened (for example, a function is called - with a parameter that has an incorrect type). See the guide about + with a parameter that has an incorrect type). See the guide about errors and error handling for additional information. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_exit_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_exit_1_func.txt index 481fd9f793cf..b7c3ceea9c0b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_exit_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_exit_1_func.txt @@ -1,9 +1,10 @@ -spec exit(Reason) -> no_return() when Reason :: term(). - Raises an exception of class exit with exit reason Reason. As - evaluating this function causes an exception to be raised, it has - no return value. + Raises an exception of class exit with exit reason Reason. + + As evaluating this function causes an exception to be raised, it + has no return value. The intent of the exception class exit is that the current process should be stopped (for example when a message telling a @@ -23,7 +24,8 @@ > catch exit(foobar). {'EXIT',foobar} - Note: + Note + If a process calls exit(kill) and does not catch the exception, it will terminate with exit reason kill and also emit exit signals with exit reason kill (not killed) to 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 b02fdf3ad373..873463035b63 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 @@ -37,7 +37,8 @@ hint to linked processes that the killed process got killed by a call to exit(Pid, kill). - Note: + Note + The functions erlang:exit/1 and erlang:exit/2 are named similarly but provide very different functionalities. The  erlang:exit/1 function should be used when the intent is to @@ -47,26 +48,27 @@ caught while erlang:exit/2 does not cause any exception to be raised. - Warning: + Warning + The only scenario that has not been covered by the description above is when a process P sends an exit signal with reason  normal to itself, that is erlang:exit(self(), normal). The behavior in this scenario is as follows: - • If P is trapping exits, the exit signal is - transformed into a message {'EXIT', From, normal}, - where From is P's process identifier, and delivered - to P's message queue. + • If P is trapping exits, the exit signal is transformed + into a message {'EXIT', From, normal}, where From is  + P's process identifier, and delivered to P's message + queue. • P exits with reason normal if P is not trapping - exits. + exits. Note that the behavior described above is + different from when 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 that the behavior described above is different from when - 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 - 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_exit_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_exit_func.txt index 5c3870f5fcd1..0ea56b26a726 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_exit_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_exit_func.txt @@ -1,9 +1,10 @@ -spec exit(Reason) -> no_return() when Reason :: term(). - Raises an exception of class exit with exit reason Reason. As - evaluating this function causes an exception to be raised, it has - no return value. + Raises an exception of class exit with exit reason Reason. + + As evaluating this function causes an exception to be raised, it + has no return value. The intent of the exception class exit is that the current process should be stopped (for example when a message telling a @@ -23,7 +24,8 @@ > catch exit(foobar). {'EXIT',foobar} - Note: + Note + If a process calls exit(kill) and does not catch the exception, it will terminate with exit reason kill and also emit exit signals with exit reason kill (not killed) to @@ -72,7 +74,8 @@ hint to linked processes that the killed process got killed by a call to exit(Pid, kill). - Note: + Note + The functions erlang:exit/1 and erlang:exit/2 are named similarly but provide very different functionalities. The  erlang:exit/1 function should be used when the intent is to @@ -82,26 +85,27 @@ caught while erlang:exit/2 does not cause any exception to be raised. - Warning: + Warning + The only scenario that has not been covered by the description above is when a process P sends an exit signal with reason  normal to itself, that is erlang:exit(self(), normal). The behavior in this scenario is as follows: - • If P is trapping exits, the exit signal is - transformed into a message {'EXIT', From, normal}, - where From is P's process identifier, and delivered - to P's message queue. + • If P is trapping exits, the exit signal is transformed + into a message {'EXIT', From, normal}, where From is  + P's process identifier, and delivered to P's message + queue. • P exits with reason normal if P is not trapping - exits. + exits. Note that the behavior described above is + different from when 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 that the behavior described above is different from when - 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 - 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_exit_signal_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_exit_signal_2_func.txt index e952dad6a890..f4c637ed5883 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_exit_signal_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_exit_signal_2_func.txt @@ -1,5 +1,6 @@ -  exit_signal/2 + -spec exit_signal(Pid, Reason) -> true +  when Pid :: pid() | port(), Reason :: term(). The documentation for exit_signal/2 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_ext_iovec_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_ext_iovec_0_type.txt index 411f00f84a4c..4ee6407425d4 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_ext_iovec_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_ext_iovec_0_type.txt @@ -1,5 +1,5 @@ -type ext_iovec() :: iovec(). - A term of type iovec(), structured according to the Erlang + A term of type iovec/0, structured according to the Erlang external term format. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_external_size_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_external_size_1_func.txt index 20d8ebe45616..51fc780323c0 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_external_size_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_external_size_1_func.txt @@ -1,13 +1,13 @@ - -spec erlang:external_size(Term) -> non_neg_integer() -  when Term :: term(). + -spec external_size(Term) -> non_neg_integer() when Term :: term(). Since: OTP R14B04 Calculates, without doing the encoding, the maximum byte size for - a term encoded in the Erlang external term format. The following - condition applies always: + a term encoded in the Erlang external term format. + + The following condition applies always: > Size1 = byte_size(term_to_binary(Term)), > Size2 = erlang:external_size(Term), 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 30292e157092..3ecaf84528d9 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 @@ -1,20 +1,21 @@ - -spec erlang:external_size(Term, Options) -> non_neg_integer() -  when -  Term :: term(), -  Options :: -  [compressed | -  {compressed, Level :: 0..9} | -  deterministic | -  {minor_version, Version :: 0..2} | -  local]. + -spec external_size(Term, Options) -> non_neg_integer() +  when +  Term :: term(), +  Options :: +  [compressed | +  {compressed, Level :: 0..9} | +  deterministic | +  {minor_version, Version :: 0..2} | +  local]. Since: OTP R14B04 Calculates, without doing the encoding, the maximum byte size for - a term encoded in the Erlang external term format. The following - condition applies always: + a term encoded in the Erlang external term format. + + The following condition applies always: > Size1 = byte_size(term_to_binary(Term, Options)), > Size2 = erlang:external_size(Term, Options), diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_external_size_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_external_size_func.txt index fb7617d3da70..587a8af8987e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_external_size_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_external_size_func.txt @@ -1,13 +1,13 @@ - -spec erlang:external_size(Term) -> non_neg_integer() -  when Term :: term(). + -spec external_size(Term) -> non_neg_integer() when Term :: term(). Since: OTP R14B04 Calculates, without doing the encoding, the maximum byte size for - a term encoded in the Erlang external term format. The following - condition applies always: + a term encoded in the Erlang external term format. + + The following condition applies always: > Size1 = byte_size(term_to_binary(Term)), > Size2 = erlang:external_size(Term), @@ -18,22 +18,23 @@ erlang:external_size(Term, []) - -spec erlang:external_size(Term, Options) -> non_neg_integer() -  when -  Term :: term(), -  Options :: -  [compressed | -  {compressed, Level :: 0..9} | -  deterministic | -  {minor_version, Version :: 0..2} | -  local]. + -spec external_size(Term, Options) -> non_neg_integer() +  when +  Term :: term(), +  Options :: +  [compressed | +  {compressed, Level :: 0..9} | +  deterministic | +  {minor_version, Version :: 0..2} | +  local]. Since: OTP R14B04 Calculates, without doing the encoding, the maximum byte size for - a term encoded in the Erlang external term format. The following - condition applies always: + a term encoded in the Erlang external term format. + + The following condition applies always: > Size1 = byte_size(term_to_binary(Term, Options)), > Size2 = erlang:external_size(Term, Options), diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_finish_after_on_load_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_finish_after_on_load_2_func.txt index 63b677da2390..56f9f1a31ddb 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_finish_after_on_load_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_finish_after_on_load_2_func.txt @@ -1,5 +1,6 @@ -  finish_after_on_load/2 + -spec finish_after_on_load(P1, P2) -> true +  when P1 :: atom(), P2 :: boolean(). The documentation for finish_after_on_load/2 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_finish_loading_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_finish_loading_1_func.txt index c22cf49f7de2..1e0d36d797e2 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_finish_loading_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_finish_loading_1_func.txt @@ -1,5 +1,12 @@ -  finish_loading/1 + -spec finish_loading(PreparedCodeList) -> ok | Error +  when +  PreparedCodeList :: [PreparedCode], +  PreparedCode :: prepared_code(), +  ModuleList :: [module()], +  Error :: +  {not_purged, ModuleList} | +  {on_load, ModuleList}. The documentation for finish_loading/1 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_1_func.txt index f2a86080bae2..b48007672db5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_1_func.txt @@ -1,17 +1,17 @@ -spec float(Number) -> float() when Number :: number(). - Returns a float by converting Number to a float, for example: + Returns a float by converting Number to a float. + + For example: > float(55). 55.0 - Allowed in guard tests. + Note - Note: If used on the top level in a guard, it tests whether the argument is a floating point number; for clarity, use  - is_float/1 instead. - - When float/1 is used in an expression in a guard, such as ' - float(A) == 4.0', it converts a number as described earlier. + is_float/1 instead. When float/1 is used in an expression + in a guard, such as 'float(A) == 4.0', it converts a number + as described earlier. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_to_binary_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_to_binary_2_func.txt index 2f7a559f77eb..c88331e12cf4 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_to_binary_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_to_binary_2_func.txt @@ -12,8 +12,11 @@ OTP R16B Returns a binary corresponding to the text representation of  - Float using fixed decimal point formatting. Options behaves in - the same way as float_to_list/2. Examples: + Float using fixed decimal point formatting. + + Options behaves in the same way as float_to_list/2. + + For example: > float_to_binary(7.12, [{decimals, 4}]). <<"7.1200">> diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_to_binary_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_to_binary_func.txt index 0e8766596cd7..a0f97a192c58 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_to_binary_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_to_binary_func.txt @@ -4,7 +4,8 @@ Since: OTP R16B - The same as float_to_binary(Float,[{scientific,20}]). + There is no documentation for float_to_binary(Float, + [{scientific, 20}]) -spec float_to_binary(Float, Options) -> binary()  when @@ -19,8 +20,11 @@ OTP R16B Returns a binary corresponding to the text representation of  - Float using fixed decimal point formatting. Options behaves in - the same way as float_to_list/2. Examples: + Float using fixed decimal point formatting. + + Options behaves in the same way as float_to_list/2. + + For example: > float_to_binary(7.12, [{decimals, 4}]). <<"7.1200">> diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_to_list_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_to_list_2_func.txt index 14dbc3763e4c..9e01a0b44956 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_to_list_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_to_list_2_func.txt @@ -58,5 +58,5 @@ "3.00000000000000044409e-01" In the last example, float_to_list(0.1+0.2) evaluates to  - "3.00000000000000044409e-01". The reason for this is explained in + "3.00000000000000044409e-01". The reason for this is explained in Representation of Floating Point Numbers. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_to_list_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_to_list_func.txt index cb879157acb0..28bde4d34003 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_to_list_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_float_to_list_func.txt @@ -1,7 +1,8 @@ -spec float_to_list(Float) -> string() when Float :: float(). - The same as float_to_list(Float,[{scientific,20}]). + There is no documentation for float_to_list(Float, [{scientific, + 20}]) -spec float_to_list(Float, Options) -> string()  when @@ -62,5 +63,5 @@ "3.00000000000000044409e-01" In the last example, float_to_list(0.1+0.2) evaluates to  - "3.00000000000000044409e-01". The reason for this is explained in + "3.00000000000000044409e-01". The reason for this is explained in Representation of Floating Point Numbers. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_floor_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_floor_1_func.txt index 34b82ffc9b10..89650dd86c8b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_floor_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_floor_1_func.txt @@ -4,10 +4,9 @@ Since: OTP 20.0 - Returns the largest integer not greater than Number. For - example: + Returns the largest integer not greater than Number. + + For example: > floor(-10.5). -11 - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_format_cpu_topology_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_format_cpu_topology_1_func.txt index 7ef9f0481c6b..c45a30f2f1f7 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_format_cpu_topology_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_format_cpu_topology_1_func.txt @@ -1,5 +1,5 @@ -  format_cpu_topology/1 +  format_cpu_topology(InternalCpuTopology) The documentation for format_cpu_topology/1 is hidden. This probably means that it is internal and not to be used by other 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 afb6073b844c..80f9a0218557 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 @@ -1,25 +1,25 @@ - -spec erlang:fun_info(Fun) -> [{Item, Info}] -  when -  Fun :: function(), -  Item :: -  arity | env | index | name | module | -  new_index | new_uniq | pid | type | -  uniq, -  Info :: term(). + -spec fun_info(Fun) -> [{Item, Info}] +  when +  Fun :: function(), +  Item :: +  arity | env | index | name | module | +  new_index | new_uniq | pid | type | uniq, +  Info :: term(). Returns a list with information about the fun Fun. Each list element is a tuple. The order of the tuples is undefined, and more tuples can be added in a future release. - Warning: + Warning + This BIF is mainly intended for debugging, but it can sometimes be useful in library functions that need to verify, for example, the arity of a fun. Two types of funs have slightly different semantics: - • A fun created by fun M:F/A is called an external fun. + • fun created by fun M:F/A is called an external fun. Calling it will always call the function F with arity A in the latest code for module M. Notice that module M does not even need to be loaded when the fun fun M:F/A is @@ -33,69 +33,60 @@ The following elements are always present in the list for both local and external funs: - {type, Type}: - Type is local or external. + • {type, Type} - Type is local or external. - {module, Module}: - Module (an atom) is the module name. + • {module, Module} - Module (an atom) is the module name. - If Fun is a local fun, Module is the module in which the - fun is defined. + If Fun is a local fun, Module is the module in which the + fun is defined. - If Fun is an external fun, Module is the module that the - fun refers to. + If Fun is an external fun, Module is the module that the + fun refers to. - {name, Name}: - Name (an atom) is a function name. + • {name, Name} - Name (an atom) is a function name. - If Fun is a local fun, Name is the name of the local - function that implements the fun. (This name was generated by - the compiler, and is only of informational use. As it is a - local function, it cannot be called directly.) If no code is - currently loaded for the fun, [] is returned instead of an - atom. + If Fun is a local fun, Name is the name of the local + function that implements the fun. (This name was generated + by the compiler, and is only of informational use. As it is + a local function, it cannot be called directly.) If no code + is currently loaded for the fun, [] is returned instead of + an atom. - If Fun is an external fun, Name is the name of the - exported function that the fun refers to. + If Fun is an external fun, Name is the name of the + exported function that the fun refers to. - {arity, Arity}: - Arity is the number of arguments that the fun is to be called - with. + • {arity, Arity} - Arity is the number of arguments that + the fun is to be called with. - {env, Env}: - Env (a list) is the environment or free variables for the - fun. For external funs, the returned list is always empty. + • {env, Env} - Env (a list) is the environment or free + variables for the fun. For external funs, the returned list + is always empty. The following elements are only present in the list if Fun is local: - {pid, Pid}: - Pid is the process identifier of the process that originally - created the fun. + • {pid, Pid} - Pid is the process identifier of init + process on the local node. - It might point to the init process if the Fun was - statically allocated when module was loaded (this optimisation - is performed for local functions that do not capture the - environment). + Change - 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 . + Starting in Erlang/OTP 27, Pid 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. + • {index, Index} - Index (an integer) is an index into the + module fun table. - {new_index, Index}: - Index (an integer) is an index into the module fun table. + • {new_index, Index} - Index (an integer) is an index into + the module fun table. - {new_uniq, Uniq}: - Uniq (a binary) is a unique value for this fun. It is - calculated from the compiled code for the entire module. + • {new_uniq, Uniq} - Uniq (a binary) is a unique value for + this fun. It is calculated from the compiled code for the + entire module. - {uniq, Uniq}: - Uniq (an integer) is a unique value for this fun. As from - Erlang/OTP R15, this integer is calculated from the compiled - code for the entire module. Before Erlang/OTP R15, this - integer was based on only the body of the fun. + • {uniq, Uniq} - Uniq (an integer) is a unique value for + this fun. As from Erlang/OTP R15, this integer is calculated + from the compiled code for the entire module. Before + Erlang/OTP R15, this integer was based on only the body of + the fun. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_info_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_info_2_func.txt index c84956536543..b208f7514c12 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_info_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_info_2_func.txt @@ -1,14 +1,9 @@ - -spec erlang:fun_info(Fun, Item) -> {Item, Info} -  when -  Fun :: function(), -  Item :: fun_info_item(), -  Info :: term(). - - Types: - -type fun_info_item() :: - arity | env | index | name | module | new_index | new_uniq | - pid | type | uniq. + -spec fun_info(Fun, Item) -> {Item, Info} +  when +  Fun :: function(), +  Item :: fun_info_item(), +  Info :: term(). Returns information about Fun as specified by Item, in the form {Item,Info}. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_info_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_info_func.txt index 1ee20fd79fee..68ae39acf54d 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_info_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_info_func.txt @@ -1,25 +1,25 @@ - -spec erlang:fun_info(Fun) -> [{Item, Info}] -  when -  Fun :: function(), -  Item :: -  arity | env | index | name | module | -  new_index | new_uniq | pid | type | -  uniq, -  Info :: term(). + -spec fun_info(Fun) -> [{Item, Info}] +  when +  Fun :: function(), +  Item :: +  arity | env | index | name | module | +  new_index | new_uniq | pid | type | uniq, +  Info :: term(). Returns a list with information about the fun Fun. Each list element is a tuple. The order of the tuples is undefined, and more tuples can be added in a future release. - Warning: + Warning + This BIF is mainly intended for debugging, but it can sometimes be useful in library functions that need to verify, for example, the arity of a fun. Two types of funs have slightly different semantics: - • A fun created by fun M:F/A is called an external fun. + • fun created by fun M:F/A is called an external fun. Calling it will always call the function F with arity A in the latest code for module M. Notice that module M does not even need to be loaded when the fun fun M:F/A is @@ -33,83 +33,69 @@ The following elements are always present in the list for both local and external funs: - {type, Type}: - Type is local or external. + • {type, Type} - Type is local or external. - {module, Module}: - Module (an atom) is the module name. + • {module, Module} - Module (an atom) is the module name. - If Fun is a local fun, Module is the module in which the - fun is defined. + If Fun is a local fun, Module is the module in which the + fun is defined. - If Fun is an external fun, Module is the module that the - fun refers to. + If Fun is an external fun, Module is the module that the + fun refers to. - {name, Name}: - Name (an atom) is a function name. + • {name, Name} - Name (an atom) is a function name. - If Fun is a local fun, Name is the name of the local - function that implements the fun. (This name was generated by - the compiler, and is only of informational use. As it is a - local function, it cannot be called directly.) If no code is - currently loaded for the fun, [] is returned instead of an - atom. + If Fun is a local fun, Name is the name of the local + function that implements the fun. (This name was generated + by the compiler, and is only of informational use. As it is + a local function, it cannot be called directly.) If no code + is currently loaded for the fun, [] is returned instead of + an atom. - If Fun is an external fun, Name is the name of the - exported function that the fun refers to. + If Fun is an external fun, Name is the name of the + exported function that the fun refers to. - {arity, Arity}: - Arity is the number of arguments that the fun is to be called - with. + • {arity, Arity} - Arity is the number of arguments that + the fun is to be called with. - {env, Env}: - Env (a list) is the environment or free variables for the - fun. For external funs, the returned list is always empty. + • {env, Env} - Env (a list) is the environment or free + variables for the fun. For external funs, the returned list + is always empty. The following elements are only present in the list if Fun is local: - {pid, Pid}: - Pid is the process identifier of the process that originally - created the fun. - - It might point to the init process if the Fun was - statically allocated when module was loaded (this optimisation - 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. - - {new_index, Index}: - Index (an integer) is an index into the module fun table. - - {new_uniq, Uniq}: - Uniq (a binary) is a unique value for this fun. It is - calculated from the compiled code for the entire module. - - {uniq, Uniq}: - Uniq (an integer) is a unique value for this fun. As from - Erlang/OTP R15, this integer is calculated from the compiled - code for the entire module. Before Erlang/OTP R15, this - integer was based on only the body of the fun. - - -spec erlang:fun_info(Fun, Item) -> {Item, Info} -  when -  Fun :: function(), -  Item :: fun_info_item(), -  Info :: term(). - - Types: - -type fun_info_item() :: - arity | env | index | name | module | new_index | new_uniq | - pid | type | uniq. + • {pid, Pid} - Pid is the process identifier of init + process on the local node. + + Change + + Starting in Erlang/OTP 27, Pid 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. + + • {new_index, Index} - Index (an integer) is an index into + the module fun table. + + • {new_uniq, Uniq} - Uniq (a binary) is a unique value for + this fun. It is calculated from the compiled code for the + entire module. + + • {uniq, Uniq} - Uniq (an integer) is a unique value for + this fun. As from Erlang/OTP R15, this integer is calculated + from the compiled code for the entire module. Before + Erlang/OTP R15, this integer was based on only the body of + the fun. + + -spec fun_info(Fun, Item) -> {Item, Info} +  when +  Fun :: function(), +  Item :: fun_info_item(), +  Info :: term(). Returns information about Fun as specified by Item, in the form {Item,Info}. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_info_mfa_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_info_mfa_1_func.txt index 26bd5c979a93..83b712913f05 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_info_mfa_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_info_mfa_1_func.txt @@ -1,5 +1,10 @@ -  fun_info_mfa/1 + -spec fun_info_mfa(Fun) -> {Mod, Name, Arity} +  when +  Fun :: function(), +  Mod :: atom(), +  Name :: atom(), +  Arity :: non_neg_integer(). The documentation for fun_info_mfa/1 is hidden. This probably means that it is internal and not to be used by other 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 ff25d05e818d..843e94317bc9 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 @@ -1,6 +1,5 @@ - -spec erlang:fun_to_list(Fun) -> String :: string() -  when Fun :: function(). + -spec fun_to_list(Fun) -> String :: string() when Fun :: function(). Returns String that represents the code that created Fun. @@ -9,28 +8,29 @@ "fun ModuleName:FuncName/Arity" - The form of String when Fun is created from other types of - fun expressions differs depending on if the fun expression was + The form of String when Fun is created from other types of fun + expressions differs depending on if the fun expression was executed while executing compiled code or if the fun expression was executed while executing uncompiled code (uncompiled escripts, the Erlang shell, and other code executed by the erl_eval module): - compiled code: - "#Fun", where M, I and U correspond to the values - named module, index and uniq in the result of  - erlang:fun_info(Fun). + • compiled code - "#Fun", where M, I and U + correspond to the values named module, index and uniq + in the result of erlang:fun_info(Fun). - uncompiled code: - All funs created from fun expressions in uncompiled code with - the same arity are mapped to the same list by fun_to_list/1. + • uncompiled code - All funs created from fun expressions in + uncompiled code with the same arity are mapped to the same + list by fun_to_list/1. + + Note - Note: Generally, one can not use fun_to_list/1 to check if two funs are equal as fun_to_list/1 does not take the fun's environment into account. See erlang:fun_info/1 for how to get the environment of a fun. - Change: + Change + The output of fun_to_list/1 can differ between Erlang implementations and may change in future versions. @@ -60,7 +60,7 @@ Explanation: The string representations differ because the funs come from different fun expressions. - > {fun() -> 1 end, fun() -> 1 end}. > + > {fun() -> 1 end, fun() -> 1 end}. > {#Fun,#Fun} Explanation: All funs created from fun expressions of this form in diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_function_exported_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_function_exported_3_func.txt index 0b7f45f6fb49..e41075dcbebe 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_function_exported_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_function_exported_3_func.txt @@ -1,9 +1,9 @@ - -spec erlang:function_exported(Module, Function, Arity) -> boolean() -  when -  Module :: module(), -  Function :: atom(), -  Arity :: arity(). + -spec function_exported(Module, Function, Arity) -> boolean() +  when +  Module :: module(), +  Function :: atom(), +  Arity :: arity(). Returns true if the module Module is current and contains an exported function Function/Arity, or if there is a BIF (a diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collect_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collect_0_func.txt index cffc5537d6a4..895a3720c213 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collect_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collect_0_func.txt @@ -2,9 +2,11 @@ -spec garbage_collect() -> true. Forces an immediate garbage collection of the executing process. + The function is not to be used unless it has been noticed (or there are good reasons to suspect) that the spontaneous garbage collection will occur too late or not at all. - Warning: + Warning + Improper use can seriously degrade system performance. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collect_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collect_2_func.txt index 6c5af24fff53..e464c434e371 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collect_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collect_2_func.txt @@ -16,20 +16,18 @@ Option: - {async, RequestId}: - The function garbage_collect/2 returns the value async - immediately after the request has been sent. When the request - has been processed, the process that called this function is - passed a message on the form {garbage_collect, RequestId, - GCResult}. - - {type, 'major' | 'minor'}: - Triggers garbage collection of requested type. Default value - is 'major', which would trigger a fullsweep GC. The option  - 'minor' is considered a hint and may lead to either minor or - major GC run. - - If Pid equals self(), and no async option has been passed, + • {async, RequestId} - The function garbage_collect/2 + returns the value async immediately after the request has + been sent. When the request has been processed, the process + that called this function is passed a message on the form  + {garbage_collect, RequestId, GCResult}. + + • {type, 'major' | 'minor'} - Triggers garbage collection of + requested type. Default value is 'major', which would + trigger a fullsweep GC. The option 'minor' is considered a + hint and may lead to either minor or major GC run. + + If Pid equals self/0, and no async option has been passed, the garbage collection is performed at once, that is, the same as calling garbage_collect/0. Otherwise a request for garbage collection is sent to the process identified by Pid, and will be @@ -40,19 +38,17 @@ GCResult informs about the result of the garbage collection request as follows: - true: - The process identified by Pid has been garbage collected. + • true - The process identified by Pid has been garbage + collected. - false: - No garbage collection was performed, as the process identified - by Pid terminated before the request could be satisfied. + • false - No garbage collection was performed, as the process + identified by Pid terminated before the request could be + satisfied. Notice that the same caveats apply as for garbage_collect/0. Failures: - badarg: - If Pid is not a node local process identifier. + • badarg - If Pid is not a node local process identifier. - badarg: - If OptionList is an invalid list of options. + • badarg - If OptionList is an invalid list of options. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collect_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collect_func.txt index 47972f0fb959..4b2472992013 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collect_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collect_func.txt @@ -2,17 +2,19 @@ -spec garbage_collect() -> true. Forces an immediate garbage collection of the executing process. + The function is not to be used unless it has been noticed (or there are good reasons to suspect) that the spontaneous garbage collection will occur too late or not at all. - Warning: + Warning + Improper use can seriously degrade system performance. -spec garbage_collect(Pid) -> GCResult  when Pid :: pid(), GCResult :: boolean(). - The same as garbage_collect(Pid, []). + There is no documentation for garbage_collect(Pid, []) -spec garbage_collect(Pid, OptionList) -> GCResult | async  when @@ -31,20 +33,18 @@ Option: - {async, RequestId}: - The function garbage_collect/2 returns the value async - immediately after the request has been sent. When the request - has been processed, the process that called this function is - passed a message on the form {garbage_collect, RequestId, - GCResult}. + • {async, RequestId} - The function garbage_collect/2 + returns the value async immediately after the request has + been sent. When the request has been processed, the process + that called this function is passed a message on the form  + {garbage_collect, RequestId, GCResult}. - {type, 'major' | 'minor'}: - Triggers garbage collection of requested type. Default value - is 'major', which would trigger a fullsweep GC. The option  - 'minor' is considered a hint and may lead to either minor or - major GC run. + • {type, 'major' | 'minor'} - Triggers garbage collection of + requested type. Default value is 'major', which would + trigger a fullsweep GC. The option 'minor' is considered a + hint and may lead to either minor or major GC run. - If Pid equals self(), and no async option has been passed, + If Pid equals self/0, and no async option has been passed, the garbage collection is performed at once, that is, the same as calling garbage_collect/0. Otherwise a request for garbage collection is sent to the process identified by Pid, and will be @@ -55,19 +55,17 @@ GCResult informs about the result of the garbage collection request as follows: - true: - The process identified by Pid has been garbage collected. + • true - The process identified by Pid has been garbage + collected. - false: - No garbage collection was performed, as the process identified - by Pid terminated before the request could be satisfied. + • false - No garbage collection was performed, as the process + identified by Pid terminated before the request could be + satisfied. Notice that the same caveats apply as for garbage_collect/0. Failures: - badarg: - If Pid is not a node local process identifier. + • badarg - If Pid is not a node local process identifier. - badarg: - If OptionList is an invalid list of options. + • badarg - If OptionList is an invalid list of options. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collect_message_area_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collect_message_area_0_func.txt index 4ffd915f60ad..9d3b2c96cda7 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collect_message_area_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collect_message_area_0_func.txt @@ -1,5 +1,5 @@ -  garbage_collect_message_area/0 + -spec garbage_collect_message_area() -> boolean(). The documentation for garbage_collect_message_area/0 is hidden. This probably means that it is internal and not to be used by diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collection_defaults_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collection_defaults_0_type.txt new file mode 100644 index 000000000000..20d7085057e3 --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_garbage_collection_defaults_0_type.txt @@ -0,0 +1,8 @@ + + -type garbage_collection_defaults() :: +  [{max_heap_size, non_neg_integer()} | +  {min_bin_vheap_size, non_neg_integer()} | +  {min_heap_size, non_neg_integer()} | +  {fullsweep_after, non_neg_integer()}]. + + A list with the system wide garbage collection defaults. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_gather_gc_info_result_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_gather_gc_info_result_1_func.txt index 594193be733d..6d5aac146c7f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_gather_gc_info_result_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_gather_gc_info_result_1_func.txt @@ -1,5 +1,6 @@ -  gather_gc_info_result/1 + -spec gather_gc_info_result(Ref) -> {number(), number(), 0} +  when Ref :: reference(). The documentation for gather_gc_info_result/1 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_0_func.txt index f076c6488a77..1adaeebae64c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_0_func.txt @@ -2,7 +2,9 @@ -spec get() -> [{Key, Val}] when Key :: term(), Val :: term(). Returns the process dictionary as a list of {Key, Val} tuples. - The items in the returned list can be in any order. Example: + The items in the returned list can be in any order. + + For example: > put(key1, merry), put(key2, lambs), diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_1_func.txt index d73b4ea97634..393de4eff6e6 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_1_func.txt @@ -2,10 +2,13 @@ -spec get(Key) -> Val | undefined when Key :: term(), Val :: term(). Returns the value Val associated with Key in the process - dictionary, or undefined if Key does not exist. The expected - time complexity for the current implementation of this function is - O(1) and the worst case time complexity is O(N), where N is - the number of items in the process dictionary. Example: + dictionary, or undefined if Key does not exist. + + The expected time complexity for the current implementation of + this function is O(1) and the worst case time complexity is O(N + ), where N is the number of items in the process dictionary. + + For example: > put(key1, merry), put(key2, lambs), 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 db71ca98117e..9c5d73b6cad2 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 @@ -1,5 +1,5 @@ - -spec erlang:get_cookie() -> Cookie | nocookie when Cookie :: atom(). + -spec get_cookie() -> Cookie | nocookie when Cookie :: atom(). Returns the magic cookie of the local node if the node is alive, 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 b9e041c61df7..2089e298dabe 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 @@ -1,6 +1,6 @@ - -spec erlang:get_cookie(Node) -> Cookie | nocookie -  when Node :: node(), Cookie :: atom(). + -spec get_cookie(Node) -> Cookie | nocookie +  when Node :: node(), Cookie :: atom(). Since: OTP 24.1 diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_cookie_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_cookie_func.txt index 2b8715e0fd59..dc011284a2dd 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_cookie_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_cookie_func.txt @@ -1,11 +1,11 @@ - -spec erlang:get_cookie() -> Cookie | nocookie when Cookie :: atom(). + -spec get_cookie() -> Cookie | nocookie when Cookie :: atom(). Returns the magic cookie of the local node if the node is alive, otherwise the atom nocookie. This value is set by set_cookie/1. - -spec erlang:get_cookie(Node) -> Cookie | nocookie -  when Node :: node(), Cookie :: atom(). + -spec get_cookie(Node) -> Cookie | nocookie +  when Node :: node(), Cookie :: atom(). Since: OTP 24.1 diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_func.txt index ae257ae0e1f0..7db582f02fae 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_func.txt @@ -2,7 +2,9 @@ -spec get() -> [{Key, Val}] when Key :: term(), Val :: term(). Returns the process dictionary as a list of {Key, Val} tuples. - The items in the returned list can be in any order. Example: + The items in the returned list can be in any order. + + For example: > put(key1, merry), put(key2, lambs), @@ -13,10 +15,13 @@ -spec get(Key) -> Val | undefined when Key :: term(), Val :: term(). Returns the value Val associated with Key in the process - dictionary, or undefined if Key does not exist. The expected - time complexity for the current implementation of this function is - O(1) and the worst case time complexity is O(N), where N is - the number of items in the process dictionary. Example: + dictionary, or undefined if Key does not exist. + + The expected time complexity for the current implementation of + this function is O(1) and the worst case time complexity is O(N + ), where N is the number of items in the process dictionary. + + For example: > put(key1, merry), put(key2, lambs), diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_keys_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_keys_0_func.txt index 53ad99a101e6..3883b0df7cb8 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_keys_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_keys_0_func.txt @@ -5,7 +5,9 @@ OTP 18.0 Returns a list of all keys present in the process dictionary. The - items in the returned list can be in any order. Example: + items in the returned list can be in any order. + + For example: > put(dog, {animal,1}), put(cow, {animal,2}), diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_keys_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_keys_1_func.txt index c0fd94199c2f..3ffab069569a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_keys_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_keys_1_func.txt @@ -3,7 +3,9 @@ Returns a list of keys that are associated with the value Val in the process dictionary. The items in the returned list can be in - any order. Example: + any order. + + For example: > put(mary, {1, 2}), put(had, {1, 2}), diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_keys_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_keys_func.txt index 87f1c2124ad9..b65dbf0e3f7a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_keys_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_keys_func.txt @@ -5,7 +5,9 @@ OTP 18.0 Returns a list of all keys present in the process dictionary. The - items in the returned list can be in any order. Example: + items in the returned list can be in any order. + + For example: > put(dog, {animal,1}), put(cow, {animal,2}), @@ -17,7 +19,9 @@ Returns a list of keys that are associated with the value Val in the process dictionary. The items in the returned list can be in - any order. Example: + any order. + + For example: > put(mary, {1, 2}), put(had, {1, 2}), diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_module_info_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_module_info_1_func.txt index 15653bba3ef6..f82eb7621309 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_module_info_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_module_info_1_func.txt @@ -1,5 +1,10 @@ -  get_module_info/1 + -spec get_module_info(Module) -> [{Item, term()}] +  when +  Item :: +  module | exports | attributes | +  compile | native | md5, +  Module :: atom(). The documentation for get_module_info/1 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_module_info_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_module_info_2_func.txt index 831a63cadb1f..b7041e9b7f1b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_module_info_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_module_info_2_func.txt @@ -1,5 +1,9 @@ -  get_module_info/2 + -spec get_module_info(Module, Item) -> ModuleInfo +  when +  Module :: atom(), +  Item :: module_info_key(), +  ModuleInfo :: term(). The documentation for get_module_info/2 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_module_info_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_module_info_func.txt index 92f236506987..8a7af855fc95 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_module_info_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_module_info_func.txt @@ -1,11 +1,20 @@ -  get_module_info/1 + -spec get_module_info(Module) -> [{Item, term()}] +  when +  Item :: +  module | exports | attributes | +  compile | native | md5, +  Module :: atom(). The documentation for get_module_info/1 is hidden. This probably means that it is internal and not to be used by other applications. -  get_module_info/2 + -spec get_module_info(Module, Item) -> ModuleInfo +  when +  Module :: atom(), +  Item :: module_info_key(), +  ModuleInfo :: term(). The documentation for get_module_info/2 is hidden. This probably means that it is internal and not to be used by other 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 0c58ffcfb8fe..b22e0b4ae23c 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 @@ -11,13 +11,13 @@ processes is their application master. Setting the group leader follows the signal ordering guarantees - described in the Processes Chapter in the Erlang Reference - Manual. + described in the Processes Chapter in the Erlang Reference Manual. See also group_leader/0 and OTP design principles related to starting and stopping applications. - Note: + 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_group_leader_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_group_leader_func.txt index d4b7dc9e8972..6bde77a5a0d4 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_group_leader_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_group_leader_func.txt @@ -37,13 +37,13 @@ processes is their application master. Setting the group leader follows the signal ordering guarantees - described in the Processes Chapter in the Erlang Reference - Manual. + described in the Processes Chapter in the Erlang Reference Manual. See also group_leader/0 and OTP design principles related to starting and stopping applications. - Note: + 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_gt_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_gt_2_func.txt index 013f679ceb54..8a0d11458344 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_gt_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_gt_2_func.txt @@ -1,5 +1,5 @@ -  '>'/2 + -spec '>'(term(), term()) -> boolean(). The documentation for '>'/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_gteq_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_gteq_2_func.txt index 16f4e2b4e517..8c7f6a899acf 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_gteq_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_gteq_2_func.txt @@ -1,5 +1,5 @@ -  '>='/2 + -spec '>='(term(), term()) -> boolean(). The documentation for '>='/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_halt_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_halt_0_func.txt index 5fed60591dff..bc54fbf66e50 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,9 @@ -spec halt() -> no_return(). - The same as calling halt(0, []). Example: + Equivalent to calling halt(0, []). + + For 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 d503e7f1a6b9..dfbcce5853e8 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,20 +1,13 @@ - -spec halt(Status :: non_neg_integer()) -> no_return(). + -spec halt(Status :: non_neg_integer()) -> no_return(); +  (Abort :: abort) -> no_return(); +  (CrashDumpSlogan :: string()) -> no_return(). - The same as calling halt(Status, []). Example: + Equivalent to calling halt(HaltType, []). + + For 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 7eae2e5323d9..c9d358bcab06 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,89 +1,109 @@ -spec halt(Status :: non_neg_integer(), Options :: halt_options()) -> +  no_return(); +  (Abort :: abort, Options :: halt_options()) -> no_return(); +  (CrashDumpSlogan :: string(), Options :: halt_options()) ->  no_return(). Since: OTP R15B01 - Types: - -type halt_options() :: [{flush, boolean()}]. + Halt the runtime system. - Halt the runtime system with status code Status. + • halt(Status :: non_neg_integer(), Options :: halt_options()) - Note: - On many platforms, the OS supports only status codes 0-255. A - too large status code is truncated by clearing the high bits. + Halt the runtime system with status code Status. - Currently the following options are valid: + Note - {flush, EnableFlushing}: - If EnableFlushing equals true, which also is the default - behavior, the runtime system will perform the following - operations before terminating: + On many platforms, the OS supports only status codes + 0-255. A too large status code is truncated by clearing + the high bits. - • Flush all outstanding output. + Currently the following options are valid: - • Send all Erlang ports exit signals and wait for them to - exit. + ○ {flush, EnableFlushing} - If EnableFlushing equals  + true, which also is the default behavior, the runtime + system will perform the following operations before + terminating: - • Wait for all async threads to complete all outstanding - async jobs. + ◼ Flush all outstanding output. - • Call all installed NIF on halt callbacks. + ◼ Send all Erlang ports exit signals and wait for + them to exit. - • Wait for all ongoing NIF calls with the delay halt - setting enabled to return. + ◼ Wait for all async threads to complete all + outstanding async jobs. - • Call all installed atexit/on_exit callbacks. + ◼ Call all installed NIF on halt callbacks. - If EnableFlushing equals false, the runtime system will - terminate immediately without performing any of the above - listed operations. + ◼ Wait for all ongoing NIF calls with the delay + halt setting enabled to return. - 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. + ◼ Call all installed atexit/on_exit callbacks. - -spec halt(Abort :: abort, Options :: halt_options()) -> no_return(). + If EnableFlushing equals false, the runtime system + will terminate immediately without performing any of + the above listed operations. -Since: - OTP R15B01 + Change - Types: - -type halt_options() :: [{flush, boolean()}]. + 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. - 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. + ○ {flush_timeout, Timeout :: 0..2147483647 | infinity} - + Sets a limit on the time allowed for flushing prior to + termination of the runtime system. Timeout is in + milliseconds. The default value is determined by the + the erl +zhft  command line flag. - Note: - The {flush, boolean()} option will be ignored, and flushing - will be disabled. + If flushing has been ongoing for Timeout + milliseconds, flushing operations will be interrupted + and the runtime system will immediately be terminated + with the exit code 255. If flushing is not enabled, + the timeout will have no effect on the system. - -spec halt(CrashDumpSlogan :: string(), Options :: halt_options()) -> -  no_return(). + See also the erl +zhft  command line + flag. Note that the shortest timeout set by the + command line flag and the flush_timeout option will + be the actual timeout value in effect. -Since: - OTP R15B01 + Since: OTP 27.0 + + • halt(Abort :: abort, Options :: halt_options()) + + 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. + + • halt(CrashDumpSlogan :: string(), Options :: halt_options()) + + 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. - Types: - -type halt_options() :: [{flush, boolean()}]. + Note - 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. + The {flush, boolean()} option will be ignored, and + flushing will be disabled. - Note: - The {flush, boolean()} option will be ignored, and flushing - will be disabled. + Change - Behavior changes compared to earlier versions: + 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 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. + ○ 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_halt_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_halt_func.txt index a8b3bb751feb..4322b55bb2bc 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_halt_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_halt_func.txt @@ -1,116 +1,131 @@ -spec halt() -> no_return(). - The same as calling halt(0, []). Example: + Equivalent to calling halt(0, []). + + For example: > halt(). os_prompt% - -spec halt(Status :: non_neg_integer()) -> no_return(). + -spec halt(Status :: non_neg_integer()) -> no_return(); +  (Abort :: abort) -> no_return(); +  (CrashDumpSlogan :: string()) -> no_return(). + + Equivalent to calling halt(HaltType, []). - The same as calling halt(Status, []). Example: + For example: > halt(17). os_prompt% echo $? 17 os_prompt% - -spec halt(Abort :: abort) -> no_return(). + -spec halt(Status :: non_neg_integer(), Options :: halt_options()) -> +  no_return(); +  (Abort :: abort, Options :: halt_options()) -> no_return(); +  (CrashDumpSlogan :: string(), Options :: halt_options()) -> +  no_return(). Since: OTP R15B01 - The same as calling halt(abort, []). + Halt the runtime system. - -spec halt(CrashDumpSlogan :: string()) -> no_return(). + • halt(Status :: non_neg_integer(), Options :: halt_options()) - The same as calling halt(CrashDumpSlogan, []). + Halt the runtime system with status code Status. - -spec halt(Status :: non_neg_integer(), Options :: halt_options()) -> -  no_return(). + Note -Since: - OTP R15B01 + On many platforms, the OS supports only status codes + 0-255. A too large status code is truncated by clearing + the high bits. - Types: - -type halt_options() :: [{flush, boolean()}]. + Currently the following options are valid: - Halt the runtime system with status code Status. + ○ {flush, EnableFlushing} - If EnableFlushing equals  + true, which also is the default behavior, the runtime + system will perform the following operations before + terminating: - Note: - On many platforms, the OS supports only status codes 0-255. A - too large status code is truncated by clearing the high bits. + ◼ Flush all outstanding output. - Currently the following options are valid: + ◼ Send all Erlang ports exit signals and wait for + them to exit. - {flush, EnableFlushing}: - If EnableFlushing equals true, which also is the default - behavior, the runtime system will perform the following - operations before terminating: + ◼ Wait for all async threads to complete all + outstanding async jobs. - • Flush all outstanding output. + ◼ Call all installed NIF on halt callbacks. - • Send all Erlang ports exit signals and wait for them to - exit. + ◼ Wait for all ongoing NIF calls with the delay + halt setting enabled to return. - • Wait for all async threads to complete all outstanding - async jobs. + ◼ Call all installed atexit/on_exit callbacks. - • Call all installed NIF on halt callbacks. + If EnableFlushing equals false, the runtime system + will terminate immediately without performing any of + the above listed operations. - • Wait for all ongoing NIF calls with the delay halt - setting enabled to return. + Change - • Call all installed atexit/on_exit callbacks. + 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. - If EnableFlushing equals false, the runtime system will - terminate immediately without performing any of the above - listed operations. + ○ {flush_timeout, Timeout :: 0..2147483647 | infinity} - + Sets a limit on the time allowed for flushing prior to + termination of the runtime system. Timeout is in + milliseconds. The default value is determined by the + the erl +zhft  command line flag. - 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. + If flushing has been ongoing for Timeout + milliseconds, flushing operations will be interrupted + and the runtime system will immediately be terminated + with the exit code 255. If flushing is not enabled, + the timeout will have no effect on the system. - -spec halt(Abort :: abort, Options :: halt_options()) -> no_return(). + See also the erl +zhft  command line + flag. Note that the shortest timeout set by the + command line flag and the flush_timeout option will + be the actual timeout value in effect. -Since: - OTP R15B01 + Since: OTP 27.0 - Types: - -type halt_options() :: [{flush, boolean()}]. + • halt(Abort :: abort, Options :: halt_options()) - 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. + 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. + Note - -spec halt(CrashDumpSlogan :: string(), Options :: halt_options()) -> -  no_return(). + The {flush, boolean()} option will be ignored, and + flushing will be disabled. -Since: - OTP R15B01 + • halt(CrashDumpSlogan :: string(), Options :: halt_options()) + + 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. - Types: - -type halt_options() :: [{flush, boolean()}]. + Note - 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. + The {flush, boolean()} option will be ignored, and + flushing will be disabled. - Note: - The {flush, boolean()} option will be ignored, and flushing - will be disabled. + Change - Behavior changes compared to earlier versions: + 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 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. + ○ 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_has_prepared_code_on_load_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_has_prepared_code_on_load_1_func.txt index c012053e6daa..d56f9f8f789f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_has_prepared_code_on_load_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_has_prepared_code_on_load_1_func.txt @@ -1,5 +1,6 @@ -  has_prepared_code_on_load/1 + -spec has_prepared_code_on_load(PreparedCode) -> boolean() +  when PreparedCode :: prepared_code(). The documentation for has_prepared_code_on_load/1 is hidden. This probably means that it is internal and not to be used by 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 cae15018876e..337530e3b675 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 @@ -14,6 +14,4 @@ > hd([first, second, third, so_on | improper_end]). first - Allowed in guard tests. - Failure: badarg if List is an empty list []. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_hibernate_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_hibernate_3_func.txt index 92b9b0302bcf..bfe04b7b38f5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_hibernate_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_hibernate_3_func.txt @@ -1,9 +1,9 @@ - -spec erlang:hibernate(Module, Function, Args) -> no_return() -  when -  Module :: module(), -  Function :: atom(), -  Args :: [term()]. + -spec hibernate(Module, Function, Args) -> no_return() +  when +  Module :: module(), +  Function :: atom(), +  Args :: [term()]. Puts the calling process into a wait state where its memory allocation has been reduced as much as possible. This is useful if diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_identifier_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_identifier_0_type.txt index f7f5ac68767a..b06b4ca963b5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_identifier_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_identifier_0_type.txt @@ -1,5 +1,5 @@ -type identifier() :: pid() | port() | reference(). - An unique identifier for some entity, for example a process, - port or monitor. + An unique identifier for some entity, for example a process, port + or monitor. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_info_list_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_info_list_0_type.txt new file mode 100644 index 000000000000..0efdf0769621 --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_info_list_0_type.txt @@ -0,0 +1,4 @@ + + -type info_list() :: []. + + diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_insert_element_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_insert_element_3_func.txt index 58732961df65..b20442fb17bf 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_insert_element_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_insert_element_3_func.txt @@ -1,10 +1,10 @@ - -spec erlang:insert_element(Index, Tuple1, Term) -> Tuple2 -  when -  Index :: pos_integer(), -  Tuple1 :: tuple(), -  Tuple2 :: tuple(), -  Term :: term(). + -spec insert_element(Index, Tuple1, Term) -> Tuple2 +  when +  Index :: pos_integer(), +  Tuple1 :: tuple(), +  Tuple2 :: tuple(), +  Term :: term(). Since: OTP R16B @@ -12,7 +12,8 @@ Returns a new tuple with element Term inserted at position  Index in tuple Tuple1. All elements from position Index and upwards are pushed one step higher in the new tuple Tuple2. - Example: + + For example: > erlang:insert_element(2, {one, two, three}, new). {one,new,two,three} diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_binary_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_binary_1_func.txt index 58ebc2810d20..228a1b93d79a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_binary_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_binary_1_func.txt @@ -5,7 +5,9 @@ OTP R16B Returns a binary corresponding to the text representation of  - Integer, for example: + Integer. + + For example: > integer_to_binary(77). <<"77">> diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_binary_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_binary_2_func.txt index b7a97022242e..82fcc561e0fe 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_binary_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_binary_2_func.txt @@ -6,7 +6,9 @@ OTP R16B Returns a binary corresponding to the text representation of  - Integer in base Base, for example: + Integer in base Base. + + For example: > integer_to_binary(1023, 16). <<"3FF">> diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_binary_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_binary_func.txt index b80f3ceb2181..660684893179 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_binary_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_binary_func.txt @@ -5,7 +5,9 @@ OTP R16B Returns a binary corresponding to the text representation of  - Integer, for example: + Integer. + + For example: > integer_to_binary(77). <<"77">> @@ -17,7 +19,9 @@ OTP R16B Returns a binary corresponding to the text representation of  - Integer in base Base, for example: + Integer in base Base. + + For example: > integer_to_binary(1023, 16). <<"3FF">> diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_list_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_list_1_func.txt index 763f7fbad108..cc2c9760a8bd 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_list_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_list_1_func.txt @@ -2,7 +2,9 @@ -spec integer_to_list(Integer) -> string() when Integer :: integer(). Returns a string corresponding to the text representation of  - Integer, for example: + Integer. + + For example: > integer_to_list(77). "77" diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_list_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_list_2_func.txt index f156e09d41b8..a804a25693bb 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_list_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_list_2_func.txt @@ -3,7 +3,9 @@  when Integer :: integer(), Base :: 2..36. Returns a string corresponding to the text representation of  - Integer in base Base, for example: + Integer in base Base. + + For example: > integer_to_list(1023, 16). "3FF" diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_list_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_list_func.txt index 657714a10b9d..735aea6de356 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_list_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_integer_to_list_func.txt @@ -2,7 +2,9 @@ -spec integer_to_list(Integer) -> string() when Integer :: integer(). Returns a string corresponding to the text representation of  - Integer, for example: + Integer. + + For example: > integer_to_list(77). "77" @@ -11,7 +13,9 @@  when Integer :: integer(), Base :: 2..36. Returns a string corresponding to the text representation of  - Integer in base Base, for example: + Integer in base Base. + + For example: > integer_to_list(1023, 16). "3FF" diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iodata_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iodata_0_type.txt index ba46c3331ddf..d4a557d7f394 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iodata_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iodata_0_type.txt @@ -1,11 +1,13 @@ -type iodata() :: iolist() | binary(). - A binary or list containing bytes and/or iodata. This datatype is - used to represent data that is meant to be output using any I/O - module. For example: file:write/2 or gen_tcp:send/2. - - To convert an iodata() term to binary() you can use - iolist_to_binary/2. To transcode a string() or - unicode:chardata() to iodata() you can use - unicode:characters_to_binary/1. + A binary or list containing bytes and/or iodata. + + This datatype is used to represent data that is meant to be output + using any I/O module. For example: file:write/2 or  + gen_tcp:send/2. + + To convert an iodata/0 term to binary/0 you can use + iolist_to_binary/2. To transcode a string/0 or  + unicode:chardata/0 to iodata/0 you can use  + unicode:characters_to_binary/1. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iolist_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iolist_0_type.txt index aa17b96ab85e..514b4968f560 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iolist_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iolist_0_type.txt @@ -3,8 +3,10 @@  maybe_improper_list(byte() | binary() | iolist(),  binary() | []). - A list containing bytes and/or iodata. This datatype is used to - represent data that is meant to be output using any I/O module. - For example: file:write/2 or gen_tcp:send/2. + A list containing bytes and/or iodata. - In most use cases you want to use iodata() instead of this type. + This datatype is used to represent data that is meant to be output + using any I/O module. For example: file:write/2 or  + gen_tcp:send/2. + + In most use cases you want to use iodata/0 instead of this type. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iolist_size_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iolist_size_1_func.txt index f781cc98a2bd..7e00e1dc8901 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iolist_size_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iolist_size_1_func.txt @@ -3,7 +3,9 @@  when Item :: iolist() | binary(). Returns an integer, that is the size in bytes, of the binary that - would be the result of iolist_to_binary(Item), for example: + would be the result of iolist_to_binary(Item). + + For example: > iolist_size([1,2|<<3,4>>]). 4 diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iolist_to_binary_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iolist_to_binary_1_func.txt index f3b317eeb28a..1225efc87c9e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iolist_to_binary_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iolist_to_binary_1_func.txt @@ -3,7 +3,9 @@  when IoListOrBinary :: iolist() | binary(). Returns a binary that is made from the integers and binaries in  - IoListOrBinary, for example: + IoListOrBinary. + + For example: > Bin1 = <<1,2,3>>. <<1,2,3>> diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iolist_to_iovec_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iolist_to_iovec_1_func.txt index 83cb5ad81cfa..13ff0c6315e0 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iolist_to_iovec_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_iolist_to_iovec_1_func.txt @@ -1,8 +1,6 @@ - -spec erlang:iolist_to_iovec(IoListOrBinary) -> iovec() -  when -  IoListOrBinary :: -  iolist() | binary(). + -spec iolist_to_iovec(IoListOrBinary) -> iovec() +  when IoListOrBinary :: iolist() | binary(). Since: OTP 20.1 @@ -13,7 +11,9 @@ for passing the data to nif functions such as enif_inspect_iovec or do more efficient message passing. The advantage of using this function over iolist_to_binary/1 is that it does not have to - copy off-heap binaries. Example: + copy off-heap binaries. + + For example: > Bin1 = <<1,2,3>>. <<1,2,3>> diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_atom_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_atom_1_func.txt index 47092d8de0c2..9a52764a2df0 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_atom_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_atom_1_func.txt @@ -2,5 +2,3 @@ -spec is_atom(Term) -> boolean() when Term :: term(). Returns true if Term is an atom, otherwise false. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_binary_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_binary_1_func.txt index 68d0e98c1752..72482204b3e6 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_binary_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_binary_1_func.txt @@ -4,5 +4,3 @@ Returns true if Term is a binary, otherwise false. A binary always contains a complete number of bytes. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_bitstring_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_bitstring_1_func.txt index 190447a83faf..cfb10f0008c1 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_bitstring_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_bitstring_1_func.txt @@ -3,5 +3,3 @@ Returns true if Term is a bitstring (including a binary), otherwise false. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_boolean_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_boolean_1_func.txt index b4d918d010ae..d2e0c7353141 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_boolean_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_boolean_1_func.txt @@ -3,5 +3,3 @@ Returns true if Term is the atom true or the atom false (that is, a boolean). Otherwise returns false. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_builtin_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_builtin_3_func.txt index 12a538e2e873..0d75a2110fa6 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_builtin_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_builtin_3_func.txt @@ -1,9 +1,9 @@ - -spec erlang:is_builtin(Module, Function, Arity) -> boolean() -  when -  Module :: module(), -  Function :: atom(), -  Arity :: arity(). + -spec is_builtin(Module, Function, Arity) -> boolean() +  when +  Module :: module(), +  Function :: atom(), +  Arity :: arity(). This BIF is useful for builders of cross-reference tools. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_float_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_float_1_func.txt index 9672d3e33bf1..99d81bb502df 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_float_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_float_1_func.txt @@ -3,5 +3,3 @@ Returns true if Term is a floating point number, otherwise  false. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_function_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_function_1_func.txt index 652ae2106666..f58c7e94737a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_function_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_function_1_func.txt @@ -2,5 +2,3 @@ -spec is_function(Term) -> boolean() when Term :: term(). Returns true if Term is a fun, otherwise false. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_function_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_function_2_func.txt index 4e77a5f21cf4..24070eb0bd2e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_function_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_function_2_func.txt @@ -4,5 +4,3 @@ Returns true if Term is a fun that can be applied with Arity number of arguments, otherwise false. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_function_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_function_func.txt index e9a3a47e1bcd..d1c3cb14aed6 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_function_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_function_func.txt @@ -3,12 +3,8 @@ Returns true if Term is a fun, otherwise false. - Allowed in guard tests. - -spec is_function(Term, Arity) -> boolean()  when Term :: term(), Arity :: arity(). Returns true if Term is a fun that can be applied with Arity number of arguments, otherwise false. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_integer_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_integer_1_func.txt index 2b41253747e5..05d52dad13f5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_integer_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_integer_1_func.txt @@ -2,5 +2,3 @@ -spec is_integer(Term) -> boolean() when Term :: term(). Returns true if Term is an integer, otherwise false. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_list_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_list_1_func.txt index e28bfeaa95c5..c0a64316f590 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_list_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_list_1_func.txt @@ -3,5 +3,3 @@ Returns true if Term is a list with zero or more elements, otherwise false. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_map_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_map_1_func.txt index 127dadcf830d..79c058532c11 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_map_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_map_1_func.txt @@ -5,5 +5,3 @@ OTP 17.0 Returns true if Term is a map, otherwise false. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_map_key_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_map_key_2_func.txt index 4855b18322f6..e5267163a156 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_map_key_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_map_key_2_func.txt @@ -18,5 +18,3 @@ true > is_map_key(value,Map). false - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_number_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_number_1_func.txt index 1b75b5dbc19f..b4fde855c960 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_number_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_number_1_func.txt @@ -3,5 +3,3 @@ Returns true if Term is an integer or a floating point number. Otherwise returns false. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_pid_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_pid_1_func.txt index d2670af4cf49..93fd4ea48450 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_pid_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_pid_1_func.txt @@ -2,5 +2,3 @@ -spec is_pid(Term) -> boolean() when Term :: term(). Returns true if Term is a process identifier, otherwise false. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_port_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_port_1_func.txt index db934b64319d..6e460fff26d7 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_port_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_port_1_func.txt @@ -2,5 +2,3 @@ -spec is_port(Term) -> boolean() when Term :: term(). Returns true if Term is a port identifier, otherwise false. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_process_alive_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_process_alive_1_func.txt index e8a9970a4d32..130196ee5121 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_process_alive_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_process_alive_1_func.txt @@ -12,7 +12,9 @@ before the aliveness of P2 is checked. This guarantee means that one can use is_process_alive/1 to let a process P1 wait until a process P2, which has got an exit signal with reason kill - from P1, is killed. Example: + from P1, is killed. + + For example: exit(P2Pid, kill), % P2 might not be killed diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_record_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_record_2_func.txt index 8508865a8c59..6bf42cb4a261 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_record_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_record_2_func.txt @@ -5,7 +5,8 @@ Returns true if Term is a tuple and its first element is  RecordTag. Otherwise returns false. - Note: + Note + Normally the compiler treats calls to is_record/2 especially. It emits code to verify that Term is a tuple, that its first element is RecordTag, and that the size is diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_record_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_record_3_func.txt index 50ef369ba531..96284157069f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_record_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_record_3_func.txt @@ -13,6 +13,7 @@ Allowed in guard tests if RecordTag is a literal atom and Size is a literal integer. - Note: + Note + This BIF is documented for completeness. Usually is_record/2 is to be used. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_record_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_record_func.txt index 52aa9903264b..202b6c51fae2 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_record_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_record_func.txt @@ -5,7 +5,8 @@ Returns true if Term is a tuple and its first element is  RecordTag. Otherwise returns false. - Note: + Note + Normally the compiler treats calls to is_record/2 especially. It emits code to verify that Term is a tuple, that its first element is RecordTag, and that the size is @@ -29,6 +30,7 @@ Allowed in guard tests if RecordTag is a literal atom and Size is a literal integer. - Note: + Note + This BIF is documented for completeness. Usually is_record/2 is to be used. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_reference_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_reference_1_func.txt index 06e5527d9aa3..c4f95f7fbb6b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_reference_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_reference_1_func.txt @@ -2,5 +2,3 @@ -spec is_reference(Term) -> boolean() when Term :: term(). Returns true if Term is a reference, otherwise false. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_tuple_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_tuple_1_func.txt index 6fe4c575fc5e..c50d177cea30 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_tuple_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_tuple_1_func.txt @@ -2,5 +2,3 @@ -spec is_tuple(Term) -> boolean() when Term :: term(). Returns true if Term is a tuple, otherwise false. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_length_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_length_1_func.txt index 15075f1c720c..284f3955bdc7 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_length_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_length_1_func.txt @@ -1,9 +1,9 @@ -spec length(List) -> non_neg_integer() when List :: [term()]. - Returns the length of List, for example: + Returns the length of List. + + For example: > length([1,2,3,4,5,6,7,8,9]). 9 - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_level_entry_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_level_entry_0_type.txt new file mode 100644 index 000000000000..6a62c92d0a94 --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_level_entry_0_type.txt @@ -0,0 +1,8 @@ + + -type level_entry() :: +  {LevelTag :: level_tag(), SubLevel :: sub_level()} | +  {LevelTag :: level_tag(), +  InfoList :: info_list(), +  SubLevel :: sub_level()}. + + diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_level_tag_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_level_tag_0_type.txt new file mode 100644 index 000000000000..ebd9fd916f89 --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_level_tag_0_type.txt @@ -0,0 +1,4 @@ + + -type level_tag() :: core | node | processor | thread. + + 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 3210677f6075..ceaa3f36fee4 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 @@ -2,17 +2,19 @@ -spec link(PidOrPort) -> true when PidOrPort :: pid() | port(). Sets up and activates a link between the calling process and - another process or a port identified by PidOrPort. We will from - here on call the identified process or port linkee. If the linkee - is a port, it must reside on the same node as the caller. + another process or a port identified by PidOrPort. + + We will from here on call the identified process or port linkee. + If the linkee is a port, it must reside on the same node as the + caller. If one of the participants of a link terminates, it will send an - exit signal to the other participant. The exit signal will - contain the exit reason of the terminated participant. Other - cases when exit signals are triggered due to a link are when no - linkee exist (noproc exit reason) and when the connection - between linked processes on different nodes is lost or cannot be - established (noconnection exit reason). + exit signal to the other participant. The exit signal will contain + the exit reason of the terminated participant. Other cases when + exit signals are triggered due to a link are when no linkee exist ( + noproc exit reason) and when the connection between linked + processes on different nodes is lost or cannot be established ( + noconnection exit reason). An existing link can be removed by calling unlink/1. For more information on links and exit signals due to links, see the @@ -31,7 +33,7 @@ exception. The expected behavior would instead have been that  link/1 returned true, and the caller later was sent an exit signal with noproc exit reason, but this is unfortunately not - the case. The noproc exception is not to be confused with an + the case. The noproc exception is not to be confused with an exit signal with exit reason noproc. Currently it is "cheap" to check if the linkee exists when it is supposed to reside on the same node as the calling process. @@ -42,7 +44,8 @@ protocol can be found in the Distribution Protocol chapter of the ERTS User's Guide. - Note: + 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_list_to_atom_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_atom_1_func.txt index c77d5233d46c..836e85cd3a1b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_atom_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_atom_1_func.txt @@ -7,17 +7,19 @@ Earlier versions allowed only ISO-latin-1 characters as the implementation did not allow Unicode characters above 255. - Note: + Note + The number of characters that are permitted in an atom name is limited. The default limits can be found in the efficiency - guide (section Advanced). + guide (section System Limits). + + Note - Note: - There is configurable limit on how many atoms that can exist + There is a configurable limit on how many atoms that can exist and atoms are not garbage collected. Therefore, it is recommended to consider if list_to_existing_atom/1 is a better option than list_to_atom/1. The default limits can be - found in the efficiency guide (section Advanced). + found in the Efficiency Guide (section System Limits). Example: diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_binary_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_binary_1_func.txt index 2496cf7a3e39..e095a05dcb2d 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_binary_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_binary_1_func.txt @@ -2,7 +2,9 @@ -spec list_to_binary(IoList) -> binary() when IoList :: iolist(). Returns a binary that is made from the integers and binaries in  - IoList, for example: + IoList. + + For example: > Bin1 = <<1,2,3>>. <<1,2,3>> diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_bitstring_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_bitstring_1_func.txt index fc2445ed91c6..1dd728d9dbc4 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_bitstring_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_bitstring_1_func.txt @@ -2,14 +2,11 @@ -spec list_to_bitstring(BitstringList) -> bitstring()  when BitstringList :: bitstring_list(). - Types: - -type bitstring_list() :: - maybe_improper_list(byte() | bitstring() | bitstring_list(), - bitstring() | []). - Returns a bitstring that is made from the integers and bitstrings in BitstringList. (The last tail in BitstringList is allowed - to be a bitstring.) Example: + to be a bitstring.) + + For example: > Bin1 = <<1,2,3>>. <<1,2,3>> diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_existing_atom_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_existing_atom_1_func.txt index 315d160be9be..f5c9558d57a8 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_existing_atom_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_existing_atom_1_func.txt @@ -9,7 +9,8 @@ Failure: badarg if there does not already exist an atom whose text representation is String. - Note: + Note + Note that the compiler may optimize away atoms. For example, the compiler will rewrite atom_to_list(some_atom) to  "some_atom". If that expression is the only mention of the diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_float_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_float_1_func.txt index 686b0634b50d..8affb58e3727 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_float_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_float_1_func.txt @@ -1,14 +1,15 @@ -spec list_to_float(String) -> float() when String :: string(). - Returns the float whose text representation is String, for - example: + Returns the float whose text representation is String. + + For example: > list_to_float("2.2017764e+0"). 2.2017764 - The float string format is the same as the format for Erlang - float literals except for that underscores are not permitted. + The float string format is the same as the format for Erlang float + literals except for that underscores are not permitted. Failure: badarg if String contains a bad representation of a float. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_integer_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_integer_1_func.txt index 9e95d9fcdae6..b4eeb6e6b787 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_integer_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_integer_1_func.txt @@ -1,8 +1,9 @@ -spec list_to_integer(String) -> integer() when String :: string(). - Returns an integer whose text representation is String, for - example: + Returns an integer whose text representation is String. + + For example: > list_to_integer("123"). 123 diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_integer_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_integer_2_func.txt index aa6b2f9ef0f7..385d450f052d 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_integer_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_integer_2_func.txt @@ -3,7 +3,9 @@  when String :: string(), Base :: 2..36. Returns an integer whose text representation in base Base is  - String, for example: + String. + + For example: > list_to_integer("3FF", 16). 1023 diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_integer_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_integer_func.txt index e92fa02c58d3..a14284962103 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_integer_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_integer_func.txt @@ -1,8 +1,9 @@ -spec list_to_integer(String) -> integer() when String :: string(). - Returns an integer whose text representation is String, for - example: + Returns an integer whose text representation is String. + + For example: > list_to_integer("123"). 123 @@ -25,7 +26,9 @@  when String :: string(), Base :: 2..36. Returns an integer whose text representation in base Base is  - String, for example: + String. + + For example: > list_to_integer("3FF", 16). 1023 diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_pid_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_pid_1_func.txt index 6efe1cf5e0a0..3f41109fc4f5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_pid_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_pid_1_func.txt @@ -2,7 +2,9 @@ -spec list_to_pid(String) -> pid() when String :: string(). Returns a process identifier whose text representation is a  - String, for example: + String. + + For example: > list_to_pid("<0.4.1>"). <0.4.1> @@ -10,6 +12,7 @@ Failure: badarg if String contains a bad representation of a process identifier. - Warning: + Warning + This BIF is intended for debugging and is not to be used in application programs. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_port_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_port_1_func.txt index cfa5bf10a03e..0fcde7aa679c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_port_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_port_1_func.txt @@ -4,8 +4,9 @@ Since: OTP 20.0 - Returns a port identifier whose text representation is a String, - for example: + Returns a port identifier whose text representation is a String. + + For example: > list_to_port("#Port<0.4>"). #Port<0.4> @@ -13,6 +14,7 @@ Failure: badarg if String contains a bad representation of a port identifier. - Warning: + Warning + This BIF is intended for debugging and is not to be used in application programs. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_ref_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_ref_1_func.txt index ca1c1299d91b..c7f56359f3fb 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_ref_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_to_ref_1_func.txt @@ -4,8 +4,9 @@ Since: OTP 20.0 - Returns a reference whose text representation is a String, for - example: + Returns a reference whose text representation is a String. + + For example: > list_to_ref("#Ref<0.4192537678.4073193475.71181>"). #Ref<0.4192537678.4073193475.71181> @@ -13,6 +14,7 @@ Failure: badarg if String contains a bad representation of a reference. - Warning: + Warning + This BIF is intended for debugging and is not to be used in application programs. 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 bc192d5502eb..3550ac169304 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 @@ -7,34 +7,34 @@  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 - exists, all export references are replaced so they point to the - newly loaded code. The previously loaded code is kept in the - system as old code, as there can still be processes executing that - code. + Loads Module described by the object code contained within  + Binary. + + If the code for module Module already exists, all export + references are replaced so they point to the newly loaded code. + The previously loaded code is kept in the system as old code, as + there can still be processes executing that code. Returns either {module, Module}, or {error, Reason} if loading fails. Reason is one of the following: - badfile: - The object code in Binary has an incorrect format or the - object code contains code for another module than Module. + • badfile - The object code in Binary has an incorrect + format or the object code contains code for another module + than Module. + + • not_purged - Binary contains a module that cannot be + loaded because old code for this module already exists. - not_purged: - Binary contains a module that cannot be loaded because old - code for this module already exists. + • on_load - The code in Binary contains an on_load + declaration that must be executed before Binary can become + the current code. Any previous current code for Module + will remain until the on_load call has finished. - on_load: - The code in Binary contains an on_load declaration that - must be executed before Binary can become the current code. - 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. - not_allowed: - The code in Binary has been compiled with features that are - currently not enabled in the runtime system. + Warning - Warning: - This BIF is intended for the code server (see code(3)) and - is not to be used elsewhere. + This BIF is intended for the code server (see code) 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 50b8bf45d14b..7f3d94399d73 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 @@ -1,22 +1,23 @@ - -spec erlang:load_nif(Path, LoadInfo) -> ok | Error -  when -  Path :: string(), -  LoadInfo :: term(), -  Error :: -  {error, {Reason, Text :: string()}}, -  Reason :: -  load_failed | bad_lib | load | reload | -  upgrade | old_code. + -spec load_nif(Path, LoadInfo) -> ok | Error +  when +  Path :: string(), +  LoadInfo :: term(), +  Error :: {error, {Reason, Text :: string()}}, +  Reason :: +  load_failed | bad_lib | load | reload | +  upgrade | old_code. Loads and links a dynamic library containing native implemented - functions (NIFs) for a module. Path is a file path to the - shareable object/dynamic library file minus the OS-dependent file - extension (.so for Unix and .dll for Windows). Notice that on - most OSs the library has to have a different name on disc when an - upgrade of the nif is done. If the name is the same, but the - contents differ, the old library may be loaded instead. For - information on how to implement a NIF library, see erl_nif(3). + functions (NIFs) for a module. + + Path is a file path to the shareable object/dynamic library file + minus the OS-dependent file extension (.so for Unix and .dll + for Windows). Notice that on most OSs the library has to have a + different name on disc when an upgrade of the nif is done. If the + name is the same, but the contents differ, the old library may be + loaded instead. For information on how to implement a NIF library, + see erl_nif(3). LoadInfo can be any term. It is passed on to the library as part of the initialization. A good practice is to include a module @@ -28,26 +29,24 @@ is one of the following atoms while Text is a human readable string that can give more information about the failure: - load_failed: - The OS failed to load the NIF library. + • load_failed - The OS failed to load the NIF library. - bad_lib: - The library did not fulfill the requirements as a NIF library - of the calling module. + • bad_lib - The library did not fulfill the requirements as a + NIF library of the calling module. - load | upgrade: - The corresponding library callback was unsuccessful. + • load | upgrade - The corresponding library callback was + unsuccessful. - reload: - A NIF library is already loaded for this module instance. The - previously deprecated reload feature was removed in OTP 20. + • reload - A NIF library is already loaded for this module + instance. The previously deprecated reload feature was + removed in OTP 20. - 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. + • 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  + NIFs in the dynamic library must 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 diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_loaded_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_loaded_0_func.txt index aeaa23d459ff..ed61fdc58901 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_loaded_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_loaded_0_func.txt @@ -1,7 +1,7 @@ - -spec erlang:loaded() -> [Module] when Module :: module(). + -spec loaded() -> [Module] when Module :: module(). Returns a list of all loaded Erlang modules (current and old code), including preloaded modules. - See also code(3). + See also code. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_localtime_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_localtime_0_func.txt index c3501fa259a2..41d438965972 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_localtime_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_localtime_0_func.txt @@ -1,9 +1,10 @@ - -spec erlang:localtime() -> DateTime -  when DateTime :: calendar:datetime(). + -spec localtime() -> DateTime when DateTime :: calendar:datetime(). Returns the current local date and time, {{Year, Month, Day}, - {Hour, Minute, Second}}, for example: + {Hour, Minute, Second}}. + + For example: > erlang:localtime(). {{1996,11,6},{14,45,17}} diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_localtime_to_universaltime_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_localtime_to_universaltime_1_func.txt index 9cb14d207963..24233b25061e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_localtime_to_universaltime_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_localtime_to_universaltime_1_func.txt @@ -1,14 +1,15 @@ - -spec erlang:localtime_to_universaltime(Localtime) -> Universaltime -  when -  Localtime :: -  calendar:datetime(), -  Universaltime :: -  calendar:datetime(). + -spec localtime_to_universaltime(Localtime) -> Universaltime +  when +  Localtime :: calendar:datetime(), +  Universaltime :: +  calendar:datetime(). Converts local date and time to Universal Time Coordinated (UTC), if supported by the underlying OS. Otherwise no conversion is done - and Localtime is returned. Example: + and Localtime is returned. + + For example: > erlang:localtime_to_universaltime({{1996,11,6},{14,45,17}}). {{1996,11,6},{13,45,17}} diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_localtime_to_universaltime_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_localtime_to_universaltime_2_func.txt index 3283e85989ba..b117c0b2bf4d 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_localtime_to_universaltime_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_localtime_to_universaltime_2_func.txt @@ -1,14 +1,11 @@ - -spec erlang:localtime_to_universaltime(Localtime, IsDst) -> -  Universaltime -  when -  Localtime :: -  calendar:datetime(), -  Universaltime :: -  calendar:datetime(), -  IsDst :: -  true | false | -  undefined. + -spec localtime_to_universaltime(Localtime, IsDst) -> Universaltime +  when +  Localtime :: calendar:datetime(), +  Universaltime :: +  calendar:datetime(), +  IsDst :: +  true | false | undefined. Converts local date and time to Universal Time Coordinated (UTC) as erlang:localtime_to_universaltime/1, but the caller decides diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_localtime_to_universaltime_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_localtime_to_universaltime_func.txt index ac4aadab165f..ea1e97d9aa70 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_localtime_to_universaltime_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_localtime_to_universaltime_func.txt @@ -1,30 +1,28 @@ - -spec erlang:localtime_to_universaltime(Localtime) -> Universaltime -  when -  Localtime :: -  calendar:datetime(), -  Universaltime :: -  calendar:datetime(). + -spec localtime_to_universaltime(Localtime) -> Universaltime +  when +  Localtime :: calendar:datetime(), +  Universaltime :: +  calendar:datetime(). Converts local date and time to Universal Time Coordinated (UTC), if supported by the underlying OS. Otherwise no conversion is done - and Localtime is returned. Example: + and Localtime is returned. + + For example: > erlang:localtime_to_universaltime({{1996,11,6},{14,45,17}}). {{1996,11,6},{13,45,17}} Failure: badarg if Localtime denotes an invalid date and time. - -spec erlang:localtime_to_universaltime(Localtime, IsDst) -> -  Universaltime -  when -  Localtime :: -  calendar:datetime(), -  Universaltime :: -  calendar:datetime(), -  IsDst :: -  true | false | -  undefined. + -spec localtime_to_universaltime(Localtime, IsDst) -> Universaltime +  when +  Localtime :: calendar:datetime(), +  Universaltime :: +  calendar:datetime(), +  IsDst :: +  true | false | undefined. Converts local date and time to Universal Time Coordinated (UTC) as erlang:localtime_to_universaltime/1, but the caller decides diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_lt_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_lt_2_func.txt index 64323d56c231..e5f572b1a19d 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_lt_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_lt_2_func.txt @@ -1,5 +1,5 @@ -  '<'/2 + -spec '<'(term(), term()) -> boolean(). The documentation for '<'/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_make_fun_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_fun_3_func.txt index b88f7a06ac99..9102f8b16c6a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_fun_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_fun_3_func.txt @@ -1,5 +1,9 @@ -  make_fun/3 + -spec make_fun(Module, Function, Arity) -> function() +  when +  Module :: atom(), +  Function :: atom(), +  Arity :: arity(). The documentation for make_fun/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/unknown_erlang_make_ref_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_ref_0_func.txt index 64f347e9c377..48b4e28a0562 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_ref_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_ref_0_func.txt @@ -4,8 +4,9 @@ Returns a unique reference. The reference is unique among connected nodes. - Warning: - Before OTP-23 when a node is restarted multiple times with the + Warning + + Before OTP 23 when a node is restarted multiple times with the same node name, references created on a newer node can be mistaken for a reference created on an older node with the same node name. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_tuple_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_tuple_2_func.txt index 21414e7ec36f..1bfc8e21bbb7 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_tuple_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_tuple_2_func.txt @@ -1,9 +1,11 @@ - -spec erlang:make_tuple(Arity, InitialValue) -> tuple() -  when Arity :: arity(), InitialValue :: term(). + -spec make_tuple(Arity, InitialValue) -> tuple() +  when Arity :: arity(), InitialValue :: term(). Creates a new tuple of the specified Arity, where all elements - are InitialValue, for example: + are InitialValue. + + For example: > erlang:make_tuple(4, []). {[],[],[],[]} diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_tuple_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_tuple_3_func.txt index 5fb727e32c09..990e30ea1b69 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_tuple_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_tuple_3_func.txt @@ -1,17 +1,20 @@ - -spec erlang:make_tuple(Arity, DefaultValue, InitList) -> tuple() -  when -  Arity :: arity(), -  DefaultValue :: term(), -  InitList :: -  [{Position :: pos_integer(), term()}]. + -spec make_tuple(Arity, DefaultValue, InitList) -> tuple() +  when +  Arity :: arity(), +  DefaultValue :: term(), +  InitList :: +  [{Position :: pos_integer(), term()}]. Creates a tuple of size Arity, where each element has value  - DefaultValue, and then fills in values from InitList. Each list - element in InitList must be a two-tuple, where the first element - is a position in the newly created tuple and the second element is - any term. If a position occurs more than once in the list, the - term corresponding to the last occurrence is used. Example: + DefaultValue, and then fills in values from InitList. + + Each list element in InitList must be a two-tuple, where the + first element is a position in the newly created tuple and the + second element is any term. If a position occurs more than once in + the list, the term corresponding to the last occurrence is used. + + For example: > erlang:make_tuple(5, [], [{2,ignored},{5,zz},{2,aa}]). {[],aa,[],[],zz} diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_tuple_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_tuple_func.txt index f9ec3d23bf10..04ec24a146a1 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_tuple_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_make_tuple_func.txt @@ -1,26 +1,31 @@ - -spec erlang:make_tuple(Arity, InitialValue) -> tuple() -  when Arity :: arity(), InitialValue :: term(). + -spec make_tuple(Arity, InitialValue) -> tuple() +  when Arity :: arity(), InitialValue :: term(). Creates a new tuple of the specified Arity, where all elements - are InitialValue, for example: + are InitialValue. + + For example: > erlang:make_tuple(4, []). {[],[],[],[]} - -spec erlang:make_tuple(Arity, DefaultValue, InitList) -> tuple() -  when -  Arity :: arity(), -  DefaultValue :: term(), -  InitList :: -  [{Position :: pos_integer(), term()}]. + -spec make_tuple(Arity, DefaultValue, InitList) -> tuple() +  when +  Arity :: arity(), +  DefaultValue :: term(), +  InitList :: +  [{Position :: pos_integer(), term()}]. Creates a tuple of size Arity, where each element has value  - DefaultValue, and then fills in values from InitList. Each list - element in InitList must be a two-tuple, where the first element - is a position in the newly created tuple and the second element is - any term. If a position occurs more than once in the list, the - term corresponding to the last occurrence is used. Example: + DefaultValue, and then fills in values from InitList. + + Each list element in InitList must be a two-tuple, where the + first element is a position in the newly created tuple and the + second element is any term. If a position occurs more than once in + the list, the term corresponding to the last occurrence is used. + + For example: > erlang:make_tuple(5, [], [{2,ignored},{5,zz},{2,aa}]). {[],aa,[],[],zz} diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_map_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_map_0_type.txt index 33cd36bd086e..bdf09a84d241 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_map_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_map_0_type.txt @@ -1,5 +1,4 @@ -type map() :: #{any() => any()}. - An Erlang map containing any number of key and value - associations. + An Erlang map containing any number of key and value associations. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_map_get_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_map_get_2_func.txt index baeaf2025312..64ea8b9be32b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_map_get_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_map_get_2_func.txt @@ -17,5 +17,3 @@ Map = #{42 => value_two,1337 => "value one","a" => 1}, map_get(Key,Map). "value one" - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_map_size_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_map_size_1_func.txt index 028d830ae713..7e660f2ce405 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_map_size_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_map_size_1_func.txt @@ -4,10 +4,9 @@ Since: OTP 17.0 - Returns an integer, which is the number of key-value pairs in Map, - for example: + Returns an integer, which is the number of key-value pairs in Map. + + For example: > map_size(#{a=>1, b=>2, c=>3}). 3 - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_match_spec_test_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_match_spec_test_3_func.txt index 377e5e4eab46..d39c05919621 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_match_spec_test_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_match_spec_test_3_func.txt @@ -1,28 +1,27 @@ - -spec erlang:match_spec_test(MatchAgainst, MatchSpec, Type) -> -  TestResult -  when -  MatchAgainst :: [term()] | tuple(), -  MatchSpec :: term(), -  Type :: table | trace, -  TestResult :: -  {ok, -  term(), -  [return_trace], -  [{error | warning, string()}]} | -  {error, -  [{error | warning, string()}]}. + -spec match_spec_test(MatchAgainst, MatchSpec, Type) -> TestResult +  when +  MatchAgainst :: [term()] | tuple(), +  MatchSpec :: term(), +  Type :: table | trace, +  TestResult :: +  {ok, +  term(), +  [return_trace], +  [{error | warning, string()}]} | +  {error, [{error | warning, string()}]}. Since: OTP 19.0 Tests a match specification used in calls to ets:select/2 and  - erlang:trace_pattern/3. The function tests both a match - specification for "syntactic" correctness and runs the match - specification against the object. If the match specification - contains errors, the tuple {error, Errors} is returned, where  - Errors is a list of natural language descriptions of what was - wrong with the match specification. + trace:function/4. + + The function tests both a match specification for "syntactic" + correctness and runs the match specification against the object. + If the match specification contains errors, the tuple {error, + Errors} is returned, where Errors is a list of natural language + descriptions of what was wrong with the match specification. If Type is table, the object to match against is to be a tuple. The function then returns {ok,Result,[],Warnings}, where  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 0dbd5d01f09e..caef0e049d8a 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 @@ -5,8 +5,8 @@ Returns the largest of Term1 and Term2. If the terms compare equal with the == operator, Term1 is returned. - The Expressions section contains descriptions of the == - operator and how terms are ordered. + The Expressions section contains descriptions of the == operator + and how terms are ordered. Examples: @@ -22,7 +22,6 @@ > max("abc", "b"). "b" - Allowed in guard tests. + Change - Change: Allowed in guards tests from Erlang/OTP 26. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_maybe_improper_list_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_maybe_improper_list_0_type.txt index f432632fd965..83fb4cf4370b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_maybe_improper_list_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_maybe_improper_list_0_type.txt @@ -1,5 +1,5 @@ -type maybe_improper_list() :: maybe_improper_list(any(), any()). - An Erlang list that is not guaranteed to end with a [], and + An Erlang list that is not guaranteed to end with a [], and where the list elements can be of any type. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_maybe_improper_list_2_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_maybe_improper_list_2_type.txt index b7aaf7bc2c06..7f3f2f14931f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_maybe_improper_list_2_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_maybe_improper_list_2_type.txt @@ -2,5 +2,5 @@ -type maybe_improper_list(ContentType, TerminationType) ::  maybe_improper_list(ContentType, TerminationType). - An Erlang list, that is not guaranteed to end with a [], and + An Erlang list, that is not guaranteed to end with a [], and where the list elements are of the type ContentType. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_md5_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_md5_1_func.txt index 26720f03d009..89582faf5fda 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_md5_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_md5_1_func.txt @@ -1,6 +1,5 @@ - -spec erlang:md5(Data) -> Digest -  when Data :: iodata(), Digest :: binary(). + -spec md5(Data) -> Digest when Data :: iodata(), Digest :: binary(). Computes an MD5 message digest from Data, where the length of the digest is 128 bits (16 bytes). Data is a binary or a list of @@ -9,6 +8,7 @@ For more information about MD5, see RFC 1321 - The MD5 Message-Digest Algorithm. - Warning: + Warning + The MD5 Message-Digest Algorithm is not considered safe for code-signing or software-integrity purposes. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_md5_final_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_md5_final_1_func.txt index 575b234838b9..e74bc5c45ec9 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_md5_final_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_md5_final_1_func.txt @@ -1,6 +1,6 @@ - -spec erlang:md5_final(Context) -> Digest -  when Context :: binary(), Digest :: binary(). + -spec md5_final(Context) -> Digest +  when Context :: binary(), Digest :: binary(). Finishes the update of an MD5 Context and returns the computed  MD5 message digest. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_md5_init_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_md5_init_0_func.txt index 75e201434476..c25f75653879 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_md5_init_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_md5_init_0_func.txt @@ -1,5 +1,5 @@ - -spec erlang:md5_init() -> Context when Context :: binary(). + -spec md5_init() -> Context when Context :: binary(). Creates an MD5 context, to be used in the following calls to  md5_update/2. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_md5_update_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_md5_update_2_func.txt index 7ec7dfdd98c4..6a27220ac306 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_md5_update_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_md5_update_2_func.txt @@ -1,8 +1,8 @@ - -spec erlang:md5_update(Context, Data) -> NewContext -  when -  Context :: binary(), -  Data :: iodata(), -  NewContext :: binary(). + -spec md5_update(Context, Data) -> NewContext +  when +  Context :: binary(), +  Data :: iodata(), +  NewContext :: binary(). Update an MD5 Context with Data and returns a NewContext. 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 d9fcd3099bfd..db9066cc21f0 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 @@ -1,89 +1,74 @@ - -spec erlang:memory() -> [{Type, Size}] -  when -  Type :: memory_type(), -  Size :: non_neg_integer(). - - Types: - -type memory_type() :: - total | processes | processes_used | system | atom | - atom_used | binary | code | ets. + -spec memory() -> [{Type, Size}] +  when Type :: memory_type(), Size :: non_neg_integer(). Returns a list with information about memory dynamically allocated - by the Erlang emulator. Each list element is a tuple {Type, Size}. - The first element Type is an atom describing memory type. The - second element Size is the memory size in bytes. + by the Erlang emulator. + + Each list element is a tuple {Type, Size}. The first element  + Type is an atom describing memory type. The second element Size + is the memory size in bytes. Memory types: - total: - The total amount of memory currently allocated. This is the - same as the sum of the memory size for processes and system. - - processes: - The total amount of memory currently allocated for the Erlang - processes. - - processes_used: - The total amount of memory currently used by the Erlang - processes. This is part of the memory presented as processes - memory. - - system: - The total amount of memory currently allocated for the - emulator that is not directly related to any Erlang process. - Memory presented as processes is not included in this - memory. instrument(3) can be used to get a more detailed - breakdown of what memory is part of this type. - - atom: - The total amount of memory currently allocated for atoms. This - memory is part of the memory presented as system memory. - - atom_used: - The total amount of memory currently used for atoms. This - memory is part of the memory presented as atom memory. - - binary: - The total amount of memory currently allocated for binaries. - This memory is part of the memory presented as system - memory. - - code: - The total amount of memory currently allocated for Erlang - code. This memory is part of the memory presented as system - memory. - - ets: - The total amount of memory currently allocated for ETS tables. - This memory is part of the memory presented as system - memory. - - maximum: - The maximum total amount of memory allocated since the - emulator was started. This tuple is only present when the - emulator is run with instrumentation. - - For information on how to run the emulator with - instrumentation, see instrument(3) and/or erl(1). - - Note: - The system value is not complete. Some allocated memory that - is to be part of this value is not. + • total - The total amount of memory currently allocated. + This is the same as the sum of the memory size for  + processes and system. + + • processes - The total amount of memory currently allocated + for the Erlang processes. + + • processes_used - The total amount of memory currently used + by the Erlang processes. This is part of the memory + presented as processes memory. + + • system - The total amount of memory currently allocated for + the emulator that is not directly related to any Erlang + process. Memory presented as processes is not included in + this memory. instrument can be used to get a more detailed + breakdown of what memory is part of this type. + + • atom - The total amount of memory currently allocated for + atoms. This memory is part of the memory presented as  + system memory. - When the emulator is run with instrumentation, the system - value is more accurate, but memory directly allocated for  - malloc (and friends) is still not part of the system value. - Direct calls to malloc are only done from OS-specific - runtime libraries and perhaps from user-implemented Erlang - drivers that do not use the memory allocation functions in the - driver interface. + • atom_used - The total amount of memory currently used for + atoms. This memory is part of the memory presented as atom + memory. - As the total value is the sum of processes and system, - the error in system propagates to the total value. + • binary - The total amount of memory currently allocated for + binaries. This memory is part of the memory presented as  + system memory. - The different amounts of memory that are summed are not - gathered atomically, which introduces an error in the result. + • code - The total amount of memory currently allocated for + Erlang code. This memory is part of the memory presented as  + system memory. + + • ets - The total amount of memory currently allocated for + ETS tables. This memory is part of the memory presented as  + system memory. + + • maximum - The maximum total amount of memory allocated + since the emulator was started. This tuple is only present + when the emulator is run with instrumentation. + + For information on how to run the emulator with + instrumentation, see instrument and/or erl(1). + + Note + + The system value is not complete. Some allocated memory that + is to be part of this value is not. When the emulator is run + with instrumentation, the system value is more accurate, but + memory directly allocated for malloc (and friends) is still + not part of the system value. Direct calls to malloc are + only done from OS-specific runtime libraries and perhaps from + user-implemented Erlang drivers that do not use the memory + allocation functions in the driver interface. As the total + value is the sum of processes and system, the error in  + system propagates to the total value. The different amounts + of memory that are summed are not gathered atomically, which + introduces an error in the result. The different values have the following relation to each other. Values beginning with an uppercase letter is not part of the @@ -98,20 +83,21 @@ More tuples in the returned list can be added in a future release. - Note: + Note + The total value is supposed to be the total amount of memory dynamically allocated by the emulator. Shared libraries, the code of the emulator itself, and the emulator stacks are not supposed to be included. That is, the total value is not supposed to be equal to the total size of all pages mapped to - the emulator. + the emulator. Also, because of fragmentation and + prereservation of memory areas, the size of the memory + segments containing the dynamically allocated memory blocks + can be much larger than the total size of the dynamically + allocated memory blocks. - Also, because of fragmentation and prereservation of memory - areas, the size of the memory segments containing the - dynamically allocated memory blocks can be much larger than - the total size of the dynamically allocated memory blocks. + Change - 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 537d838a8288..740ed0db675c 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 @@ -1,33 +1,26 @@ - -spec erlang:memory(Type :: memory_type()) -> non_neg_integer(); -  (TypeList :: [memory_type()]) -> -  [{memory_type(), non_neg_integer()}]. - - Types: - -type memory_type() :: - total | processes | processes_used | system | atom | - atom_used | binary | code | ets. + -spec memory(Type :: memory_type()) -> non_neg_integer(); +  (TypeList :: [memory_type()]) -> +  [{memory_type(), non_neg_integer()}]. Returns the memory size in bytes allocated for memory of type  Type. The argument can also be specified as a list of  - memory_type() atoms, in which case a corresponding list of  + memory_type/0 atoms, in which case a corresponding list of  {memory_type(), Size :: integer >= 0} tuples is returned. - Change: + Change + As from ERTS 5.6.4, erlang:memory/1 requires that all  erts_alloc(3) allocators are enabled (default behavior). Failures: - badarg: - If Type is not one of the memory types listed in the - description of erlang:memory/0. + • badarg - If Type is not one of the memory types listed in + the description of erlang:memory/0. - badarg: - If maximum is passed as Type and the emulator is not run - in instrumented mode. + • badarg - If maximum is passed as Type and the emulator + is not run in instrumented mode. - notsup: - If an erts_alloc(3) allocator has been disabled. + • notsup - If an erts_alloc(3) allocator has been disabled. See also erlang:memory/0. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_memory_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_memory_func.txt index d79b181c8a22..478551aa7176 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_memory_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_memory_func.txt @@ -1,89 +1,74 @@ - -spec erlang:memory() -> [{Type, Size}] -  when -  Type :: memory_type(), -  Size :: non_neg_integer(). - - Types: - -type memory_type() :: - total | processes | processes_used | system | atom | - atom_used | binary | code | ets. + -spec memory() -> [{Type, Size}] +  when Type :: memory_type(), Size :: non_neg_integer(). Returns a list with information about memory dynamically allocated - by the Erlang emulator. Each list element is a tuple {Type, Size}. - The first element Type is an atom describing memory type. The - second element Size is the memory size in bytes. + by the Erlang emulator. + + Each list element is a tuple {Type, Size}. The first element  + Type is an atom describing memory type. The second element Size + is the memory size in bytes. Memory types: - total: - The total amount of memory currently allocated. This is the - same as the sum of the memory size for processes and system. - - processes: - The total amount of memory currently allocated for the Erlang - processes. - - processes_used: - The total amount of memory currently used by the Erlang - processes. This is part of the memory presented as processes - memory. - - system: - The total amount of memory currently allocated for the - emulator that is not directly related to any Erlang process. - Memory presented as processes is not included in this - memory. instrument(3) can be used to get a more detailed - breakdown of what memory is part of this type. - - atom: - The total amount of memory currently allocated for atoms. This - memory is part of the memory presented as system memory. - - atom_used: - The total amount of memory currently used for atoms. This - memory is part of the memory presented as atom memory. - - binary: - The total amount of memory currently allocated for binaries. - This memory is part of the memory presented as system - memory. - - code: - The total amount of memory currently allocated for Erlang - code. This memory is part of the memory presented as system - memory. - - ets: - The total amount of memory currently allocated for ETS tables. - This memory is part of the memory presented as system - memory. - - maximum: - The maximum total amount of memory allocated since the - emulator was started. This tuple is only present when the - emulator is run with instrumentation. - - For information on how to run the emulator with - instrumentation, see instrument(3) and/or erl(1). - - Note: - The system value is not complete. Some allocated memory that - is to be part of this value is not. + • total - The total amount of memory currently allocated. + This is the same as the sum of the memory size for  + processes and system. + + • processes - The total amount of memory currently allocated + for the Erlang processes. + + • processes_used - The total amount of memory currently used + by the Erlang processes. This is part of the memory + presented as processes memory. + + • system - The total amount of memory currently allocated for + the emulator that is not directly related to any Erlang + process. Memory presented as processes is not included in + this memory. instrument can be used to get a more detailed + breakdown of what memory is part of this type. + + • atom - The total amount of memory currently allocated for + atoms. This memory is part of the memory presented as  + system memory. + + • atom_used - The total amount of memory currently used for + atoms. This memory is part of the memory presented as atom + memory. - When the emulator is run with instrumentation, the system - value is more accurate, but memory directly allocated for  - malloc (and friends) is still not part of the system value. - Direct calls to malloc are only done from OS-specific - runtime libraries and perhaps from user-implemented Erlang - drivers that do not use the memory allocation functions in the - driver interface. + • binary - The total amount of memory currently allocated for + binaries. This memory is part of the memory presented as  + system memory. - As the total value is the sum of processes and system, - the error in system propagates to the total value. + • code - The total amount of memory currently allocated for + Erlang code. This memory is part of the memory presented as  + system memory. - The different amounts of memory that are summed are not - gathered atomically, which introduces an error in the result. + • ets - The total amount of memory currently allocated for + ETS tables. This memory is part of the memory presented as  + system memory. + + • maximum - The maximum total amount of memory allocated + since the emulator was started. This tuple is only present + when the emulator is run with instrumentation. + + For information on how to run the emulator with + instrumentation, see instrument and/or erl(1). + + Note + + The system value is not complete. Some allocated memory that + is to be part of this value is not. When the emulator is run + with instrumentation, the system value is more accurate, but + memory directly allocated for malloc (and friends) is still + not part of the system value. Direct calls to malloc are + only done from OS-specific runtime libraries and perhaps from + user-implemented Erlang drivers that do not use the memory + allocation functions in the driver interface. As the total + value is the sum of processes and system, the error in  + system propagates to the total value. The different amounts + of memory that are summed are not gathered atomically, which + introduces an error in the result. The different values have the following relation to each other. Values beginning with an uppercase letter is not part of the @@ -98,55 +83,49 @@ More tuples in the returned list can be added in a future release. - Note: + Note + The total value is supposed to be the total amount of memory dynamically allocated by the emulator. Shared libraries, the code of the emulator itself, and the emulator stacks are not supposed to be included. That is, the total value is not supposed to be equal to the total size of all pages mapped to - the emulator. + the emulator. Also, because of fragmentation and + prereservation of memory areas, the size of the memory + segments containing the dynamically allocated memory blocks + can be much larger than the total size of the dynamically + allocated memory blocks. - Also, because of fragmentation and prereservation of memory - areas, the size of the memory segments containing the - dynamically allocated memory blocks can be much larger than - the total size of the dynamically allocated memory blocks. + Change - Change: As from ERTS 5.6.4, erlang:memory/0 requires that all  erts_alloc(3) allocators are enabled (default behavior). Failure: notsup if an erts_alloc(3) allocator has been disabled. - -spec erlang:memory(Type :: memory_type()) -> non_neg_integer(); -  (TypeList :: [memory_type()]) -> -  [{memory_type(), non_neg_integer()}]. - - Types: - -type memory_type() :: - total | processes | processes_used | system | atom | - atom_used | binary | code | ets. + -spec memory(Type :: memory_type()) -> non_neg_integer(); +  (TypeList :: [memory_type()]) -> +  [{memory_type(), non_neg_integer()}]. Returns the memory size in bytes allocated for memory of type  Type. The argument can also be specified as a list of  - memory_type() atoms, in which case a corresponding list of  + memory_type/0 atoms, in which case a corresponding list of  {memory_type(), Size :: integer >= 0} tuples is returned. - Change: + Change + As from ERTS 5.6.4, erlang:memory/1 requires that all  erts_alloc(3) allocators are enabled (default behavior). Failures: - badarg: - If Type is not one of the memory types listed in the - description of erlang:memory/0. + • badarg - If Type is not one of the memory types listed in + the description of erlang:memory/0. - badarg: - If maximum is passed as Type and the emulator is not run - in instrumented mode. + • badarg - If maximum is passed as Type and the emulator + is not run in instrumented mode. - notsup: - If an erts_alloc(3) allocator has been disabled. + • notsup - If an erts_alloc(3) allocator has been disabled. See also erlang:memory/0. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_message_queue_data_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_message_queue_data_0_type.txt index 5799c41b4d1a..1ff2b1ca3156 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_message_queue_data_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_message_queue_data_0_type.txt @@ -3,7 +3,5 @@ See process_flag(message_queue_data, MQD). - -type message_queue_data() :: off_heap | on_heap. - Process message queue data configuration. For more information, see process_flag(message_queue_data, MQD) 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 906f783f2984..d5fdad97f132 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 @@ -5,8 +5,8 @@ Returns the smallest of Term1 and Term2. If the terms compare equal with the == operator, Term1 is returned. - The Expressions section contains descriptions of the == - operator and how terms are ordered. + The Expressions section contains descriptions of the == operator + and how terms are ordered. Examples: @@ -22,7 +22,6 @@ > min("abc", "b"). "abc" - Allowed in guard tests. + Change - Change: Allowed in guards tests from Erlang/OTP 26. 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 6837141c8802..ecf0c99b1562 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 @@ -6,25 +6,17 @@  (time_offset, clock_service) -> MonitorRef  when MonitorRef :: reference(). -Since: - OTP 18.0,OTP 19.0 - - Types: - -type monitor_port_identifier() :: port() | registered_name(). - -type monitor_process_identifier() :: - pid() | registered_process_identifier(). - -type registered_name() :: atom(). - -type registered_process_identifier() :: - registered_name() | {registered_name(), node()}. - Sends a monitor request of type Type to the entity identified by  - Item. If the monitored entity does not exist or it changes - monitored state, the caller of monitor/2 is notified by a - message on the following format: + Item. + + If the monitored entity does not exist or it changes monitored + state, the caller of monitor/2 is notified by a message on the + following format: {Tag, MonitorRef, Type, Object, Info} - Note: + Note + The monitor request is an asynchronous signal. That is, it takes time before the signal reaches its destination. @@ -37,10 +29,10 @@ terminates, does not exist at the moment of creation, or if the connection to it is lost. If the connection to it is lost, we do not know if it still exists. The monitoring is also turned off - when demonitor/1 is called. + when demonitor/1 is called. A process or port monitor by name resolves the RegisteredName - to pid() or port() only once at the moment of monitor + to pid/0 or port/0 only once at the moment of monitor instantiation, later changes to the name registration will not affect the existing monitor. @@ -52,92 +44,94 @@ In the monitor message MonitorRef and Type are the same as described earlier, and: - Object: - The monitored entity, which triggered the event. When - monitoring a process or a local port, Object will be equal - to the pid() or port() that was being monitored. When - monitoring process or port by name, Object will have format  - {RegisteredName, Node} where RegisteredName is the name - which has been used with monitor/2 call and Node is local - or remote node name (for ports monitored by name, Node is - always local node name). - - Info: - Either the exit reason of the process, noproc (process or - port did not exist at the time of monitor creation), or  - noconnection (no connection to the node where the monitored - process resides). - - Monitoring a process: - Creates monitor between the current process and another - process identified by Item, which can be a pid() (local or - remote), an atom RegisteredName or a tuple {RegisteredName, - Node} for a registered process, located elsewhere. - - 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), - where remote process monitoring is not implemented. - - Now, such a call to monitor will instead succeed and a - monitor is created. But the monitor will only supervise - the connection. That is, a {'DOWN', _, process, _, - noconnection} is the only message that may be received, - as the primitive node have no way of reporting the status - of the monitored process. - - Monitoring a port: - Creates monitor between the current process and a port - identified by Item, which can be a port() (only local), an - atom RegisteredName or a tuple {RegisteredName, Node} for - a registered port, located on this node. Note, that attempt to - monitor a remote port will result in badarg. - - Monitoring a time_offset: - Monitors changes in time offset between Erlang monotonic - time and Erlang system time. One valid Item exists in - combination with the time_offset Type, namely the atom  - clock_service. Notice that the atom clock_service is not - the registered name of a process. In this case it serves as an - identifier of the runtime system internal clock service at - current runtime system instance. - - The monitor is triggered when the time offset is changed. This - either if the time offset value is changed, or if the offset - is changed from preliminary to final during finalization of - the time offset when the single time warp mode is used. - When a change from preliminary to final time offset is made, - the monitor is triggered once regardless of whether the time - offset value was changed or not. - - If the runtime system is in multi time warp mode, the time - offset is changed when the runtime system detects that the OS - system time has changed. The runtime system does, however, - not detect this immediately when it occurs. A task checking - the time offset is scheduled to execute at least once a - minute, so under normal operation this is to be detected - within a minute, but during heavy load it can take longer - time. - - The monitor is not automatically removed after it has been - triggered. That is, repeated changes of the time offset - trigger the monitor repeatedly. - - When the monitor is triggered a 'CHANGE' message is sent to - the monitoring process. A 'CHANGE' message has the following - pattern: - - {'CHANGE', MonitorRef, Type, Item, NewTimeOffset} - - where MonitorRef, Type, and Item are the same as - described above, and NewTimeOffset is the new time offset. - - When the 'CHANGE' message has been received you are - guaranteed not to retrieve the old time offset when calling  - erlang:time_offset(). Notice that you can observe the change - of the time offset when calling erlang:time_offset() before - you get the 'CHANGE' message. + • Object - The monitored entity, which triggered the event. + When monitoring a process or a local port, Object will be + equal to the pid/0 or port/0 that was being monitored. + When monitoring process or port by name, Object will have + format {RegisteredName, Node} where RegisteredName is + the name which has been used with monitor/2 call and Node + is local or remote node name (for ports monitored by name,  + Node is always local node name). + + • Info - Either the exit reason of the process, noproc + (process or port did not exist at the time of monitor + creation), or noconnection (no connection to the node + where the monitored process resides). + + • Monitoring a process - Creates monitor between the current + process and another process identified by Item, which can + be a pid/0 (local or remote), an atom RegisteredName or + a tuple {RegisteredName, Node} for a registered process, + located elsewhere. + + 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), + where remote process monitoring is not implemented. Now, + such a call to monitor will instead succeed and a + monitor is created. But the monitor will only supervise + the connection. That is, a {'DOWN', _, process, _, + noconnection} is the only message that may be received, + as the primitive node have no way of reporting the + status of the monitored process. + + • Monitoring a port - Creates monitor between the current + process and a port identified by Item, which can be a  + port/0 (only local), an atom RegisteredName or a tuple  + {RegisteredName, Node} for a registered port, located on + this node. Note, that attempt to monitor a remote port will + result in badarg. + + Available since OTP 19.0. + + • Monitoring a time_offset - Monitors changes in  + time_offset/0 between Erlang monotonic time and Erlang + system time. One valid Item exists in combination with the  + time_offset Type, namely the atom clock_service. Notice + that the atom clock_service is not the registered name + of a process. In this case it serves as an identifier of the + runtime system internal clock service at current runtime + system instance. + + The monitor is triggered when the time offset is changed. + This either if the time offset value is changed, or if the + offset is changed from preliminary to final during + finalization of the time offset when the single time warp + mode is used. When a change from preliminary to final time + offset is made, the monitor is triggered once regardless of + whether the time offset value was changed or not. + + If the runtime system is in multi time warp mode, the time + offset is changed when the runtime system detects that the + OS system time has changed. The runtime system does, + however, not detect this immediately when it occurs. A task + checking the time offset is scheduled to execute at least + once a minute, so under normal operation this is to be + detected within a minute, but during heavy load it can take + longer time. + + The monitor is not automatically removed after it has been + triggered. That is, repeated changes of the time offset + trigger the monitor repeatedly. + + When the monitor is triggered a 'CHANGE' message is sent + to the monitoring process. A 'CHANGE' message has the + following pattern: + + {'CHANGE', MonitorRef, Type, Item, NewTimeOffset} + + where MonitorRef, Type, and Item are the same as + described above, and NewTimeOffset is the new time offset. + + When the 'CHANGE' message has been received you are + guaranteed not to retrieve the old time offset when calling  + erlang:time_offset/0. Notice that you can observe the + change of the time offset when calling erlang:time_offset/0 + before you get the 'CHANGE' message. + + Available since OTP 18.0. Making several calls to monitor/2 for the same Item and/or  Type is not an error; it results in as many independent @@ -147,12 +141,14 @@ other Types and Items are expected to be supported in a future release. - Note: + Note + If or when monitor/2 is extended, other possible values for  Tag, Object, and Info in the monitor message will be introduced. - Note: + 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_monitor_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_3_func.txt index a5c8f45eb010..ce14696a390e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_3_func.txt @@ -12,131 +12,121 @@ Since: OTP 24.0 - Types: - -type monitor_port_identifier() :: port() | registered_name(). - -type monitor_process_identifier() :: - pid() | registered_process_identifier(). - -type registered_name() :: atom(). - -type registered_process_identifier() :: - registered_name() | {registered_name(), node()}. - Provides an option list for modification of monitoring functionality provided by monitor/2. The Type and Item arguments have the same meaning as when passed to monitor/2. + Currently available options: - {alias, UnaliasOpt}: - The returned monitor reference will also become an alias for - the calling process. That is, the returned reference can be - used for sending messages to the calling process. See also  - alias/0. The UnaliasOpt determines how the alias should be - deactivated. - - explicit_unalias: - Only an explicit call to unalias/1 will deactivate the - alias. - - demonitor: - The alias will be automatically deactivated when the - monitor is removed. This either via an explicit call to  - demonitor/1 or when it is automatically removed at the - same time as a 'DOWN' message is delivered due to the - monitor. The alias can also still be deactivated via a - call to unalias/1. - - reply_demonitor: - The alias will be automatically deactivated when the - monitor is removed (see demonitor option above) or a - reply message sent via the alias is received. When a reply - message is received via the alias the monitor will also be - automatically removed. This is useful in client/server - scenarios when a client monitors the server and will get - the reply via the alias. Once the response is received - both the alias and the monitor will be automatically - removed regardless of whether the response is a reply or a  - 'DOWN' message. The alias can also still be deactivated - via a call to unalias/1. Note that if the alias is - removed using the unalias/1 BIF, the monitor will still - be left active. - - Example: - - server() -> - receive - {request, AliasReqId, Request} -> - Result = perform_request(Request), - AliasReqId ! {reply, AliasReqId, Result} - end, - server(). - - client(ServerPid, Request) -> - AliasMonReqId = monitor(process, ServerPid, [{alias, reply_demonitor}]), - ServerPid ! {request, AliasMonReqId, Request}, - %% Alias as well as monitor will be automatically deactivated if we - %% receive a reply or a 'DOWN' message since we used 'reply_demonitor' - %% as unalias option... - receive - {reply, AliasMonReqId, Result} -> - Result; - {'DOWN', AliasMonReqId, process, ServerPid, ExitReason} -> - error(ExitReason) - end. - - Note that both the server and the client in this example must - be executing on at least OTP 24 systems in order for this to - work. - - For more information on process aliases see the Process - Aliases section of the Erlang Reference Manual. - - {tag, UserDefinedTag}: - Replace the default Tag with UserDefinedTag in the - monitor message delivered when the monitor is triggered. For - example, when monitoring a process, the 'DOWN' tag in the - down message will be replaced by UserDefinedTag. - - An example of how the {tag, UserDefinedTag} option can be - used in order to enable the new selective receive - optimization, introduced in OTP 24, when making multiple - requests to different servers: - - server() -> - receive - {request, From, ReqId, Request} -> - Result = perform_request(Request), - From ! {reply, self(), ReqId, Result} - end, - server(). - - client(ServerPids, Request) when is_list(ServerPids) -> - ReqId = make_ref(), - lists:foreach(fun (ServerPid) -> - _ = monitor(process, ServerPid, - [{tag, {'DOWN', ReqId}}]), - ServerPid ! {request, self(), ReqId, Request} - end, - ServerPids), - receive_replies(ReqId, length(ServerPids), []). - - receive_replies(_ReqId, 0, Acc) -> - Acc; - receive_replies(ReqId, N, Acc) -> - %% The compiler will detect that we match on the 'ReqId' - %% reference in all clauses, and will enable the selective - %% receive optimization which makes the receive able to - %% skip past all messages present in the message queue at - %% the time when the 'ReqId' reference was created... - Res = receive - {reply, ServerPid, ReqId, Result} -> - %% Here we typically would have deactivated the - %% monitor by a call to demonitor(Mon, [flush]) but - %% we ignore this in this example for simplicity... - {ok, ServerPid, Result}; - {{'DOWN', ReqId}, _Mon, process, ServerPid, ExitReason} -> - {error, ServerPid, ExitReason} - end, - receive_replies(ReqId, N-1, [Res | Acc]). - - In order for this example to work as intended, the client must - be executing on at least an OTP 24 system, but the servers may - execute on older systems. + • {alias, UnaliasOpt} - The returned monitor reference will + also become an alias for the calling process. That is, the + returned reference can be used for sending messages to the + calling process. See also alias/0. The UnaliasOpt + determines how the alias should be deactivated. + + ○ explicit_unalias - Only an explicit call to  + unalias/1 will deactivate the alias. + + ○ demonitor - The alias will be automatically + deactivated when the monitor is removed. This either + via an explicit call to demonitor/1 or when it is + automatically removed at the same time as a 'DOWN' + message is delivered due to the monitor. The alias can + also still be deactivated via a call to unalias/1. + + ○ reply_demonitor - The alias will be automatically + deactivated when the monitor is removed (see  + demonitor option above) or a reply message sent via + the alias is received. When a reply message is + received via the alias the monitor will also be + automatically removed. This is useful in client/server + scenarios when a client monitors the server and will + get the reply via the alias. Once the response is + received both the alias and the monitor will be + automatically removed regardless of whether the + response is a reply or a 'DOWN' message. The alias + can also still be deactivated via a call to unalias/1. + Note that if the alias is removed using the unalias/1 + BIF, the monitor will still be left active. + + Example: + + server() -> + receive + {request, AliasReqId, Request} -> + Result = perform_request(Request), + AliasReqId ! {reply, AliasReqId, Result} + end, + server(). + + client(ServerPid, Request) -> + AliasMonReqId = monitor(process, ServerPid, [{alias, reply_demonitor}]), + ServerPid ! {request, AliasMonReqId, Request}, + %% Alias as well as monitor will be automatically deactivated if we + %% receive a reply or a 'DOWN' message since we used 'reply_demonitor' + %% as unalias option... + receive + {reply, AliasMonReqId, Result} -> + Result; + {'DOWN', AliasMonReqId, process, ServerPid, ExitReason} -> + error(ExitReason) + end. + + Note that both the server and the client in this example + must be executing on at least OTP 24 systems in order for + this to work. + + For more information on process aliases see the Process + Aliases section of the Erlang Reference Manual. + + • {tag, UserDefinedTag} - Replace the default Tag with  + UserDefinedTag in the monitor message delivered when the + monitor is triggered. For example, when monitoring a + process, the 'DOWN' tag in the down message will be + replaced by UserDefinedTag. + + An example of how the {tag, UserDefinedTag} option can be + used in order to enable the new selective receive + optimization, introduced in OTP 24, when making multiple + requests to different servers: + + server() -> + receive + {request, From, ReqId, Request} -> + Result = perform_request(Request), + From ! {reply, self(), ReqId, Result} + end, + server(). + + client(ServerPids, Request) when is_list(ServerPids) -> + ReqId = make_ref(), + lists:foreach(fun (ServerPid) -> + _ = monitor(process, ServerPid, + [{tag, {'DOWN', ReqId}}]), + ServerPid ! {request, self(), ReqId, Request} + end, + ServerPids), + receive_replies(ReqId, length(ServerPids), []). + + receive_replies(_ReqId, 0, Acc) -> + Acc; + receive_replies(ReqId, N, Acc) -> + %% The compiler will detect that we match on the 'ReqId' + %% reference in all clauses, and will enable the selective + %% receive optimization which makes the receive able to + %% skip past all messages present in the message queue at + %% the time when the 'ReqId' reference was created... + Res = receive + {reply, ServerPid, ReqId, Result} -> + %% Here we typically would have deactivated the + %% monitor by a call to demonitor(Mon, [flush]) but + %% we ignore this in this example for simplicity... + {ok, ServerPid, Result}; + {{'DOWN', ReqId}, _Mon, process, ServerPid, ExitReason} -> + {error, ServerPid, ExitReason} + end, + receive_replies(ReqId, N-1, [Res | Acc]). + + In order for this example to work as intended, the client + must be executing on at least an OTP 24 system, but the + servers may execute on older systems. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_func.txt index 9daccf7706e7..ebec52264484 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_func.txt @@ -6,25 +6,17 @@  (time_offset, clock_service) -> MonitorRef  when MonitorRef :: reference(). -Since: - OTP 18.0,OTP 19.0 - - Types: - -type monitor_port_identifier() :: port() | registered_name(). - -type monitor_process_identifier() :: - pid() | registered_process_identifier(). - -type registered_name() :: atom(). - -type registered_process_identifier() :: - registered_name() | {registered_name(), node()}. - Sends a monitor request of type Type to the entity identified by  - Item. If the monitored entity does not exist or it changes - monitored state, the caller of monitor/2 is notified by a - message on the following format: + Item. + + If the monitored entity does not exist or it changes monitored + state, the caller of monitor/2 is notified by a message on the + following format: {Tag, MonitorRef, Type, Object, Info} - Note: + Note + The monitor request is an asynchronous signal. That is, it takes time before the signal reaches its destination. @@ -37,10 +29,10 @@ terminates, does not exist at the moment of creation, or if the connection to it is lost. If the connection to it is lost, we do not know if it still exists. The monitoring is also turned off - when demonitor/1 is called. + when demonitor/1 is called. A process or port monitor by name resolves the RegisteredName - to pid() or port() only once at the moment of monitor + to pid/0 or port/0 only once at the moment of monitor instantiation, later changes to the name registration will not affect the existing monitor. @@ -52,92 +44,94 @@ In the monitor message MonitorRef and Type are the same as described earlier, and: - Object: - The monitored entity, which triggered the event. When - monitoring a process or a local port, Object will be equal - to the pid() or port() that was being monitored. When - monitoring process or port by name, Object will have format  - {RegisteredName, Node} where RegisteredName is the name - which has been used with monitor/2 call and Node is local - or remote node name (for ports monitored by name, Node is - always local node name). - - Info: - Either the exit reason of the process, noproc (process or - port did not exist at the time of monitor creation), or  - noconnection (no connection to the node where the monitored - process resides). - - Monitoring a process: - Creates monitor between the current process and another - process identified by Item, which can be a pid() (local or - remote), an atom RegisteredName or a tuple {RegisteredName, - Node} for a registered process, located elsewhere. - - 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), - where remote process monitoring is not implemented. - - Now, such a call to monitor will instead succeed and a - monitor is created. But the monitor will only supervise - the connection. That is, a {'DOWN', _, process, _, - noconnection} is the only message that may be received, - as the primitive node have no way of reporting the status - of the monitored process. - - Monitoring a port: - Creates monitor between the current process and a port - identified by Item, which can be a port() (only local), an - atom RegisteredName or a tuple {RegisteredName, Node} for - a registered port, located on this node. Note, that attempt to - monitor a remote port will result in badarg. - - Monitoring a time_offset: - Monitors changes in time offset between Erlang monotonic - time and Erlang system time. One valid Item exists in - combination with the time_offset Type, namely the atom  - clock_service. Notice that the atom clock_service is not - the registered name of a process. In this case it serves as an - identifier of the runtime system internal clock service at - current runtime system instance. - - The monitor is triggered when the time offset is changed. This - either if the time offset value is changed, or if the offset - is changed from preliminary to final during finalization of - the time offset when the single time warp mode is used. - When a change from preliminary to final time offset is made, - the monitor is triggered once regardless of whether the time - offset value was changed or not. - - If the runtime system is in multi time warp mode, the time - offset is changed when the runtime system detects that the OS - system time has changed. The runtime system does, however, - not detect this immediately when it occurs. A task checking - the time offset is scheduled to execute at least once a - minute, so under normal operation this is to be detected - within a minute, but during heavy load it can take longer - time. - - The monitor is not automatically removed after it has been - triggered. That is, repeated changes of the time offset - trigger the monitor repeatedly. - - When the monitor is triggered a 'CHANGE' message is sent to - the monitoring process. A 'CHANGE' message has the following - pattern: - - {'CHANGE', MonitorRef, Type, Item, NewTimeOffset} - - where MonitorRef, Type, and Item are the same as - described above, and NewTimeOffset is the new time offset. - - When the 'CHANGE' message has been received you are - guaranteed not to retrieve the old time offset when calling  - erlang:time_offset(). Notice that you can observe the change - of the time offset when calling erlang:time_offset() before - you get the 'CHANGE' message. + • Object - The monitored entity, which triggered the event. + When monitoring a process or a local port, Object will be + equal to the pid/0 or port/0 that was being monitored. + When monitoring process or port by name, Object will have + format {RegisteredName, Node} where RegisteredName is + the name which has been used with monitor/2 call and Node + is local or remote node name (for ports monitored by name,  + Node is always local node name). + + • Info - Either the exit reason of the process, noproc + (process or port did not exist at the time of monitor + creation), or noconnection (no connection to the node + where the monitored process resides). + + • Monitoring a process - Creates monitor between the current + process and another process identified by Item, which can + be a pid/0 (local or remote), an atom RegisteredName or + a tuple {RegisteredName, Node} for a registered process, + located elsewhere. + + 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), + where remote process monitoring is not implemented. Now, + such a call to monitor will instead succeed and a + monitor is created. But the monitor will only supervise + the connection. That is, a {'DOWN', _, process, _, + noconnection} is the only message that may be received, + as the primitive node have no way of reporting the + status of the monitored process. + + • Monitoring a port - Creates monitor between the current + process and a port identified by Item, which can be a  + port/0 (only local), an atom RegisteredName or a tuple  + {RegisteredName, Node} for a registered port, located on + this node. Note, that attempt to monitor a remote port will + result in badarg. + + Available since OTP 19.0. + + • Monitoring a time_offset - Monitors changes in  + time_offset/0 between Erlang monotonic time and Erlang + system time. One valid Item exists in combination with the  + time_offset Type, namely the atom clock_service. Notice + that the atom clock_service is not the registered name + of a process. In this case it serves as an identifier of the + runtime system internal clock service at current runtime + system instance. + + The monitor is triggered when the time offset is changed. + This either if the time offset value is changed, or if the + offset is changed from preliminary to final during + finalization of the time offset when the single time warp + mode is used. When a change from preliminary to final time + offset is made, the monitor is triggered once regardless of + whether the time offset value was changed or not. + + If the runtime system is in multi time warp mode, the time + offset is changed when the runtime system detects that the + OS system time has changed. The runtime system does, + however, not detect this immediately when it occurs. A task + checking the time offset is scheduled to execute at least + once a minute, so under normal operation this is to be + detected within a minute, but during heavy load it can take + longer time. + + The monitor is not automatically removed after it has been + triggered. That is, repeated changes of the time offset + trigger the monitor repeatedly. + + When the monitor is triggered a 'CHANGE' message is sent + to the monitoring process. A 'CHANGE' message has the + following pattern: + + {'CHANGE', MonitorRef, Type, Item, NewTimeOffset} + + where MonitorRef, Type, and Item are the same as + described above, and NewTimeOffset is the new time offset. + + When the 'CHANGE' message has been received you are + guaranteed not to retrieve the old time offset when calling  + erlang:time_offset/0. Notice that you can observe the + change of the time offset when calling erlang:time_offset/0 + before you get the 'CHANGE' message. + + Available since OTP 18.0. Making several calls to monitor/2 for the same Item and/or  Type is not an error; it results in as many independent @@ -147,12 +141,14 @@ other Types and Items are expected to be supported in a future release. - Note: + Note + If or when monitor/2 is extended, other possible values for  Tag, Object, and Info in the monitor message will be introduced. - Note: + Note + For some important information about distributed signals, see the Blocking Signaling Over Distribution section in the Processes chapter of the Erlang Reference Manual. @@ -170,131 +166,121 @@ Since: OTP 24.0 - Types: - -type monitor_port_identifier() :: port() | registered_name(). - -type monitor_process_identifier() :: - pid() | registered_process_identifier(). - -type registered_name() :: atom(). - -type registered_process_identifier() :: - registered_name() | {registered_name(), node()}. - Provides an option list for modification of monitoring functionality provided by monitor/2. The Type and Item arguments have the same meaning as when passed to monitor/2. + Currently available options: - {alias, UnaliasOpt}: - The returned monitor reference will also become an alias for - the calling process. That is, the returned reference can be - used for sending messages to the calling process. See also  - alias/0. The UnaliasOpt determines how the alias should be - deactivated. - - explicit_unalias: - Only an explicit call to unalias/1 will deactivate the - alias. - - demonitor: - The alias will be automatically deactivated when the - monitor is removed. This either via an explicit call to  - demonitor/1 or when it is automatically removed at the - same time as a 'DOWN' message is delivered due to the - monitor. The alias can also still be deactivated via a - call to unalias/1. - - reply_demonitor: - The alias will be automatically deactivated when the - monitor is removed (see demonitor option above) or a - reply message sent via the alias is received. When a reply - message is received via the alias the monitor will also be - automatically removed. This is useful in client/server - scenarios when a client monitors the server and will get - the reply via the alias. Once the response is received - both the alias and the monitor will be automatically - removed regardless of whether the response is a reply or a  - 'DOWN' message. The alias can also still be deactivated - via a call to unalias/1. Note that if the alias is - removed using the unalias/1 BIF, the monitor will still - be left active. - - Example: - - server() -> - receive - {request, AliasReqId, Request} -> - Result = perform_request(Request), - AliasReqId ! {reply, AliasReqId, Result} - end, - server(). - - client(ServerPid, Request) -> - AliasMonReqId = monitor(process, ServerPid, [{alias, reply_demonitor}]), - ServerPid ! {request, AliasMonReqId, Request}, - %% Alias as well as monitor will be automatically deactivated if we - %% receive a reply or a 'DOWN' message since we used 'reply_demonitor' - %% as unalias option... - receive - {reply, AliasMonReqId, Result} -> - Result; - {'DOWN', AliasMonReqId, process, ServerPid, ExitReason} -> - error(ExitReason) - end. - - Note that both the server and the client in this example must - be executing on at least OTP 24 systems in order for this to - work. - - For more information on process aliases see the Process - Aliases section of the Erlang Reference Manual. - - {tag, UserDefinedTag}: - Replace the default Tag with UserDefinedTag in the - monitor message delivered when the monitor is triggered. For - example, when monitoring a process, the 'DOWN' tag in the - down message will be replaced by UserDefinedTag. - - An example of how the {tag, UserDefinedTag} option can be - used in order to enable the new selective receive - optimization, introduced in OTP 24, when making multiple - requests to different servers: - - server() -> - receive - {request, From, ReqId, Request} -> - Result = perform_request(Request), - From ! {reply, self(), ReqId, Result} - end, - server(). - - client(ServerPids, Request) when is_list(ServerPids) -> - ReqId = make_ref(), - lists:foreach(fun (ServerPid) -> - _ = monitor(process, ServerPid, - [{tag, {'DOWN', ReqId}}]), - ServerPid ! {request, self(), ReqId, Request} - end, - ServerPids), - receive_replies(ReqId, length(ServerPids), []). - - receive_replies(_ReqId, 0, Acc) -> - Acc; - receive_replies(ReqId, N, Acc) -> - %% The compiler will detect that we match on the 'ReqId' - %% reference in all clauses, and will enable the selective - %% receive optimization which makes the receive able to - %% skip past all messages present in the message queue at - %% the time when the 'ReqId' reference was created... - Res = receive - {reply, ServerPid, ReqId, Result} -> - %% Here we typically would have deactivated the - %% monitor by a call to demonitor(Mon, [flush]) but - %% we ignore this in this example for simplicity... - {ok, ServerPid, Result}; - {{'DOWN', ReqId}, _Mon, process, ServerPid, ExitReason} -> - {error, ServerPid, ExitReason} - end, - receive_replies(ReqId, N-1, [Res | Acc]). - - In order for this example to work as intended, the client must - be executing on at least an OTP 24 system, but the servers may - execute on older systems. + • {alias, UnaliasOpt} - The returned monitor reference will + also become an alias for the calling process. That is, the + returned reference can be used for sending messages to the + calling process. See also alias/0. The UnaliasOpt + determines how the alias should be deactivated. + + ○ explicit_unalias - Only an explicit call to  + unalias/1 will deactivate the alias. + + ○ demonitor - The alias will be automatically + deactivated when the monitor is removed. This either + via an explicit call to demonitor/1 or when it is + automatically removed at the same time as a 'DOWN' + message is delivered due to the monitor. The alias can + also still be deactivated via a call to unalias/1. + + ○ reply_demonitor - The alias will be automatically + deactivated when the monitor is removed (see  + demonitor option above) or a reply message sent via + the alias is received. When a reply message is + received via the alias the monitor will also be + automatically removed. This is useful in client/server + scenarios when a client monitors the server and will + get the reply via the alias. Once the response is + received both the alias and the monitor will be + automatically removed regardless of whether the + response is a reply or a 'DOWN' message. The alias + can also still be deactivated via a call to unalias/1. + Note that if the alias is removed using the unalias/1 + BIF, the monitor will still be left active. + + Example: + + server() -> + receive + {request, AliasReqId, Request} -> + Result = perform_request(Request), + AliasReqId ! {reply, AliasReqId, Result} + end, + server(). + + client(ServerPid, Request) -> + AliasMonReqId = monitor(process, ServerPid, [{alias, reply_demonitor}]), + ServerPid ! {request, AliasMonReqId, Request}, + %% Alias as well as monitor will be automatically deactivated if we + %% receive a reply or a 'DOWN' message since we used 'reply_demonitor' + %% as unalias option... + receive + {reply, AliasMonReqId, Result} -> + Result; + {'DOWN', AliasMonReqId, process, ServerPid, ExitReason} -> + error(ExitReason) + end. + + Note that both the server and the client in this example + must be executing on at least OTP 24 systems in order for + this to work. + + For more information on process aliases see the Process + Aliases section of the Erlang Reference Manual. + + • {tag, UserDefinedTag} - Replace the default Tag with  + UserDefinedTag in the monitor message delivered when the + monitor is triggered. For example, when monitoring a + process, the 'DOWN' tag in the down message will be + replaced by UserDefinedTag. + + An example of how the {tag, UserDefinedTag} option can be + used in order to enable the new selective receive + optimization, introduced in OTP 24, when making multiple + requests to different servers: + + server() -> + receive + {request, From, ReqId, Request} -> + Result = perform_request(Request), + From ! {reply, self(), ReqId, Result} + end, + server(). + + client(ServerPids, Request) when is_list(ServerPids) -> + ReqId = make_ref(), + lists:foreach(fun (ServerPid) -> + _ = monitor(process, ServerPid, + [{tag, {'DOWN', ReqId}}]), + ServerPid ! {request, self(), ReqId, Request} + end, + ServerPids), + receive_replies(ReqId, length(ServerPids), []). + + receive_replies(_ReqId, 0, Acc) -> + Acc; + receive_replies(ReqId, N, Acc) -> + %% The compiler will detect that we match on the 'ReqId' + %% reference in all clauses, and will enable the selective + %% receive optimization which makes the receive able to + %% skip past all messages present in the message queue at + %% the time when the 'ReqId' reference was created... + Res = receive + {reply, ServerPid, ReqId, Result} -> + %% Here we typically would have deactivated the + %% monitor by a call to demonitor(Mon, [flush]) but + %% we ignore this in this example for simplicity... + {ok, ServerPid, Result}; + {{'DOWN', ReqId}, _Mon, process, ServerPid, ExitReason} -> + {error, ServerPid, ExitReason} + end, + receive_replies(ReqId, N-1, [Res | Acc]). + + In order for this example to work as intended, the client + must be executing on at least an OTP 24 system, but the + servers may execute on older systems. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_node_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_node_3_func.txt index 6930ea1ed73c..cab3d293d2f4 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_node_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_node_3_func.txt @@ -1,21 +1,23 @@ - -spec erlang:monitor_node(Node, Flag, Options) -> true -  when -  Node :: node(), -  Flag :: boolean(), -  Options :: [Option], -  Option :: allow_passive_connect. + -spec monitor_node(Node, Flag, Options) -> true +  when +  Node :: node(), +  Flag :: boolean(), +  Options :: [Option], +  Option :: allow_passive_connect. Behaves as monitor_node/2 except that it allows an extra option - to be specified, namely allow_passive_connect. This option - allows the BIF to wait the normal network connection time-out for - the monitored node to connect itself, even if it cannot be - actively connected from this node (that is, it is blocked). The - state where this can be useful can only be achieved by using the - Kernel option dist_auto_connect once. If that option is not - used, option allow_passive_connect has no effect. + to be specified, namely allow_passive_connect. + + This option allows the BIF to wait the normal network connection + time-out for the monitored node to connect itself, even if it + cannot be actively connected from this node (that is, it is + blocked). The state where this can be useful can only be achieved + by using the Kernel option dist_auto_connect once. If that + option is not used, option allow_passive_connect has no effect. + + Note - Note: Option allow_passive_connect is used internally and is seldom needed in applications where the network topology and the Kernel options in effect are known in advance. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_node_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_node_func.txt index 0fb43220cd2c..307ebe54bed3 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_node_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_node_func.txt @@ -28,23 +28,25 @@ Failure: notalive if the local node is not alive. - -spec erlang:monitor_node(Node, Flag, Options) -> true -  when -  Node :: node(), -  Flag :: boolean(), -  Options :: [Option], -  Option :: allow_passive_connect. + -spec monitor_node(Node, Flag, Options) -> true +  when +  Node :: node(), +  Flag :: boolean(), +  Options :: [Option], +  Option :: allow_passive_connect. Behaves as monitor_node/2 except that it allows an extra option - to be specified, namely allow_passive_connect. This option - allows the BIF to wait the normal network connection time-out for - the monitored node to connect itself, even if it cannot be - actively connected from this node (that is, it is blocked). The - state where this can be useful can only be achieved by using the - Kernel option dist_auto_connect once. If that option is not - used, option allow_passive_connect has no effect. - - Note: + to be specified, namely allow_passive_connect. + + This option allows the BIF to wait the normal network connection + time-out for the monitored node to connect itself, even if it + cannot be actively connected from this node (that is, it is + blocked). The state where this can be useful can only be achieved + by using the Kernel option dist_auto_connect once. If that + option is not used, option allow_passive_connect has no effect. + + Note + Option allow_passive_connect is used internally and is seldom needed in applications where the network topology and the Kernel options in effect are known in advance. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monotonic_time_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monotonic_time_0_func.txt index e10401d7709c..638faad1e28d 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monotonic_time_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monotonic_time_0_func.txt @@ -1,5 +1,5 @@ - -spec erlang:monotonic_time() -> integer(). + -spec monotonic_time() -> integer(). Since: OTP 18.0 @@ -8,12 +8,11 @@ This is a monotonically increasing time since some unspecified point in time. - Note: - This is a monotonically increasing time, but not a - strictly monotonically increasing time. That is, consecutive - calls to erlang:monotonic_time/0 can produce the same - result. + Note + This is a monotonically increasing time, but not a strictly + monotonically increasing time. That is, consecutive calls to  + erlang:monotonic_time/0 can produce the same result. Different runtime system instances will use different unspecified points in time as base for their Erlang monotonic clocks. That is, it is pointless comparing monotonic times diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monotonic_time_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monotonic_time_1_func.txt index 9ea6372c9e83..28925e3cc0c6 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monotonic_time_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monotonic_time_1_func.txt @@ -1,11 +1,11 @@ - -spec erlang:monotonic_time(Unit) -> integer() when Unit :: time_unit(). + -spec monotonic_time(Unit) -> integer() when Unit :: time_unit(). Since: OTP 18.0 - Returns the current Erlang monotonic time converted into the  - Unit passed as argument. + Returns the current Erlang monotonic time converted into the Unit + passed as argument. Same as calling erlang:convert_time_unit(  erlang:monotonic_time(), native, Unit), however optimized for diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monotonic_time_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monotonic_time_func.txt index 5265a9b2aac9..1113c8137c24 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monotonic_time_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monotonic_time_func.txt @@ -1,5 +1,5 @@ - -spec erlang:monotonic_time() -> integer(). + -spec monotonic_time() -> integer(). Since: OTP 18.0 @@ -8,12 +8,11 @@ This is a monotonically increasing time since some unspecified point in time. - Note: - This is a monotonically increasing time, but not a - strictly monotonically increasing time. That is, consecutive - calls to erlang:monotonic_time/0 can produce the same - result. + Note + This is a monotonically increasing time, but not a strictly + monotonically increasing time. That is, consecutive calls to  + erlang:monotonic_time/0 can produce the same result. Different runtime system instances will use different unspecified points in time as base for their Erlang monotonic clocks. That is, it is pointless comparing monotonic times @@ -26,13 +25,13 @@ start can be retrieved by calling  erlang:system_info(start_time). - -spec erlang:monotonic_time(Unit) -> integer() when Unit :: time_unit(). + -spec monotonic_time(Unit) -> integer() when Unit :: time_unit(). Since: OTP 18.0 - Returns the current Erlang monotonic time converted into the  - Unit passed as argument. + Returns the current Erlang monotonic time converted into the Unit + passed as argument. Same as calling erlang:convert_time_unit(  erlang:monotonic_time(), native, Unit), however optimized for diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nif_error_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nif_error_1_func.txt index b505f51dfec9..6da627cc38b1 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nif_error_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nif_error_1_func.txt @@ -1,5 +1,5 @@ - -spec erlang:nif_error(Reason) -> no_return() when Reason :: term(). + -spec nif_error(Reason) -> no_return() when Reason :: term(). Since: OTP R14B diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nif_error_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nif_error_2_func.txt index 166be356f2fb..3ec68fcdec93 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nif_error_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nif_error_2_func.txt @@ -1,6 +1,6 @@ - -spec erlang:nif_error(Reason, Args) -> no_return() -  when Reason :: term(), Args :: [term()]. + -spec nif_error(Reason, Args) -> no_return() +  when Reason :: term(), Args :: [term()]. Since: OTP R14B diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nif_error_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nif_error_func.txt index 43c500887a40..45884b1f60d9 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nif_error_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nif_error_func.txt @@ -1,5 +1,5 @@ - -spec erlang:nif_error(Reason) -> no_return() when Reason :: term(). + -spec nif_error(Reason) -> no_return() when Reason :: term(). Since: OTP R14B @@ -9,8 +9,8 @@ NIF to generate an exception when the NIF library is not loaded, Dialyzer does not generate false warnings. - -spec erlang:nif_error(Reason, Args) -> no_return() -  when Reason :: term(), Args :: [term()]. + -spec nif_error(Reason, Args) -> no_return() +  when Reason :: term(), Args :: [term()]. Since: OTP R14B diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nil_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nil_0_type.txt index 3f20bcd23d61..8fe49d6088b9 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nil_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nil_0_type.txt @@ -1,4 +1,4 @@ -type nil() :: []. - The empty list(). + The empty list/0. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_node_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_node_0_func.txt index 2f511bfbea5b..65137fe5e216 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_node_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_node_0_func.txt @@ -3,5 +3,3 @@ Returns the name of the local node. If the node is not alive,  nonode@nohost is returned instead. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_node_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_node_1_func.txt index 750e3a3a0584..750a0216230a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_node_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_node_1_func.txt @@ -6,5 +6,3 @@ identifier, a reference, or a port. If Arg originates from the local node and the local node is not alive, nonode@nohost is returned. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_node_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_node_func.txt index 7c506564175f..a0c5d41810fb 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_node_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_node_func.txt @@ -4,8 +4,6 @@ Returns the name of the local node. If the node is not alive,  nonode@nohost is returned instead. - Allowed in guard tests. - -spec node(Arg) -> Node  when Arg :: pid() | port() | reference(), Node :: node(). @@ -13,5 +11,3 @@ identifier, a reference, or a port. If Arg originates from the local node and the local node is not alive, nonode@nohost is returned. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nodes_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nodes_0_func.txt index ce69b247ce17..f7c049dc276c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nodes_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nodes_0_func.txt @@ -2,5 +2,5 @@ -spec nodes() -> Nodes when Nodes :: [node()]. Returns a list of all nodes connected to this node through normal - connections (that is, hidden nodes are not listed). Same as + connections (that is, hidden nodes are not listed). Same as nodes(visible). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nodes_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nodes_1_func.txt index cc45e12d72a7..d0b8c053becb 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nodes_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nodes_1_func.txt @@ -12,25 +12,22 @@ NodeTypes: - visible: - Nodes connected to this node through normal connections. + • visible - Nodes connected to this node through normal + connections. - hidden: - Nodes connected to this node through hidden connections. + • hidden - Nodes connected to this node through hidden + connections. - connected: - All nodes connected to this node. + • connected - All nodes connected to this node. - this: - This node. + • this - This node. - known: - Nodes that are known to this node. That is, connected nodes - and nodes referred to by process identifiers, port - identifiers, and references located on this node. The set of - known nodes is garbage collected. Notice that this garbage - collection can be delayed. For more information, see  - erlang:system_info(delayed_node_table_gc). + • known - Nodes that are known to this node. That is, + connected nodes and nodes referred to by process + identifiers, port identifiers, and references located on + this node. The set of known nodes is garbage collected. + Notice that this garbage collection can be delayed. For more + information, see erlang:system_info(delayed_node_table_gc). Some equalities: [node()] = nodes(this), nodes(connected) = nodes([visible, hidden]), and nodes() = nodes(visible). 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 index eecc1a3ac8ab..b74c2c3c3b82 100644 --- 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 @@ -17,63 +17,61 @@ 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: + Returns a list of NodeInfo tuples. - 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 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: - 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. + • 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. - 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: + 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. - 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. + • 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: - 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. + ○ 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. - this: - This is the node of the calling process. + ○ 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. - known: - The node is not connected but known to the node of the - calling process. + ○ 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}). + (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}}] diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nodes_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nodes_func.txt index 6cc466663856..582018ba55b2 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nodes_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nodes_func.txt @@ -2,7 +2,7 @@ -spec nodes() -> Nodes when Nodes :: [node()]. Returns a list of all nodes connected to this node through normal - connections (that is, hidden nodes are not listed). Same as + connections (that is, hidden nodes are not listed). Same as nodes(visible). -spec nodes(Arg) -> Nodes @@ -18,25 +18,22 @@ NodeTypes: - visible: - Nodes connected to this node through normal connections. + • visible - Nodes connected to this node through normal + connections. - hidden: - Nodes connected to this node through hidden connections. + • hidden - Nodes connected to this node through hidden + connections. - connected: - All nodes connected to this node. + • connected - All nodes connected to this node. - this: - This node. + • this - This node. - known: - Nodes that are known to this node. That is, connected nodes - and nodes referred to by process identifiers, port - identifiers, and references located on this node. The set of - known nodes is garbage collected. Notice that this garbage - collection can be delayed. For more information, see  - erlang:system_info(delayed_node_table_gc). + • known - Nodes that are known to this node. That is, + connected nodes and nodes referred to by process + identifiers, port identifiers, and references located on + this node. The set of known nodes is garbage collected. + Notice that this garbage collection can be delayed. For more + information, see erlang:system_info(delayed_node_table_gc). Some equalities: [node()] = nodes(this), nodes(connected) = nodes([visible, hidden]), and nodes() = nodes(visible). @@ -59,63 +56,61 @@ 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. + 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}). + (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}}] diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_none_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_none_0_type.txt index bcefabd3551f..e9f56e596d57 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_none_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_none_0_type.txt @@ -2,5 +2,6 @@ -type none() :: none(). This type is used to show that a function will never return a - value; that is it will always throw an exception. In a spec, use  - no_return() for the sake of clarity. + value; that is it will always throw an exception. + + In a spec, use no_return/0 for the sake of clarity. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_binary_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_binary_0_type.txt index 9df59ae11ada..bce3d5fea044 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_binary_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_binary_0_type.txt @@ -1,4 +1,4 @@ -type nonempty_binary() :: <<_:8, _:_*8>>. - A binary() that contains some data. + A binary/0 that contains some data. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_bitstring_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_bitstring_0_type.txt index e25e9fda6b0e..2e87ffa31547 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_bitstring_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_bitstring_0_type.txt @@ -1,4 +1,4 @@ -type nonempty_bitstring() :: <<_:1, _:_*1>>. - A bitstring() that contains some data. + A bitstring/0 that contains some data. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_list_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_list_0_type.txt index 266d82dc9bec..00f400b46566 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_list_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_list_0_type.txt @@ -1,4 +1,4 @@ -type nonempty_list() :: [any(), ...]. - A list() that contains some items. + A list/0 that contains some items. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_maybe_improper_list_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_maybe_improper_list_0_type.txt index ea43e2683a0f..5138cb51fd66 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_maybe_improper_list_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_maybe_improper_list_0_type.txt @@ -2,4 +2,4 @@ -type nonempty_maybe_improper_list() ::  nonempty_maybe_improper_list(any(), any()). - A maybe_improper_list() that contains some items. + A maybe_improper_list/0 that contains some items. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_maybe_improper_list_2_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_maybe_improper_list_2_type.txt index 49d5acbb14c0..c1aee65f86d1 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_maybe_improper_list_2_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_maybe_improper_list_2_type.txt @@ -2,5 +2,5 @@ -type nonempty_maybe_improper_list(ContentType, TerminationType) ::  nonempty_maybe_improper_list(ContentType, TerminationType). - A maybe_improper_list(ContentType, TerminationType) that - contains some items. + A maybe_improper_list(ContentType, TerminationType) that contains + some items. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_string_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_string_0_type.txt index 05e01446b33d..5b5bc98eb80b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_string_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nonempty_string_0_type.txt @@ -1,4 +1,4 @@ -type nonempty_string() :: [char(), ...]. - A string() that contains some characters. + A string/0 that contains some characters. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_not_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_not_1_func.txt index bc2eb813050a..f3fa15f2f41c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_not_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_not_1_func.txt @@ -1,5 +1,5 @@ -  'not'/1 + -spec 'not'(boolean()) -> boolean(). The documentation for 'not'/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/unknown_erlang_now_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_now_0_func.txt index b33b9fe1a39b..4e0405f45e50 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_now_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_now_0_func.txt @@ -5,18 +5,12 @@ erlang:now/0 is deprecated; see the "Time and Time Correction in Erlang" chapter of the ERTS User's Guide for more information - Types: - -type timestamp() :: - {MegaSecs :: non_neg_integer(), - Secs :: non_neg_integer(), - MicroSecs :: non_neg_integer()}. + Warning - Warning: - This function is deprecated. Do not use it. - - For more information, see section Time and Time Correction - in the User's Guide. Specifically, section Dos and Dont's - describes what to use instead of erlang:now/0. + This function is deprecated. Do not use it. For more + information, see section Time and Time Correction in the + User's Guide. Specifically, section Dos and Dont's describes + what to use instead of erlang:now/0. Returns the tuple {MegaSecs, Secs, MicroSecs}, which is the elapsed time since 00:00 GMT, January 1, 1970 (zero hour), if 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 27e1b9f204d5..87514e251703 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 @@ -19,7 +19,7 @@  {env,  Env ::  [{Name :: os:env_var_name(), -  Val :: os:env_var_value() | false}]} | +  Val :: os:env_var_value() | [] | false}]} |  {args, [string() | binary()]} |  {arg0, string() | binary()} |  exit_status | use_stdio | nouse_stdio | @@ -41,11 +41,12 @@ translation if the system is running in Unicode filename mode. To avoid translation or to force, for example UTF-8, supply the executable and/or arguments as a binary in the correct encoding. - For details, see the module file(3), the function  + For details, see the module file, the function  file:native_name_encoding/0 in Kernel, and the Using Unicode in Erlang User's Guide. - Note: + Note + The characters in the name (if specified as a list) can only be > 255 if the Erlang virtual machine is started in Unicode filename translation mode. Otherwise the name of the @@ -53,276 +54,279 @@ PortNames: - {spawn, Command}: - Starts an external program. Command is the name of the - external program to be run. Command runs outside the Erlang - work space unless an Erlang driver with the name Command is - found. If found, that driver is started. A driver runs in the - Erlang work space, which means that it is linked with the - Erlang runtime system. - - For external programs, PATH is searched (or an equivalent - method is used to find programs, depending on the OS). This is - done by invoking the shell on certain platforms. The first - space-separated token of the command is considered as the name - of the executable (or driver). This (among other things) makes - this option unsuitable for running programs with spaces in - filenames or directory names. If spaces in executable - filenames are desired, use {spawn_executable, Command} - instead. - - {spawn_driver, Command}: - Works like {spawn, Command}, but demands the first - (space-separated) token of the command to be the name of a - loaded driver. If no driver with that name is loaded, a  - badarg error is raised. - - {spawn_executable, FileName}: - Works like {spawn, FileName}, but only runs external - executables. FileName in its whole is used as the name of - the executable, including any spaces. If arguments are to be - passed, the PortSettings args and arg0 can be used. - - The shell is usually not invoked to start the program, it is - executed directly. PATH (or equivalent) is not searched. To - find a program in PATH to execute, use os:find_executable/1. - - Only if a shell script or .bat file is executed, the - appropriate command interpreter is invoked implicitly, but - there is still no command-argument expansion or implicit PATH - search. - - If FileName cannot be run, an error exception is raised, - with the POSIX error code as the reason. The error reason can - differ between OSs. Typically the error enoent is raised - when an attempt is made to run a program that is not found and  - eacces is raised when the specified file is not executable. - - {fd, In, Out}: - Allows an Erlang process to access any currently opened file - descriptors used by Erlang. The file descriptor In can be - used for standard input, and the file descriptor Out for - standard output. It is only used for various servers in the - Erlang OS (shell and user). Hence, its use is limited. + • {spawn, Command} - Starts an external program. Command is + the name of the external program to be run. Command runs + outside the Erlang work space unless an Erlang driver with + the name Command is found. If found, that driver is + started. A driver runs in the Erlang work space, which means + that it is linked with the Erlang runtime system. + + For external programs, PATH is searched (or an equivalent + method is used to find programs, depending on the OS). This + is done by invoking the shell on certain platforms. The + first space-separated token of the command is considered as + the name of the executable (or driver). This (among other + things) makes this option unsuitable for running programs + with spaces in filenames or directory names. If spaces in + executable filenames are desired, use {spawn_executable, + Command} instead. + + Warning + + On Unix systems, arguments are passed to a new operating + system process as an array of strings but on Windows it + is up to the child process to parse them and some + Windows programs may apply their own rules, which are + inconsistent with the standard C runtime argv parsing. + This is particularly troublesome when invoking .bat,  + .cmd, or .com files as these run implicitly through  + cmd.exe, whose argument parsing is vulnerable to + malicious input and can be used to run arbitrary shell + commands. Therefore, if you are running on Windows and + you execute batch files or .com applications, you must + not pass untrusted input as arguments to the program. + This affects both spawn and spawn_executable. + + • {spawn_executable, FileName} - Works like {spawn, + FileName}, but only runs external executables. FileName + in its whole is used as the name of the executable, + including any spaces. If arguments are to be passed, the  + PortSettings args and arg0 can be used. + + The shell is usually not invoked to start the program, it is + executed directly. PATH (or equivalent) is not searched. + To find a program in PATH to execute, use  + os:find_executable/1. + + Only if a shell script or .bat file is executed, the + appropriate command interpreter is invoked implicitly, but + there is still no command-argument expansion or implicit  + PATH search. + + If FileName cannot be run, an error exception is raised, + with the POSIX error code as the reason. The error reason + can differ between OSs. Typically the error enoent is + raised when an attempt is made to run a program that is not + found and eacces is raised when the specified file is not + executable. + + • {spawn_driver, Command} - Works like {spawn, Command}, + but demands the first (space-separated) token of the command + to be the name of a loaded driver. If no driver with that + name is loaded, a badarg error is raised. + + • {fd, In, Out} - Allows an Erlang process to access any + currently opened file descriptors used by Erlang. The file + descriptor In can be used for standard input, and the file + descriptor Out for standard output. It is only used for + various servers in the Erlang OS (shell and user). + Hence, its use is limited. PortSettings is a list of settings for the port. The valid settings are as follows: - {packet, N}: - Messages are preceded by their length, sent in N bytes, with - the most significant byte first. The valid values for N are - 1, 2, and 4. - - stream: - Output messages are sent without packet lengths. A - user-defined protocol must be used between the Erlang process - and the external object. - - {line, L}: - Messages are delivered on a per line basis. Each line - (delimited by the OS-dependent newline sequence) is delivered - in a single message. The message data format is {Flag, Line}, - where Flag is eol or noeol, and Line is the data - delivered (without the newline sequence). - - L specifies the maximum line length in bytes. Lines longer - than this are delivered in more than one message, with Flag - set to noeol for all but the last message. If end of file is - encountered anywhere else than immediately following a newline - sequence, the last line is also delivered with Flag set to  - noeol. Otherwise lines are delivered with Flag set to eol. - - The {packet, N} and {line, L} settings are mutually - exclusive. - - {cd, Dir}: - Only valid for {spawn, Command} and {spawn_executable, - FileName}. The external program starts using Dir as its - working directory. Dir must be a string. - - {env, Env}: - Types: -   Name = os:env_var_name() -   Val = os:env_var_value() | false -   Env = [{Name, Val}] - - Only valid for {spawn, Command}, and {spawn_executable, - FileName}. The environment of the started process is extended - using the environment specifications in Env. - - Env is to be a list of tuples {Name, Val}, where Name is - 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 - environment variable. - - For information about encoding requirements, see documentation - of the types for Name and Val. - - {args, [ string() | binary() ]}: - Only valid for {spawn_executable, FileName} and specifies - arguments to the executable. Each argument is specified as a - separate string and (on Unix) eventually ends up as one - element each in the argument vector. On other platforms, a - similar behavior is mimicked. - - The arguments are not expanded by the shell before they are - supplied to the executable. Most notably this means that file - wildcard expansion does not occur. To expand wildcards for the - arguments, use filelib:wildcard/1. Notice that even if the - program is a Unix shell script, meaning that the shell - ultimately is invoked, wildcard expansion does not occur, and - the script is provided with the untouched arguments. On - Windows, wildcard expansion is always up to the program - itself, therefore this is not an issue. - - The executable name (also known as argv[0]) is not to be - specified in this list. The proper executable name is - automatically used as argv[0], where applicable. - - If you explicitly want to set the program name in the argument - vector, option arg0 can be used. - - {arg0, string() | binary()}: - Only valid for {spawn_executable, FileName} and explicitly - specifies the program name argument when running an - executable. This can in some circumstances, on some OSs, be - desirable. How the program responds to this is highly - system-dependent and no specific effect is guaranteed. - - exit_status: - Only valid for {spawn, Command}, where Command refers to - an external program, and for {spawn_executable, FileName}. - - When the external process connected to the port exits, a - message of the form {Port,{exit_status,Status}} is sent to - the connected process, where Status is the exit status of - the external process. If the program aborts on Unix, the same - convention is used as the shells do (that is, 128+signal). - - If option eof is specified also, the messages eof and  - exit_status appear in an unspecified order. - - If the port program closes its stdout without exiting, - option exit_status does not work. - - use_stdio: - Only valid for {spawn, Command} and {spawn_executable, - FileName}. It allows the standard input and output (file - descriptors 0 and 1) of the spawned (Unix) process for - communication with Erlang. - - nouse_stdio: - The opposite of use_stdio. It uses file descriptors 3 and 4 - for communication with Erlang. - - stderr_to_stdout: - Affects ports to external programs. The executed program gets - its standard error file redirected to its standard output - file. stderr_to_stdout and nouse_stdio are mutually - exclusive. - - overlapped_io: - Affects ports to external programs on Windows only. The - standard input and standard output handles of the port program - are, if this option is supplied, opened with flag  - FILE_FLAG_OVERLAPPED, so that the port program can (and must) - do overlapped I/O on its standard handles. This is not - normally the case for simple port programs, but an option of - value for the experienced Windows programmer. On all other - platforms, this option is silently discarded. - - in: - The port can only be used for input. - - out: - The port can only be used for output. - - binary: - All I/O from the port is binary data objects as opposed to - lists of bytes. - - eof: - The port is not closed at the end of the file and does not - produce an exit signal. Instead, it remains open and a {Port, - eof} message is sent to the process holding the port. - - hide: - When running on Windows, suppresses creation of a new console - window when spawning the port program. (This option has no - effect on other platforms.) - - {parallelism, Boolean}: - Sets scheduler hint for port parallelism. If set to true, - the virtual machine schedules port tasks; when doing so, it - improves parallelism in the system. If set to false, the - virtual machine tries to perform port tasks immediately, - improving latency at the expense of parallelism. The default - can be set at system startup by passing command-line argument  - +spp to erl(1). - - {busy_limits_port, {Low, High} | disabled}: - Sets limits that will be used for controlling the busy state - of the port. - - When the ports internal output queue size becomes larger than - or equal to High bytes, it enters the busy state. When it - becomes less than Low bytes it leaves the busy state. When - the port is in the busy state, processes sending commands to - it will be suspended until the port leaves the busy state. - Commands are in this context either Port ! {Owner, {command, - Data}} or port_command/[2,3]. - - The Low limit is automatically adjusted to the same as High - if it is set larger then High. Valid range of values for  - Low and High is [1, (1 bsl - (8*erlang:system_info(wordsize)))-2]. If the atom disabled - is passed, the port will never enter the busy state. - - The defaults are Low = 4096 and High = 8192. - - Note that this option is only valid when spawning an - executable (port program) by opening the spawn driver and when - opening the fd driver. This option will cause a failure with - a badarg exception when opening other drivers. - - {busy_limits_msgq, {Low, High} | disabled}: - Sets limits that will be used for controlling the busy state - of the port message queue. - - When the ports message queue size becomes larger than or equal - to High bytes it enters the busy state. When it becomes less - than Low bytes it leaves the busy state. When the port - message queue is in the busy state, processes sending commands - to it will be suspended until the port message queue leaves - the busy state. Commands are in this context either Port ! - {Owner, {command, Data}} or port_command/[2,3]. - - The Low limit is automatically adjusted to the same as High - if it is set larger then High. Valid range of values for  - Low and High is [1, (1 bsl - (8*erlang:system_info(wordsize)))-2]. If the atom disabled - is passed, the port message queue will never enter the busy - state. - - Note that if the driver statically has disabled the use of - this feature, a failure with a badarg exception will be - raised unless this option also is set to disable or not - passed at all. - - The defaults are Low = 4096 and High = 8192 unless the - driver itself does modifications of these values. - - Note that the driver might fail if it also adjust these - limits by itself and you have disabled this feature. - - The spawn driver (used when spawning an executable) and the  - fd driver do not disable this feature and do not adjust these - limits by themselves. - - For more information see the documentation  - erl_drv_busy_msgq_limits(). + • {packet, N} - Messages are preceded by their length, sent + in N bytes, with the most significant byte first. The + valid values for N are 1, 2, and 4. + + • stream - Output messages are sent without packet lengths. A + user-defined protocol must be used between the Erlang + process and the external object. + + • {line, L} - Messages are delivered on a per line basis. + Each line (delimited by the OS-dependent newline sequence) + is delivered in a single message. The message data format is  + {Flag, Line}, where Flag is eol or noeol, and Line + is the data delivered (without the newline sequence). + + L specifies the maximum line length in bytes. Lines longer + than this are delivered in more than one message, with Flag + set to noeol for all but the last message. If end of file + is encountered anywhere else than immediately following a + newline sequence, the last line is also delivered with Flag + set to noeol. Otherwise lines are delivered with Flag + set to eol. + + The {packet, N} and {line, L} settings are mutually + exclusive. + + • {cd, Dir} - Only valid for {spawn, Command} and  + {spawn_executable, FileName}. The external program starts + using Dir as its working directory. Dir must be a + string. + + • {env, Env} - Only valid for {spawn, Command}, and  + {spawn_executable, FileName}. The environment of the + started process is extended using the environment + specifications in Env. + + Env is to be a list of tuples {Name, Val}, where Name + is a os:env_var_name/0 representing the name of an + environment variable, and Val is a os:env_var_name/0 + representing the value it is to have in the spawned port + process. Both Name and Val must be strings. + + If Val is set to the atom false or the empty string + (that is "" or []), open_port will consider those + variables unset just as if os:unsetenv/1 had been called. + + For information about encoding requirements, see + documentation of the types for Name and Val. + + • {args, [ string() | binary() ]} - Only valid for  + {spawn_executable, FileName} and specifies arguments to the + executable. Each argument is specified as a separate string + and (on Unix) eventually ends up as one element each in the + argument vector. On other platforms, a similar behavior is + mimicked. + + The arguments are not expanded by the shell before they are + supplied to the executable. Most notably this means that + file wildcard expansion does not occur. To expand wildcards + for the arguments, use filelib:wildcard/1. Notice that + even if the program is a Unix shell script, meaning that the + shell ultimately is invoked, wildcard expansion does not + occur, and the script is provided with the untouched + arguments. On Windows, wildcard expansion is always up to + the program itself, therefore this is not an issue. + + The executable name (also known as argv[0]) is not to be + specified in this list. The proper executable name is + automatically used as argv[0], where applicable. + + If you explicitly want to set the program name in the + argument vector, option arg0 can be used. + + • {arg0, string() | binary()} - Only valid for  + {spawn_executable, FileName} and explicitly specifies the + program name argument when running an executable. This can + in some circumstances, on some OSs, be desirable. How the + program responds to this is highly system-dependent and no + specific effect is guaranteed. + + • exit_status - Only valid for {spawn, Command}, where  + Command refers to an external program, and for  + {spawn_executable, FileName}. + + When the external process connected to the port exits, a + message of the form {Port,{exit_status,Status}} is sent to + the connected process, where Status is the exit status of + the external process. If the program aborts on Unix, the + same convention is used as the shells do (that is, + 128+signal). + + If option eof is specified also, the messages eof and  + exit_status appear in an unspecified order. + + • use_stdio - Only valid for {spawn, Command} and  + {spawn_executable, FileName}. It allows the standard input + and output (file descriptors 0 and 1) of the spawned (Unix) + process for communication with Erlang. + + • nouse_stdio - The opposite of use_stdio. It uses file + descriptors 3 and 4 for communication with Erlang. + + • stderr_to_stdout - Affects ports to external programs. The + executed program gets its standard error file redirected to + its standard output file. stderr_to_stdout and  + nouse_stdio are mutually exclusive. + + • overlapped_io - Affects ports to external programs on + Windows only. The standard input and standard output handles + of the port program are, if this option is supplied, opened + with flag FILE_FLAG_OVERLAPPED, so that the port program + can (and must) do overlapped I/O on its standard handles. + This is not normally the case for simple port programs, but + an option of value for the experienced Windows programmer. + On all other platforms, this option is silently discarded. + + • in - The port can only be used for input. + + • out - The port can only be used for output. + + • binary - All I/O from the port is binary data objects as + opposed to lists of bytes. + + • eof - The port is not closed at the end of the file and + does not produce an exit signal. Instead, it remains open + and a {Port, eof} message is sent to the process holding + the port. + + • hide - When running on Windows, suppresses creation of a + new console window when spawning the port program. (This + option has no effect on other platforms.) + + • {parallelism, Boolean} - Sets scheduler hint for port + parallelism. If set to true, the virtual machine schedules + port tasks; when doing so, it improves parallelism in the + system. If set to false, the virtual machine tries to + perform port tasks immediately, improving latency at the + expense of parallelism. The default can be set at system + startup by passing command-line argument +spp to erl. + + • {busy_limits_port, {Low, High} | disabled} - Sets limits + that will be used for controlling the busy state of the + port. + + When the ports internal output queue size becomes larger + than or equal to High bytes, it enters the busy state. + When it becomes less than Low bytes it leaves the busy + state. When the port is in the busy state, processes sending + commands to it will be suspended until the port leaves the + busy state. Commands are in this context either Port ! + {Owner, {command, Data}} or port_command/[2,3]. + + The Low limit is automatically adjusted to the same as  + High if it is set larger then High. Valid range of values + for Low and High is [1, (1 bsl + (8*erlang:system_info(wordsize)))-2]. If the atom disabled + is passed, the port will never enter the busy state. + + The defaults are Low = 4096 and High = 8192. + + Note that this option is only valid when spawning an + executable (port program) by opening the spawn driver and + when opening the fd driver. This option will cause a + failure with a badarg exception when opening other + drivers. + + • {busy_limits_msgq, {Low, High} | disabled} - Sets limits + that will be used for controlling the busy state of the port + message queue. + + When the ports message queue size becomes larger than or + equal to High bytes it enters the busy state. When it + becomes less than Low bytes it leaves the busy state. When + the port message queue is in the busy state, processes + sending commands to it will be suspended until the port + message queue leaves the busy state. Commands are in this + context either Port ! {Owner, {command, Data}} or  + port_command/[2,3]. + + The Low limit is automatically adjusted to the same as  + High if it is set larger then High. Valid range of values + for Low and High is [1, (1 bsl + (8*erlang:system_info(wordsize)))-2]. If the atom disabled + is passed, the port message queue will never enter the busy + state. + + Note that if the driver statically has disabled the use of + this feature, a failure with a badarg exception will be + raised unless this option also is set to disable or not + passed at all. + + The defaults are Low = 4096 and High = 8192 unless the + driver itself does modifications of these values. + + Note that the driver might fail if it also adjust these + limits by itself and you have disabled this feature. + + The spawn driver (used when spawning an executable) and the  + fd driver do not disable this feature and do not adjust + these limits by themselves. + + For more information see the documentation  + erl_drv_busy_msgq_limits(). Default is stream for all port types and use_stdio for spawned ports. @@ -331,41 +335,33 @@ system_limit, or the POSIX error code that most closely describes the error, or einval if no POSIX code is appropriate: - badarg: - Bad input arguments to open_port. + • badarg - Bad input arguments to open_port. - system_limit: - All available ports in the Erlang emulator are in use. + • system_limit - All available ports in the Erlang emulator + are in use. - enomem: - Not enough memory to create the port. + • enomem - Not enough memory to create the port. - eagain: - No more available OS processes. + • eagain - No more available OS processes. - enametoolong: - Too long external command. + • enametoolong - Too long external command. - emfile: - No more available file descriptors (for the OS process that - the Erlang emulator runs in). + • emfile - No more available file descriptors (for the OS + process that the Erlang emulator runs in). - enfile: - Full file table (for the entire OS). + • enfile - Full file table (for the entire OS). - eacces: - Command specified in {spawn_executable, Command} does not - point out an executable file. + • eacces - Command specified in {spawn_executable, + Command} does not point out an executable file. - enoent: - FileName specified in {spawn_executable, FileName} does not - point out an existing file. + • enoent - FileName specified in {spawn_executable, + FileName} does not point out an existing file. During use of a port opened using {spawn, Name}, {spawn_driver, Name}, or {spawn_executable, Name}, errors arising when sending messages to it are reported to the owning process using signals of the form {'EXIT', Port, PosixCode}. For the possible values of  - PosixCode, see file(3). + PosixCode, see file. The maximum number of ports that can be open at the same time can - be configured by passing command-line flag +Q to erl(1). + be configured by passing command-line flag +Q to erl. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_or_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_or_2_func.txt index 5d8fcc2497bf..32e3a2d06db3 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_or_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_or_2_func.txt @@ -1,5 +1,5 @@ -  'or'/2 + -spec 'or'(boolean(), boolean()) -> boolean(). The documentation for 'or'/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_phash2_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_phash2_2_func.txt index f4a0ffde1bb5..71a7ffe4d6e5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_phash2_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_phash2_2_func.txt @@ -1,16 +1,16 @@ - -spec erlang:phash2(Term, Range) -> Hash -  when -  Term :: term(), -  Range :: pos_integer(), -  Hash :: non_neg_integer(). + -spec phash2(Term, Range) -> Hash +  when +  Term :: term(), +  Range :: pos_integer(), +  Hash :: non_neg_integer(). Portable hash function that gives the same hash for the same - Erlang term regardless of machine architecture and ERTS version - (the BIF was introduced in ERTS 5.2). The function returns a hash - value for Term within the range 0..Range-1. The maximum value - for Range is 2^32. When without argument Range, a value in the - range 0..2^27-1 is returned. + Erlang term regardless of machine architecture and ERTS version. + + The function returns a hash value for Term within the range  + 0..Range-1. The maximum value for Range is 2^32. When without + argument Range, a value in the range 0..2^27-1 is returned. This BIF is always to be used for hashing terms. It distributes small integers better than phash/2, and it is faster for bignums diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_phash2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_phash2_func.txt index 0533d7059135..aa4cc0549332 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_phash2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_phash2_func.txt @@ -1,33 +1,21 @@ - -spec erlang:phash2(Term) -> Hash -  when Term :: term(), Hash :: non_neg_integer(). + -spec phash2(Term) -> Hash +  when Term :: term(), Hash :: non_neg_integer(). - Portable hash function that gives the same hash for the same - Erlang term regardless of machine architecture and ERTS version - (the BIF was introduced in ERTS 5.2). The function returns a hash - value for Term within the range 0..Range-1. The maximum value - for Range is 2^32. When without argument Range, a value in the - range 0..2^27-1 is returned. + There is no documentation for phash2/2 - This BIF is always to be used for hashing terms. It distributes - small integers better than phash/2, and it is faster for bignums - and binaries. - - Notice that the range 0..Range-1 is different from the range of  - phash/2, which is 1..Range. - - -spec erlang:phash2(Term, Range) -> Hash -  when -  Term :: term(), -  Range :: pos_integer(), -  Hash :: non_neg_integer(). + -spec phash2(Term, Range) -> Hash +  when +  Term :: term(), +  Range :: pos_integer(), +  Hash :: non_neg_integer(). Portable hash function that gives the same hash for the same - Erlang term regardless of machine architecture and ERTS version - (the BIF was introduced in ERTS 5.2). The function returns a hash - value for Term within the range 0..Range-1. The maximum value - for Range is 2^32. When without argument Range, a value in the - range 0..2^27-1 is returned. + Erlang term regardless of machine architecture and ERTS version. + + The function returns a hash value for Term within the range  + 0..Range-1. The maximum value for Range is 2^32. When without + argument Range, a value in the range 0..2^27-1 is returned. This BIF is always to be used for hashing terms. It distributes small integers better than phash/2, and it is faster for bignums diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_phash_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_phash_2_func.txt index 9ec76cce1658..7a9665bc240b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_phash_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_phash_2_func.txt @@ -1,14 +1,15 @@ - -spec erlang:phash(Term, Range) -> Hash -  when -  Term :: term(), -  Range :: pos_integer(), -  Hash :: pos_integer(). + -spec phash(Term, Range) -> Hash +  when +  Term :: term(), +  Range :: pos_integer(), +  Hash :: pos_integer(). Deprecated: erlang:phash/2 is deprecated; use erlang:phash2/2 instead - Warning: + Warning + This function is deprecated as erlang:phash2/2 should be used for new code. Note that erlang:phash(X,N) is not necessary equal to erlang:phash2(X,N) diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_pid_to_list_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_pid_to_list_1_func.txt index b4707e8d1726..c4f074bbc24b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_pid_to_list_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_pid_to_list_1_func.txt @@ -2,12 +2,14 @@ -spec pid_to_list(Pid) -> string() when Pid :: pid(). Returns a string corresponding to the text representation of Pid. - Example: + + For example: > erlang:pid_to_list(self()). "<0.85.0>" - Note: + Note + The creation for the node is not included in the list representation of Pid. This means that processes in different incarnations of a node with a specific name can get diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_call_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_call_2_func.txt index bb00bda40fec..a7f6cbb6611a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_call_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_call_2_func.txt @@ -1,5 +1,6 @@ -  port_call/2 + -spec port_call(Port, Data) -> term() +  when Port :: port() | atom(), Data :: term(). The documentation for port_call/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_port_call_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_call_3_func.txt index 13cd58780fe4..753ea28b162e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_call_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_call_3_func.txt @@ -1,9 +1,9 @@ - -spec erlang:port_call(Port, Operation, Data) -> term() -  when -  Port :: port() | atom(), -  Operation :: integer(), -  Data :: term(). + -spec port_call(Port, Operation, Data) -> term() +  when +  Port :: port() | atom(), +  Operation :: integer(), +  Data :: term(). Performs a synchronous call to a port. The meaning of Operation and Data depends on the port, that is, on the port driver. Not @@ -21,26 +21,23 @@ Failures: - badarg: - If Port is not an identifier of an open port, or the - registered name of an open port. If the calling process was - previously linked to the closed port, identified by Port, - the exit signal from the port is guaranteed to be delivered - before this badarg exception occurs. - - badarg: - If Operation does not fit in a 32-bit integer. - - badarg: - If the port driver does not support synchronous control - operations. - - badarg: - If the port driver so decides for any reason (probably - something wrong with Operation or Data). - - Warning: - Do not call port_call with an unknown Port identifier - and expect badarg exception. Any undefined behavior is - possible (including node crash) depending on how the port - driver interprets the supplied arguments. + • badarg - If Port is not an identifier of an open port, or + the registered name of an open port. If the calling process + was previously linked to the closed port, identified by  + Port, the exit signal from the port is guaranteed to be + delivered before this badarg exception occurs. + + • badarg - If Operation does not fit in a 32-bit integer. + + • badarg - If the port driver does not support synchronous + control operations. + + • badarg - If the port driver so decides for any reason + (probably something wrong with Operation or Data). + + Warning + + Do not call port_call with an unknown Port + identifier and expect badarg exception. Any undefined + behavior is possible (including node crash) depending on + how the port driver interprets the supplied arguments. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_call_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_call_func.txt index f1a00fcc2c83..bf7ac78e5e19 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_call_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_call_func.txt @@ -1,14 +1,15 @@ -  port_call/2 + -spec port_call(Port, Data) -> term() +  when Port :: port() | atom(), Data :: term(). The documentation for port_call/2 is hidden. This probably means that it is internal and not to be used by other applications. - -spec erlang:port_call(Port, Operation, Data) -> term() -  when -  Port :: port() | atom(), -  Operation :: integer(), -  Data :: term(). + -spec port_call(Port, Operation, Data) -> term() +  when +  Port :: port() | atom(), +  Operation :: integer(), +  Data :: term(). Performs a synchronous call to a port. The meaning of Operation and Data depends on the port, that is, on the port driver. Not @@ -26,26 +27,23 @@ Failures: - badarg: - If Port is not an identifier of an open port, or the - registered name of an open port. If the calling process was - previously linked to the closed port, identified by Port, - the exit signal from the port is guaranteed to be delivered - before this badarg exception occurs. - - badarg: - If Operation does not fit in a 32-bit integer. - - badarg: - If the port driver does not support synchronous control - operations. - - badarg: - If the port driver so decides for any reason (probably - something wrong with Operation or Data). - - Warning: - Do not call port_call with an unknown Port identifier - and expect badarg exception. Any undefined behavior is - possible (including node crash) depending on how the port - driver interprets the supplied arguments. + • badarg - If Port is not an identifier of an open port, or + the registered name of an open port. If the calling process + was previously linked to the closed port, identified by  + Port, the exit signal from the port is guaranteed to be + delivered before this badarg exception occurs. + + • badarg - If Operation does not fit in a 32-bit integer. + + • badarg - If the port driver does not support synchronous + control operations. + + • badarg - If the port driver so decides for any reason + (probably something wrong with Operation or Data). + + Warning + + Do not call port_call with an unknown Port + identifier and expect badarg exception. Any undefined + behavior is possible (including node crash) depending on + how the port driver interprets the supplied arguments. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_close_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_close_1_func.txt index 6836079aa0dc..2476b7a33071 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_close_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_close_1_func.txt @@ -3,11 +3,12 @@ Closes an open port. Roughly the same as Port ! {self(), close} except for the error behavior (see below), being synchronous, and - that the port does not reply with {Port, closed}. Any process - can close a port with port_close/1, not only the port owner (the - connected process). If the calling process is linked to the port - identified by Port, the exit signal from the port is guaranteed - to be delivered before port_close/1 returns. + that the port does not reply with {Port, closed}. + + Any process can close a port with port_close/1, not only the + port owner (the connected process). If the calling process is + linked to the port identified by Port, the exit signal from the + port is guaranteed to be delivered before port_close/1 returns. For comparison: Port ! {self(), close} only fails with badarg if Port does not refer to a port or a process. If Port is a diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_command_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_command_2_func.txt index d6974eb403ce..1a17b35ed4e0 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_command_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_command_2_func.txt @@ -4,6 +4,7 @@ Sends data to a port. Same as Port ! {PortOwner, {command, Data}} except for the error behavior and being synchronous (see below). + Any process can send data to a port with port_command/2, not only the port owner (the connected process). @@ -28,17 +29,16 @@ Failures: - badarg: - If Port is not an identifier of an open port, or the - registered name of an open port. If the calling process was - previously linked to the closed port, identified by Port, - the exit signal from the port is guaranteed to be delivered - before this badarg exception occurs. + • badarg - If Port is not an identifier of an open port, or + the registered name of an open port. If the calling process + was previously linked to the closed port, identified by  + Port, the exit signal from the port is guaranteed to be + delivered before this badarg exception occurs. + + • badarg - If Data is an invalid I/O list. - badarg: - If Data is an invalid I/O list. + Warning - Warning: Do not send data to an unknown port. Any undefined behavior is possible (including node crash) depending on how the port driver interprets the data. 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 21f4a6e49334..6e0706a00ed2 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 @@ -17,40 +17,37 @@ Options: - force: - The calling process is not suspended if the port is busy, - instead the port command is forced through. The call fails - with a notsup exception if the driver of the port does not - support this. For more information, see driver flag  - ERL_DRV_FLAG_SOFT_BUSY. - - nosuspend: - The calling process is not suspended if the port is busy, - instead the port command is aborted and false is returned. - - Change: + • force - The calling process is not suspended if the port is + busy, instead the port command is forced through. The call + fails with a notsup exception if the driver of the port + does not support this. For more information, see driver flag  + ERL_DRV_FLAG_SOFT_BUSY. + + • nosuspend - The calling process is not suspended if the + port is busy, instead the port command is aborted and false + is returned. + + Change + More options can be added in a future release. Failures: - badarg: - If Port is not an identifier of an open port, or the - registered name of an open port. If the calling process was - previously linked to the closed port, identified by Port, - the exit signal from the port is guaranteed to be delivered - before this badarg exception occurs. + • badarg - If Port is not an identifier of an open port, or + the registered name of an open port. If the calling process + was previously linked to the closed port, identified by  + Port, the exit signal from the port is guaranteed to be + delivered before this badarg exception occurs. + + • badarg - If Data is an invalid I/O list. - badarg: - If Data is an invalid I/O list. + • badarg - If OptionList is an invalid option list. - badarg: - If OptionList is an invalid option list. + • notsup - If option force has been passed, but the driver + of the port does not allow forcing through a busy port. - notsup: - If option force has been passed, but the driver of the port - does not allow forcing through a busy port. + Warning - Warning: Do not send data to an unknown port. Any undefined behavior is possible (including node crash) depending on how the port driver interprets the data. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_command_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_command_func.txt index 46e287b6dfbf..4a2201a070a1 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_command_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_command_func.txt @@ -4,6 +4,7 @@ Sends data to a port. Same as Port ! {PortOwner, {command, Data}} except for the error behavior and being synchronous (see below). + Any process can send data to a port with port_command/2, not only the port owner (the connected process). @@ -28,17 +29,16 @@ Failures: - badarg: - If Port is not an identifier of an open port, or the - registered name of an open port. If the calling process was - previously linked to the closed port, identified by Port, - the exit signal from the port is guaranteed to be delivered - before this badarg exception occurs. + • badarg - If Port is not an identifier of an open port, or + the registered name of an open port. If the calling process + was previously linked to the closed port, identified by  + Port, the exit signal from the port is guaranteed to be + delivered before this badarg exception occurs. + + • badarg - If Data is an invalid I/O list. - badarg: - If Data is an invalid I/O list. + Warning - Warning: Do not send data to an unknown port. Any undefined behavior is possible (including node crash) depending on how the port driver interprets the data. @@ -61,40 +61,37 @@ Options: - force: - The calling process is not suspended if the port is busy, - instead the port command is forced through. The call fails - with a notsup exception if the driver of the port does not - support this. For more information, see driver flag  - ERL_DRV_FLAG_SOFT_BUSY. + • force - The calling process is not suspended if the port is + busy, instead the port command is forced through. The call + fails with a notsup exception if the driver of the port + does not support this. For more information, see driver flag  + ERL_DRV_FLAG_SOFT_BUSY. - nosuspend: - The calling process is not suspended if the port is busy, - instead the port command is aborted and false is returned. + • nosuspend - The calling process is not suspended if the + port is busy, instead the port command is aborted and false + is returned. + + Change - Change: More options can be added in a future release. Failures: - badarg: - If Port is not an identifier of an open port, or the - registered name of an open port. If the calling process was - previously linked to the closed port, identified by Port, - the exit signal from the port is guaranteed to be delivered - before this badarg exception occurs. + • badarg - If Port is not an identifier of an open port, or + the registered name of an open port. If the calling process + was previously linked to the closed port, identified by  + Port, the exit signal from the port is guaranteed to be + delivered before this badarg exception occurs. + + • badarg - If Data is an invalid I/O list. - badarg: - If Data is an invalid I/O list. + • badarg - If OptionList is an invalid option list. - badarg: - If OptionList is an invalid option list. + • notsup - If option force has been passed, but the driver + of the port does not allow forcing through a busy port. - notsup: - If option force has been passed, but the driver of the port - does not allow forcing through a busy port. + Warning - Warning: Do not send data to an unknown port. Any undefined behavior is possible (including node crash) depending on how the port driver interprets the data. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_connect_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_connect_2_func.txt index 01eeec53012d..45ae1d4b3027 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_connect_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_connect_2_func.txt @@ -39,13 +39,11 @@ Failures: - badarg: - If Port is not an identifier of an open port, or the - registered name of an open port. If the calling process was - previously linked to the closed port, identified by Port, - the exit signal from the port is guaranteed to be delivered - before this badarg exception occurs. - - badarg: - If the process identified by Pid is not an existing local - process. + • badarg - If Port is not an identifier of an open port, or + the registered name of an open port. If the calling process + was previously linked to the closed port, identified by  + Port, the exit signal from the port is guaranteed to be + delivered before this badarg exception occurs. + + • badarg - If the process identified by Pid is not an + existing local process. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_control_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_control_3_func.txt index 6001b3cf3749..7c26d472bc54 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_control_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_control_3_func.txt @@ -15,22 +15,20 @@ Failures: - badarg: - If Port is not an open port or the registered name of an - open port. - - badarg: - If Operation cannot fit in a 32-bit integer. - - badarg: - If the port driver does not support synchronous control - operations. - - badarg: - If the port driver so decides for any reason (probably - something wrong with Operation or Data). - Warning: - Do not call port_control/3 with an unknown Port - identifier and expect badarg exception. Any undefined - behavior is possible (including node crash) depending on - how the port driver interprets the supplied arguments. + • badarg - If Port is not an open port or the registered + name of an open port. + + • badarg - If Operation cannot fit in a 32-bit integer. + + • badarg - If the port driver does not support synchronous + control operations. + + • badarg - If the port driver so decides for any reason + (probably something wrong with Operation or Data). + + Warning + + Do not call port_control/3 with an unknown Port + identifier and expect badarg exception. Any undefined + behavior is possible (including node crash) depending on + how the port driver interprets the supplied arguments. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_get_data_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_get_data_1_func.txt index 090db5838be0..04d0ee73314b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_get_data_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_get_data_1_func.txt @@ -1,5 +1,5 @@ -  port_get_data/1 + -spec port_get_data(Port) -> term() when Port :: port() | atom(). The documentation for port_get_data/1 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_info_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_info_1_func.txt index 9ec7e2e65107..4d71bee66bd2 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_info_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_info_1_func.txt @@ -1,27 +1,26 @@ - -spec erlang:port_info(Port) -> Result -  when -  Port :: port() | atom(), -  ResultItem :: -  {registered_name, -  RegisteredName :: atom()} | -  {id, Index :: non_neg_integer()} | -  {connected, Pid :: pid()} | -  {links, Pids :: [pid()]} | -  {name, String :: string()} | -  {input, Bytes :: non_neg_integer()} | -  {output, Bytes :: non_neg_integer()} | -  {os_pid, -  OsPid :: -  non_neg_integer() | undefined}, -  Result :: [ResultItem] | undefined. + -spec port_info(Port) -> Result +  when +  Port :: port() | atom(), +  ResultItem :: +  {registered_name, RegisteredName :: atom()} | +  {id, Index :: non_neg_integer()} | +  {connected, Pid :: pid()} | +  {links, Pids :: [pid()]} | +  {name, String :: string()} | +  {input, Bytes :: non_neg_integer()} | +  {output, Bytes :: non_neg_integer()} | +  {os_pid, +  OsPid :: non_neg_integer() | undefined}, +  Result :: [ResultItem] | undefined. Returns a list containing tuples with information about Port, or  - undefined if the port is not open. The order of the tuples is - undefined, and all the tuples are not mandatory. 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/1 returns undefined. + undefined if the port is not open. + + The order of the tuples is undefined, and all the tuples are not + mandatory. 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/1 returns undefined. The result contains information about the following Items: 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 12f396fb46df..483737964a84 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,245 +1,140 @@ - -spec erlang:port_info(Port, connected) -> {connected, Pid} | undefined -  when Port :: port() | atom(), Pid :: pid(). - - Pid is the process identifier of the process connected to the - port. + -spec port_info(Port, Item :: connected) -> {connected, Pid} | undefined +  when Port :: port() | atom(), Pid :: pid(); +  (Port, Item :: id) -> {id, Index} | undefined +  when +  Port :: port() | atom(), +  Index :: non_neg_integer(); +  (Port, Item :: input) -> {input, Bytes} | undefined +  when +  Port :: port() | atom(), +  Bytes :: non_neg_integer(); +  (Port, Item :: links) -> {links, Pids} | undefined +  when Port :: port() | atom(), Pids :: [pid()]; +  (Port, Item :: locking) -> {locking, Locking} | undefined +  when +  Port :: port() | atom(), +  Locking :: false | port_level | driver_level; +  (Port, Item :: memory) -> {memory, Bytes} | undefined +  when +  Port :: port() | atom(), +  Bytes :: non_neg_integer(); +  (Port, Item :: monitors) -> +  {monitors, Monitors} | undefined +  when +  Port :: port() | atom(), +  Monitors :: [{process, pid()}]; +  (Port, Item :: monitored_by) -> +  {monitored_by, MonitoredBy} | undefined +  when Port :: port() | atom(), MonitoredBy :: [pid()]; +  (Port, Item :: name) -> {name, Name} | undefined +  when Port :: port() | atom(), Name :: string(); +  (Port, Item :: os_pid) -> {os_pid, OsPid} | undefined +  when +  Port :: port() | atom(), +  OsPid :: non_neg_integer() | undefined; +  (Port, Item :: output) -> {output, Bytes} | undefined +  when +  Port :: port() | atom(), +  Bytes :: non_neg_integer(); +  (Port, Item :: parallelism) -> +  {parallelism, Boolean} | undefined +  when Port :: port() | atom(), Boolean :: boolean(); +  (Port, Item :: queue_size) -> +  {queue_size, Bytes} | undefined +  when +  Port :: port() | atom(), +  Bytes :: non_neg_integer(); +  (Port, Item :: registered_name) -> +  {registered_name, RegisteredName} | [] | undefined +  when +  Port :: port() | atom(), RegisteredName :: atom(). + + Returns information about 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, id) -> {id, Index} | undefined -  when -  Port :: port() | atom(), -  Index :: non_neg_integer(). + Item is one of the following and can be used to get various + information about the Port. - Index is the internal index of the port. This index can be used - to separate ports. + • connected - returns {connected, Pid} where Pid is the + process identifier of the process connected to the 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. + • id - returns {id, Index} where Index is the internal + index of the port. This index can be used to separate ports. - Failure: badarg if Port is not a local port identifier, or an - atom. + • input - returns {input, Bytes} where Bytes is the total + number of bytes read from the port. - -spec erlang:port_info(Port, input) -> {input, Bytes} | undefined -  when -  Port :: port() | atom(), -  Bytes :: non_neg_integer(). + • links - returns {links, Pids} where Pids is a list of + the process identifiers of the processes that the port is + linked to. - Bytes is the total number of bytes read from the port. + • locking - returns {locking, Locking} where Locking is + one of the following: - 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. + ○ port_level (port-specific locking) - Failure: badarg if Port is not a local port identifier, or an - atom. + ○ driver_level (driver-specific locking) Notice that + these results are highly implementation-specific and + can change in a future release. - -spec erlang:port_info(Port, links) -> {links, Pids} | undefined -  when Port :: port() | atom(), Pids :: [pid()]. + Since: OTP R16B - Pids is a list of the process identifiers of the processes that - the port is linked to. + • memory - returns {memory, Bytes} where 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. + Since: OTP R16B - Failure: badarg if Port is not a local port identifier, or an - atom. + • monitors - returns {monitors, Monitors} where Monitors + represent processes monitored by this port. - -spec erlang:port_info(Port, locking) -> {locking, Locking} | undefined -  when -  Port :: port() | atom(), -  Locking :: -  false | port_level | driver_level. + Since: OTP R16B -Since: - OTP R16B + • monitored_by - returns {monitored_by, MonitoredBy} where  + MonitoredBy is a list of pids that are monitoring given + port at the moment. - Locking is one of the following: + Since: OTP 19.0 - • port_level (port-specific locking) + • name - returns {name, Name} where Name is the command + name set by open_port/2. - • driver_level (driver-specific locking) + • os_pid - returns {os_pid, OsPid} where 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. - Notice that these results are highly implementation-specific and - can change in a future release. + Since: OTP R16B - 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. + • output - returns {output, Bytes} where 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}. - Failure: badarg if Port is not a local port identifier, or an - atom. + • parallelism - returns {parallelism, Boolean} where  + 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, memory) -> {memory, Bytes} | undefined -  when -  Port :: port() | atom(), -  Bytes :: non_neg_integer(). + Since: OTP R16B -Since: - OTP R16B + • queue_size - returns {queue_size, Bytes} where Bytes is + the total number of bytes queued by the port using the ERTS + driver queue implementation. - 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 -  Port :: port() | atom(), -  Monitors :: [{process, pid()}]. - -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. + Since: OTP R16B - 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(), -  OsPid :: non_neg_integer() | undefined. - -Since: - OTP R16B - - 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. - - 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, output) -> {output, Bytes} | undefined -  when -  Port :: port() | atom(), -  Bytes :: non_neg_integer(). - - 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(), -  Boolean :: boolean(). - -Since: - OTP R16B - - 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 - previously linked to the port, the exit signal from the port is - guaranteed to be delivered before port_info/2 returns undefined. + • registered_name - returns {registered_name, + RegisteredName} where RegisteredName is the registered + name of the port. If the port has no registered name, [] + is returned. Failure: badarg if Port is not a local port identifier, or an atom. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_info_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_info_func.txt index 76a9878206b6..a8929cbb83b7 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_info_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_info_func.txt @@ -1,27 +1,26 @@ - -spec erlang:port_info(Port) -> Result -  when -  Port :: port() | atom(), -  ResultItem :: -  {registered_name, -  RegisteredName :: atom()} | -  {id, Index :: non_neg_integer()} | -  {connected, Pid :: pid()} | -  {links, Pids :: [pid()]} | -  {name, String :: string()} | -  {input, Bytes :: non_neg_integer()} | -  {output, Bytes :: non_neg_integer()} | -  {os_pid, -  OsPid :: -  non_neg_integer() | undefined}, -  Result :: [ResultItem] | undefined. + -spec port_info(Port) -> Result +  when +  Port :: port() | atom(), +  ResultItem :: +  {registered_name, RegisteredName :: atom()} | +  {id, Index :: non_neg_integer()} | +  {connected, Pid :: pid()} | +  {links, Pids :: [pid()]} | +  {name, String :: string()} | +  {input, Bytes :: non_neg_integer()} | +  {output, Bytes :: non_neg_integer()} | +  {os_pid, +  OsPid :: non_neg_integer() | undefined}, +  Result :: [ResultItem] | undefined. Returns a list containing tuples with information about Port, or  - undefined if the port is not open. The order of the tuples is - undefined, and all the tuples are not mandatory. 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/1 returns undefined. + undefined if the port is not open. + + The order of the tuples is undefined, and all the tuples are not + mandatory. 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/1 returns undefined. The result contains information about the following Items: @@ -44,247 +43,142 @@ Failure: badarg if Port is not a local port identifier, or an atom. - -spec erlang:port_info(Port, connected) -> {connected, Pid} | undefined -  when Port :: port() | atom(), Pid :: pid(). - - Pid is the process identifier of the process connected to the - 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, id) -> {id, Index} | undefined -  when -  Port :: port() | atom(), -  Index :: non_neg_integer(). - - 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(). - - Bytes is the total number of bytes read from the port. + -spec port_info(Port, Item :: connected) -> {connected, Pid} | undefined +  when Port :: port() | atom(), Pid :: pid(); +  (Port, Item :: id) -> {id, Index} | undefined +  when +  Port :: port() | atom(), +  Index :: non_neg_integer(); +  (Port, Item :: input) -> {input, Bytes} | undefined +  when +  Port :: port() | atom(), +  Bytes :: non_neg_integer(); +  (Port, Item :: links) -> {links, Pids} | undefined +  when Port :: port() | atom(), Pids :: [pid()]; +  (Port, Item :: locking) -> {locking, Locking} | undefined +  when +  Port :: port() | atom(), +  Locking :: false | port_level | driver_level; +  (Port, Item :: memory) -> {memory, Bytes} | undefined +  when +  Port :: port() | atom(), +  Bytes :: non_neg_integer(); +  (Port, Item :: monitors) -> +  {monitors, Monitors} | undefined +  when +  Port :: port() | atom(), +  Monitors :: [{process, pid()}]; +  (Port, Item :: monitored_by) -> +  {monitored_by, MonitoredBy} | undefined +  when Port :: port() | atom(), MonitoredBy :: [pid()]; +  (Port, Item :: name) -> {name, Name} | undefined +  when Port :: port() | atom(), Name :: string(); +  (Port, Item :: os_pid) -> {os_pid, OsPid} | undefined +  when +  Port :: port() | atom(), +  OsPid :: non_neg_integer() | undefined; +  (Port, Item :: output) -> {output, Bytes} | undefined +  when +  Port :: port() | atom(), +  Bytes :: non_neg_integer(); +  (Port, Item :: parallelism) -> +  {parallelism, Boolean} | undefined +  when Port :: port() | atom(), Boolean :: boolean(); +  (Port, Item :: queue_size) -> +  {queue_size, Bytes} | undefined +  when +  Port :: port() | atom(), +  Bytes :: non_neg_integer(); +  (Port, Item :: registered_name) -> +  {registered_name, RegisteredName} | [] | undefined +  when +  Port :: port() | atom(), RegisteredName :: atom(). + + Returns information about 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, 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. + Item is one of the following and can be used to get various + information about the Port. - Failure: badarg if Port is not a local port identifier, or an - atom. + • connected - returns {connected, Pid} where Pid is the + process identifier of the process connected to the port. - -spec erlang:port_info(Port, locking) -> {locking, Locking} | undefined -  when -  Port :: port() | atom(), -  Locking :: -  false | port_level | driver_level. + • id - returns {id, Index} where Index is the internal + index of the port. This index can be used to separate ports. -Since: - OTP R16B + • input - returns {input, Bytes} where Bytes is the total + number of bytes read from the port. - Locking is one of the following: + • links - returns {links, Pids} where Pids is a list of + the process identifiers of the processes that the port is + linked to. - • port_level (port-specific locking) + • locking - returns {locking, Locking} where Locking is + one of the following: - • driver_level (driver-specific locking) + ○ port_level (port-specific locking) - Notice that these results are highly implementation-specific and - can change in a future release. + ○ 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. + Since: OTP R16B - Failure: badarg if Port is not a local port identifier, or an - atom. + • memory - returns {memory, Bytes} where 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. - -spec erlang:port_info(Port, memory) -> {memory, Bytes} | undefined -  when -  Port :: port() | atom(), -  Bytes :: non_neg_integer(). + Since: OTP R16B -Since: - OTP R16B + • monitors - returns {monitors, Monitors} where Monitors + represent processes monitored by this port. - 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. + Since: OTP R16B - 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. + • monitored_by - returns {monitored_by, MonitoredBy} where  + MonitoredBy is a list of pids that are monitoring given + port at the moment. - Failure: badarg if Port is not a local port identifier, or an - atom. + Since: OTP 19.0 - -spec erlang:port_info(Port, monitors) -> -  {monitors, Monitors} | undefined -  when -  Port :: port() | atom(), -  Monitors :: [{process, pid()}]. + • name - returns {name, Name} where Name is the command + name set by open_port/2. -Since: - OTP R16B + • os_pid - returns {os_pid, OsPid} where 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. - Monitors represent processes monitored by this port. + Since: OTP R16B - 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. + • output - returns {output, Bytes} where 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}. - Failure: badarg if Port is not a local port identifier, or an - atom. + • parallelism - returns {parallelism, Boolean} where  + 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, monitored_by) -> -  {monitored_by, MonitoredBy} | undefined -  when -  Port :: port() | atom(), -  MonitoredBy :: [pid()]. + Since: OTP R16B -Since: - OTP 19.0 + • queue_size - returns {queue_size, Bytes} where Bytes is + the total number of bytes queued by the port using the ERTS + driver queue implementation. - Returns list of pids that are monitoring given port at the moment. + Since: OTP R16B - 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(), -  OsPid :: non_neg_integer() | undefined. - -Since: - OTP R16B - - 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. - - 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, output) -> {output, Bytes} | undefined -  when -  Port :: port() | atom(), -  Bytes :: non_neg_integer(). - - 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(), -  Boolean :: boolean(). - -Since: - OTP R16B - - 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 - previously linked to the port, the exit signal from the port is - guaranteed to be delivered before port_info/2 returns undefined. + • registered_name - returns {registered_name, + RegisteredName} where RegisteredName is the registered + name of the port. If the port has no registered name, [] + is returned. Failure: badarg if Port is not a local port identifier, or an atom. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_set_data_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_set_data_2_func.txt index d27a36b7e899..d7d985c48f8a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_set_data_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_set_data_2_func.txt @@ -1,5 +1,6 @@ -  port_set_data/2 + -spec port_set_data(Port, Data) -> true +  when Port :: port() | atom(), Data :: term(). The documentation for port_set_data/2 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_ports_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_ports_0_func.txt index d2b4c81d2d17..b10c5bbfbafb 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_ports_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_ports_0_func.txt @@ -1,5 +1,5 @@ - -spec erlang:ports() -> [port()]. + -spec ports() -> [port()]. Returns a list of port identifiers corresponding to all the ports existing on the local node. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_posixtime_to_universaltime_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_posixtime_to_universaltime_1_func.txt index 6f39b81c4392..79d99fdf2f3f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_posixtime_to_universaltime_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_posixtime_to_universaltime_1_func.txt @@ -1,5 +1,7 @@ -  posixtime_to_universaltime/1 + -spec posixtime_to_universaltime(P1) -> +  {calendar:date(), calendar:time()} +  when P1 :: integer(). The documentation for posixtime_to_universaltime/1 is hidden. This probably means that it is internal and not to be used by diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_pre_loaded_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_pre_loaded_0_func.txt index efaf2aaba9dd..6755c2410c9f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_pre_loaded_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_pre_loaded_0_func.txt @@ -2,6 +2,8 @@ -spec pre_loaded() -> [module()]. Returns a list of Erlang modules that are preloaded in the - run-time system. Pre-loaded modules are Erlang modules that are - needed to bootstrap the system to load the first Erlang modules - from either disk or by using erl_boot_server. + run-time system. + + Pre-loaded modules are Erlang modules that are needed to bootstrap + the system to load the first Erlang modules from either disk or by + using erl_boot_server. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_prepare_loading_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_prepare_loading_2_func.txt index 4b551a5b919c..fb8a0daabc85 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_prepare_loading_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_prepare_loading_2_func.txt @@ -1,5 +1,10 @@ -  prepare_loading/2 + -spec prepare_loading(Module, Code) -> PreparedCode | {error, Reason} +  when +  Module :: module(), +  Code :: binary(), +  PreparedCode :: prepared_code(), +  Reason :: badfile. The documentation for prepare_loading/2 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_display_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_display_2_func.txt index 09dd388fdc35..a50e785ca110 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_display_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_display_2_func.txt @@ -1,9 +1,11 @@ - -spec erlang:process_display(Pid, Type) -> true -  when Pid :: pid(), Type :: backtrace. + -spec process_display(Pid, Type) -> true +  when Pid :: pid(), Type :: backtrace. Writes information about the local process Pid on standard - error. The only allowed value for the atom Type is backtrace, - which shows the contents of the call stack, including information - about the call chain, with the current function printed first. The + error. + + The only allowed value for the atom Type is backtrace, which + shows the contents of the call stack, including information about + the call chain, with the current function printed first. The format of the output is not further defined. 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 623680febe2e..a4a2ff29be1e 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,361 +1,354 @@ -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. 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. - - -spec process_flag(fullsweep_after, FullsweepAfter) -> OldFullsweepAfter +  when Boolean :: boolean(), OldBoolean :: boolean(); +  (trap_exit, Boolean) -> OldBoolean +  when Boolean :: boolean(), OldBoolean :: boolean(); +  (error_handler, Module) -> OldModule +  when Module :: atom(), OldModule :: atom(); +  (fullsweep_after, FullsweepAfter) -> OldFullsweepAfter  when  FullsweepAfter :: non_neg_integer(), -  OldFullsweepAfter :: non_neg_integer(). - -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 +  OldFullsweepAfter :: non_neg_integer(); +  (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) -> +  OldMinHeapSize :: non_neg_integer(); +  (min_bin_vheap_size, MinBinVHeapSize) ->  OldMinBinVHeapSize  when  MinBinVHeapSize :: non_neg_integer(), -  OldMinBinVHeapSize :: non_neg_integer(). - -Since: - OTP R13B04 - - Changes the minimum binary virtual heap size for the calling - process. - - Returns the old value of the flag. - - -spec process_flag(max_heap_size, MaxHeapSize) -> OldMaxHeapSize +  OldMinBinVHeapSize :: non_neg_integer(); +  (max_heap_size, MaxHeapSize) -> OldMaxHeapSize  when  MaxHeapSize :: max_heap_size(), -  OldMaxHeapSize :: max_heap_size(). - -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 +  OldMaxHeapSize :: max_heap_size(); +  (message_queue_data, MQD) -> OldMQD  when  MQD :: message_queue_data(), -  OldMQD :: message_queue_data(). - -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 +  OldMQD :: message_queue_data(); +  (priority, Level) -> OldLevel  when  Level :: priority_level(), -  OldLevel :: priority_level(). - - Types: - -type priority_level() :: low | normal | high | max. - - Sets the process priority. Level is an atom. Four priority - levels exist: low, normal, high, and max. Default is  - normal. - - Note: - Priority level max is reserved for internal use in the - Erlang runtime system, and is not to be used by others. - - Internally in each priority level, processes are scheduled in a - round robin fashion. - - Execution of processes on priority normal and low are - interleaved. Processes on priority low are selected for - execution less frequently than processes on priority normal. - - When runnable processes on priority high exist, no processes on - priority low or normal are selected for execution. Notice - however that this does not mean that no processes on priority  - low or normal can run when processes are running on priority  - high. When using multiple schedulers, more processes can be - running in parallel than processes on priority high. That is, a  - low and a high priority process can execute at the same time. - - When runnable processes on priority max exist, no processes on - priority low, normal, or high are selected for execution. As - with priority high, processes on lower priorities can execute in - parallel with processes on priority max. - - Scheduling is pre-emptive. Regardless of priority, a process is - pre-empted when it has consumed more than a certain number of - reductions since the last time it was selected for execution. - - Note: - Do not depend on the scheduling to remain exactly as it is - today. Scheduling is likely to be changed in a future release - to use available processor cores better. - - There is no automatic mechanism for avoiding priority inversion, - such as priority inheritance or priority ceilings. When using - priorities, take this into account and handle such scenarios by - yourself. - - Making calls from a high priority process into code that you has - no control over can cause the high priority process to wait for - a process with lower priority. That is, effectively decreasing the - priority of the high priority process during the call. Even if - this is not the case with one version of the code that you have no - control over, it can be the case in a future version of it. This - can, for example, occur if a high priority process triggers code - loading, as the code server runs on priority normal. - - Other priorities than normal are normally not needed. When other - priorities are used, use them with care, especially priority  - high. A process on priority high is only to perform work for - short periods. Busy looping for long periods in a high priority - process causes most likely problems, as important OTP servers run - 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. +  OldLevel :: priority_level(); +  (save_calls, N) -> OldN +  when N :: 0..10000, OldN :: 0..10000; +  (sensitive, Boolean) -> OldBoolean +  when Boolean :: boolean(), OldBoolean :: boolean(); +  ({monitor_nodes, term()}, term()) -> term(); +  (monitor_nodes, term()) -> term(). + + Sets the process flag indicated to the specified value. Returns + the previous value of the flag. + + Flag is one of the following: + + • process_flag(async_dist, boolean()) + + 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). + + • process_flag(trap_exit, 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. + + See also exit/2. + + • process_flag(error_handler, module()) + + Used by a process to redefine the error_handler for + undefined function calls and undefined registered processes. + Use this flag with substantial caution, as code auto-loading + depends on the correct operation of the error handling + module. + + • process_flag(fullsweep_after, non_neg_integer()) + + Changes the maximum number of generational collections + before forcing a fullsweep for the calling process. + + • process_flag(min_heap_size, non_neg_integer()) + + Changes the minimum heap size for the calling process. + + • process_flag(min_bin_vheap_size, non_neg_integer()) + + Changes the minimum binary virtual heap size for the calling + process. + + • process_flag(max_heap_size, max_heap_size()) + + 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, 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, 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, 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. + + • process_flag(message_queue_data, message_queue_data()) + + 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. + + 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. + + • process_flag(priority, priority_level()) + + Sets the process priority. Level is an atom. Four priority + levels exist: low, normal, high, and max. Default is  + normal. + + Note + + Priority level max is reserved for internal use in the + Erlang runtime system, and is not to be used by + others. + + Internally in each priority level, processes are scheduled + in a round robin fashion. + + Execution of processes on priority normal and low are + interleaved. Processes on priority low are selected for + execution less frequently than processes on priority normal. + + When runnable processes on priority high exist, no + processes on priority low or normal are selected for + execution. Notice however that this does not mean that no + processes on priority low or normal can run when + processes are running on priority high. When using + multiple schedulers, more processes can be running in + parallel than processes on priority high. That is, a low + and a high priority process can execute at the same time. + + When runnable processes on priority max exist, no + processes on priority low, normal, or high are + selected for execution. As with priority high, processes + on lower priorities can execute in parallel with processes + on priority max. + + Scheduling is pre-emptive. Regardless of priority, a process + is pre-empted when it has consumed more than a certain + number of reductions since the last time it was selected for + execution. + + Note + + Do not depend on the scheduling to remain exactly as it + is today. Scheduling is likely to be changed in a future + release to use available processor cores better. + + There is no automatic mechanism for avoiding priority + inversion, such as priority inheritance or priority + ceilings. When using priorities, take this into account and + handle such scenarios by yourself. + + Making calls from a high priority process into code that + you has no control over can cause the high priority + process to wait for a process with lower priority. That is, + effectively decreasing the priority of the high priority + process during the call. Even if this is not the case with + one version of the code that you have no control over, it + can be the case in a future version of it. This can, for + example, occur if a high priority process triggers code + loading, as the code server runs on priority normal. + + Other priorities than normal are normally not needed. When + other priorities are used, use them with care, especially + priority high. A process on priority high is only to + perform work for short periods. Busy looping for long + periods in a high priority process causes most likely + problems, as important OTP servers run on priority normal. + + • process_flag(save_calls, 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: + + ○ 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. + + • process_flag(sensitive, 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.) diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_flag_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_flag_func.txt index 37b14e1067ab..ba69d49ae169 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_flag_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_flag_func.txt @@ -1,364 +1,357 @@ -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. 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. - - -spec process_flag(fullsweep_after, FullsweepAfter) -> OldFullsweepAfter +  when Boolean :: boolean(), OldBoolean :: boolean(); +  (trap_exit, Boolean) -> OldBoolean +  when Boolean :: boolean(), OldBoolean :: boolean(); +  (error_handler, Module) -> OldModule +  when Module :: atom(), OldModule :: atom(); +  (fullsweep_after, FullsweepAfter) -> OldFullsweepAfter  when  FullsweepAfter :: non_neg_integer(), -  OldFullsweepAfter :: non_neg_integer(). - -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 +  OldFullsweepAfter :: non_neg_integer(); +  (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) -> +  OldMinHeapSize :: non_neg_integer(); +  (min_bin_vheap_size, MinBinVHeapSize) ->  OldMinBinVHeapSize  when  MinBinVHeapSize :: non_neg_integer(), -  OldMinBinVHeapSize :: non_neg_integer(). - -Since: - OTP R13B04 - - Changes the minimum binary virtual heap size for the calling - process. - - Returns the old value of the flag. - - -spec process_flag(max_heap_size, MaxHeapSize) -> OldMaxHeapSize +  OldMinBinVHeapSize :: non_neg_integer(); +  (max_heap_size, MaxHeapSize) -> OldMaxHeapSize  when  MaxHeapSize :: max_heap_size(), -  OldMaxHeapSize :: max_heap_size(). - -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 +  OldMaxHeapSize :: max_heap_size(); +  (message_queue_data, MQD) -> OldMQD  when  MQD :: message_queue_data(), -  OldMQD :: message_queue_data(). - -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 +  OldMQD :: message_queue_data(); +  (priority, Level) -> OldLevel  when  Level :: priority_level(), -  OldLevel :: priority_level(). - - Types: - -type priority_level() :: low | normal | high | max. - - Sets the process priority. Level is an atom. Four priority - levels exist: low, normal, high, and max. Default is  - normal. - - Note: - Priority level max is reserved for internal use in the - Erlang runtime system, and is not to be used by others. - - Internally in each priority level, processes are scheduled in a - round robin fashion. - - Execution of processes on priority normal and low are - interleaved. Processes on priority low are selected for - execution less frequently than processes on priority normal. - - When runnable processes on priority high exist, no processes on - priority low or normal are selected for execution. Notice - however that this does not mean that no processes on priority  - low or normal can run when processes are running on priority  - high. When using multiple schedulers, more processes can be - running in parallel than processes on priority high. That is, a  - low and a high priority process can execute at the same time. - - When runnable processes on priority max exist, no processes on - priority low, normal, or high are selected for execution. As - with priority high, processes on lower priorities can execute in - parallel with processes on priority max. - - Scheduling is pre-emptive. Regardless of priority, a process is - pre-empted when it has consumed more than a certain number of - reductions since the last time it was selected for execution. - - Note: - Do not depend on the scheduling to remain exactly as it is - today. Scheduling is likely to be changed in a future release - to use available processor cores better. - - There is no automatic mechanism for avoiding priority inversion, - such as priority inheritance or priority ceilings. When using - priorities, take this into account and handle such scenarios by - yourself. - - Making calls from a high priority process into code that you has - no control over can cause the high priority process to wait for - a process with lower priority. That is, effectively decreasing the - priority of the high priority process during the call. Even if - this is not the case with one version of the code that you have no - control over, it can be the case in a future version of it. This - can, for example, occur if a high priority process triggers code - loading, as the code server runs on priority normal. - - Other priorities than normal are normally not needed. When other - priorities are used, use them with care, especially priority  - high. A process on priority high is only to perform work for - short periods. Busy looping for long periods in a high priority - process causes most likely problems, as important OTP servers run - 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. +  OldLevel :: priority_level(); +  (save_calls, N) -> OldN +  when N :: 0..10000, OldN :: 0..10000; +  (sensitive, Boolean) -> OldBoolean +  when Boolean :: boolean(), OldBoolean :: boolean(); +  ({monitor_nodes, term()}, term()) -> term(); +  (monitor_nodes, term()) -> term(). + + Sets the process flag indicated to the specified value. Returns + the previous value of the flag. + + Flag is one of the following: + + • process_flag(async_dist, boolean()) + + 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). + + • process_flag(trap_exit, 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. + + See also exit/2. + + • process_flag(error_handler, module()) + + Used by a process to redefine the error_handler for + undefined function calls and undefined registered processes. + Use this flag with substantial caution, as code auto-loading + depends on the correct operation of the error handling + module. + + • process_flag(fullsweep_after, non_neg_integer()) + + Changes the maximum number of generational collections + before forcing a fullsweep for the calling process. + + • process_flag(min_heap_size, non_neg_integer()) + + Changes the minimum heap size for the calling process. + + • process_flag(min_bin_vheap_size, non_neg_integer()) + + Changes the minimum binary virtual heap size for the calling + process. + + • process_flag(max_heap_size, max_heap_size()) + + 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, 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, 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, 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. + + • process_flag(message_queue_data, message_queue_data()) + + 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. + + 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. + + • process_flag(priority, priority_level()) + + Sets the process priority. Level is an atom. Four priority + levels exist: low, normal, high, and max. Default is  + normal. + + Note + + Priority level max is reserved for internal use in the + Erlang runtime system, and is not to be used by + others. + + Internally in each priority level, processes are scheduled + in a round robin fashion. + + Execution of processes on priority normal and low are + interleaved. Processes on priority low are selected for + execution less frequently than processes on priority normal. + + When runnable processes on priority high exist, no + processes on priority low or normal are selected for + execution. Notice however that this does not mean that no + processes on priority low or normal can run when + processes are running on priority high. When using + multiple schedulers, more processes can be running in + parallel than processes on priority high. That is, a low + and a high priority process can execute at the same time. + + When runnable processes on priority max exist, no + processes on priority low, normal, or high are + selected for execution. As with priority high, processes + on lower priorities can execute in parallel with processes + on priority max. + + Scheduling is pre-emptive. Regardless of priority, a process + is pre-empted when it has consumed more than a certain + number of reductions since the last time it was selected for + execution. + + Note + + Do not depend on the scheduling to remain exactly as it + is today. Scheduling is likely to be changed in a future + release to use available processor cores better. + + There is no automatic mechanism for avoiding priority + inversion, such as priority inheritance or priority + ceilings. When using priorities, take this into account and + handle such scenarios by yourself. + + Making calls from a high priority process into code that + you has no control over can cause the high priority + process to wait for a process with lower priority. That is, + effectively decreasing the priority of the high priority + process during the call. Even if this is not the case with + one version of the code that you have no control over, it + can be the case in a future version of it. This can, for + example, occur if a high priority process triggers code + loading, as the code server runs on priority normal. + + Other priorities than normal are normally not needed. When + other priorities are used, use them with care, especially + priority high. A process on priority high is only to + perform work for short periods. Busy looping for long + periods in a high priority process causes most likely + problems, as important OTP servers run on priority normal. + + • process_flag(save_calls, 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: + + ○ 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. + + • process_flag(sensitive, 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.) -spec process_flag(Pid, Flag, Value) -> OldValue  when 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 283d5b120e63..265b7106be0b 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 @@ -5,89 +5,6 @@  Info :: [InfoTuple] | undefined,  InfoTuple :: process_info_result_item(). - Types: - -type max_heap_size() :: - Size :: - non_neg_integer() | - #{size => non_neg_integer(), - kill => 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 :: - [{non_neg_integer(), - non_neg_integer(), - non_neg_integer()}]} | - {catchlevel, CatchLevel :: non_neg_integer()} | - {current_function, - {Module :: module(), Function :: atom(), Arity :: arity()} | - undefined} | - {current_location, - {Module :: module(), - Function :: atom(), - Arity :: arity(), - Location :: - [{file, Filename :: string()} | - {line, Line :: pos_integer()}]}} | - {current_stacktrace, Stack :: [stack_item()]} | - {dictionary, Dictionary :: [{Key :: term(), Value :: term()}]} | - {error_handler, Module :: module()} | - {garbage_collection, GCInfo :: [{atom(), non_neg_integer()}]} | - {garbage_collection_info, - GCInfo :: [{atom(), non_neg_integer()}]} | - {group_leader, GroupLeader :: pid()} | - {heap_size, Size :: non_neg_integer()} | - {initial_call, mfa()} | - {links, PidsAndPorts :: [pid() | port()]} | - {last_calls, false | (Calls :: [mfa()])} | - {memory, Size :: non_neg_integer()} | - {message_queue_len, MessageQueueLen :: non_neg_integer()} | - {messages, MessageQueue :: [term()]} | - {min_heap_size, MinHeapSize :: non_neg_integer()} | - {min_bin_vheap_size, MinBinVHeapSize :: non_neg_integer()} | - {max_heap_size, MaxHeapSize :: max_heap_size()} | - {monitored_by, - MonitoredBy :: [pid() | port() | nif_resource()]} | - {monitors, - Monitors :: - [{process | port, - Pid :: - pid() | - 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())} | - {sequential_trace_token, - [] | (SequentialTraceToken :: term())} | - {stack_size, Size :: non_neg_integer()} | - {status, - Status :: - exiting | garbage_collecting | waiting | running | - runnable | suspended} | - {suspending, - SuspendeeList :: - [{Suspendee :: pid(), - ActiveSuspendCount :: non_neg_integer(), - OutstandingSuspendCount :: non_neg_integer()}]} | - {total_heap_size, Size :: non_neg_integer()} | - {trace, InternalTraceFlags :: non_neg_integer()} | - {trap_exit, Boolean :: boolean()}. - -type stack_item() :: - {Module :: module(), - Function :: atom(), - Arity :: arity() | (Args :: [term()]), - Location :: - [{file, Filename :: string()} | - {line, Line :: pos_integer()}]}. - Returns a list containing InfoTuples with miscellaneous information about the process identified by Pid, or undefined if the process is not alive. @@ -133,7 +50,8 @@ For information about specific InfoTuples, see process_info/2. - Warning: + Warning + This BIF is intended for debugging only. For all other purposes, use process_info/2. 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 7abc2b28c9f2..626be62e3ecf 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 @@ -12,100 +12,6 @@  InfoTupleList :: [InfoTuple],  InfoTuple :: process_info_result_item(). - Types: - -type max_heap_size() :: - Size :: - non_neg_integer() | - #{size => non_neg_integer(), - kill => 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() :: - 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 | 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 :: - [{non_neg_integer(), - non_neg_integer(), - non_neg_integer()}]} | - {catchlevel, CatchLevel :: non_neg_integer()} | - {current_function, - {Module :: module(), Function :: atom(), Arity :: arity()} | - undefined} | - {current_location, - {Module :: module(), - Function :: atom(), - Arity :: arity(), - Location :: - [{file, Filename :: string()} | - {line, Line :: pos_integer()}]}} | - {current_stacktrace, Stack :: [stack_item()]} | - {dictionary, Dictionary :: [{Key :: term(), Value :: term()}]} | - {error_handler, Module :: module()} | - {garbage_collection, GCInfo :: [{atom(), non_neg_integer()}]} | - {garbage_collection_info, - GCInfo :: [{atom(), non_neg_integer()}]} | - {group_leader, GroupLeader :: pid()} | - {heap_size, Size :: non_neg_integer()} | - {initial_call, mfa()} | - {links, PidsAndPorts :: [pid() | port()]} | - {last_calls, false | (Calls :: [mfa()])} | - {memory, Size :: non_neg_integer()} | - {message_queue_len, MessageQueueLen :: non_neg_integer()} | - {messages, MessageQueue :: [term()]} | - {min_heap_size, MinHeapSize :: non_neg_integer()} | - {min_bin_vheap_size, MinBinVHeapSize :: non_neg_integer()} | - {max_heap_size, MaxHeapSize :: max_heap_size()} | - {monitored_by, - MonitoredBy :: [pid() | port() | nif_resource()]} | - {monitors, - Monitors :: - [{process | port, - Pid :: - pid() | - 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())} | - {sequential_trace_token, - [] | (SequentialTraceToken :: term())} | - {stack_size, Size :: non_neg_integer()} | - {status, - Status :: - exiting | garbage_collecting | waiting | running | - runnable | suspended} | - {suspending, - SuspendeeList :: - [{Suspendee :: pid(), - ActiveSuspendCount :: non_neg_integer(), - OutstandingSuspendCount :: non_neg_integer()}]} | - {total_heap_size, Size :: non_neg_integer()} | - {trace, InternalTraceFlags :: non_neg_integer()} | - {trap_exit, Boolean :: boolean()}. - -type stack_item() :: - {Module :: module(), - Function :: atom(), - Arity :: arity() | (Args :: [term()]), - Location :: - [{file, Filename :: string()} | - {line, Line :: pos_integer()}]}. - Returns information about the process identified by Pid, as specified by Item or ItemList. Returns undefined if the process is not alive. @@ -122,10 +28,10 @@ Valid Items can be included multiple times in ItemList. Getting process information follows the signal ordering guarantees - described in the Processes Chapter in the Erlang Reference - Manual. + described in the Processes Chapter in the Erlang Reference Manual. + + Note - Note: If registered_name is part of ItemList and the process has no name registered, a {registered_name, []}, InfoTuple will be included in the resulting InfoTupleList. This @@ -134,227 +40,216 @@ 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 - to obtain the string of characters from the binary. - - {binary, BinInfo}: - BinInfo is a list containing miscellaneous information about - binaries on the heap of this process. This InfoTuple can be - changed or removed without prior notice. In the current - implementation BinInfo is a list of tuples. The tuples - contain; BinaryId, BinarySize, BinaryRefcCount. - - Depending on the value of the message_queue_data process - flag the message queue may be stored on the heap. - - {catchlevel, CatchLevel}: - CatchLevel is the number of currently active catches in this - process. This InfoTuple can be changed or removed without - prior notice. - - {current_function, {Module, Function, Arity} | undefined}: - Module, Function, Arity is the current function call of - the process. The value undefined can be returned if the - process is currently executing native compiled code. - - {current_location, {Module, Function, Arity, Location}}: - Module, Function, Arity is the current function call of - the process. Location is a list of two-tuples describing the - location in the source code. - - {current_stacktrace, Stack}: - Returns the current call stack back-trace (stacktrace) of - the process. The stack has the same format as in the catch - part of a try. See The call-stack back trace (stacktrace). - The depth of the stacktrace is truncated according to the  - backtrace_depth system flag setting. - - {dictionary, Dictionary}: - Dictionary is the process dictionary. - - {error_handler, Module}: - Module is the error handler module used by the process (for - undefined function calls, for example). - - {garbage_collection, GCInfo}: - GCInfo is a list containing miscellaneous information about - garbage collection for this process. The content of GCInfo - can be changed without prior notice. - - {garbage_collection_info, GCInfo}: - GCInfo is a list containing miscellaneous detailed - information about garbage collection for this process. The - content of GCInfo can be changed without prior notice. For - details about the meaning of each item, see gc_minor_start - in erlang:trace/3. - - {group_leader, GroupLeader}: - GroupLeader is the group leader for the I/O of the process. - - {heap_size, Size}: - Size is the size in words of the youngest heap generation of - the process. This generation includes the process stack. This - information is highly implementation-dependent, and can change - if the implementation changes. - - {initial_call, {Module, Function, Arity}}: - Module, Function, Arity is the initial function call with - which the process was spawned. + • {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 to obtain the string of + characters from the binary. + + • {binary, BinInfo} - BinInfo is a list containing + miscellaneous information about binaries on the heap of this + process. This InfoTuple can be changed or removed without + prior notice. In the current implementation BinInfo is a + list of tuples. The tuples contain; BinaryId, BinarySize,  + BinaryRefcCount. + + Depending on the value of the message_queue_data process + flag the message queue may be stored on the heap. + + • {catchlevel, CatchLevel} - CatchLevel is the number of + currently active catches in this process. This InfoTuple + can be changed or removed without prior notice. + + • {current_function, {Module, Function, Arity} | undefined} -  + Module, Function, Arity is the current function call of + the process. The value undefined can be returned if the + process is currently executing native compiled code. + + • {current_location, {Module, Function, Arity, Location}} -  + Module, Function, Arity is the current function call of + the process. Location is a list of two-tuples describing + the location in the source code. + + • {current_stacktrace, Stack} - Returns the current call + stack back-trace (stacktrace) of the process. The stack + has the same format as in the catch part of a try. See + The call-stack back trace (stacktrace). The depth of the + stacktrace is truncated according to the backtrace_depth + system flag setting. + + • {dictionary, Dictionary} - Dictionary is the process + dictionary. + + • {{dictionary, Key}, Value} - Value associated with Key + in the process dictionary. + + • {error_handler, Module} - Module is the error_handler + module used by the process (for undefined function calls, + for example). + + • {garbage_collection, GCInfo} - GCInfo is a list + containing miscellaneous information about garbage + collection for this process. The content of GCInfo can be + changed without prior notice. + + • {garbage_collection_info, GCInfo} - GCInfo is a list + containing miscellaneous detailed information about garbage + collection for this process. The content of GCInfo can be + changed without prior notice. For details about the meaning + of each item, see gc_minor_start in trace:process/4. + + • {group_leader, GroupLeader} - GroupLeader is the group + leader for the I/O of the process. + + • {heap_size, Size} - Size is the size in words of the + youngest heap generation of the process. This generation + includes the process stack. This information is highly + implementation-dependent, and can change if the + implementation changes. + + • {initial_call, {Module, Function, Arity}} - Module,  + Function, Arity is the initial function call with which + the process was spawned. + + • {links, PidsAndPorts} - PidsAndPorts is a list of process + identifiers and port identifiers, with processes or ports to + which the process has a link. + + • {last_calls, false|Calls} - The value is false if call + saving is not active for the process (see process_flag/3). + If call saving is active, a list is returned, in which the + last element is the most recent called. + + • {memory, Size} - Size is the size in bytes of the + process. This includes call stack, heap, and internal + structures. + + • {message_queue_len, MessageQueueLen} - MessageQueueLen is + the number of messages currently in the message queue of the + process. This is the length of the list MessageQueue + returned as the information item messages (see below). + + • {messages, MessageQueue} - MessageQueue is a list of the + messages to the process, which have not yet been processed. + + • {min_heap_size, MinHeapSize} - MinHeapSize is the minimum + heap size for the process. + + • {min_bin_vheap_size, MinBinVHeapSize} - MinBinVHeapSize + is the minimum binary virtual heap size for the process. + + • {monitored_by, MonitoredBy} - A list of identifiers for all + the processes, ports and NIF resources, that are monitoring + the process. + + • {monitors, Monitors} - A list of monitors (started by  + monitor/2) that are active for the process. For a local + process monitor or a remote process monitor by a process + identifier, the list consists of: + + ○ {process, Pid} - Process is monitored by pid. + + ○ {process, {RegName, Node}} - Local or remote process + is monitored by name. + + ○ {port, PortId} - Local port is monitored by port id. + + ○ {port, {RegName, Node}} - Local port is monitored by + name. Please note, that remote port monitors are not + supported, so Node will always be the local node + name. + + • {message_queue_data, MQD} - MQD is the current value of + the message_queue_data process flag, which can be either  + off_heap or on_heap. For more 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). - {links, PidsAndPorts}: - PidsAndPorts is a list of process identifiers and port - identifiers, with processes or ports to which the process has - a link. - - {last_calls, false|Calls}: - The value is false if call saving is not active for the - process (see process_flag/3). If call saving is active, a - list is returned, in which the last element is the most recent - called. - - {memory, Size}: - Size is the size in bytes of the process. This includes call - stack, heap, and internal structures. - - {message_queue_len, MessageQueueLen}: - MessageQueueLen is the number of messages currently in the - message queue of the process. This is the length of the list  - MessageQueue returned as the information item messages (see - below). - - {messages, MessageQueue}: - MessageQueue is a list of the messages to the process, which - have not yet been processed. - - {min_heap_size, MinHeapSize}: - MinHeapSize is the minimum heap size for the process. - - {min_bin_vheap_size, MinBinVHeapSize}: - MinBinVHeapSize is the minimum binary virtual heap size for - the process. - - {monitored_by, MonitoredBy}: - A list of identifiers for all the processes, ports and NIF - resources, that are monitoring the process. - - {monitors, Monitors}: - A list of monitors (started by monitor/2) that are active - for the process. For a local process monitor or a remote - process monitor by a process identifier, the list consists of: - - {process, Pid}: - Process is monitored by pid. - - {process, {RegName, Node}}: - Local or remote process is monitored by name. - - {port, PortId}: - Local port is monitored by port id. - - {port, {RegName, Node}}: - Local port is monitored by name. Please note, that remote - port monitors are not supported, so Node will always be - the local node name. - - {message_queue_data, MQD}: - MQD is the current value of the message_queue_data process - flag, which can be either off_heap or on_heap. For more - 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. + • {reductions, Number} - Number is the number of reductions + executed by the process. - {priority, Level}: - Level is the current priority level for the process. For more - information on priorities, see process_flag(priority, Level). + • {registered_name, Atom} - Atom is the registered process + name. If the process has no registered name, this tuple is + not present in the list. - {reductions, Number}: - Number is the number of reductions executed by the process. - - {registered_name, Atom}: - Atom is the registered process name. If the process has no - registered name, this tuple is not present in the list. - - {sequential_trace_token, [] | SequentialTraceToken}: - SequentialTraceToken is the sequential trace token for the - process. This InfoTuple can be changed or removed without - prior notice. + • {sequential_trace_token, [] | SequentialTraceToken} -  + SequentialTraceToken is the sequential trace token for the + process. This InfoTuple can be changed or removed without + prior notice. - {stack_size, Size}: - Size is the stack size, in words, of the process. + • {stack_size, Size} - Size is the stack size, in words, of + the process. - {status, Status}: - Status is the status of the process and is one of the - following: + • {status, Status} - Status is the status of the process + and is one of the following: - • exiting + ○ exiting - • garbage_collecting + ○ garbage_collecting - • waiting (for a message) + ○ waiting (for a message) - • running + ○ running - • runnable (ready to run, but another process is running) + ○ runnable (ready to run, but another process is + running) - • suspended (suspended on a "busy" port or by the BIF  - erlang:suspend_process/1,2) + ○ suspended (suspended on a "busy" port or by the BIF  + erlang:suspend_process/1,2) - {suspending, SuspendeeList}: - SuspendeeList is a list of {Suspendee, ActiveSuspendCount, - OutstandingSuspendCount} tuples. Suspendee is the process - identifier of a process that has been, or is to be, suspended - by the process identified by Pid through the BIF  - erlang:suspend_process/2 or erlang:suspend_process/1. + • {suspending, SuspendeeList} - SuspendeeList is a list of  + {Suspendee, ActiveSuspendCount, OutstandingSuspendCount} + tuples. Suspendee is the process identifier of a process + that has been, or is to be, suspended by the process + identified by Pid through the BIF  + erlang:suspend_process/2 or erlang:suspend_process/1. - ActiveSuspendCount is the number of times Suspendee has - been suspended by Pid. OutstandingSuspendCount is the - number of not yet completed suspend requests sent by Pid, - that is: + ActiveSuspendCount is the number of times Suspendee has + been suspended by Pid. OutstandingSuspendCount is the + number of not yet completed suspend requests sent by Pid, + that is: - • If ActiveSuspendCount =/= 0, Suspendee is currently - in the suspended state. + ○ If ActiveSuspendCount =/= 0, Suspendee is + currently in the suspended state. - • If OutstandingSuspendCount =/= 0, option asynchronous - of erlang:suspend_process/2 has been used and the - suspendee has not yet been suspended by Pid. + ○ If OutstandingSuspendCount =/= 0, option  + asynchronous of erlang:suspend_process/2 has been + used and the suspendee has not yet been suspended by  + Pid. - Notice that ActiveSuspendCount and OutstandingSuspendCount - are not the total suspend count on Suspendee, only the parts - contributed by Pid. + Notice that ActiveSuspendCount and  + OutstandingSuspendCount are not the total suspend count on  + Suspendee, only the parts contributed by Pid. - {total_heap_size, Size}: - Size is the total size, in words, of all heap fragments of - the process. This includes the process stack and any - unreceived messages that are considered to be part of the - heap. + • {total_heap_size, Size} - Size is the total size, in + words, of all heap fragments of the process. This includes + the process stack and any unreceived messages that are + considered to be part of the heap. - {trace, InternalTraceFlags}: - InternalTraceFlags is an integer representing the internal - trace flag for this process. This InfoTuple can be changed - or removed without prior notice. + • {trace, InternalTraceFlags} - InternalTraceFlags is an + integer representing the internal trace flag for this + process. This InfoTuple can be changed or removed without + prior notice. - {trap_exit, Boolean}: - Boolean is true if the process is trapping exits, otherwise  - false. + • {trap_exit, Boolean} - Boolean is true if the process + is trapping exits, otherwise false. Notice that not all implementations support all these Items. Failures: - badarg: - If Pid is not a local process. + • badarg - If Pid is not a local process. - badarg: - If Item is an invalid item. + • badarg - If Item is an invalid item. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_info_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_info_func.txt index 3953e4490bc6..748cb3a6be3c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_info_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_info_func.txt @@ -5,89 +5,6 @@  Info :: [InfoTuple] | undefined,  InfoTuple :: process_info_result_item(). - Types: - -type max_heap_size() :: - Size :: - non_neg_integer() | - #{size => non_neg_integer(), - kill => 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 :: - [{non_neg_integer(), - non_neg_integer(), - non_neg_integer()}]} | - {catchlevel, CatchLevel :: non_neg_integer()} | - {current_function, - {Module :: module(), Function :: atom(), Arity :: arity()} | - undefined} | - {current_location, - {Module :: module(), - Function :: atom(), - Arity :: arity(), - Location :: - [{file, Filename :: string()} | - {line, Line :: pos_integer()}]}} | - {current_stacktrace, Stack :: [stack_item()]} | - {dictionary, Dictionary :: [{Key :: term(), Value :: term()}]} | - {error_handler, Module :: module()} | - {garbage_collection, GCInfo :: [{atom(), non_neg_integer()}]} | - {garbage_collection_info, - GCInfo :: [{atom(), non_neg_integer()}]} | - {group_leader, GroupLeader :: pid()} | - {heap_size, Size :: non_neg_integer()} | - {initial_call, mfa()} | - {links, PidsAndPorts :: [pid() | port()]} | - {last_calls, false | (Calls :: [mfa()])} | - {memory, Size :: non_neg_integer()} | - {message_queue_len, MessageQueueLen :: non_neg_integer()} | - {messages, MessageQueue :: [term()]} | - {min_heap_size, MinHeapSize :: non_neg_integer()} | - {min_bin_vheap_size, MinBinVHeapSize :: non_neg_integer()} | - {max_heap_size, MaxHeapSize :: max_heap_size()} | - {monitored_by, - MonitoredBy :: [pid() | port() | nif_resource()]} | - {monitors, - Monitors :: - [{process | port, - Pid :: - pid() | - 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())} | - {sequential_trace_token, - [] | (SequentialTraceToken :: term())} | - {stack_size, Size :: non_neg_integer()} | - {status, - Status :: - exiting | garbage_collecting | waiting | running | - runnable | suspended} | - {suspending, - SuspendeeList :: - [{Suspendee :: pid(), - ActiveSuspendCount :: non_neg_integer(), - OutstandingSuspendCount :: non_neg_integer()}]} | - {total_heap_size, Size :: non_neg_integer()} | - {trace, InternalTraceFlags :: non_neg_integer()} | - {trap_exit, Boolean :: boolean()}. - -type stack_item() :: - {Module :: module(), - Function :: atom(), - Arity :: arity() | (Args :: [term()]), - Location :: - [{file, Filename :: string()} | - {line, Line :: pos_integer()}]}. - Returns a list containing InfoTuples with miscellaneous information about the process identified by Pid, or undefined if the process is not alive. @@ -133,7 +50,8 @@ For information about specific InfoTuples, see process_info/2. - Warning: + Warning + This BIF is intended for debugging only. For all other purposes, use process_info/2. @@ -152,100 +70,6 @@  InfoTupleList :: [InfoTuple],  InfoTuple :: process_info_result_item(). - Types: - -type max_heap_size() :: - Size :: - non_neg_integer() | - #{size => non_neg_integer(), - kill => 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() :: - 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 | 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 :: - [{non_neg_integer(), - non_neg_integer(), - non_neg_integer()}]} | - {catchlevel, CatchLevel :: non_neg_integer()} | - {current_function, - {Module :: module(), Function :: atom(), Arity :: arity()} | - undefined} | - {current_location, - {Module :: module(), - Function :: atom(), - Arity :: arity(), - Location :: - [{file, Filename :: string()} | - {line, Line :: pos_integer()}]}} | - {current_stacktrace, Stack :: [stack_item()]} | - {dictionary, Dictionary :: [{Key :: term(), Value :: term()}]} | - {error_handler, Module :: module()} | - {garbage_collection, GCInfo :: [{atom(), non_neg_integer()}]} | - {garbage_collection_info, - GCInfo :: [{atom(), non_neg_integer()}]} | - {group_leader, GroupLeader :: pid()} | - {heap_size, Size :: non_neg_integer()} | - {initial_call, mfa()} | - {links, PidsAndPorts :: [pid() | port()]} | - {last_calls, false | (Calls :: [mfa()])} | - {memory, Size :: non_neg_integer()} | - {message_queue_len, MessageQueueLen :: non_neg_integer()} | - {messages, MessageQueue :: [term()]} | - {min_heap_size, MinHeapSize :: non_neg_integer()} | - {min_bin_vheap_size, MinBinVHeapSize :: non_neg_integer()} | - {max_heap_size, MaxHeapSize :: max_heap_size()} | - {monitored_by, - MonitoredBy :: [pid() | port() | nif_resource()]} | - {monitors, - Monitors :: - [{process | port, - Pid :: - pid() | - 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())} | - {sequential_trace_token, - [] | (SequentialTraceToken :: term())} | - {stack_size, Size :: non_neg_integer()} | - {status, - Status :: - exiting | garbage_collecting | waiting | running | - runnable | suspended} | - {suspending, - SuspendeeList :: - [{Suspendee :: pid(), - ActiveSuspendCount :: non_neg_integer(), - OutstandingSuspendCount :: non_neg_integer()}]} | - {total_heap_size, Size :: non_neg_integer()} | - {trace, InternalTraceFlags :: non_neg_integer()} | - {trap_exit, Boolean :: boolean()}. - -type stack_item() :: - {Module :: module(), - Function :: atom(), - Arity :: arity() | (Args :: [term()]), - Location :: - [{file, Filename :: string()} | - {line, Line :: pos_integer()}]}. - Returns information about the process identified by Pid, as specified by Item or ItemList. Returns undefined if the process is not alive. @@ -262,10 +86,10 @@ Valid Items can be included multiple times in ItemList. Getting process information follows the signal ordering guarantees - described in the Processes Chapter in the Erlang Reference - Manual. + described in the Processes Chapter in the Erlang Reference Manual. + + Note - Note: If registered_name is part of ItemList and the process has no name registered, a {registered_name, []}, InfoTuple will be included in the resulting InfoTupleList. This @@ -274,227 +98,216 @@ 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 - to obtain the string of characters from the binary. - - {binary, BinInfo}: - BinInfo is a list containing miscellaneous information about - binaries on the heap of this process. This InfoTuple can be - changed or removed without prior notice. In the current - implementation BinInfo is a list of tuples. The tuples - contain; BinaryId, BinarySize, BinaryRefcCount. - - Depending on the value of the message_queue_data process - flag the message queue may be stored on the heap. - - {catchlevel, CatchLevel}: - CatchLevel is the number of currently active catches in this - process. This InfoTuple can be changed or removed without - prior notice. - - {current_function, {Module, Function, Arity} | undefined}: - Module, Function, Arity is the current function call of - the process. The value undefined can be returned if the - process is currently executing native compiled code. - - {current_location, {Module, Function, Arity, Location}}: - Module, Function, Arity is the current function call of - the process. Location is a list of two-tuples describing the - location in the source code. - - {current_stacktrace, Stack}: - Returns the current call stack back-trace (stacktrace) of - the process. The stack has the same format as in the catch - part of a try. See The call-stack back trace (stacktrace). - The depth of the stacktrace is truncated according to the  - backtrace_depth system flag setting. - - {dictionary, Dictionary}: - Dictionary is the process dictionary. - - {error_handler, Module}: - Module is the error handler module used by the process (for - undefined function calls, for example). - - {garbage_collection, GCInfo}: - GCInfo is a list containing miscellaneous information about - garbage collection for this process. The content of GCInfo - can be changed without prior notice. - - {garbage_collection_info, GCInfo}: - GCInfo is a list containing miscellaneous detailed - information about garbage collection for this process. The - content of GCInfo can be changed without prior notice. For - details about the meaning of each item, see gc_minor_start - in erlang:trace/3. - - {group_leader, GroupLeader}: - GroupLeader is the group leader for the I/O of the process. - - {heap_size, Size}: - Size is the size in words of the youngest heap generation of - the process. This generation includes the process stack. This - information is highly implementation-dependent, and can change - if the implementation changes. - - {initial_call, {Module, Function, Arity}}: - Module, Function, Arity is the initial function call with - which the process was spawned. + • {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 to obtain the string of + characters from the binary. + + • {binary, BinInfo} - BinInfo is a list containing + miscellaneous information about binaries on the heap of this + process. This InfoTuple can be changed or removed without + prior notice. In the current implementation BinInfo is a + list of tuples. The tuples contain; BinaryId, BinarySize,  + BinaryRefcCount. + + Depending on the value of the message_queue_data process + flag the message queue may be stored on the heap. + + • {catchlevel, CatchLevel} - CatchLevel is the number of + currently active catches in this process. This InfoTuple + can be changed or removed without prior notice. + + • {current_function, {Module, Function, Arity} | undefined} -  + Module, Function, Arity is the current function call of + the process. The value undefined can be returned if the + process is currently executing native compiled code. + + • {current_location, {Module, Function, Arity, Location}} -  + Module, Function, Arity is the current function call of + the process. Location is a list of two-tuples describing + the location in the source code. + + • {current_stacktrace, Stack} - Returns the current call + stack back-trace (stacktrace) of the process. The stack + has the same format as in the catch part of a try. See + The call-stack back trace (stacktrace). The depth of the + stacktrace is truncated according to the backtrace_depth + system flag setting. + + • {dictionary, Dictionary} - Dictionary is the process + dictionary. + + • {{dictionary, Key}, Value} - Value associated with Key + in the process dictionary. + + • {error_handler, Module} - Module is the error_handler + module used by the process (for undefined function calls, + for example). + + • {garbage_collection, GCInfo} - GCInfo is a list + containing miscellaneous information about garbage + collection for this process. The content of GCInfo can be + changed without prior notice. + + • {garbage_collection_info, GCInfo} - GCInfo is a list + containing miscellaneous detailed information about garbage + collection for this process. The content of GCInfo can be + changed without prior notice. For details about the meaning + of each item, see gc_minor_start in trace:process/4. + + • {group_leader, GroupLeader} - GroupLeader is the group + leader for the I/O of the process. + + • {heap_size, Size} - Size is the size in words of the + youngest heap generation of the process. This generation + includes the process stack. This information is highly + implementation-dependent, and can change if the + implementation changes. + + • {initial_call, {Module, Function, Arity}} - Module,  + Function, Arity is the initial function call with which + the process was spawned. + + • {links, PidsAndPorts} - PidsAndPorts is a list of process + identifiers and port identifiers, with processes or ports to + which the process has a link. + + • {last_calls, false|Calls} - The value is false if call + saving is not active for the process (see process_flag/3). + If call saving is active, a list is returned, in which the + last element is the most recent called. + + • {memory, Size} - Size is the size in bytes of the + process. This includes call stack, heap, and internal + structures. + + • {message_queue_len, MessageQueueLen} - MessageQueueLen is + the number of messages currently in the message queue of the + process. This is the length of the list MessageQueue + returned as the information item messages (see below). + + • {messages, MessageQueue} - MessageQueue is a list of the + messages to the process, which have not yet been processed. + + • {min_heap_size, MinHeapSize} - MinHeapSize is the minimum + heap size for the process. + + • {min_bin_vheap_size, MinBinVHeapSize} - MinBinVHeapSize + is the minimum binary virtual heap size for the process. + + • {monitored_by, MonitoredBy} - A list of identifiers for all + the processes, ports and NIF resources, that are monitoring + the process. + + • {monitors, Monitors} - A list of monitors (started by  + monitor/2) that are active for the process. For a local + process monitor or a remote process monitor by a process + identifier, the list consists of: + + ○ {process, Pid} - Process is monitored by pid. + + ○ {process, {RegName, Node}} - Local or remote process + is monitored by name. + + ○ {port, PortId} - Local port is monitored by port id. + + ○ {port, {RegName, Node}} - Local port is monitored by + name. Please note, that remote port monitors are not + supported, so Node will always be the local node + name. + + • {message_queue_data, MQD} - MQD is the current value of + the message_queue_data process flag, which can be either  + off_heap or on_heap. For more 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). - {links, PidsAndPorts}: - PidsAndPorts is a list of process identifiers and port - identifiers, with processes or ports to which the process has - a link. - - {last_calls, false|Calls}: - The value is false if call saving is not active for the - process (see process_flag/3). If call saving is active, a - list is returned, in which the last element is the most recent - called. - - {memory, Size}: - Size is the size in bytes of the process. This includes call - stack, heap, and internal structures. - - {message_queue_len, MessageQueueLen}: - MessageQueueLen is the number of messages currently in the - message queue of the process. This is the length of the list  - MessageQueue returned as the information item messages (see - below). - - {messages, MessageQueue}: - MessageQueue is a list of the messages to the process, which - have not yet been processed. - - {min_heap_size, MinHeapSize}: - MinHeapSize is the minimum heap size for the process. - - {min_bin_vheap_size, MinBinVHeapSize}: - MinBinVHeapSize is the minimum binary virtual heap size for - the process. - - {monitored_by, MonitoredBy}: - A list of identifiers for all the processes, ports and NIF - resources, that are monitoring the process. - - {monitors, Monitors}: - A list of monitors (started by monitor/2) that are active - for the process. For a local process monitor or a remote - process monitor by a process identifier, the list consists of: - - {process, Pid}: - Process is monitored by pid. - - {process, {RegName, Node}}: - Local or remote process is monitored by name. - - {port, PortId}: - Local port is monitored by port id. - - {port, {RegName, Node}}: - Local port is monitored by name. Please note, that remote - port monitors are not supported, so Node will always be - the local node name. - - {message_queue_data, MQD}: - MQD is the current value of the message_queue_data process - flag, which can be either off_heap or on_heap. For more - 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. + • {reductions, Number} - Number is the number of reductions + executed by the process. - {priority, Level}: - Level is the current priority level for the process. For more - information on priorities, see process_flag(priority, Level). + • {registered_name, Atom} - Atom is the registered process + name. If the process has no registered name, this tuple is + not present in the list. - {reductions, Number}: - Number is the number of reductions executed by the process. - - {registered_name, Atom}: - Atom is the registered process name. If the process has no - registered name, this tuple is not present in the list. - - {sequential_trace_token, [] | SequentialTraceToken}: - SequentialTraceToken is the sequential trace token for the - process. This InfoTuple can be changed or removed without - prior notice. + • {sequential_trace_token, [] | SequentialTraceToken} -  + SequentialTraceToken is the sequential trace token for the + process. This InfoTuple can be changed or removed without + prior notice. - {stack_size, Size}: - Size is the stack size, in words, of the process. + • {stack_size, Size} - Size is the stack size, in words, of + the process. - {status, Status}: - Status is the status of the process and is one of the - following: + • {status, Status} - Status is the status of the process + and is one of the following: - • exiting + ○ exiting - • garbage_collecting + ○ garbage_collecting - • waiting (for a message) + ○ waiting (for a message) - • running + ○ running - • runnable (ready to run, but another process is running) + ○ runnable (ready to run, but another process is + running) - • suspended (suspended on a "busy" port or by the BIF  - erlang:suspend_process/1,2) + ○ suspended (suspended on a "busy" port or by the BIF  + erlang:suspend_process/1,2) - {suspending, SuspendeeList}: - SuspendeeList is a list of {Suspendee, ActiveSuspendCount, - OutstandingSuspendCount} tuples. Suspendee is the process - identifier of a process that has been, or is to be, suspended - by the process identified by Pid through the BIF  - erlang:suspend_process/2 or erlang:suspend_process/1. + • {suspending, SuspendeeList} - SuspendeeList is a list of  + {Suspendee, ActiveSuspendCount, OutstandingSuspendCount} + tuples. Suspendee is the process identifier of a process + that has been, or is to be, suspended by the process + identified by Pid through the BIF  + erlang:suspend_process/2 or erlang:suspend_process/1. - ActiveSuspendCount is the number of times Suspendee has - been suspended by Pid. OutstandingSuspendCount is the - number of not yet completed suspend requests sent by Pid, - that is: + ActiveSuspendCount is the number of times Suspendee has + been suspended by Pid. OutstandingSuspendCount is the + number of not yet completed suspend requests sent by Pid, + that is: - • If ActiveSuspendCount =/= 0, Suspendee is currently - in the suspended state. + ○ If ActiveSuspendCount =/= 0, Suspendee is + currently in the suspended state. - • If OutstandingSuspendCount =/= 0, option asynchronous - of erlang:suspend_process/2 has been used and the - suspendee has not yet been suspended by Pid. + ○ If OutstandingSuspendCount =/= 0, option  + asynchronous of erlang:suspend_process/2 has been + used and the suspendee has not yet been suspended by  + Pid. - Notice that ActiveSuspendCount and OutstandingSuspendCount - are not the total suspend count on Suspendee, only the parts - contributed by Pid. + Notice that ActiveSuspendCount and  + OutstandingSuspendCount are not the total suspend count on  + Suspendee, only the parts contributed by Pid. - {total_heap_size, Size}: - Size is the total size, in words, of all heap fragments of - the process. This includes the process stack and any - unreceived messages that are considered to be part of the - heap. + • {total_heap_size, Size} - Size is the total size, in + words, of all heap fragments of the process. This includes + the process stack and any unreceived messages that are + considered to be part of the heap. - {trace, InternalTraceFlags}: - InternalTraceFlags is an integer representing the internal - trace flag for this process. This InfoTuple can be changed - or removed without prior notice. + • {trace, InternalTraceFlags} - InternalTraceFlags is an + integer representing the internal trace flag for this + process. This InfoTuple can be changed or removed without + prior notice. - {trap_exit, Boolean}: - Boolean is true if the process is trapping exits, otherwise  - false. + • {trap_exit, Boolean} - Boolean is true if the process + is trapping exits, otherwise false. Notice that not all implementations support all these Items. Failures: - badarg: - If Pid is not a local process. + • badarg - If Pid is not a local process. - badarg: - If Item is an invalid item. + • badarg - If Item is an invalid item. 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 64137ede3a39..647963381b9b 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 @@ -5,11 +5,13 @@ check_process_code/2 is to be called to check that no processes execute old code in the module. - Warning: - This BIF is intended for the code server (see code(3)) and - is not to be used elsewhere. + Warning + + This BIF is intended for the code server (see code) and is + not to be used elsewhere. + + Change - 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_put_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_put_2_func.txt index ed9979ef28bb..a15cee5a4a86 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_put_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_put_2_func.txt @@ -4,17 +4,21 @@ Adds a new Key to the process dictionary, associated with the value Val, and returns undefined. If Key exists, the old value is deleted and replaced by Val, and the function returns - the old value. The average time complexity for the current - implementation of this function is O(1) and the worst case time - complexity is O(N), where N is the number of items in the - process dictionary. Example: + the old value. + + The average time complexity for the current implementation of this + function is O(1) and the worst case time complexity is O(N), + where N is the number of items in the process dictionary. + + For example: > X = put(name, walrus), Y = put(name, carpenter), Z = get(name), {X, Y, Z}. {undefined,walrus,carpenter} - Note: + Note + The values stored when put is evaluated within the scope of a catch are not retracted if a throw is evaluated, or if an error occurs. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_raise_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_raise_3_func.txt index e661585ba643..35e280e50bdc 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_raise_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_raise_3_func.txt @@ -1,15 +1,9 @@ - -spec erlang:raise(Class, Reason, Stacktrace) -> badarg -  when -  Class :: error | exit | throw, -  Reason :: term(), -  Stacktrace :: -  raise_stacktrace() | stacktrace(). - - Types: - -type raise_stacktrace() :: - [{module(), atom(), arity() | [term()]} | - {function(), arity() | [term()]}]. + -spec raise(Class, Reason, Stacktrace) -> badarg +  when +  Class :: error | exit | throw, +  Reason :: term(), +  Stacktrace :: raise_stacktrace(). Raises an exception of the specified class, reason, and call stack backtrace (stacktrace). @@ -47,6 +41,5 @@ to be sure not to return, you can call error(erlang:raise(Class, Reason, Stacktrace)) and hope to distinguish exceptions later. - See the reference manual about errors and error handling for - more information about exception classes and how to catch - exceptions. + See the reference manual about errors and error handling for more + information about exception classes and how to catch exceptions. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_raise_stacktrace_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_raise_stacktrace_0_type.txt new file mode 100644 index 000000000000..d8303de336bd --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_raise_stacktrace_0_type.txt @@ -0,0 +1,7 @@ + + -type raise_stacktrace() :: +  [{module(), atom(), arity() | [term()]} | +  {function(), arity() | [term()]}] | +  stacktrace(). + + A extended stacktrace/0 that can be passed to raise/3. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_read_timer_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_read_timer_2_func.txt index 19c5a296e9c2..503171ea64d7 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_read_timer_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_read_timer_2_func.txt @@ -1,12 +1,12 @@ - -spec erlang:read_timer(TimerRef, Options) -> Result | ok -  when -  TimerRef :: reference(), -  Async :: boolean(), -  Option :: {async, Async}, -  Options :: [Option], -  Time :: non_neg_integer(), -  Result :: Time | false. + -spec read_timer(TimerRef, Options) -> Result | ok +  when +  TimerRef :: reference(), +  Async :: boolean(), +  Option :: {async, Async}, +  Options :: [Option], +  Time :: non_neg_integer(), +  Result :: Time | false. Since: OTP 18.0 @@ -17,16 +17,15 @@ Options: - {async, Async}: - Asynchronous request for state information. Async defaults - to false, which causes the operation to be performed - synchronously. In this case, the Result is returned by  - erlang:read_timer. When Async is true, erlang:read_timer - sends an asynchronous request for the state information to the - timer service that manages the timer, and then returns ok. A - message on the format {read_timer, TimerRef, Result} is sent - to the caller of erlang:read_timer when the operation has - been processed. + • {async, Async} - Asynchronous request for state + information. Async defaults to false, which causes the + operation to be performed synchronously. In this case, the  + Result is returned by erlang:read_timer. When Async is  + true, erlang:read_timer sends an asynchronous request for + the state information to the timer service that manages the + timer, and then returns ok. A message on the format  + {read_timer, TimerRef, Result} is sent to the caller of  + erlang:read_timer when the operation has been processed. More Options can be added in the future. @@ -39,7 +38,8 @@ Even if the timer has expired, it does not tell you whether or not the time-out message has arrived at its destination yet. - Note: + Note + The timer service that manages the timer can be co-located with another scheduler than the scheduler that the calling process is executing on. If so, communication with the timer diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_read_timer_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_read_timer_func.txt index 30bc055e956d..10e6f8419dfe 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_read_timer_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_read_timer_func.txt @@ -1,21 +1,20 @@ - -spec erlang:read_timer(TimerRef) -> Result -  when -  TimerRef :: reference(), -  Time :: non_neg_integer(), -  Result :: Time | false. - - Reads the state of a timer. The same as calling  - erlang:read_timer(TimerRef, []). - - -spec erlang:read_timer(TimerRef, Options) -> Result | ok -  when -  TimerRef :: reference(), -  Async :: boolean(), -  Option :: {async, Async}, -  Options :: [Option], -  Time :: non_neg_integer(), -  Result :: Time | false. + -spec read_timer(TimerRef) -> Result +  when +  TimerRef :: reference(), +  Time :: non_neg_integer(), +  Result :: Time | false. + + There is no documentation for erlang:read_timer(TimerRef, []) + + -spec read_timer(TimerRef, Options) -> Result | ok +  when +  TimerRef :: reference(), +  Async :: boolean(), +  Option :: {async, Async}, +  Options :: [Option], +  Time :: non_neg_integer(), +  Result :: Time | false. Since: OTP 18.0 @@ -26,16 +25,15 @@ Options: - {async, Async}: - Asynchronous request for state information. Async defaults - to false, which causes the operation to be performed - synchronously. In this case, the Result is returned by  - erlang:read_timer. When Async is true, erlang:read_timer - sends an asynchronous request for the state information to the - timer service that manages the timer, and then returns ok. A - message on the format {read_timer, TimerRef, Result} is sent - to the caller of erlang:read_timer when the operation has - been processed. + • {async, Async} - Asynchronous request for state + information. Async defaults to false, which causes the + operation to be performed synchronously. In this case, the  + Result is returned by erlang:read_timer. When Async is  + true, erlang:read_timer sends an asynchronous request for + the state information to the timer service that manages the + timer, and then returns ok. A message on the format  + {read_timer, TimerRef, Result} is sent to the caller of  + erlang:read_timer when the operation has been processed. More Options can be added in the future. @@ -48,7 +46,8 @@ Even if the timer has expired, it does not tell you whether or not the time-out message has arrived at its destination yet. - Note: + Note + The timer service that manages the timer can be co-located with another scheduler than the scheduler that the calling process is executing on. If so, communication with the timer diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_ref_to_list_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_ref_to_list_1_func.txt index 42d8dc4d3d5f..5f690bcb4887 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_ref_to_list_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_ref_to_list_1_func.txt @@ -3,6 +3,7 @@ Returns a string corresponding to the text representation of Ref. - Warning: + Warning + This BIF is intended for debugging and is not to be used in application programs. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_register_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_register_2_func.txt index b4b5c8a543d8..3a7642bae7ea 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_register_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_register_2_func.txt @@ -6,7 +6,9 @@ port identifier in the name registry. RegName, which must be an atom, can be used instead of the pid or port identifier in send operator (RegName ! Message) and most other BIFs that take a pid - or port identifies as an argument. Example: + or port identifies as an argument. + + For example: > register(db, Pid). true @@ -17,15 +19,12 @@ Failures: - badarg: - If PidOrPort is not an existing local process or port. + • badarg - If PidOrPort is not an existing local process or + port. - badarg: - If RegName is already in use. + • badarg - If RegName is already in use. - badarg: - If the process or port is already registered (already has a - name). + • badarg - If the process or port is already registered + (already has a name). - badarg: - If RegName is the atom undefined. + • badarg - If RegName is the atom undefined. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_registered_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_registered_0_func.txt index 99a6974623ab..e04f5cf495e6 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_registered_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_registered_0_func.txt @@ -2,7 +2,9 @@ -spec registered() -> [RegName] when RegName :: atom(). Returns a list of names that have been registered using  - register/2, for example: + register/2. + + For example: > registered(). [code_server, file_server, init, user, my_db] diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_rem_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_rem_2_func.txt index d1f2d8eb5e6f..6fff7a24a954 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_rem_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_rem_2_func.txt @@ -1,5 +1,5 @@ -  'rem'/2 + -spec 'rem'(integer(), integer()) -> integer(). The documentation for 'rem'/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_resume_process_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_resume_process_1_func.txt index 6550fa906b0e..3d04882f1547 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_resume_process_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_resume_process_1_func.txt @@ -1,26 +1,27 @@ - -spec erlang:resume_process(Suspendee) -> true when Suspendee :: pid(). + -spec resume_process(Suspendee) -> true when Suspendee :: pid(). Decreases the suspend count on the process identified by  - Suspendee. Suspendee is previously to have been suspended - through erlang:suspend_process/2 or erlang:suspend_process/1 - by the process calling erlang:resume_process(Suspendee). When - the suspend count on Suspendee reaches zero, Suspendee is - resumed, that is, its state is changed from suspended into the - state it had before it was suspended. - - Warning: + Suspendee. + + Suspendee is previously to have been suspended through  + erlang:suspend_process/2 or erlang:suspend_process/1 by the + process calling erlang:resume_process(Suspendee). When the + suspend count on Suspendee reaches zero, Suspendee is resumed, + that is, its state is changed from suspended into the state it had + before it was suspended. + + Warning + This BIF is intended for debugging only. Failures: - badarg: - If Suspendee is not a process identifier. + • badarg - If Suspendee is not a process identifier. - badarg: - If the process calling erlang:resume_process/1 had not - previously increased the suspend count on the process - identified by Suspendee. + • badarg - If the process calling erlang:resume_process/1 + had not previously increased the suspend count on the + process identified by Suspendee. - badarg: - If the process identified by Suspendee is not alive. + • badarg - If the process identified by Suspendee is not + alive. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_round_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_round_1_func.txt index 0a6b2420aed8..03a9b19f1efe 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_round_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_round_1_func.txt @@ -1,7 +1,9 @@ -spec round(Number) -> integer() when Number :: number(). - Returns an integer by rounding Number, for example: + Returns an integer by rounding Number. + + For example: round(42.1). 42 @@ -22,5 +24,3 @@ 36028797018963968.0, which is the closest number that can be represented exactly as a float value. See Representation of Floating Point Numbers for additional information. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_scheduler_bind_type_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_scheduler_bind_type_0_type.txt new file mode 100644 index 000000000000..e434a8623d5b --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_scheduler_bind_type_0_type.txt @@ -0,0 +1,7 @@ + + -type scheduler_bind_type() :: +  no_node_processor_spread | no_node_thread_spread | no_spread | +  processor_spread | spread | thread_spread | +  thread_no_node_processor_spread | unbound. + + The requested scheduler bind type. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_self_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_self_0_func.txt index 3801da0d74a9..72ce2172b378 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_self_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_self_0_func.txt @@ -1,10 +1,9 @@ -spec self() -> pid(). - Returns the process identifier of the calling process, for - example: + Returns the process identifier of the calling process. + + For example: > self(). <0.26.0> - - Allowed in guard tests. 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 bd75d4131d3d..d79ecdb3e450 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,8 +1,8 @@ - -spec erlang:send(Dest, Msg) -> Msg -  when Dest :: send_destination(), Msg :: term(). + -spec send(Dest, Msg) -> Msg +  when Dest :: send_destination(), Msg :: term(). - Sends a message and returns Msg. This is the same as using the + Sends a message and returns Msg. This is the same as using the send operator: Dest ! Msg. Dest can be a remote or local process identifier, an alias, a @@ -14,7 +14,8 @@ when send fails for an unreachable destination Dest (of correct type). - Note: + 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 b8356593099b..a3d32a75da32 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,30 +1,33 @@ - -spec erlang:send(Dest, Msg, Options) -> Res -  when -  Dest :: send_destination(), -  Msg :: term(), -  Options :: [nosuspend | noconnect], -  Res :: ok | nosuspend | noconnect. + -spec send(Dest, Msg, Options) -> Res +  when +  Dest :: send_destination(), +  Msg :: term(), +  Options :: [nosuspend | noconnect], +  Res :: ok | nosuspend | noconnect. 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, - see erlang:send_nosuspend/2,3. + as erlang:send/2. + + For more detailed explanation and warnings, see  + erlang:send_nosuspend/2,3. Options: - nosuspend: - If the sender would have to be suspended to do the send,  - nosuspend is returned instead. + • nosuspend - If the sender would have to be suspended to do + the send, nosuspend is returned instead. + + • noconnect - If the destination node would have to be + auto-connected to do the send, noconnect is returned + instead. - noconnect: - If the destination node would have to be auto-connected to do - the send, noconnect is returned instead. + Note - 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: + 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_after_4_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_after_4_func.txt index 8be00ab91eb9..88a9c2f6e878 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_after_4_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_after_4_func.txt @@ -1,13 +1,13 @@ - -spec erlang:send_after(Time, Dest, Msg, Options) -> TimerRef -  when -  Time :: integer(), -  Dest :: pid() | atom(), -  Msg :: term(), -  Options :: [Option], -  Abs :: boolean(), -  Option :: {abs, Abs}, -  TimerRef :: reference(). + -spec send_after(Time, Dest, Msg, Options) -> TimerRef +  when +  Time :: integer(), +  Dest :: pid() | atom(), +  Msg :: term(), +  Options :: [Option], +  Abs :: boolean(), +  Option :: {abs, Abs}, +  TimerRef :: reference(). Since: OTP 18.0 diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_after_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_after_func.txt index 241bf650a456..11cb6d995811 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_after_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_after_func.txt @@ -1,23 +1,23 @@ - -spec erlang:send_after(Time, Dest, Msg) -> TimerRef -  when -  Time :: non_neg_integer(), -  Dest :: pid() | atom(), -  Msg :: term(), -  TimerRef :: reference(). + -spec send_after(Time, Dest, Msg) -> TimerRef +  when +  Time :: non_neg_integer(), +  Dest :: pid() | atom(), +  Msg :: term(), +  TimerRef :: reference(). - Starts a timer. The same as calling erlang:send_after(Time, Dest, - Msg, []). + There is no documentation for erlang:send_after(Time, Dest, Msg, + []) - -spec erlang:send_after(Time, Dest, Msg, Options) -> TimerRef -  when -  Time :: integer(), -  Dest :: pid() | atom(), -  Msg :: term(), -  Options :: [Option], -  Abs :: boolean(), -  Option :: {abs, Abs}, -  TimerRef :: reference(). + -spec send_after(Time, Dest, Msg, Options) -> TimerRef +  when +  Time :: integer(), +  Dest :: pid() | atom(), +  Msg :: term(), +  Options :: [Option], +  Abs :: boolean(), +  Option :: {abs, Abs}, +  TimerRef :: reference(). Since: OTP 18.0 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 index 8d93b48399d2..f7e280294755 100644 --- 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 @@ -6,7 +6,9 @@  (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. + The destination for a send operation. + + This 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_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_func.txt index b901edb2cd16..f3d996221d98 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_func.txt @@ -1,8 +1,8 @@ - -spec erlang:send(Dest, Msg) -> Msg -  when Dest :: send_destination(), Msg :: term(). + -spec send(Dest, Msg) -> Msg +  when Dest :: send_destination(), Msg :: term(). - Sends a message and returns Msg. This is the same as using the + Sends a message and returns Msg. This is the same as using the send operator: Dest ! Msg. Dest can be a remote or local process identifier, an alias, a @@ -14,37 +14,41 @@ when send fails for an unreachable destination Dest (of correct type). - Note: + Note + For some important information about distributed signals, see the Blocking Signaling Over Distribution section in the Processes chapter of the Erlang Reference Manual. - -spec erlang:send(Dest, Msg, Options) -> Res -  when -  Dest :: send_destination(), -  Msg :: term(), -  Options :: [nosuspend | noconnect], -  Res :: ok | nosuspend | noconnect. + -spec send(Dest, Msg, Options) -> Res +  when +  Dest :: send_destination(), +  Msg :: term(), +  Options :: [nosuspend | noconnect], +  Res :: ok | nosuspend | noconnect. 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, - see erlang:send_nosuspend/2,3. + as erlang:send/2. + + For more detailed explanation and warnings, see  + erlang:send_nosuspend/2,3. Options: - nosuspend: - If the sender would have to be suspended to do the send,  - nosuspend is returned instead. + • nosuspend - If the sender would have to be suspended to do + the send, nosuspend is returned instead. - noconnect: - If the destination node would have to be auto-connected to do - the send, noconnect is returned instead. + • noconnect - If the destination node would have to be + auto-connected to do the send, noconnect is returned + instead. + + Note - 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: + 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_nosuspend_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_nosuspend_2_func.txt index 2c23e175209e..d83a6b623347 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,10 +1,10 @@ - -spec erlang:send_nosuspend(Dest, Msg) -> boolean() -  when -  Dest :: send_destination(), -  Msg :: term(). + -spec send_nosuspend(Dest, Msg) -> boolean() +  when Dest :: send_destination(), Msg :: term(). - The same as erlang:send(Dest, Msg, [nosuspend]), but returns  + Send a message without suspending the caller. + + Equivalent to erlang:send(Dest, Msg, [nosuspend]), but returns  true if the message was sent and false if the message was not sent because the sender would have had to be suspended. @@ -41,5 +41,6 @@ and the actions to take when the function returns false are application- and hardware-specific. - Warning: + Warning + Use with extreme care. 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 28b45e10439b..53265e5ea748 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,11 +1,11 @@ - -spec erlang:send_nosuspend(Dest, Msg, Options) -> boolean() -  when -  Dest :: send_destination(), -  Msg :: term(), -  Options :: [noconnect]. + -spec send_nosuspend(Dest, Msg, Options) -> boolean() +  when +  Dest :: send_destination(), +  Msg :: term(), +  Options :: [noconnect]. - The same as erlang:send(Dest, Msg, [nosuspend | Options]), but + Equivalent to erlang:send(Dest, Msg, [nosuspend | Options]), but with a Boolean return value. This function behaves like erlang:send_nosuspend/2, but takes a @@ -24,5 +24,6 @@ already connected), the message is guaranteed not to have been sent. - Warning: + Warning + Use with extreme care. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_nosuspend_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_nosuspend_func.txt index 12b9529da934..b31b07a27288 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_nosuspend_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_nosuspend_func.txt @@ -1,10 +1,10 @@ - -spec erlang:send_nosuspend(Dest, Msg) -> boolean() -  when -  Dest :: send_destination(), -  Msg :: term(). + -spec send_nosuspend(Dest, Msg) -> boolean() +  when Dest :: send_destination(), Msg :: term(). - The same as erlang:send(Dest, Msg, [nosuspend]), but returns  + Send a message without suspending the caller. + + Equivalent to erlang:send(Dest, Msg, [nosuspend]), but returns  true if the message was sent and false if the message was not sent because the sender would have had to be suspended. @@ -41,16 +41,17 @@ and the actions to take when the function returns false are application- and hardware-specific. - Warning: + Warning + Use with extreme care. - -spec erlang:send_nosuspend(Dest, Msg, Options) -> boolean() -  when -  Dest :: send_destination(), -  Msg :: term(), -  Options :: [noconnect]. + -spec send_nosuspend(Dest, Msg, Options) -> boolean() +  when +  Dest :: send_destination(), +  Msg :: term(), +  Options :: [noconnect]. - The same as erlang:send(Dest, Msg, [nosuspend | Options]), but + Equivalent to erlang:send(Dest, Msg, [nosuspend | Options]), but with a Boolean return value. This function behaves like erlang:send_nosuspend/2, but takes a @@ -69,5 +70,6 @@ already connected), the message is guaranteed not to have been sent. - Warning: + Warning + Use with extreme care. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_2_func.txt index eac7f6352cde..6f502c211df6 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_2_func.txt @@ -1,5 +1,8 @@ -  seq_trace/2 + -spec seq_trace(P1, P2) -> +  seq_trace_info_returns() | +  {term(), term(), term(), term(), term()} +  when P1 :: atom(), P2 :: term(). The documentation for seq_trace/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_seq_trace_info_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_info_1_func.txt index 6dc372826e6e..92d7a06c2906 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_info_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_info_1_func.txt @@ -1,5 +1,15 @@ -  seq_trace_info/1 + -spec seq_trace_info(send) -> {send, boolean()}; +  ('receive') -> {'receive', boolean()}; +  (print) -> {print, boolean()}; +  (timestamp) -> {timestamp, boolean()}; +  (monotonic_timestamp) -> {timestamp, boolean()}; +  (strict_monotonic_timestamp) -> +  {strict_monotonic_timestamp, boolean()}; +  (label) -> [] | {label, term()}; +  (serial) -> +  [] | +  {serial, {non_neg_integer(), non_neg_integer()}}. The documentation for seq_trace_info/1 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_print_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_print_1_func.txt index d0ae337121d2..c25cb9a4d69c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_print_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_print_1_func.txt @@ -1,5 +1,5 @@ -  seq_trace_print/1 + -spec seq_trace_print(P1) -> boolean() when P1 :: term(). The documentation for seq_trace_print/1 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_print_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_print_2_func.txt index 54905aa1a936..befc1702155b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_print_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_print_2_func.txt @@ -1,5 +1,6 @@ -  seq_trace_print/2 + -spec seq_trace_print(P1, P2) -> boolean() +  when P1 :: atom() | integer(), P2 :: term(). The documentation for seq_trace_print/2 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_print_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_print_func.txt index e91e6a3619c9..d5b8961ad6ca 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_print_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_seq_trace_print_func.txt @@ -1,11 +1,12 @@ -  seq_trace_print/1 + -spec seq_trace_print(P1) -> boolean() when P1 :: term(). The documentation for seq_trace_print/1 is hidden. This probably means that it is internal and not to be used by other applications. -  seq_trace_print/2 + -spec seq_trace_print(P1, P2) -> boolean() +  when P1 :: atom() | integer(), P2 :: term(). The documentation for seq_trace_print/2 is hidden. This probably means that it is internal and not to be used by other 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 322f3a22144e..746dccc895d2 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 @@ -1,13 +1,15 @@ - -spec erlang:set_cookie(Cookie) -> true when Cookie :: atom(). + -spec set_cookie(Cookie) -> true when Cookie :: atom(). Since: OTP 24.1 Sets the magic cookie of the local node to the atom Cookie, which is also the cookie for all nodes that have no explicit - cookie set with set_cookie/2 Cookie (see section Distributed - Erlang in the Erlang Reference Manual in System Documentation). + cookie set with set_cookie/2 Cookie. + + See section Distributed Erlang in the Erlang Reference Manual in + System Documentation for more information. You can get this value using get_cookie/0. 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 4e4cec45dc31..ef822aa022de 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 @@ -1,12 +1,13 @@ - -spec erlang:set_cookie(Node, Cookie) -> true -  when Node :: node(), Cookie :: atom(). + -spec set_cookie(Node, Cookie) -> true +  when Node :: node(), Cookie :: atom(). Sets the magic cookie for Node to the atom Cookie. If Node is the local node, the function sets the cookie of all other nodes - (that have no explicit cookie set with this function) to Cookie - (see section Distributed Erlang in the Erlang Reference Manual - in System Documentation). + (that have no explicit cookie set with this function) to Cookie. + + See section Distributed Erlang in the Erlang Reference Manual in + System Documentation for more information. You can get this value using get_cookie/1. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_set_cookie_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_set_cookie_func.txt index 773aea970466..71237e439ba3 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_set_cookie_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_set_cookie_func.txt @@ -1,26 +1,29 @@ - -spec erlang:set_cookie(Cookie) -> true when Cookie :: atom(). + -spec set_cookie(Cookie) -> true when Cookie :: atom(). Since: OTP 24.1 Sets the magic cookie of the local node to the atom Cookie, which is also the cookie for all nodes that have no explicit - cookie set with set_cookie/2 Cookie (see section Distributed - Erlang in the Erlang Reference Manual in System Documentation). + cookie set with set_cookie/2 Cookie. + + See section Distributed Erlang in the Erlang Reference Manual in + System Documentation for more information. You can get this value using get_cookie/0. Failure: function_clause if the local node is not alive. - -spec erlang:set_cookie(Node, Cookie) -> true -  when Node :: node(), Cookie :: atom(). + -spec set_cookie(Node, Cookie) -> true +  when Node :: node(), Cookie :: atom(). Sets the magic cookie for Node to the atom Cookie. If Node is the local node, the function sets the cookie of all other nodes - (that have no explicit cookie set with this function) to Cookie - (see section Distributed Erlang in the Erlang Reference Manual - in System Documentation). + (that have no explicit cookie set with this function) to Cookie. + + See section Distributed Erlang in the Erlang Reference Manual in + System Documentation for more information. You can get this value using get_cookie/1. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_set_cpu_topology_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_set_cpu_topology_1_func.txt index 1b44778f1a6b..3dd2dbb7da8d 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_set_cpu_topology_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_set_cpu_topology_1_func.txt @@ -1,5 +1,5 @@ -  set_cpu_topology/1 +  set_cpu_topology(CpuTopology) The documentation for set_cpu_topology/1 is hidden. This probably means that it is internal and not to be used by other diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_setelement_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_setelement_3_func.txt index 5e0ad78f87dd..041ce0988a68 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_setelement_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_setelement_3_func.txt @@ -8,8 +8,9 @@ Returns a tuple that is a copy of argument Tuple1 with the element specified by integer argument Index (the first element - is the element with index 1) replaced by argument Value, for - example: + is the element with index 1) replaced by argument Value. + + For example: > setelement(2, {10, green, bottles}, red). {10,red,bottles} diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_setnode_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_setnode_2_func.txt index 93491f778698..1ed1bfbfc0cf 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_setnode_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_setnode_2_func.txt @@ -1,5 +1,5 @@ -  setnode/2 + -spec setnode(P1, P2) -> true when P1 :: atom(), P2 :: integer(). The documentation for setnode/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_setnode_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_setnode_3_func.txt index 0e2112a100a7..04b72f9b83ca 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_setnode_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_setnode_3_func.txt @@ -1,5 +1,9 @@ -  setnode/3 + -spec setnode(Node, DistCtrlr, Opts) -> dist_handle() +  when +  Node :: atom(), +  DistCtrlr :: port() | pid(), +  Opts :: {integer(), pos_integer()}. The documentation for setnode/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/unknown_erlang_setnode_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_setnode_func.txt index 94d6f18ae9d4..3c3018aa9082 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_setnode_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_setnode_func.txt @@ -1,10 +1,14 @@ -  setnode/2 + -spec setnode(P1, P2) -> true when P1 :: atom(), P2 :: integer(). The documentation for setnode/2 is hidden. This probably means that it is internal and not to be used by other applications. -  setnode/3 + -spec setnode(Node, DistCtrlr, Opts) -> dist_handle() +  when +  Node :: atom(), +  DistCtrlr :: port() | pid(), +  Opts :: {integer(), pos_integer()}. The documentation for setnode/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/unknown_erlang_size_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_size_1_func.txt index b78bf30240e7..b9a7bf536f38 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_size_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_size_1_func.txt @@ -2,7 +2,9 @@ -spec size(Item) -> non_neg_integer() when Item :: tuple() | binary(). Returns the number of elements in a tuple or the number of bytes - in a binary or bitstring, for example: + in a binary or bitstring. + + For example: > size({morni, mulle, bwange}). 3 @@ -13,6 +15,4 @@ the number of bits in the bitstring is not divisible by 8, the resulting number of bytes is rounded down. - Allowed in guard tests. - See also tuple_size/1, byte_size/1, and bit_size/1. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_slash_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_slash_2_func.txt index 688a861491f6..e0dc406bb7d9 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_slash_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_slash_2_func.txt @@ -1,5 +1,5 @@ -  '/'/2 + -spec '/'(number(), number()) -> float(). The documentation for '/'/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_slasheq_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_slasheq_2_func.txt index 37d8260593aa..9f6ef1a6caba 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_slasheq_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_slasheq_2_func.txt @@ -1,5 +1,5 @@ -  '/='/2 + -spec '/='(term(), term()) -> boolean(). The documentation for '/='/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_spawn_opt_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_opt_2_func.txt index 60dd47981ac4..edaeed96172e 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 @@ -4,27 +4,6 @@  Fun :: function(),  Options :: [spawn_opt_option()]. - Types: - -type max_heap_size() :: - Size :: - non_neg_integer() | - #{size => non_neg_integer(), - kill => 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() :: - link | monitor | - {monitor, MonitorOpts :: [monitor_option()]} | - {priority, Level :: priority_level()} | - {fullsweep_after, Number :: non_neg_integer()} | - {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()} | - {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 like spawn_opt/4. 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 e734f66f23ce..b4033505dca2 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 @@ -9,27 +9,6 @@  Pid :: pid(),  MonitorRef :: reference(). - Types: - -type max_heap_size() :: - Size :: - non_neg_integer() | - #{size => non_neg_integer(), - kill => 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() :: - link | monitor | - {monitor, MonitorOpts :: [monitor_option()]} | - {priority, Level :: priority_level()} | - {fullsweep_after, Number :: non_neg_integer()} | - {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()} | - {async_dist, Enabled :: boolean()}. - Works as spawn/3, except that an extra option list is specified when creating the process. @@ -39,104 +18,99 @@ Options: - link: - Sets a link to the parent process (like spawn_link/3 does). - - monitor: - Monitors the new process (like monitor(process, Pid) does). - A {Pid, MonitorRef} tuple will be returned instead of just a  - Pid. - - {monitor, MonitorOpts}: - Monitors the new process with options (like monitor(process, - Pid, MonitorOpts) does). A {Pid, MonitorRef} tuple will be - returned instead of just a Pid. - - {priority, Level}: - Sets the priority of the new process. Equivalent to executing  - process_flag(priority, Level) in the start function of the - new process, except that the priority is set before the - process is selected for execution for the first time. For more - information on priorities, see process_flag(priority, Level). - - {fullsweep_after, Number}: - Useful only for performance tuning. Do not use this option - unless you know that there is problem with execution times or - memory consumption, and ensure that the option improves - matters. - - The Erlang runtime system uses a generational garbage - collection scheme, using an "old heap" for data that has - survived at least one garbage collection. When there is no - more room on the old heap, a fullsweep garbage collection is - done. - - Option fullsweep_after makes it possible to specify the - maximum number of generational collections before forcing a - fullsweep, even if there is room on the old heap. Setting the - number to zero disables the general collection algorithm, that - is, all live data is copied at every garbage collection. - - A few cases when it can be useful to change fullsweep_after: - - • If binaries that are no longer used are to be thrown - away as soon as possible. (Set Number to zero.) - - • A process that mostly have short-lived data is - fullsweeped seldom or never, that is, the old heap - contains mostly garbage. To ensure a fullsweep - occasionally, set Number to a suitable value, such as - 10 or 20. - - • In embedded systems with a limited amount of RAM and no - virtual memory, you might want to preserve memory by - setting Number to zero. (The value can be set - globally, see erlang:system_flag/2.) - - {min_heap_size, Size}: - Useful only for performance tuning. Do not use this option - unless you know that there is problem with execution times or - memory consumption, and ensure that the option improves - matters. - - Gives a minimum heap size, in words. Setting this value higher - than the system default can speed up some processes because - less garbage collection is done. However, setting a too high - value can waste memory and slow down the system because of - worse data locality. Therefore, use this option only for - fine-tuning an application and to measure the execution time - with various Size values. - - {min_bin_vheap_size, VSize}: - Useful only for performance tuning. Do not use this option - unless you know that there is problem with execution times or - memory consumption, and ensure that the option improves - matters. - - Gives a minimum binary virtual heap size, in words. Setting - this value higher than the system default can speed up some - processes because less garbage collection is done. However, - setting a too high value can waste memory. Therefore, use this - option only for fine-tuning an application and to measure the - execution time with various VSize values. - - {max_heap_size, Size}: - Sets the max_heap_size process flag. The default  - max_heap_size is determined by command-line argument +hmax - in erl(1). For more information, see the documentation of  - process_flag(max_heap_size, Size). - - {message_queue_data, MQD}: - Sets the value of the message_queue_data process flag. MQD - can be either off_heap or on_heap. The default value of - the message_queue_data process flag is determined by the - 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 . + • link - Sets a link to the parent process (like  + spawn_link/3 does). + + • monitor - Monitors the new process (like monitor(process, + Pid) does). A {Pid, MonitorRef} tuple will be returned + instead of just a Pid. + + • {monitor, MonitorOpts} - Monitors the new process with + options (like monitor(process, Pid, MonitorOpts) does). A  + {Pid, MonitorRef} tuple will be returned instead of just a  + Pid. + + • {priority, Level} - Sets the priority of the new process. + Equivalent to executing process_flag(priority, Level) in + the start function of the new process, except that the + priority is set before the process is selected for execution + for the first time. For more information on priorities, see  + process_flag(priority, Level). + + • {fullsweep_after, Number} - Useful only for performance + tuning. Do not use this option unless you know that there is + problem with execution times or memory consumption, and + ensure that the option improves matters. + + The Erlang runtime system uses a generational garbage + collection scheme, using an "old heap" for data that has + survived at least one garbage collection. When there is no + more room on the old heap, a fullsweep garbage collection is + done. + + Option fullsweep_after makes it possible to specify the + maximum number of generational collections before forcing a + fullsweep, even if there is room on the old heap. Setting + the number to zero disables the general collection + algorithm, that is, all live data is copied at every garbage + collection. + + A few cases when it can be useful to change fullsweep_after: + + ○ If binaries that are no longer used are to be thrown + away as soon as possible. (Set Number to zero.) + + ○ process that mostly have short-lived data is + fullsweeped seldom or never, that is, the old heap + contains mostly garbage. To ensure a fullsweep + occasionally, set Number to a suitable value, such + as 10 or 20. + + ○ In embedded systems with a limited amount of RAM and + no virtual memory, you might want to preserve memory + by setting Number to zero. (The value can be set + globally, see erlang:system_flag/2.) + + • {min_heap_size, Size} - Useful only for performance tuning. + Do not use this option unless you know that there is problem + with execution times or memory consumption, and ensure that + the option improves matters. + + Gives a minimum heap size, in words. Setting this value + higher than the system default can speed up some processes + because less garbage collection is done. However, setting a + too high value can waste memory and slow down the system + because of worse data locality. Therefore, use this option + only for fine-tuning an application and to measure the + execution time with various Size values. + + • {min_bin_vheap_size, VSize} - Useful only for performance + tuning. Do not use this option unless you know that there is + problem with execution times or memory consumption, and + ensure that the option improves matters. + + Gives a minimum binary virtual heap size, in words. Setting + this value higher than the system default can speed up some + processes because less garbage collection is done. However, + setting a too high value can waste memory. Therefore, use + this option only for fine-tuning an application and to + measure the execution time with various VSize values. + + • {max_heap_size, Size} - Sets the max_heap_size process + flag. The default max_heap_size is determined by + command-line argument +hmax in erl. For more information, + see the documentation of process_flag(max_heap_size, Size). + + • {message_queue_data, MQD} - Sets the value of the  + message_queue_data process flag. MQD can be either  + off_heap or on_heap. The default value of the  + message_queue_data process flag is determined by the + command-line argument +hmqd in erl. 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_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_opt_func.txt index 96166ace8943..553d75d44a56 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_opt_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_opt_func.txt @@ -4,27 +4,6 @@  Fun :: function(),  Options :: [spawn_opt_option()]. - Types: - -type max_heap_size() :: - Size :: - non_neg_integer() | - #{size => non_neg_integer(), - kill => 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() :: - link | monitor | - {monitor, MonitorOpts :: [monitor_option()]} | - {priority, Level :: priority_level()} | - {fullsweep_after, Number :: non_neg_integer()} | - {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()} | - {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 like spawn_opt/4. @@ -63,27 +42,6 @@  Pid :: pid(),  MonitorRef :: reference(). - Types: - -type max_heap_size() :: - Size :: - non_neg_integer() | - #{size => non_neg_integer(), - kill => 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() :: - link | monitor | - {monitor, MonitorOpts :: [monitor_option()]} | - {priority, Level :: priority_level()} | - {fullsweep_after, Number :: non_neg_integer()} | - {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()} | - {async_dist, Enabled :: boolean()}. - Works as spawn/3, except that an extra option list is specified when creating the process. @@ -93,107 +51,102 @@ Options: - link: - Sets a link to the parent process (like spawn_link/3 does). - - monitor: - Monitors the new process (like monitor(process, Pid) does). - A {Pid, MonitorRef} tuple will be returned instead of just a  - Pid. - - {monitor, MonitorOpts}: - Monitors the new process with options (like monitor(process, - Pid, MonitorOpts) does). A {Pid, MonitorRef} tuple will be - returned instead of just a Pid. - - {priority, Level}: - Sets the priority of the new process. Equivalent to executing  - process_flag(priority, Level) in the start function of the - new process, except that the priority is set before the - process is selected for execution for the first time. For more - information on priorities, see process_flag(priority, Level). - - {fullsweep_after, Number}: - Useful only for performance tuning. Do not use this option - unless you know that there is problem with execution times or - memory consumption, and ensure that the option improves - matters. - - The Erlang runtime system uses a generational garbage - collection scheme, using an "old heap" for data that has - survived at least one garbage collection. When there is no - more room on the old heap, a fullsweep garbage collection is - done. - - Option fullsweep_after makes it possible to specify the - maximum number of generational collections before forcing a - fullsweep, even if there is room on the old heap. Setting the - number to zero disables the general collection algorithm, that - is, all live data is copied at every garbage collection. - - A few cases when it can be useful to change fullsweep_after: - - • If binaries that are no longer used are to be thrown - away as soon as possible. (Set Number to zero.) - - • A process that mostly have short-lived data is - fullsweeped seldom or never, that is, the old heap - contains mostly garbage. To ensure a fullsweep - occasionally, set Number to a suitable value, such as - 10 or 20. - - • In embedded systems with a limited amount of RAM and no - virtual memory, you might want to preserve memory by - setting Number to zero. (The value can be set - globally, see erlang:system_flag/2.) - - {min_heap_size, Size}: - Useful only for performance tuning. Do not use this option - unless you know that there is problem with execution times or - memory consumption, and ensure that the option improves - matters. - - Gives a minimum heap size, in words. Setting this value higher - than the system default can speed up some processes because - less garbage collection is done. However, setting a too high - value can waste memory and slow down the system because of - worse data locality. Therefore, use this option only for - fine-tuning an application and to measure the execution time - with various Size values. - - {min_bin_vheap_size, VSize}: - Useful only for performance tuning. Do not use this option - unless you know that there is problem with execution times or - memory consumption, and ensure that the option improves - matters. - - Gives a minimum binary virtual heap size, in words. Setting - this value higher than the system default can speed up some - processes because less garbage collection is done. However, - setting a too high value can waste memory. Therefore, use this - option only for fine-tuning an application and to measure the - execution time with various VSize values. - - {max_heap_size, Size}: - Sets the max_heap_size process flag. The default  - max_heap_size is determined by command-line argument +hmax - in erl(1). For more information, see the documentation of  - process_flag(max_heap_size, Size). - - {message_queue_data, MQD}: - Sets the value of the message_queue_data process flag. MQD - can be either off_heap or on_heap. The default value of - the message_queue_data process flag is determined by the - 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 . + • link - Sets a link to the parent process (like  + spawn_link/3 does). + + • monitor - Monitors the new process (like monitor(process, + Pid) does). A {Pid, MonitorRef} tuple will be returned + instead of just a Pid. + + • {monitor, MonitorOpts} - Monitors the new process with + options (like monitor(process, Pid, MonitorOpts) does). A  + {Pid, MonitorRef} tuple will be returned instead of just a  + Pid. + + • {priority, Level} - Sets the priority of the new process. + Equivalent to executing process_flag(priority, Level) in + the start function of the new process, except that the + priority is set before the process is selected for execution + for the first time. For more information on priorities, see  + process_flag(priority, Level). + + • {fullsweep_after, Number} - Useful only for performance + tuning. Do not use this option unless you know that there is + problem with execution times or memory consumption, and + ensure that the option improves matters. + + The Erlang runtime system uses a generational garbage + collection scheme, using an "old heap" for data that has + survived at least one garbage collection. When there is no + more room on the old heap, a fullsweep garbage collection is + done. + + Option fullsweep_after makes it possible to specify the + maximum number of generational collections before forcing a + fullsweep, even if there is room on the old heap. Setting + the number to zero disables the general collection + algorithm, that is, all live data is copied at every garbage + collection. + + A few cases when it can be useful to change fullsweep_after: + + ○ If binaries that are no longer used are to be thrown + away as soon as possible. (Set Number to zero.) + + ○ process that mostly have short-lived data is + fullsweeped seldom or never, that is, the old heap + contains mostly garbage. To ensure a fullsweep + occasionally, set Number to a suitable value, such + as 10 or 20. + + ○ In embedded systems with a limited amount of RAM and + no virtual memory, you might want to preserve memory + by setting Number to zero. (The value can be set + globally, see erlang:system_flag/2.) + + • {min_heap_size, Size} - Useful only for performance tuning. + Do not use this option unless you know that there is problem + with execution times or memory consumption, and ensure that + the option improves matters. + + Gives a minimum heap size, in words. Setting this value + higher than the system default can speed up some processes + because less garbage collection is done. However, setting a + too high value can waste memory and slow down the system + because of worse data locality. Therefore, use this option + only for fine-tuning an application and to measure the + execution time with various Size values. + + • {min_bin_vheap_size, VSize} - Useful only for performance + tuning. Do not use this option unless you know that there is + problem with execution times or memory consumption, and + ensure that the option improves matters. + + Gives a minimum binary virtual heap size, in words. Setting + this value higher than the system default can speed up some + processes because less garbage collection is done. However, + setting a too high value can waste memory. Therefore, use + this option only for fine-tuning an application and to + measure the execution time with various VSize values. + + • {max_heap_size, Size} - Sets the max_heap_size process + flag. The default max_heap_size is determined by + command-line argument +hmax in erl. For more information, + see the documentation of process_flag(max_heap_size, Size). + + • {message_queue_data, MQD} - Sets the value of the  + message_queue_data process flag. MQD can be either  + off_heap or on_heap. The default value of the  + message_queue_data process flag is determined by the + command-line argument +hmqd in erl. 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 . -spec spawn_opt(Node, Module, Function, Args, Options) ->  pid() | {pid(), reference()} diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_1_func.txt index 4fafe5be7ac3..37ca32307f23 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_1_func.txt @@ -5,5 +5,5 @@ Since: OTP 23.0 - The same as the call spawn_request(node(),Fun,[]). That is, a + Equivalent to the call spawn_request(node(),Fun,[]). That is, a spawn request on the local node with no options. 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 afd4cfc4114c..66925352ec61 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 @@ -9,15 +9,8 @@  ReplyTag :: term(),  Reply :: yes | no | error_only | success_only,  Options :: [Option], -  ReqId :: reference(). - -Since: - OTP 23.0 - - 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 +  ReqId :: reference(); +  (Node, Fun) -> ReqId  when  Node :: node(),  Fun :: function(), @@ -26,5 +19,11 @@ Since: OTP 23.0 - The same as the call spawn_request(Node,Fun,[]). That is, a - spawn request with no options. + Equivalent to spawn_request(node(),Fun,Options) or  + spawn_request(Node,Fun,[]) depending on the arguments. + + That is either: + + • spawn request on the local node. + + • 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 08a636a80871..04fb993e321e 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 @@ -14,14 +14,28 @@  ReplyTag :: term(),  Reply :: yes | no | error_only | success_only,  OtherOption :: term(), +  ReqId :: reference(); +  (Module, Function, Args) -> ReqId +  when +  Module :: module(), +  Function :: atom(), +  Args :: [term()],  ReqId :: reference(). 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. + Equivalent to spawn_request(Node,erlang,apply,[Fun,[]],Options) + ](spawn_request/5) or [ + spawn_request(node(),Module,Function,Args,[]) depending on the + arguments. + + That is either: + + • spawn request using the fun Fun of arity zero as entry + point + + • spawn request on the local node with no options. This function will fail with a badarg exception if: @@ -30,17 +44,3 @@ • 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(), -  Function :: atom(), -  Args :: [term()], -  ReqId :: reference(). - -Since: - OTP 23.0 - - The same as the call  - spawn_request(node(),Module,Function,Args,[]). That is, a spawn - request on the local node with no options. 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 ba1a502ad699..56f2cfbe8a6d 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 @@ -5,15 +5,8 @@  Module :: module(),  Function :: atom(),  Args :: [term()], -  ReqId :: reference(). - -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 +  ReqId :: reference(); +  (Module, Function, Args, Options) -> ReqId  when  Module :: module(),  Function :: atom(), @@ -30,6 +23,12 @@ Since: OTP 23.0 - The same as the call  - spawn_request(node(),Module,Function,Args,Options). That is, a - spawn request on the local node. + Equivalent to spawn_request(Node,Module,Function,Args,[]) or  + spawn_request(node(),Module,Function,Args,Options) depending on + the arguments. + + That is either: + + • spawn request with no options. + + • spawn request on the local node. 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 905a5cf441e1..f6c4d2a33bc8 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 @@ -43,119 +43,113 @@ spawn error Reasons are defined, but other reasons can appear at any time without prior notice: - badopt: - An invalid Option was passed as argument. Note that - different runtime systems may support different options. + • badopt - An invalid Option was passed as argument. Note + that different runtime systems may support different + options. - notsup: - The node identified by Node does not support spawn - operations issued by spawn_request(). + • notsup - The node identified by Node does not support + spawn operations issued by spawn_request(). - noconnection: - Failure to set up a connection to the node identified by Node - or the connection to that node was lost during the spawn - operation. In the case the connection was lost, a process may - or may not have been created. + • noconnection - Failure to set up a connection to the node + identified by Node or the connection to that node was lost + during the spawn operation. In the case the connection was + lost, a process may or may not have been created. - system_limit: - Could not create a new process due to that some system limit - was reached. Typically the process table was full. + • system_limit - Could not create a new process due to that + some system limit was reached. Typically the process table + was full. Valid Options: - monitor: - In the absence of spawn operation failures, atomically sets up - a monitor to the newly created process. That is, as if the - calling process had called monitor(process, Pid) where Pid - is the process identifier of the newly created process. The  - ReqId returned by spawn_request() is also used as monitor - reference as if it was returned from monitor(process, Pid). - - The monitor will not be activated for the calling process - until the spawn operation has succeeded. The monitor can not - be demonitored before the operation has succeeded. A 'DOWN' - message for the corresponding monitor is guaranteed not to be - delivered before a success message that corresponds to the - spawn operation. If the spawn operation fails, no 'DOWN' - message will be delivered. - - If the connection between the nodes involved in the spawn - operation is lost during the spawn operation, the spawn - operation will fail with an error reason of noconnection. A - new process may or may not have been created. - - {monitor, MonitorOpts}: - In the absence of spawn operation failures, atomically sets up - a monitor to the newly created process. That is, as if the - calling process had called monitor(process, Pid, MonitorOpts) - where Pid is the process identifier of the newly created - process. See the monitor option above for more information. - - Note that the monitor will not be activated for the calling - process until the spawn operation has succeeded. For example, - in the case that an alias is created using the monitor option, - the alias will not be active until the monitor is activated. - - link: - In absence of spawn operation failures, atomically sets up a - link between the calling process and the newly created - process. That is, as if the calling process had called  - link(Pid) where Pid is the process identifier of the newly - created process. - - The link will not be activated for the calling process until - the spawn operation has succeeded. The link can not be removed - before the operation has succeeded. An exit signal due to the - link is guaranteed not to be delivered before a success - message that corresponds to the spawn operation. If the spawn - operation fails, no exit signal due to the link will be - delivered to the caller of spawn_request(). - - If the connection between the nodes involved in the spawn - operation is lost during the spawn operation, the spawn - operation will fail with an error reason of noconnection. A - new process may or may not have been created. If it has been - created, it will be delivered an exit signal with an exit - reason of noconnection. - - {reply, Reply}: - Valid Reply values: - - yes: - A spawn reply message will be sent to the caller - regardless of whether the operation succeeds or not. If - the call to spawn_request() returns without raising an - exception and the reply option is set to yes, the - caller is guaranteed to be delivered either a success - message or an error message. The reply option is by - default set to yes. - - no: - No spawn reply message will be sent to the caller when the - spawn operation completes. This regardless of whether the - operation succeeds or not. - - error_only: - No spawn reply message will be sent to the caller if the - spawn operation succeeds, but an error message will be - sent to the caller if the operation fails. - - success_only: - No spawn reply message will be sent to the caller if the - spawn operation fails, but a success message will be - sent to the caller if the operation succeeds. - - {reply_tag, ReplyTag}: - Sets the reply tag to ReplyTag in the reply message. That - is, in the success or error message that is sent to the - caller due to the spawn operation. The default reply tag is - the atom spawn_reply. - - OtherOption: - Other valid options depends on what options are supported by - the node identified by Node. A description of other valid  - Options for the local node of current OTP version can be - found in the documentation of spawn_opt/4. + • monitor - In the absence of spawn operation failures, + atomically sets up a monitor to the newly created process. + That is, as if the calling process had called  + monitor(process, Pid) where Pid is the process identifier + of the newly created process. The ReqId returned by  + spawn_request() is also used as monitor reference as if it + was returned from monitor(process, Pid). + + The monitor will not be activated for the calling process + until the spawn operation has succeeded. The monitor can not + be demonitored before the operation has succeeded. A 'DOWN' + message for the corresponding monitor is guaranteed not to + be delivered before a success message that corresponds to + the spawn operation. If the spawn operation fails, no  + 'DOWN' message will be delivered. + + If the connection between the nodes involved in the spawn + operation is lost during the spawn operation, the spawn + operation will fail with an error reason of noconnection. + A new process may or may not have been created. + + • {monitor, MonitorOpts} - In the absence of spawn operation + failures, atomically sets up a monitor to the newly created + process. That is, as if the calling process had called  + monitor(process, Pid, MonitorOpts) where Pid is the + process identifier of the newly created process. See the  + monitor option above for more information. + + Note that the monitor will not be activated for the calling + process until the spawn operation has succeeded. For + example, in the case that an alias is created using the + monitor option, the alias will not be active until the + monitor is activated. + + • link - In absence of spawn operation failures, atomically + sets up a link between the calling process and the newly + created process. That is, as if the calling process had + called link(Pid) where Pid is the process identifier of + the newly created process. + + The link will not be activated for the calling process until + the spawn operation has succeeded. The link can not be + removed before the operation has succeeded. An exit signal + due to the link is guaranteed not to be delivered before a + success message that corresponds to the spawn operation. If + the spawn operation fails, no exit signal due to the link + will be delivered to the caller of spawn_request(). + + If the connection between the nodes involved in the spawn + operation is lost during the spawn operation, the spawn + operation will fail with an error reason of noconnection. + A new process may or may not have been created. If it has + been created, it will be delivered an exit signal with an + exit reason of noconnection. + + • {reply, Reply} - Valid Reply values: + + ○ yes - A spawn reply message will be sent to the + caller regardless of whether the operation succeeds or + not. If the call to spawn_request() returns without + raising an exception and the reply option is set to  + yes, the caller is guaranteed to be delivered either + a success message or an error message. The reply + option is by default set to yes. + + ○ no - No spawn reply message will be sent to the + caller when the spawn operation completes. This + regardless of whether the operation succeeds or not. + + ○ error_only - No spawn reply message will be sent to + the caller if the spawn operation succeeds, but an + error message will be sent to the caller if the + operation fails. + + ○ success_only - No spawn reply message will be sent to + the caller if the spawn operation fails, but a + success message will be sent to the caller if the + operation succeeds. + + • {reply_tag, ReplyTag} - Sets the reply tag to ReplyTag in + the reply message. That is, in the success or error + message that is sent to the caller due to the spawn + operation. The default reply tag is the atom spawn_reply. + + • OtherOption - Other valid options depends on what options + are supported by the node identified by Node. A + description of other valid 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 @@ -182,7 +176,8 @@ A spawn request can be abandoned by calling  spawn_request_abandon/1. - Note: + 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_spawn_request_abandon_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_abandon_1_func.txt index 01ff09a92d10..e40891038185 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_abandon_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_abandon_1_func.txt @@ -23,7 +23,8 @@ exit reason abandoned when it is detected that the spawn operation has succeeded. - Note: + Note + A process created due to a spawn request that has been abandoned may communicate with its parent as any other process. It is only the direct effects on the parent of the @@ -32,22 +33,21 @@ Return values: - true: - The spawn request was successfully abandoned. + • true - The spawn request was successfully abandoned. - false: - No spawn request was abandoned. The ReqId request identifier - did not correspond to an outstanding spawn request issued by - the calling process. The reason for this is either: + • false - No spawn request was abandoned. The ReqId request + identifier did not correspond to an outstanding spawn + request issued by the calling process. The reason for this + is either: - • ReqId corresponds to a spawn request previoulsy made by - the calling process. The spawn operation has completed - and a spawn reply has already been delivered to the - calling process unless the spawn reply was disabled in - the request. + ○ ReqId corresponds to a spawn request previoulsy made + by the calling process. The spawn operation has + completed and a spawn reply has already been delivered + to the calling process unless the spawn reply was + disabled in the request. - • ReqId does not correspond to a spawn request that has - been made by the calling process. + ○ ReqId does not correspond to a spawn request that has + been made by the calling process. This function fail with a badarg exception if ReqId is not a reference. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_func.txt index 142fbb2c49dc..a8849c1a315c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_func.txt @@ -5,7 +5,7 @@ Since: OTP 23.0 - The same as the call spawn_request(node(),Fun,[]). That is, a + Equivalent to the call spawn_request(node(),Fun,[]). That is, a spawn request on the local node with no options. -spec spawn_request(Fun, Options) -> ReqId @@ -18,15 +18,8 @@  ReplyTag :: term(),  Reply :: yes | no | error_only | success_only,  Options :: [Option], -  ReqId :: reference(). - -Since: - OTP 23.0 - - 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 +  ReqId :: reference(); +  (Node, Fun) -> ReqId  when  Node :: node(),  Fun :: function(), @@ -35,8 +28,14 @@ Since: OTP 23.0 - The same as the call spawn_request(Node,Fun,[]). That is, a - spawn request with no options. + Equivalent to spawn_request(node(),Fun,Options) or  + spawn_request(Node,Fun,[]) depending on the arguments. + + That is either: + + • spawn request on the local node. + + • spawn request with no options. -spec spawn_request(Node, Fun, Options) -> ReqId  when @@ -53,14 +52,28 @@  ReplyTag :: term(),  Reply :: yes | no | error_only | success_only,  OtherOption :: term(), +  ReqId :: reference(); +  (Module, Function, Args) -> ReqId +  when +  Module :: module(), +  Function :: atom(), +  Args :: [term()],  ReqId :: reference(). 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. + Equivalent to spawn_request(Node,erlang,apply,[Fun,[]],Options) + ](spawn_request/5) or [ + spawn_request(node(),Module,Function,Args,[]) depending on the + arguments. + + That is either: + + • spawn request using the fun Fun of arity zero as entry + point + + • spawn request on the local node with no options. This function will fail with a badarg exception if: @@ -70,35 +83,14 @@ • Options is not a proper list of terms. - -spec spawn_request(Module, Function, Args) -> ReqId -  when -  Module :: module(), -  Function :: atom(), -  Args :: [term()], -  ReqId :: reference(). - -Since: - OTP 23.0 - - The same as the call  - spawn_request(node(),Module,Function,Args,[]). That is, a spawn - request on the local node with no options. - -spec spawn_request(Node, Module, Function, Args) -> ReqId  when  Node :: node(),  Module :: module(),  Function :: atom(),  Args :: [term()], -  ReqId :: reference(). - -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 +  ReqId :: reference(); +  (Module, Function, Args, Options) -> ReqId  when  Module :: module(),  Function :: atom(), @@ -115,9 +107,15 @@ Since: OTP 23.0 - The same as the call  - spawn_request(node(),Module,Function,Args,Options). That is, a - spawn request on the local node. + Equivalent to spawn_request(Node,Module,Function,Args,[]) or  + spawn_request(node(),Module,Function,Args,Options) depending on + the arguments. + + That is either: + + • spawn request with no options. + + • spawn request on the local node. -spec spawn_request(Node, Module, Function, Args, Options) -> ReqId  when @@ -163,119 +161,113 @@ spawn error Reasons are defined, but other reasons can appear at any time without prior notice: - badopt: - An invalid Option was passed as argument. Note that - different runtime systems may support different options. + • badopt - An invalid Option was passed as argument. Note + that different runtime systems may support different + options. - notsup: - The node identified by Node does not support spawn - operations issued by spawn_request(). + • notsup - The node identified by Node does not support + spawn operations issued by spawn_request(). - noconnection: - Failure to set up a connection to the node identified by Node - or the connection to that node was lost during the spawn - operation. In the case the connection was lost, a process may - or may not have been created. + • noconnection - Failure to set up a connection to the node + identified by Node or the connection to that node was lost + during the spawn operation. In the case the connection was + lost, a process may or may not have been created. - system_limit: - Could not create a new process due to that some system limit - was reached. Typically the process table was full. + • system_limit - Could not create a new process due to that + some system limit was reached. Typically the process table + was full. Valid Options: - monitor: - In the absence of spawn operation failures, atomically sets up - a monitor to the newly created process. That is, as if the - calling process had called monitor(process, Pid) where Pid - is the process identifier of the newly created process. The  - ReqId returned by spawn_request() is also used as monitor - reference as if it was returned from monitor(process, Pid). - - The monitor will not be activated for the calling process - until the spawn operation has succeeded. The monitor can not - be demonitored before the operation has succeeded. A 'DOWN' - message for the corresponding monitor is guaranteed not to be - delivered before a success message that corresponds to the - spawn operation. If the spawn operation fails, no 'DOWN' - message will be delivered. - - If the connection between the nodes involved in the spawn - operation is lost during the spawn operation, the spawn - operation will fail with an error reason of noconnection. A - new process may or may not have been created. - - {monitor, MonitorOpts}: - In the absence of spawn operation failures, atomically sets up - a monitor to the newly created process. That is, as if the - calling process had called monitor(process, Pid, MonitorOpts) - where Pid is the process identifier of the newly created - process. See the monitor option above for more information. - - Note that the monitor will not be activated for the calling - process until the spawn operation has succeeded. For example, - in the case that an alias is created using the monitor option, - the alias will not be active until the monitor is activated. - - link: - In absence of spawn operation failures, atomically sets up a - link between the calling process and the newly created - process. That is, as if the calling process had called  - link(Pid) where Pid is the process identifier of the newly - created process. - - The link will not be activated for the calling process until - the spawn operation has succeeded. The link can not be removed - before the operation has succeeded. An exit signal due to the - link is guaranteed not to be delivered before a success - message that corresponds to the spawn operation. If the spawn - operation fails, no exit signal due to the link will be - delivered to the caller of spawn_request(). - - If the connection between the nodes involved in the spawn - operation is lost during the spawn operation, the spawn - operation will fail with an error reason of noconnection. A - new process may or may not have been created. If it has been - created, it will be delivered an exit signal with an exit - reason of noconnection. - - {reply, Reply}: - Valid Reply values: - - yes: - A spawn reply message will be sent to the caller - regardless of whether the operation succeeds or not. If - the call to spawn_request() returns without raising an - exception and the reply option is set to yes, the - caller is guaranteed to be delivered either a success - message or an error message. The reply option is by - default set to yes. - - no: - No spawn reply message will be sent to the caller when the - spawn operation completes. This regardless of whether the - operation succeeds or not. - - error_only: - No spawn reply message will be sent to the caller if the - spawn operation succeeds, but an error message will be - sent to the caller if the operation fails. - - success_only: - No spawn reply message will be sent to the caller if the - spawn operation fails, but a success message will be - sent to the caller if the operation succeeds. - - {reply_tag, ReplyTag}: - Sets the reply tag to ReplyTag in the reply message. That - is, in the success or error message that is sent to the - caller due to the spawn operation. The default reply tag is - the atom spawn_reply. - - OtherOption: - Other valid options depends on what options are supported by - the node identified by Node. A description of other valid  - Options for the local node of current OTP version can be - found in the documentation of spawn_opt/4. + • monitor - In the absence of spawn operation failures, + atomically sets up a monitor to the newly created process. + That is, as if the calling process had called  + monitor(process, Pid) where Pid is the process identifier + of the newly created process. The ReqId returned by  + spawn_request() is also used as monitor reference as if it + was returned from monitor(process, Pid). + + The monitor will not be activated for the calling process + until the spawn operation has succeeded. The monitor can not + be demonitored before the operation has succeeded. A 'DOWN' + message for the corresponding monitor is guaranteed not to + be delivered before a success message that corresponds to + the spawn operation. If the spawn operation fails, no  + 'DOWN' message will be delivered. + + If the connection between the nodes involved in the spawn + operation is lost during the spawn operation, the spawn + operation will fail with an error reason of noconnection. + A new process may or may not have been created. + + • {monitor, MonitorOpts} - In the absence of spawn operation + failures, atomically sets up a monitor to the newly created + process. That is, as if the calling process had called  + monitor(process, Pid, MonitorOpts) where Pid is the + process identifier of the newly created process. See the  + monitor option above for more information. + + Note that the monitor will not be activated for the calling + process until the spawn operation has succeeded. For + example, in the case that an alias is created using the + monitor option, the alias will not be active until the + monitor is activated. + + • link - In absence of spawn operation failures, atomically + sets up a link between the calling process and the newly + created process. That is, as if the calling process had + called link(Pid) where Pid is the process identifier of + the newly created process. + + The link will not be activated for the calling process until + the spawn operation has succeeded. The link can not be + removed before the operation has succeeded. An exit signal + due to the link is guaranteed not to be delivered before a + success message that corresponds to the spawn operation. If + the spawn operation fails, no exit signal due to the link + will be delivered to the caller of spawn_request(). + + If the connection between the nodes involved in the spawn + operation is lost during the spawn operation, the spawn + operation will fail with an error reason of noconnection. + A new process may or may not have been created. If it has + been created, it will be delivered an exit signal with an + exit reason of noconnection. + + • {reply, Reply} - Valid Reply values: + + ○ yes - A spawn reply message will be sent to the + caller regardless of whether the operation succeeds or + not. If the call to spawn_request() returns without + raising an exception and the reply option is set to  + yes, the caller is guaranteed to be delivered either + a success message or an error message. The reply + option is by default set to yes. + + ○ no - No spawn reply message will be sent to the + caller when the spawn operation completes. This + regardless of whether the operation succeeds or not. + + ○ error_only - No spawn reply message will be sent to + the caller if the spawn operation succeeds, but an + error message will be sent to the caller if the + operation fails. + + ○ success_only - No spawn reply message will be sent to + the caller if the spawn operation fails, but a + success message will be sent to the caller if the + operation succeeds. + + • {reply_tag, ReplyTag} - Sets the reply tag to ReplyTag in + the reply message. That is, in the success or error + message that is sent to the caller due to the spawn + operation. The default reply tag is the atom spawn_reply. + + • OtherOption - Other valid options depends on what options + are supported by the node identified by Node. A + description of other valid 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 @@ -302,7 +294,8 @@ A spawn request can be abandoned by calling  spawn_request_abandon/1. - Note: + 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_split_binary_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_split_binary_2_func.txt index 6e020ae87bc5..679b94792e49 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_split_binary_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_split_binary_2_func.txt @@ -3,9 +3,12 @@  when Bin :: binary(), Pos :: non_neg_integer(). Returns a tuple containing the binaries that are the result of - splitting Bin into two parts at position Pos. This is not a - destructive operation. After the operation, there are three - binaries altogether. Example: + splitting Bin into two parts at position Pos. + + This is not a destructive operation. After the operation, there + are three binaries altogether. + + For example: > B = list_to_binary("0123456789"). <<"0123456789">> diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_star_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_star_2_func.txt index ff7f8595a1bd..46618d8f3ae0 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_star_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_star_2_func.txt @@ -1,5 +1,5 @@ -  '*'/2 + -spec '*'(number(), number()) -> number(). The documentation for '*'/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_start_timer_4_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_start_timer_4_func.txt index 7258d2876e8b..bccab9851723 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_start_timer_4_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_start_timer_4_func.txt @@ -1,13 +1,13 @@ - -spec erlang:start_timer(Time, Dest, Msg, Options) -> TimerRef -  when -  Time :: integer(), -  Dest :: pid() | atom(), -  Msg :: term(), -  Options :: [Option], -  Abs :: boolean(), -  Option :: {abs, Abs}, -  TimerRef :: reference(). + -spec start_timer(Time, Dest, Msg, Options) -> TimerRef +  when +  Time :: integer(), +  Dest :: pid() | atom(), +  Msg :: term(), +  Options :: [Option], +  Abs :: boolean(), +  Option :: {abs, Abs}, +  TimerRef :: reference(). Since: OTP 18.0 @@ -17,35 +17,34 @@ Options: - {abs, false}: - This is the default. It means the Time value is interpreted - as a time in milliseconds relative current Erlang monotonic - time. + • {abs, false} - This is the default. It means the Time + value is interpreted as a time in milliseconds relative + current Erlang monotonic time. - {abs, true}: - Absolute Time value. The Time value is interpreted as an - absolute Erlang monotonic time in milliseconds. + • {abs, true} - Absolute Time value. The Time value is + interpreted as an absolute Erlang monotonic time in + milliseconds. More Options can be added in the future. The absolute point in time, the timer is set to expire on, must be - in the interval [ erlang:convert_time_unit(erlang:system_info + in the interval [erlang:convert_time_unit(erlang:system_info (start_time), native, millisecond), erlang:convert_time_unit( erlang:system_info(end_time), native, millisecond) ]. If a relative time is specified, the Time value is not allowed to be negative. - If Dest is a pid(), it must be a pid() of a process created + If Dest is a pid/0, it must be a pid/0 of a process created on the current runtime system instance. This process has either - terminated or not. If Dest is an atom(), it is interpreted as + terminated or not. If Dest is an atom/0, it is interpreted as the name of a locally registered process. The process referred to by the name is looked up at the time of timer expiration. No error is returned if the name does not refer to a process. - If Dest is a pid(), the timer is automatically canceled if the - process referred to by the pid() is not alive, or if the process + If Dest is a pid/0, the timer is automatically canceled if the + process referred to by the pid/0 is not alive, or if the process exits. This feature was introduced in ERTS 5.4.11. Notice that - timers are not automatically canceled when Dest is an atom(). + timers are not automatically canceled when Dest is an atom/0. See also erlang:send_after/4, erlang:cancel_timer/2, and  erlang:read_timer/2. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_start_timer_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_start_timer_func.txt index acdd1ce76cca..3d9cb8fdbdcb 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_start_timer_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_start_timer_func.txt @@ -1,23 +1,23 @@ - -spec erlang:start_timer(Time, Dest, Msg) -> TimerRef -  when -  Time :: non_neg_integer(), -  Dest :: pid() | atom(), -  Msg :: term(), -  TimerRef :: reference(). - - Starts a timer. The same as calling erlang:start_timer(Time, - Dest, Msg, []). - - -spec erlang:start_timer(Time, Dest, Msg, Options) -> TimerRef -  when -  Time :: integer(), -  Dest :: pid() | atom(), -  Msg :: term(), -  Options :: [Option], -  Abs :: boolean(), -  Option :: {abs, Abs}, -  TimerRef :: reference(). + -spec start_timer(Time, Dest, Msg) -> TimerRef +  when +  Time :: non_neg_integer(), +  Dest :: pid() | atom(), +  Msg :: term(), +  TimerRef :: reference(). + + There is no documentation for erlang:start_timer(Time, Dest, Msg, + []) + + -spec start_timer(Time, Dest, Msg, Options) -> TimerRef +  when +  Time :: integer(), +  Dest :: pid() | atom(), +  Msg :: term(), +  Options :: [Option], +  Abs :: boolean(), +  Option :: {abs, Abs}, +  TimerRef :: reference(). Since: OTP 18.0 @@ -27,35 +27,34 @@ Options: - {abs, false}: - This is the default. It means the Time value is interpreted - as a time in milliseconds relative current Erlang monotonic - time. + • {abs, false} - This is the default. It means the Time + value is interpreted as a time in milliseconds relative + current Erlang monotonic time. - {abs, true}: - Absolute Time value. The Time value is interpreted as an - absolute Erlang monotonic time in milliseconds. + • {abs, true} - Absolute Time value. The Time value is + interpreted as an absolute Erlang monotonic time in + milliseconds. More Options can be added in the future. The absolute point in time, the timer is set to expire on, must be - in the interval [ erlang:convert_time_unit(erlang:system_info + in the interval [erlang:convert_time_unit(erlang:system_info (start_time), native, millisecond), erlang:convert_time_unit( erlang:system_info(end_time), native, millisecond) ]. If a relative time is specified, the Time value is not allowed to be negative. - If Dest is a pid(), it must be a pid() of a process created + If Dest is a pid/0, it must be a pid/0 of a process created on the current runtime system instance. This process has either - terminated or not. If Dest is an atom(), it is interpreted as + terminated or not. If Dest is an atom/0, it is interpreted as the name of a locally registered process. The process referred to by the name is looked up at the time of timer expiration. No error is returned if the name does not refer to a process. - If Dest is a pid(), the timer is automatically canceled if the - process referred to by the pid() is not alive, or if the process + If Dest is a pid/0, the timer is automatically canceled if the + process referred to by the pid/0 is not alive, or if the process exits. This feature was introduced in ERTS 5.4.11. Notice that - timers are not automatically canceled when Dest is an atom(). + timers are not automatically canceled when Dest is an atom/0. See also erlang:send_after/4, erlang:cancel_timer/2, and  erlang:read_timer/2. 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 e574f906784e..18b8deff67ad 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,94 +1,27 @@ -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) -> +  when ActiveTasks :: non_neg_integer(); +  (active_tasks_all) -> [ActiveTasks] +  when ActiveTasks :: non_neg_integer(); +  (context_switches) -> {ContextSwitches, 0} +  when ContextSwitches :: non_neg_integer(); +  (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) -> +  non_neg_integer(); +  (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}} +  Words_Reclaimed :: non_neg_integer(); +  (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 +  Output :: non_neg_integer(); +  (microstate_accounting) -> [MSAcc_Thread] | undefined  when  MSAcc_Thread ::  #{type := MSAcc_Thread_Type, @@ -103,463 +36,558 @@  MSAcc_Thread_State ::  alloc | aux | bif | busy_wait | check_io |  emulator | ets | gc | gc_fullsweep | nif | -  other | port | send | sleep | timers. - -Since: - OTP 19.0 - - 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. +  other | port | send | sleep | timers; +  (reductions) -> +  {Total_Reductions, Reductions_Since_Last_Call} +  when +  Total_Reductions :: non_neg_integer(), +  Reductions_Since_Last_Call :: non_neg_integer(); +  (run_queue) -> non_neg_integer(); +  (run_queue_lengths) -> [RunQueueLength] +  when RunQueueLength :: non_neg_integer(); +  (run_queue_lengths_all) -> [RunQueueLength] +  when RunQueueLength :: non_neg_integer(); +  (runtime) -> {Total_Run_Time, Time_Since_Last_Call} +  when +  Total_Run_Time :: non_neg_integer(), +  Time_Since_Last_Call :: non_neg_integer(); +  (scheduler_wall_time) -> +  [{SchedulerId, ActiveTime, TotalTime}] | undefined +  when +  SchedulerId :: pos_integer(), +  ActiveTime :: non_neg_integer(), +  TotalTime :: non_neg_integer(); +  (scheduler_wall_time_all) -> +  [{SchedulerId, ActiveTime, TotalTime}] | undefined +  when +  SchedulerId :: pos_integer(), +  ActiveTime :: non_neg_integer(), +  TotalTime :: non_neg_integer(); +  (total_active_tasks) -> ActiveTasks +  when ActiveTasks :: non_neg_integer(); +  (total_active_tasks_all) -> ActiveTasks +  when ActiveTasks :: non_neg_integer(); +  (total_run_queue_lengths) -> TotalRunQueueLengths +  when TotalRunQueueLengths :: non_neg_integer(); +  (total_run_queue_lengths_all) -> TotalRunQueueLengths +  when TotalRunQueueLengths :: non_neg_integer(); +  (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(). - gc_full: - Time spent doing fullsweep garbage collection. Without extra - states this time is part of the gc state. + Returns statistics about the current system. - nif: - Time spent in NIFs. Without extra states this time is part of - the emulator state. + The possible flags are: - send: - Time spent sending messages (processes only). Without extra - states this time is part of the emulator state. + • statistics(active_tasks) -> [non_neg_integer()] - timers: - Time spent managing timers. Without extra states this time is - part of the other state. + 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. - The utility module msacc(3) can be used to more easily analyse - these statistics. + Available since OTP 18.3 - Returns undefined if system flag microstate_accounting is - turned off. + • statistics(active_tasks_all) -> [non_neg_integer()] - The list of thread information is unsorted and can appear in - different order between calls. + 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 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: - The threads and states are subject to change without any prior - notice. + Note - -spec statistics(reductions) -> -  {Total_Reductions, Reductions_Since_Last_Call} -  when -  Total_Reductions :: non_neg_integer(), -  Reductions_Since_Last_Call :: 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 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(). - -Since: - OTP 20.0 - - 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. - - 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(). + Each normal scheduler has one run queue that it manages. + If dirty 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. - Returns information about runtime, in milliseconds. + 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). - 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. + Available since OTP 20.0 - Warning: - This value might wrap due to limitations in the underlying - functionality provided by the operating system that is used. + • statistics(context_switches) -> {non_neg_integer(), 0} - Example: + Returns the total number of context switches since the + system started. - > statistics(runtime). - {1690,1620} + • statistics(exact_reductions) -> {Total :: non_neg_integer(), SinceLastCall :: non_neg_integer()} - -spec statistics(scheduler_wall_time) -> -  [{SchedulerId, ActiveTime, TotalTime}] | undefined -  when -  SchedulerId :: pos_integer(), -  ActiveTime :: non_neg_integer(), -  TotalTime :: non_neg_integer(). - -Since: - OTP R15B01 - - 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. - - The definition of a busy scheduler is when it is not idle and not - busy waiting for new work, that is: - - • Executing process code - - • Executing linked-in driver or NIF code - - • Executing BIFs, or any other runtime handling - - • Garbage collecting - - • 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 -  when -  SchedulerId :: pos_integer(), -  ActiveTime :: non_neg_integer(), -  TotalTime :: non_neg_integer(). + Returns the number of exact reductions. -Since: - OTP 20.0 + Note - The same as statistics(scheduler_wall_time), except that it also - include information about all dirty I/O schedulers. + statistics(exact_reductions) is a more expensive + operation than statistics(reductions). - 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). + • statistics(garbage_collection) -> + { NumerOfGCs :: non_neg_integer(), WordsReclaimed :: non_neg_integer(), 0} - 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. + Returns information about garbage collection, for example: - -spec statistics(total_active_tasks) -> ActiveTasks -  when ActiveTasks :: non_neg_integer(). + > statistics(garbage_collection). + {85,23961,0} -Since: - OTP 18.3 + This information can be invalid for some implementations. - The same as calling lists:sum(statistics(active_tasks)), but - more efficient. + • statistics(io) -> {{input, non_neg_integer()}, {output, non_neg_integer()}} - -spec statistics(total_active_tasks_all) -> ActiveTasks -  when ActiveTasks :: 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. -Since: - OTP 20.0 + • statistics(microstate_accounting) -> [MSAcc_Thread] - The same as calling lists:sum(statistics(active_tasks_all)), - but more efficient. + 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. - -spec statistics(total_run_queue_lengths) -> TotalRunQueueLengths -  when TotalRunQueueLengths :: non_neg_integer(). + 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. -Since: - OTP 18.3 + Example: - The same as calling lists:sum(statistics(run_queue_lengths)), - but more efficient. + > erlang:statistics(microstate_accounting). + [#{counters => #{aux => 1899182914, + check_io => 2605863602, + emulator => 45731880463, + gc => 1512206910, + other => 5421338456, + port => 221631, + sleep => 5150294100}, + id => 1, + type => scheduler}|...] - -spec statistics(total_run_queue_lengths_all) -> TotalRunQueueLengths -  when TotalRunQueueLengths :: non_neg_integer(). + 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: -Since: - OTP 20.0 + 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)). - The same as calling lists:sum(statistics(run_queue_lengths_all)), - but more efficient. + 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. - -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(). + 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 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. + + Available since OTP 19.0 + + • statistics(reductions) -> {Reductions :: non_neg_integer(), SinceLastCall :: 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). + + • 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. + + • statistics(run_queue_lengths) -> [non_neg_integer()] + + 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. + + Available since OTP 18.3 + + • statistics(run_queue_lengths_all) -> [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. + + Note + + Each normal scheduler has one run queue that it manages. + If dirty 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). + + Available since OTP 20.0 + + • statistics(runtime) -> {Total :: non_neg_integer(), SinceLastCall :: 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} + + • statistics(scheduler_wall_time) -> + [{Id :: pos_integer, + ActiveTime :: non_neg_integer(), + TotalTime :: non_neg_integer()}] | + undefined + + 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. + + The definition of a busy scheduler is when it is not idle + and not busy waiting for new work, that is: + + ○ Executing process code + + ○ Executing linked-in driver or NIF code + + ○ Executing BIFs, or any other runtime handling + + ○ Garbage collecting + + ○ 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). + + Available since OTP R15B01 + + • statistics(scheduler_wall_time_all) -> + [{Id :: pos_integer, + ActiveTime :: non_neg_integer(), + TotalTime :: non_neg_integer()}] | + undefined + + Equivalent to 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. + + Available since OTP 20.0 + + • statistics(total_active_tasks) -> non_neg_integer() + + Equivalent to calling lists:sum(statistics(active_tasks)), + but more efficient. + + Available since OTP 18.3 + + • statistics(total_active_tasks_all) -> non_neg_integer() + + Equivalent to calling lists:sum( + statistics(active_tasks_all)), but more efficient. + + Available since OTP 20.0 + + • statistics(total_run_queue_lengths) -> non_neg_integer() + + Equivalent to calling lists:sum( + statistics(run_queue_lengths)), but more efficient. + + Available since OTP 18.3 + + • statistics(total_run_queue_lengths_all) -> non_neg_integer() + + Equivalent to calling lists:sum( + statistics(run_queue_lengths_all)), but more efficient. + + Available since OTP 20.0 + + • statistics(wall_clock) -> {Total :: non_neg_integer(), SinceLastCall :: 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. + 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_sub_level_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_sub_level_0_type.txt new file mode 100644 index 000000000000..99840cfd9e6d --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_sub_level_0_type.txt @@ -0,0 +1,6 @@ + + -type sub_level() :: +  [LevelEntry :: level_entry()] | +  (LogicalCpuId :: {logical, non_neg_integer()}). + + diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_subtract_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_subtract_2_func.txt index b3e9734abf88..079ae7fdfd5f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_subtract_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_subtract_2_func.txt @@ -1,5 +1,5 @@ -  subtract/2 + -spec subtract([term()], [term()]) -> [term()]. The documentation for subtract/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_suspend_process_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_suspend_process_1_func.txt index cd0982552afa..51250b3e3ff4 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_suspend_process_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_suspend_process_1_func.txt @@ -1,8 +1,9 @@ - -spec erlang:suspend_process(Suspendee) -> true when Suspendee :: pid(). + -spec suspend_process(Suspendee) -> true when Suspendee :: pid(). - Suspends the process identified by Suspendee. The same as + Suspends the process identified by Suspendee. Equivalent to calling erlang:suspend_process(Suspendee, []). - Warning: + Warning + This BIF is intended for debugging only. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_suspend_process_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_suspend_process_2_func.txt index 8b604b502525..5c9f39fdeb32 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_suspend_process_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_suspend_process_2_func.txt @@ -1,12 +1,11 @@ - -spec erlang:suspend_process(Suspendee, OptList) -> boolean() -  when -  Suspendee :: pid(), -  OptList :: [Opt], -  Opt :: -  unless_suspending | -  asynchronous | -  {asynchronous, term()}. + -spec suspend_process(Suspendee, OptList) -> boolean() +  when +  Suspendee :: pid(), +  OptList :: [Opt], +  Opt :: +  unless_suspending | asynchronous | +  {asynchronous, term()}. Increases the suspend count on the process identified by  Suspendee and puts it in the suspended state if it is not already @@ -24,60 +23,57 @@ Options (Opts): - asynchronous: - A suspend request is sent to the process identified by  - Suspendee. Suspendee eventually suspends unless it is - resumed before it could suspend. The caller of  - erlang:suspend_process/2 returns immediately, regardless of - whether Suspendee has suspended yet or not. The point in - time when Suspendee suspends cannot be deduced from other - events in the system. It is only guaranteed that Suspendee - eventually suspends (unless it is resumed). If no  - asynchronous options has been passed, the caller of  - erlang:suspend_process/2 is blocked until Suspendee has - suspended. - - {asynchronous, ReplyTag}: - A suspend request is sent to the process identified by  - Suspendee. When the suspend request has been processed, a - reply message is sent to the caller of this function. The - reply is on the form {ReplyTag, State} where State is - either: - - exited: - Suspendee has exited. - - suspended: - Suspendee is now suspended. - - not_suspended: - Suspendee is not suspended. This can only happen when the - process that issued this request, have called  - resume_process(Suspendee) before getting the reply. - - Apart from the reply message, the {asynchronous, ReplyTag} - option behaves exactly the same as the asynchronous option - without reply tag. - - unless_suspending: - The process identified by Suspendee is suspended unless the - calling process already is suspending Suspendee. If  - unless_suspending is combined with option asynchronous, a - suspend request is sent unless the calling process already is - suspending Suspendee or if a suspend request already has - been sent and is in transit. If the calling process already is - suspending Suspendee, or if combined with option  - asynchronous and a send request already is in transit, false - is returned and the suspend count on Suspendee remains - unchanged. + • asynchronous - A suspend request is sent to the process + identified by Suspendee. Suspendee eventually suspends + unless it is resumed before it could suspend. The caller of  + erlang:suspend_process/2 returns immediately, regardless of + whether Suspendee has suspended yet or not. The point in + time when Suspendee suspends cannot be deduced from other + events in the system. It is only guaranteed that Suspendee + eventually suspends (unless it is resumed). If no  + asynchronous options has been passed, the caller of  + erlang:suspend_process/2 is blocked until Suspendee has + suspended. + + • {asynchronous, ReplyTag} - A suspend request is sent to the + process identified by Suspendee. When the suspend request + has been processed, a reply message is sent to the caller of + this function. The reply is on the form {ReplyTag, State} + where State is either: + + ○ exited - Suspendee has exited. + + ○ suspended - Suspendee is now suspended. + + ○ not_suspended - Suspendee is not suspended. This + can only happen when the process that issued this + request, have called resume_process(Suspendee) + before getting the reply. + + Apart from the reply message, the {asynchronous, ReplyTag} + option behaves exactly the same as the asynchronous option + without reply tag. + + • unless_suspending - The process identified by Suspendee + is suspended unless the calling process already is + suspending Suspendee. If unless_suspending is combined + with option asynchronous, a suspend request is sent unless + the calling process already is suspending Suspendee or if + a suspend request already has been sent and is in transit. + If the calling process already is suspending Suspendee, or + if combined with option asynchronous and a send request + already is in transit, false is returned and the suspend + count on Suspendee remains unchanged. If the suspend count on the process identified by Suspendee is increased, true is returned, otherwise false. - Warning: + Warning + This BIF is intended for debugging only. - Warning: + Warning + You can easily create deadlocks if processes suspends each other (directly or in circles). In ERTS versions prior to ERTS version 10.0, the runtime system prevented such deadlocks, but @@ -86,26 +82,22 @@ Failures: - badarg: - If Suspendee is not a process identifier. + • badarg - If Suspendee is not a process identifier. - badarg: - If the process identified by Suspendee is the same process - as the process calling erlang:suspend_process/2. + • badarg - If the process identified by Suspendee is the + same process as the process calling  + erlang:suspend_process/2. - badarg: - If the process identified by Suspendee is not alive. + • badarg - If the process identified by Suspendee is not + alive. - badarg: - If the process identified by Suspendee resides on another - node. + • badarg - If the process identified by Suspendee resides + on another node. - badarg: - If OptList is not a proper list of valid Opts. + • badarg - If OptList is not a proper list of valid Opts. - system_limit: - If the process identified by Suspendee has been suspended - more times by the calling process than can be represented by - the currently used internal data structures. The system limit - is greater than 2,000,000,000 suspends and will never be - lower. + • system_limit - If the process identified by Suspendee has + been suspended more times by the calling process than can be + represented by the currently used internal data structures. + The system limit is greater than 2,000,000,000 suspends and + will never be lower. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_suspend_process_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_suspend_process_func.txt index 986d0143a794..09b3f67ec5f6 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_suspend_process_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_suspend_process_func.txt @@ -1,20 +1,20 @@ - -spec erlang:suspend_process(Suspendee) -> true when Suspendee :: pid(). + -spec suspend_process(Suspendee) -> true when Suspendee :: pid(). - Suspends the process identified by Suspendee. The same as + Suspends the process identified by Suspendee. Equivalent to calling erlang:suspend_process(Suspendee, []). - Warning: + Warning + This BIF is intended for debugging only. - -spec erlang:suspend_process(Suspendee, OptList) -> boolean() -  when -  Suspendee :: pid(), -  OptList :: [Opt], -  Opt :: -  unless_suspending | -  asynchronous | -  {asynchronous, term()}. + -spec suspend_process(Suspendee, OptList) -> boolean() +  when +  Suspendee :: pid(), +  OptList :: [Opt], +  Opt :: +  unless_suspending | asynchronous | +  {asynchronous, term()}. Increases the suspend count on the process identified by  Suspendee and puts it in the suspended state if it is not already @@ -32,60 +32,57 @@ Options (Opts): - asynchronous: - A suspend request is sent to the process identified by  - Suspendee. Suspendee eventually suspends unless it is - resumed before it could suspend. The caller of  - erlang:suspend_process/2 returns immediately, regardless of - whether Suspendee has suspended yet or not. The point in - time when Suspendee suspends cannot be deduced from other - events in the system. It is only guaranteed that Suspendee - eventually suspends (unless it is resumed). If no  - asynchronous options has been passed, the caller of  - erlang:suspend_process/2 is blocked until Suspendee has - suspended. - - {asynchronous, ReplyTag}: - A suspend request is sent to the process identified by  - Suspendee. When the suspend request has been processed, a - reply message is sent to the caller of this function. The - reply is on the form {ReplyTag, State} where State is - either: - - exited: - Suspendee has exited. - - suspended: - Suspendee is now suspended. - - not_suspended: - Suspendee is not suspended. This can only happen when the - process that issued this request, have called  - resume_process(Suspendee) before getting the reply. - - Apart from the reply message, the {asynchronous, ReplyTag} - option behaves exactly the same as the asynchronous option - without reply tag. - - unless_suspending: - The process identified by Suspendee is suspended unless the - calling process already is suspending Suspendee. If  - unless_suspending is combined with option asynchronous, a - suspend request is sent unless the calling process already is - suspending Suspendee or if a suspend request already has - been sent and is in transit. If the calling process already is - suspending Suspendee, or if combined with option  - asynchronous and a send request already is in transit, false - is returned and the suspend count on Suspendee remains - unchanged. + • asynchronous - A suspend request is sent to the process + identified by Suspendee. Suspendee eventually suspends + unless it is resumed before it could suspend. The caller of  + erlang:suspend_process/2 returns immediately, regardless of + whether Suspendee has suspended yet or not. The point in + time when Suspendee suspends cannot be deduced from other + events in the system. It is only guaranteed that Suspendee + eventually suspends (unless it is resumed). If no  + asynchronous options has been passed, the caller of  + erlang:suspend_process/2 is blocked until Suspendee has + suspended. + + • {asynchronous, ReplyTag} - A suspend request is sent to the + process identified by Suspendee. When the suspend request + has been processed, a reply message is sent to the caller of + this function. The reply is on the form {ReplyTag, State} + where State is either: + + ○ exited - Suspendee has exited. + + ○ suspended - Suspendee is now suspended. + + ○ not_suspended - Suspendee is not suspended. This + can only happen when the process that issued this + request, have called resume_process(Suspendee) + before getting the reply. + + Apart from the reply message, the {asynchronous, ReplyTag} + option behaves exactly the same as the asynchronous option + without reply tag. + + • unless_suspending - The process identified by Suspendee + is suspended unless the calling process already is + suspending Suspendee. If unless_suspending is combined + with option asynchronous, a suspend request is sent unless + the calling process already is suspending Suspendee or if + a suspend request already has been sent and is in transit. + If the calling process already is suspending Suspendee, or + if combined with option asynchronous and a send request + already is in transit, false is returned and the suspend + count on Suspendee remains unchanged. If the suspend count on the process identified by Suspendee is increased, true is returned, otherwise false. - Warning: + Warning + This BIF is intended for debugging only. - Warning: + Warning + You can easily create deadlocks if processes suspends each other (directly or in circles). In ERTS versions prior to ERTS version 10.0, the runtime system prevented such deadlocks, but @@ -94,26 +91,22 @@ Failures: - badarg: - If Suspendee is not a process identifier. + • badarg - If Suspendee is not a process identifier. - badarg: - If the process identified by Suspendee is the same process - as the process calling erlang:suspend_process/2. + • badarg - If the process identified by Suspendee is the + same process as the process calling  + erlang:suspend_process/2. - badarg: - If the process identified by Suspendee is not alive. + • badarg - If the process identified by Suspendee is not + alive. - badarg: - If the process identified by Suspendee resides on another - node. + • badarg - If the process identified by Suspendee resides + on another node. - badarg: - If OptList is not a proper list of valid Opts. + • badarg - If OptList is not a proper list of valid Opts. - system_limit: - If the process identified by Suspendee has been suspended - more times by the calling process than can be represented by - the currently used internal data structures. The system limit - is greater than 2,000,000,000 suspends and will never be - lower. + • system_limit - If the process identified by Suspendee has + been suspended more times by the calling process than can be + represented by the currently used internal data structures. + The system limit is greater than 2,000,000,000 suspends and + will never be lower. 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 01cdb190aee9..3402008ef7ae 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,521 +1,523 @@ - -spec erlang:system_flag(backtrace_depth, Depth) -> OldDepth -  when -  Depth :: non_neg_integer(), -  OldDepth :: non_neg_integer(). - - 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. - - Returns the old value of the flag. - - -spec erlang:system_flag(cpu_topology, CpuTopology) -> OldCpuTopology -  when -  CpuTopology :: cpu_topology(), -  OldCpuTopology :: cpu_topology(). - - 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()}). - - Warning: - This argument is deprecated. Instead of using this argument, - use command-line argument +sct in erl(1). - - When this argument is removed, a final CPU topology to use is - determined at emulator boot time. - - 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. - - Returns the old value of the flag. - - 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) -> -  OldDirtyCPUSchedulersOnline -  when -  DirtyCPUSchedulersOnline :: -  pos_integer(), -  OldDirtyCPUSchedulersOnline :: -  pos_integer(). - -Since: - OTP 17.0 - - 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). - - 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 -  Alloc :: atom(), -  F :: atom(), -  V :: integer(). - -Since: - OTP 20.2.3 - - 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. - - 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 -  Number :: non_neg_integer(), -  OldNumber :: non_neg_integer(). - - 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 -  Action :: true | false | reset, -  OldState :: true | false. - -Since: - OTP 19.0 - - 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 -  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 -  MaxHeapSize :: max_heap_size(), -  OldMaxHeapSize :: max_heap_size(). - -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 :: -  scheduler_bind_type() | default_bind, -  OldBindType :: scheduler_bind_type(). - - Types: - -type scheduler_bind_type() :: - no_node_processor_spread | no_node_thread_spread | no_spread | - processor_spread | spread | thread_spread | - thread_no_node_processor_spread | unbound. - - Warning: - This argument is deprecated. Instead of using this argument, - use command-line argument +sbt in erl(1). When this - argument is removed, a final scheduler bind type to use is - determined at emulator boot time. - - Controls if and how schedulers are bound to logical processors. - - When erlang:system_flag(scheduler_bind_type, How) is called, an - asynchronous signal is sent to all schedulers online, causing them - to try to bind or unbind as requested. - - Note: - If a scheduler fails to bind, this is often silently ignored, - as it is not always possible to verify valid logical processor - identifiers. If an error is reported, an error event is - logged. To verify that the schedulers have bound as requested, - call erlang:system_info(scheduler_bindings). - - Schedulers can be bound on newer Linux, Solaris, FreeBSD, and - Windows systems, but more systems will be supported in future - releases. - - In order for the runtime system to be able to bind schedulers, the - CPU topology must be known. If the runtime system fails to detect - the CPU topology automatically, it can be defined. For more - information on how to define the CPU topology, see command-line - flag +sct in erl(1). - - The runtime system does by default not bind schedulers to - logical processors. - - Note: - If the Erlang runtime system is the only OS process binding - threads to logical processors, this improves the performance - of the runtime system. However, if other OS processes (for - example, another Erlang runtime system) also bind threads to - logical processors, there can be a performance penalty - instead. Sometimes this performance penalty can be severe. If - so, it is recommended to not bind the schedulers. - - Schedulers can be bound in different ways. Argument How - determines how schedulers are bound and can be any of the - following: - - unbound: - Same as command-line argument +sbt u in erl(1). - - no_spread: - Same as command-line argument +sbt ns in erl(1). - - thread_spread: - Same as command-line argument +sbt ts in erl(1). - - processor_spread: - Same as command-line argument +sbt ps in erl(1). - - spread: - Same as command-line argument +sbt s in erl(1). - - no_node_thread_spread: - Same as command-line argument +sbt nnts in erl(1). - - no_node_processor_spread: - Same as command-line argument +sbt nnps in erl(1). - - thread_no_node_processor_spread: - Same as command-line argument +sbt tnnps in erl(1). - - default_bind: - Same as command-line argument +sbt db in erl(1). - - The returned value equals How before flag scheduler_bind_type - was changed. - - Failures: - - notsup: - If binding of schedulers is not supported. - - badarg: - If How is not one of the documented alternatives. - - badarg: - If CPU topology information is unavailable. - - The scheduler bind type can also be set by passing command-line - argument +sbt to erl(1). - - 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. + -spec system_flag(backtrace_depth, Depth) -> OldDepth +  when +  Depth :: non_neg_integer(), +  OldDepth :: non_neg_integer(); +  (cpu_topology, CpuTopology) -> OldCpuTopology +  when +  CpuTopology :: cpu_topology(), +  OldCpuTopology :: cpu_topology(); +  (dirty_cpu_schedulers_online, DirtyCPUSchedulersOnline) -> +  OldDirtyCPUSchedulersOnline +  when +  DirtyCPUSchedulersOnline :: pos_integer(), +  OldDirtyCPUSchedulersOnline :: pos_integer(); +  (erts_alloc, {Alloc, F, V}) -> ok | notsup +  when Alloc :: atom(), F :: atom(), V :: integer(); +  (fullsweep_after, Number) -> OldNumber +  when +  Number :: non_neg_integer(), +  OldNumber :: non_neg_integer(); +  (microstate_accounting, Action) -> OldState +  when +  Action :: true | false | reset, +  OldState :: true | false; +  (min_heap_size, MinHeapSize) -> OldMinHeapSize +  when +  MinHeapSize :: non_neg_integer(), +  OldMinHeapSize :: non_neg_integer(); +  (min_bin_vheap_size, MinBinVHeapSize) -> +  OldMinBinVHeapSize +  when +  MinBinVHeapSize :: non_neg_integer(), +  OldMinBinVHeapSize :: non_neg_integer(); +  (max_heap_size, MaxHeapSize) -> OldMaxHeapSize +  when +  MaxHeapSize :: max_heap_size(), +  OldMaxHeapSize :: max_heap_size(); +  (multi_scheduling, BlockState) -> OldBlockState +  when +  BlockState :: +  block | unblock | block_normal | +  unblock_normal, +  OldBlockState :: blocked | disabled | enabled; +  (outstanding_system_requests_limit, NewLimit) -> +  OldLimit +  when +  NewLimit :: 1..134217727, +  OldLimit :: 1..134217727; +  (scheduler_bind_type, How) -> OldBindType +  when +  How :: scheduler_bind_type() | default_bind, +  OldBindType :: scheduler_bind_type(); +  (scheduler_wall_time, Boolean) -> OldBoolean +  when Boolean :: boolean(), OldBoolean :: boolean(); +  (schedulers_online, SchedulersOnline) -> +  OldSchedulersOnline +  when +  SchedulersOnline :: pos_integer(), +  OldSchedulersOnline :: pos_integer(); +  (system_logger, Logger) -> PrevLogger +  when +  Logger :: logger | undefined | pid(), +  PrevLogger :: logger | undefined | pid(); +  (trace_control_word, TCW) -> OldTCW +  when +  TCW :: non_neg_integer(), +  OldTCW :: non_neg_integer(); +  (time_offset, finalize) -> OldState +  when OldState :: preliminary | final | volatile; +  (internal_cpu_topology, term()) -> term(); +  (sequential_tracer, Tracer) -> PrevTracer | false +  when +  Tracer :: +  pid() | port() | {module(), term()} | false, +  PrevTracer :: +  pid() | port() | {module(), term()} | false; +  (reset_seq_trace, true) -> true. + + Sets a system flag to the given value. + + The possible flags to set are: + + • system_flag(backtrace_depths, non_neg_integer()) -> non_neg_integer() + + 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/2 item  + current_stacktrace. + + Returns the old value of the flag. + + • system_flag(cpu_topology, cpu_topology()) -> cpu_topology() + + Warning + + This argument is deprecated. Instead of using this + argument, use command-line argument +sct in erl. When + this argument is removed, a final CPU topology to use is + determined at emulator boot time. + + 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. + + Returns the old value of the flag. + + 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. + + For information on type CpuTopology and more, see  + erlang:system_info(cpu_topology) as well as command-line + flags +sct and +sbt in erl. + + • system_flag(dirty_cpu_schedulers_online, pos_integer()) -> 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). + + 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). + + Available since OTP 17.0 + + • system_flag(erts_alloc, {Alloc :: atom(), F :: atom(), V :: integer()}) -> + ok | notsup - Returns the old value of the node global state, true if - scheduler wall time measurements were enabled, false if it were - disabled. + 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. - Scheduler wall time measurements do consume some cpu overhead and - should not be left turned on unless used. + Only a subset of all erts_alloc flags can be changed at + run time. This subset is currently only the flag sbct. - -spec erlang:system_flag(schedulers_online, SchedulersOnline) -> -  OldSchedulersOnline -  when -  SchedulersOnline :: pos_integer(), -  OldSchedulersOnline :: pos_integer(). + Returns ok if the flag was set or notsup if not + supported by erts_alloc. - Sets the number of schedulers online. Range is 1 <= - SchedulersOnline <= erlang:system_info(schedulers). + Available since OTP 20.2.3 - Returns the old value of the flag. + • system_flag(fullsweep_after, non_neg_integer()) -> non_neg_integer() - 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. + 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. - For more information, see erlang:system_info(schedulers) and  - erlang:system_info(schedulers_online). + Returns the old value of the flag. - -spec erlang:system_flag(system_logger, Logger) -> PrevLogger -  when -  Logger :: logger | undefined | pid(), -  PrevLogger :: logger | undefined | pid(). + In low-memory systems (especially without virtual memory), + setting the value to 0 can help to conserve memory. -Since: - OTP 21.3 + This value can also be set through (OS) environment variable  + ERL_FULLSWEEP_AFTER. - 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: + • system_flag(microstate_accounting, true | false | reset) -> boolean() - {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() } + Turns on/off microstate accounting measurements. When + passing reset, all counters are reset to 0. - If the system_logger process dies, this flag will be reset to  - logger. + For more information see statistics(microstate_accounting). - 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. + Available since OTP 19.0 - • If volatile is returned, the time offset cannot be - finalized because multi-time warp mode is used. + • system_flag(min_heap_size, non_neg_integer()) -> 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. + + • system_flag(min_bin_vheap_size, non_neg_integer()) -> non_neg_integer() + + 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. + + Available since OTP R13B04 + + • system_flag(max_heap_size, max_heap_size()) -> max_heap_size() + + 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. + + Available since OTP 19.0 + + • 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). + + • system_flag(outstanding_system_requests_limit, 1..134217727) -> 1..134217727 + + 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. + + Available since OTP 24.2 + + • system_flag(scheduler_bind_type, scheduler_bind_type() | default_bind) -> + scheduler_bind_type() + + Warning + + This argument is deprecated. Instead of using this + argument, use command-line argument +sbt in erl. When + this argument is removed, a final scheduler bind type to + use is determined at emulator boot time. + + Controls if and how schedulers are bound to logical + processors. + + When erlang:system_flag(scheduler_bind_type, How) is + called, an asynchronous signal is sent to all schedulers + online, causing them to try to bind or unbind as requested. + + Note + + If a scheduler fails to bind, this is often silently + ignored, as it is not always possible to verify valid + logical processor identifiers. If an error is reported, + an error event is logged. To verify that the schedulers + have bound as requested, call  + erlang:system_info(scheduler_bindings). + + Schedulers can be bound on newer Linux, Solaris, FreeBSD, + and Windows systems, but more systems will be supported in + future releases. + + In order for the runtime system to be able to bind + schedulers, the CPU topology must be known. If the runtime + system fails to detect the CPU topology automatically, it + can be defined. For more information on how to define the + CPU topology, see command-line flag +sct in erl. + + The runtime system does by default not bind schedulers to + logical processors. + + Note + + If the Erlang runtime system is the only OS process + binding threads to logical processors, this improves the + performance of the runtime system. However, if other OS + processes (for example, another Erlang runtime system) + also bind threads to logical processors, there can be a + performance penalty instead. Sometimes this performance + penalty can be severe. If so, it is recommended to not + bind the schedulers. + + Schedulers can be bound in different ways. Argument How + determines how schedulers are bound and can be any of the + following: + + ○ unbound - Same as command-line argument +sbt u in + erl. + + ○ no_spread - Same as command-line argument +sbt ns + in erl. + + ○ thread_spread - Same as command-line argument +sbt + ts in erl. + + ○ processor_spread - Same as command-line argument  + +sbt ps in erl. + + ○ spread - Same as command-line argument +sbt s in + erl. + + ○ no_node_thread_spread - Same as command-line argument  + +sbt nnts in erl. + + ○ no_node_processor_spread - Same as command-line + argument +sbt nnps in erl. + + ○ thread_no_node_processor_spread - Same as + command-line argument +sbt tnnps in erl. + + ○ default_bind - Same as command-line argument +sbt db + in erl. + + The returned value equals How before flag  + scheduler_bind_type was changed. + + Failures: + + ○ notsup - If binding of schedulers is not supported. + + ○ badarg - If How is not one of the documented + alternatives. + + ○ badarg - If CPU topology information is unavailable. + + The scheduler bind type can also be set by passing + command-line argument +sbt to erl. + + 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. + + • system_flag(scheduler_wall_time, boolean()) -> boolean() + + 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. + + Available since OTP R15B01 + + • system_flag(schedulers_online, pos_integer()) -> 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). + + • system_flag(system_logger, logger | undefined | pid()) -> logger | undefined | pid() + + 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. + + Available since OTP 21.2 + + • system_flag(trace_control_word, non_neg_integer()) -> 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. + + • system_flag(time_offset, finalize) -> preliminary | final | volatile + + 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. + + Available since OTP 18.0 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 9ecf3bad8ff8..22b2d4e73c0a 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,1053 +1,1009 @@ - -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} -  when -  Allocator :: undefined | glibc, -  Version :: [non_neg_integer()], -  Features :: [atom()], -  Settings :: -  [{Subsystem :: atom(), -  [{Parameter :: atom(), -  Value :: term()}]}]; -  ({allocator, Alloc}) -> [_] when Alloc :: atom(); -  (alloc_util_allocators) -> [Alloc] -  when Alloc :: atom(); -  ({allocator_sizes, Alloc}) -> [_] -  when Alloc :: atom(). + -spec system_info(allocated_areas) -> [tuple()]; +  (allocator) -> {Allocator, Version, Features, Settings} +  when +  Allocator :: undefined | glibc, +  Version :: [non_neg_integer()], +  Features :: [atom()], +  Settings :: +  [{Subsystem :: atom(), +  [{Parameter :: atom(), Value :: term()}]}]; +  ({allocator, Alloc}) -> [_] when Alloc :: atom(); +  (alloc_util_allocators) -> [Alloc] when Alloc :: atom(); +  ({allocator_sizes, Alloc}) -> [_] when Alloc :: atom(); +  (atom_count) -> pos_integer(); +  (atom_limit) -> pos_integer(); +  (build_type) -> +  opt | debug | gcov | valgrind | gprof | lcnt | +  frmptr; +  (c_compiler_used) -> {atom(), term()}; +  (check_io) -> [_]; +  (compat_rel) -> integer(); +  (cpu_topology) -> CpuTopology +  when 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(); +  (dirty_cpu_schedulers) -> non_neg_integer(); +  (dirty_cpu_schedulers_online) -> non_neg_integer(); +  (dirty_io_schedulers) -> non_neg_integer(); +  (dist) -> binary(); +  (dist_buf_busy_limit) -> non_neg_integer(); +  (dist_ctrl) -> +  [{Node :: node(), +  ControllingEntity :: port() | pid()}]; +  (driver_version) -> string(); +  (dynamic_trace) -> none | dtrace | systemtap; +  (dynamic_trace_probes) -> boolean(); +  (eager_check_io) -> boolean(); +  (emu_flavor) -> emu | jit; +  (emu_type) -> +  opt | debug | gcov | valgrind | gprof | lcnt | +  frmptr; +  (end_time) -> non_neg_integer(); +  (ets_count) -> pos_integer(); +  (ets_limit) -> pos_integer(); +  (fullsweep_after) -> +  {fullsweep_after, non_neg_integer()}; +  (garbage_collection) -> garbage_collection_defaults(); +  (heap_sizes) -> [non_neg_integer()]; +  (heap_type) -> private; +  (info) -> binary(); +  (kernel_poll) -> boolean(); +  (loaded) -> binary(); +  (logical_processors | logical_processors_available | +  logical_processors_online) -> +  unknown | pos_integer(); +  (machine) -> string(); +  (max_heap_size) -> +  {max_heap_size, MaxHeapSize :: max_heap_size()}; +  (message_queue_data) -> message_queue_data(); +  (min_heap_size) -> +  {min_heap_size, MinHeapSize :: pos_integer()}; +  (min_bin_vheap_size) -> +  {min_bin_vheap_size, +  MinBinVHeapSize :: pos_integer()}; +  (modified_timing_level) -> integer() | undefined; +  (multi_scheduling) -> +  disabled | blocked | blocked_normal | enabled; +  (multi_scheduling_blockers) -> [Pid :: pid()]; +  (nif_version) -> string(); +  (normal_multi_scheduling_blockers) -> [Pid :: pid()]; +  (otp_release) -> string(); +  (os_monotonic_time_source) -> [{atom(), term()}]; +  (os_system_time_source) -> [{atom(), term()}]; +  (outstanding_system_requests_limit) -> 1..134217727; +  (port_parallelism) -> boolean(); +  (port_count) -> non_neg_integer(); +  (port_limit) -> pos_integer(); +  (process_count) -> pos_integer(); +  (process_limit) -> pos_integer(); +  (procs) -> binary(); +  (scheduler_bind_type) -> scheduler_bind_type(); +  (scheduler_bindings) -> tuple(); +  (scheduler_id) -> SchedulerId :: pos_integer(); +  (schedulers | schedulers_online) -> pos_integer(); +  (smp_support) -> boolean(); +  (start_time) -> integer(); +  (system_architecture) -> string(); +  (system_logger) -> logger | undefined | pid(); +  (system_version) -> string(); +  (threads) -> boolean(); +  (thread_pool_size) -> non_neg_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; +  (trace_control_word) -> non_neg_integer(); +  (update_cpu_info) -> changed | unchanged; +  (version) -> string(); +  (wordsize | {wordsize, internal} | {wordsize, external}) -> +  4 | 8; +  (async_dist) -> boolean(); +  (halt_flush_timeout) -> non_neg_integer() | infinity. + + 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,  + 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 - 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 + +Memory Allocation Returns various information about the memory allocators of the current system (emulator) as specified by Item: - allocated_areas: - Returns a list of tuples with information about miscellaneous - allocated memory areas. - - 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. - - 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. - - 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. - - allocator: - Returns {Allocator, Version, Features, Settings, where: - - • Allocator corresponds to the malloc() implementation - used. If Allocator equals undefined, the malloc() - implementation used cannot be identified. glibc can be - identified. - - • Version is a list of integers (but not a string) - representing the version of the malloc() - implementation used. - - • Features is a list of atoms representing the allocation - features used. - - • 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. - - 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(); -  (creation) -> integer(); -  (machine) -> string(); -  (version) -> string(). - -Since: - OTP R14B - - 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()}). + • allocated_areas - Returns [tuple()] with information + about miscellaneous allocated memory areas. + + 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. + + 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. + + 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. + + • allocator - Returns + + {Allocator :: undefined | glibc, + Version :: [non_neg_integer()], + Features :: [atom()], + Settings :: [{Subsystem :: atom(), + [{Parameter :: atom(), + Value :: term()}] + }] + } + + where + + ○ Allocator corresponds to the malloc() + implementation used. If Allocator equals undefined, + the malloc() implementation used cannot be + identified. glibc can be identified. + + ○ Version is a list of integers (but not a string) + representing the version of the malloc() + implementation used. + + ○ Features is a list of atoms representing the + allocation features used. + + ○ 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. + + 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}). + +CPU Topology 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; -  (info) -> binary(); -  (message_queue_data) -> message_queue_data(); -  (min_heap_size) -> -  {min_heap_size, -  MinHeapSize :: pos_integer()}; -  (min_bin_vheap_size) -> -  {min_bin_vheap_size, -  MinBinVHeapSize :: pos_integer()}; -  (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 - - Types: - -type max_heap_size() :: - Size :: - non_neg_integer() | - #{size => non_neg_integer(), - kill => boolean(), - error_logger => boolean(), - include_shared_binaries => boolean()}. - -type message_queue_data() :: off_heap | on_heap. + • cpu_topology - Returns the cpu_topology() 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. + + • {cpu_topology, defined} - Returns the user-defined  + cpu_topology(). For more information, see command-line flag  + +sct in erl(1) and argument cpu_topology. + + • {cpu_topology, detected} - Returns the automatically + detected cpu_topology(). 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. + + Since: OTP R14B + +Process Information Returns information about the default process heap settings: - fullsweep_after: - Returns {fullsweep_after, integer() >= 0}, which is the  - fullsweep_after garbage collection setting used by default. - For more information, see garbage_collection described - below. - - garbage_collection: - Returns a list describing the default garbage collection - settings. A process spawned on the local node by a spawn or  - spawn_link uses these garbage collection settings. The - default settings can be changed by using erlang:system_flag/2.  - spawn_opt/2,3,4 can spawn a process that does not use the - default settings. - - heap_sizes: - Returns a list of integers representing valid heap sizes in - words. All Erlang heaps are sized from sizes in this list. - - heap_type: - Returns the heap type used by the current emulator. One heap - type exists: - - private: - Each process has a heap reserved for its use and no - references between heaps of different processes are - allowed. Messages passed between processes are copied - between heaps. - - max_heap_size: - 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, +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 - flag, which can be either off_heap or on_heap. The default - value is set by the command-line argument +hmqd in erl(1). - For more information, see the documentation of  - process_flag(message_queue_data, MQD). - - min_heap_size: - Returns {min_heap_size, MinHeapSize}, where MinHeapSize is - the current system-wide minimum heap size for spawned - processes. - - min_bin_vheap_size: - Returns {min_bin_vheap_size, MinBinVHeapSize}, where  - MinBinVHeapSize is the current system-wide minimum binary - virtual heap size for spawned processes. - - procs: - Returns a binary containing a string of process and port - 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 + • fullsweep_after - Returns {fullsweep_after, integer() >= + 0}, which is the fullsweep_after garbage collection + setting used by default. For more information, see  + garbage_collection described below. + + • garbage_collection - Returns garbage_collection_defaults/0 + describing the default garbage collection settings. A + process spawned on the local node by a spawn or  + spawn_link uses these garbage collection settings. The + default settings can be changed by using  + erlang:system_flag/2. spawn_opt/2,3,4 can spawn a process + that does not use the default settings. + + • heap_sizes - Returns a list of integers representing valid + heap sizes in words. All Erlang heaps are sized from sizes + in this list. + + • heap_type - Returns the heap type used by the current + emulator. One heap type exists: + + ○ private - Each process has a heap reserved for its + use and no references between heaps of different + processes are allowed. Messages passed between + processes are copied between heaps. + + • max_heap_size - 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, +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). + + Since: OTP 19.0 + + • message_queue_data - Returns the default value of the  + message_queue_data process flag, which can be either  + off_heap or on_heap. The default value is set by the + command-line argument +hmqd in erl(1). For more + information, see the documentation of  + process_flag(message_queue_data, MQD). + + Since: OTP 19.0 + + • min_heap_size - Returns {min_heap_size, MinHeapSize}, + where MinHeapSize is the current system-wide minimum heap + size for spawned processes. + + Since: OTP R13B04 + + • min_bin_vheap_size - Returns {min_bin_vheap_size, + MinBinVHeapSize}, where MinBinVHeapSize is the current + system-wide minimum binary virtual heap size for spawned + processes. + + Since: OTP R13B04 + + • procs - Returns a binary containing a string of process and + port information formatted as in Erlang crash dumps. For + more information, see section How to interpret the Erlang + crash dumps in the User's Guide. + +System Limits 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 + • atom_count - Returns the number of atoms currently existing + at the local node. The value is given as an integer. + + Since: OTP 20.0 + + • 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). + + Since: OTP 20.0 + + • ets_count - Returns the number of ETS tables currently + existing at the local node. + + Since: OTP 21.1 + + • 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. + + Since: OTP R16B03 + + • 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. + + Since: OTP R16B + + • 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). + + Since OTP R16B + + • 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). + +System Time 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 + • 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. + + Since: OTP 18.0 + + • 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. + + ○ {used_resolution, UsedOsMonotonicTimeResolution} - + The OS monotonic time resolution used by the runtime + system. This is very often the same as  + OsMonotonicTimeResolution. However, on some systems + the resolution has to be reduced in order to reliably + produce monotonic timestamps. An example of this is + when QueryPerformanceCounter() is used as OS + monotonic time source on Windows. If such a reduction + of the resolution has been done,  + UsedOsMonotonicTimeResolution will be smaller 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. + + Since: OTP 18.0 + + • 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. + + Since: OTP 18.0 + + • 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). + + Since: OTP 18.0 + + • time_correction - Returns a boolean() value indicating + whether time correction is enabled or not. + + Since: OTP 18.0 + + • 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. + + Since: OTP 18.0 + + • 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. + + Since: OTP 18.0 + + • 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. + + Since: OTP 17.1 + +Scheduler Information 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 + • 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). + + Since: OTP 17.0 + + • 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). + + Since: OTP 17.0 + + • 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). + + Since: OTP 17.0 + + • 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). + + Since: OTP 19.0 + + • scheduler_bind_type - Returns scheduler_bind_type(), + 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. + +Distribution Information 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 + • async_dist - 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. + + Since: OTP 25.3 + + • 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. + + Since: OTP 18.0 + + • 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). + + Since: OTP R14B01 + + • dist_ctrl - Returns a list of tuples {Node :: node(), + ControllingEntity :: port() | pid()}, 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. + +System Information 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. + • 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. + + Since: OTP R15B01 + + • 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 + ). + + Since: OTP R15B01 + + • 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. + + Since: OTP 24.0 + + • 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. + + Since: OTP 24.0 + + • halt_flush_timeout - Returns the default halt flush + timeout set by the erl +zhft  command line + flag. + + Since: OTP 27.0 + + • 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 ".". + + Since: OTP 17.4 + + • 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. + + Since: OTP 24.2 + + • port_parallelism - Returns the default port parallelism + scheduling hint used. For more information, see command-line + argument +spp in erl(1). + + Since: OTP R16B + + • 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, *). + + Since: OTP 21.3 + + • 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_system_monitor_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_monitor_0_func.txt index 684354ed5c48..72b08a4e694e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_monitor_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_monitor_0_func.txt @@ -1,19 +1,14 @@ - -spec erlang:system_monitor() -> MonSettings -  when -  MonSettings :: -  undefined | {MonitorPid, Options}, -  MonitorPid :: pid(), -  Options :: [system_monitor_option()]. - - Types: - -type system_monitor_option() :: - busy_port | busy_dist_port | - {long_gc, non_neg_integer()} | - {long_schedule, non_neg_integer()} | - {large_heap, non_neg_integer()}. + -spec system_monitor() -> MonSettings +  when +  MonSettings :: +  undefined | {MonitorPid, Options}, +  MonitorPid :: pid(), +  Options :: [system_monitor_option()]. Returns the current system monitoring settings set by  erlang:system_monitor/2 as {MonitorPid, Options}, or undefined - if no settings exist. The order of the options can be different - from the one that was set. + if no settings exist. + + The order of the options can be different from the one that was + set. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_monitor_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_monitor_1_func.txt index 9c29c4dab43d..c00543b1c91a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_monitor_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_monitor_1_func.txt @@ -1,19 +1,11 @@ - -spec erlang:system_monitor(Arg) -> MonSettings -  when -  Arg :: -  undefined | {MonitorPid, Options}, -  MonSettings :: -  undefined | {MonitorPid, Options}, -  MonitorPid :: pid(), -  Options :: [system_monitor_option()]. - - Types: - -type system_monitor_option() :: - busy_port | busy_dist_port | - {long_gc, non_neg_integer()} | - {long_schedule, non_neg_integer()} | - {large_heap, non_neg_integer()}. + -spec system_monitor(Arg) -> MonSettings +  when +  Arg :: undefined | {MonitorPid, Options}, +  MonSettings :: +  undefined | {MonitorPid, Options}, +  MonitorPid :: pid(), +  Options :: [system_monitor_option()]. When called with argument undefined, all system performance monitoring settings are cleared. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_monitor_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_monitor_2_func.txt index bb5ec9bf7971..c86da0685792 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_monitor_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_monitor_2_func.txt @@ -1,108 +1,130 @@ - -spec erlang:system_monitor(MonitorPid, Options) -> MonSettings -  when -  MonitorPid :: pid(), -  Options :: [system_monitor_option()], -  MonSettings :: -  undefined | -  {OldMonitorPid, OldOptions}, -  OldMonitorPid :: pid(), -  OldOptions :: -  [system_monitor_option()]. - - Types: - -type system_monitor_option() :: - busy_port | busy_dist_port | - {long_gc, non_neg_integer()} | - {long_schedule, non_neg_integer()} | - {large_heap, non_neg_integer()}. + -spec system_monitor(MonitorPid, Options) -> MonSettings +  when +  MonitorPid :: pid(), +  Options :: [system_monitor_option()], +  MonSettings :: +  undefined | {OldMonitorPid, OldOptions}, +  OldMonitorPid :: pid(), +  OldOptions :: [system_monitor_option()]. Sets the system performance monitoring options. MonitorPid is a local process identifier (pid) receiving system monitor messages. + The second argument is a list of monitoring options: - {long_gc, Time}: - If a garbage collection in the system takes at least Time - wall clock milliseconds, a message {monitor, GcPid, long_gc, - Info} is sent to MonitorPid. GcPid is the pid that was - garbage collected. Info is a list of two-element tuples - describing the result of the garbage collection. - - One of the tuples is {timeout, GcTime}, where GcTime is - the time for the garbage collection in milliseconds. The other - tuples are tagged with heap_size, heap_block_size,  - stack_size, mbuf_size, old_heap_size, and  - old_heap_block_size. These tuples are explained in the - description of trace message gc_minor_start (see  - erlang:trace/3). New tuples can be added, and the order of - the tuples in the Info list can be changed at any time - without prior notice. - - {long_schedule, Time}: - If a process or port in the system runs uninterrupted for at - least Time wall clock milliseconds, a message {monitor, - PidOrPort, long_schedule, Info} is sent to MonitorPid.  - PidOrPort is the process or port that was running. Info is - a list of two-element tuples describing the event. - - If a pid(), the tuples {timeout, Millis}, {in, Location}, - and {out, Location} are present, where Location is either - an MFA ({Module, Function, Arity}) describing the function - where the process was scheduled in/out, or the atom undefined. - - If a port(), the tuples {timeout, Millis} and  - {port_op,Op} are present. Op is one of proc_sig, timeout,  - input, output, event, or dist_cmd, depending on which - driver callback was executing. - - proc_sig is an internal operation and is never to appear, - while the others represent the corresponding driver callbacks  - timeout, ready_input, ready_output, event, and outputv - (when the port is used by distribution). Value Millis in - tuple timeout informs about the uninterrupted execution time - of the process or port, which always is equal to or higher - than the Time value supplied when starting the trace. New - tuples can be added to the Info list in a future release. - The order of the tuples in the list can be changed at any time - without prior notice. - - This can be used to detect problems with NIFs or drivers that - take too long to execute. 1 ms is considered a good maximum - time for a driver callback or a NIF. However, a time-sharing - system is usually to consider everything < 100 ms as - "possible" and fairly "normal". However, longer schedule times - can indicate swapping or a misbehaving NIF/driver. Misbehaving - NIFs and drivers can cause bad resource utilization and bad - overall system performance. - - {large_heap, Size}: - If a garbage collection in the system results in the allocated - size of a heap being at least Size words, a message  - {monitor, GcPid, large_heap, Info} is sent to MonitorPid.  - GcPid and Info are the same as for long_gc earlier, - except that the tuple tagged with timeout is not present. - - The monitor message is sent if the sum of the sizes of all - memory blocks allocated for all heap generations after a - garbage collection is equal to or higher than Size. - - When a process is killed by max_heap_size, it is killed - before the garbage collection is complete and thus no large - heap message is sent. - - busy_port: - If a process in the system gets suspended because it sends to - a busy port, a message {monitor, SusPid, busy_port, Port} is - sent to MonitorPid. SusPid is the pid that got suspended - when sending to Port. - - busy_dist_port: - If a process in the system gets suspended because it sends to - a process on a remote node whose inter-node communication was - handled by a busy port, a message {monitor, SusPid, - busy_dist_port, Port} is sent to MonitorPid. SusPid is - the pid that got suspended when sending through the inter-node - communication port Port. + • {long_gc, Time} - If a garbage collection in the system + takes at least Time wall clock milliseconds, a message  + {monitor, GcPid, long_gc, Info} is sent to MonitorPid.  + GcPid is the pid that was garbage collected. Info is a + list of two-element tuples describing the result of the + garbage collection. + + One of the tuples is {timeout, GcTime}, where GcTime is + the time for the garbage collection in milliseconds. The + other tuples are tagged with heap_size, heap_block_size,  + stack_size, mbuf_size, old_heap_size, and  + old_heap_block_size. These tuples are explained in the + description of trace message gc_minor_start (see  + trace:process/4). New tuples can be added, and the order of + the tuples in the Info list can be changed at any time + without prior notice. + + • {long_message_queue, {Disable, Enable}} - If the message + queue length of a process in the system reach Enable + length, a long_message_queue monitor message is sent to + the process identified by MonitorPid. The monitor message + will be on the form {monitor, Pid, long_message_queue, + Long}, where Pid is the process identifier of the process + that got a long message queue and Long will equal true + indicating that it is in a long message queue state. No + more long_message_queue monitor messages will be sent due + to the process identified by Pid until its message queue + length falls down to a length of Disable length. When this + happens, a long_message_queue monitor message with Long + equal to false will be sent to the process identified by  + MonitorPid indicating that the process is no longer in a + long message queue state. As of this, if the message queue + length should again reach Enable length, a new  + long_message_queue monitor message with Long set to true + will again be sent. That is, a long_message_queue monitor + message is sent when a process enters or leaves a long + message queue state where these state changes are defined + by the Enable and Disable parameters. + + Enable length must be an integer larger than zero and  + Disable length must be an integer larger than or equal to + zero. Disable length must also be smaller than Enable + length. If the above is not satisfied the operation will + fail with a badarg error exception. You are recommended to + use a much smaller value for Disable length than Enable + length in order not to be flooded with long_message_queue + monitor messages. + + • {long_schedule, Time} - If a process or port in the system + runs uninterrupted for at least Time wall clock + milliseconds, a message {monitor, PidOrPort, long_schedule, + Info} is sent to MonitorPid. PidOrPort is the process + or port that was running. Info is a list of two-element + tuples describing the event. + + If a pid/0, the tuples {timeout, Millis}, {in, + Location}, and {out, Location} are present, where  + Location is either an MFA ({Module, Function, Arity}) + describing the function where the process was scheduled + in/out, or the atom undefined. + + If a port/0, the tuples {timeout, Millis} and  + {port_op,Op} are present. Op is one of proc_sig,  + timeout, input, output, event, or dist_cmd, + depending on which driver callback was executing. + + proc_sig is an internal operation and is never to appear, + while the others represent the corresponding driver + callbacks timeout, ready_input, ready_output, event, + and outputv (when the port is used by distribution). Value  + Millis in tuple timeout informs about the uninterrupted + execution time of the process or port, which always is equal + to or higher than the Time value supplied when starting + the trace. New tuples can be added to the Info list in a + future release. The order of the tuples in the list can be + changed at any time without prior notice. + + This can be used to detect problems with NIFs or drivers + that take too long to execute. 1 ms is considered a good + maximum time for a driver callback or a NIF. However, a + time-sharing system is usually to consider everything < 100 + ms as "possible" and fairly "normal". However, longer + schedule times can indicate swapping or a misbehaving + NIF/driver. Misbehaving NIFs and drivers can cause bad + resource utilization and bad overall system performance. + + • {large_heap, Size} - If a garbage collection in the system + results in the allocated size of a heap being at least Size + words, a message {monitor, GcPid, large_heap, Info} is + sent to MonitorPid. GcPid and Info are the same as for  + long_gc earlier, except that the tuple tagged with timeout + is not present. + + The monitor message is sent if the sum of the sizes of all + memory blocks allocated for all heap generations after a + garbage collection is equal to or higher than Size. + + When a process is killed by max_heap_size, it is killed + before the garbage collection is complete and thus no large + heap message is sent. + + • busy_port - If a process in the system gets suspended + because it sends to a busy port, a message {monitor, + SusPid, busy_port, Port} is sent to MonitorPid. SusPid + is the pid that got suspended when sending to Port. + + • busy_dist_port If a process in the system gets suspended + because it sends to a process on a remote node whose + inter-node communication was handled by a busy port, a + message {monitor, SusPid, busy_dist_port, Port} is sent to  + MonitorPid. SusPid is the pid that got suspended when + sending through the inter-node communication port Port. Returns the previous system monitor settings just like  erlang:system_monitor/0. @@ -121,19 +143,16 @@ currently not possible to monitor all garbage collections with  {long_gc, 0}. - Note: + Note + If a monitoring process gets so large that it itself starts to cause system monitor messages when garbage collecting, the messages enlarge the process message queue and probably make - the problem worse. - - Keep the monitoring process neat and do not set the system - monitor limits too tight. + the problem worse. Keep the monitoring process neat and do not + set the system monitor limits too tight. Failures: - badarg: - If MonitorPid does not exist. + • badarg - If MonitorPid does not exist. - badarg: - If MonitorPid is not a local process. + • badarg - If MonitorPid is not a local process. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_monitor_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_monitor_func.txt index 937f023b71a2..531bf085463a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_monitor_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_monitor_func.txt @@ -1,38 +1,25 @@ - -spec erlang:system_monitor() -> MonSettings -  when -  MonSettings :: -  undefined | {MonitorPid, Options}, -  MonitorPid :: pid(), -  Options :: [system_monitor_option()]. - - Types: - -type system_monitor_option() :: - busy_port | busy_dist_port | - {long_gc, non_neg_integer()} | - {long_schedule, non_neg_integer()} | - {large_heap, non_neg_integer()}. + -spec system_monitor() -> MonSettings +  when +  MonSettings :: +  undefined | {MonitorPid, Options}, +  MonitorPid :: pid(), +  Options :: [system_monitor_option()]. Returns the current system monitoring settings set by  erlang:system_monitor/2 as {MonitorPid, Options}, or undefined - if no settings exist. The order of the options can be different - from the one that was set. - - -spec erlang:system_monitor(Arg) -> MonSettings -  when -  Arg :: -  undefined | {MonitorPid, Options}, -  MonSettings :: -  undefined | {MonitorPid, Options}, -  MonitorPid :: pid(), -  Options :: [system_monitor_option()]. - - Types: - -type system_monitor_option() :: - busy_port | busy_dist_port | - {long_gc, non_neg_integer()} | - {long_schedule, non_neg_integer()} | - {large_heap, non_neg_integer()}. + if no settings exist. + + The order of the options can be different from the one that was + set. + + -spec system_monitor(Arg) -> MonSettings +  when +  Arg :: undefined | {MonitorPid, Options}, +  MonSettings :: +  undefined | {MonitorPid, Options}, +  MonitorPid :: pid(), +  Options :: [system_monitor_option()]. When called with argument undefined, all system performance monitoring settings are cleared. @@ -43,110 +30,132 @@ Returns the previous system monitor settings just like  erlang:system_monitor/0. - -spec erlang:system_monitor(MonitorPid, Options) -> MonSettings -  when -  MonitorPid :: pid(), -  Options :: [system_monitor_option()], -  MonSettings :: -  undefined | -  {OldMonitorPid, OldOptions}, -  OldMonitorPid :: pid(), -  OldOptions :: -  [system_monitor_option()]. - - Types: - -type system_monitor_option() :: - busy_port | busy_dist_port | - {long_gc, non_neg_integer()} | - {long_schedule, non_neg_integer()} | - {large_heap, non_neg_integer()}. + -spec system_monitor(MonitorPid, Options) -> MonSettings +  when +  MonitorPid :: pid(), +  Options :: [system_monitor_option()], +  MonSettings :: +  undefined | {OldMonitorPid, OldOptions}, +  OldMonitorPid :: pid(), +  OldOptions :: [system_monitor_option()]. Sets the system performance monitoring options. MonitorPid is a local process identifier (pid) receiving system monitor messages. + The second argument is a list of monitoring options: - {long_gc, Time}: - If a garbage collection in the system takes at least Time - wall clock milliseconds, a message {monitor, GcPid, long_gc, - Info} is sent to MonitorPid. GcPid is the pid that was - garbage collected. Info is a list of two-element tuples - describing the result of the garbage collection. - - One of the tuples is {timeout, GcTime}, where GcTime is - the time for the garbage collection in milliseconds. The other - tuples are tagged with heap_size, heap_block_size,  - stack_size, mbuf_size, old_heap_size, and  - old_heap_block_size. These tuples are explained in the - description of trace message gc_minor_start (see  - erlang:trace/3). New tuples can be added, and the order of - the tuples in the Info list can be changed at any time - without prior notice. - - {long_schedule, Time}: - If a process or port in the system runs uninterrupted for at - least Time wall clock milliseconds, a message {monitor, - PidOrPort, long_schedule, Info} is sent to MonitorPid.  - PidOrPort is the process or port that was running. Info is - a list of two-element tuples describing the event. - - If a pid(), the tuples {timeout, Millis}, {in, Location}, - and {out, Location} are present, where Location is either - an MFA ({Module, Function, Arity}) describing the function - where the process was scheduled in/out, or the atom undefined. - - If a port(), the tuples {timeout, Millis} and  - {port_op,Op} are present. Op is one of proc_sig, timeout,  - input, output, event, or dist_cmd, depending on which - driver callback was executing. - - proc_sig is an internal operation and is never to appear, - while the others represent the corresponding driver callbacks  - timeout, ready_input, ready_output, event, and outputv - (when the port is used by distribution). Value Millis in - tuple timeout informs about the uninterrupted execution time - of the process or port, which always is equal to or higher - than the Time value supplied when starting the trace. New - tuples can be added to the Info list in a future release. - The order of the tuples in the list can be changed at any time - without prior notice. - - This can be used to detect problems with NIFs or drivers that - take too long to execute. 1 ms is considered a good maximum - time for a driver callback or a NIF. However, a time-sharing - system is usually to consider everything < 100 ms as - "possible" and fairly "normal". However, longer schedule times - can indicate swapping or a misbehaving NIF/driver. Misbehaving - NIFs and drivers can cause bad resource utilization and bad - overall system performance. - - {large_heap, Size}: - If a garbage collection in the system results in the allocated - size of a heap being at least Size words, a message  - {monitor, GcPid, large_heap, Info} is sent to MonitorPid.  - GcPid and Info are the same as for long_gc earlier, - except that the tuple tagged with timeout is not present. - - The monitor message is sent if the sum of the sizes of all - memory blocks allocated for all heap generations after a - garbage collection is equal to or higher than Size. - - When a process is killed by max_heap_size, it is killed - before the garbage collection is complete and thus no large - heap message is sent. - - busy_port: - If a process in the system gets suspended because it sends to - a busy port, a message {monitor, SusPid, busy_port, Port} is - sent to MonitorPid. SusPid is the pid that got suspended - when sending to Port. - - busy_dist_port: - If a process in the system gets suspended because it sends to - a process on a remote node whose inter-node communication was - handled by a busy port, a message {monitor, SusPid, - busy_dist_port, Port} is sent to MonitorPid. SusPid is - the pid that got suspended when sending through the inter-node - communication port Port. + • {long_gc, Time} - If a garbage collection in the system + takes at least Time wall clock milliseconds, a message  + {monitor, GcPid, long_gc, Info} is sent to MonitorPid.  + GcPid is the pid that was garbage collected. Info is a + list of two-element tuples describing the result of the + garbage collection. + + One of the tuples is {timeout, GcTime}, where GcTime is + the time for the garbage collection in milliseconds. The + other tuples are tagged with heap_size, heap_block_size,  + stack_size, mbuf_size, old_heap_size, and  + old_heap_block_size. These tuples are explained in the + description of trace message gc_minor_start (see  + trace:process/4). New tuples can be added, and the order of + the tuples in the Info list can be changed at any time + without prior notice. + + • {long_message_queue, {Disable, Enable}} - If the message + queue length of a process in the system reach Enable + length, a long_message_queue monitor message is sent to + the process identified by MonitorPid. The monitor message + will be on the form {monitor, Pid, long_message_queue, + Long}, where Pid is the process identifier of the process + that got a long message queue and Long will equal true + indicating that it is in a long message queue state. No + more long_message_queue monitor messages will be sent due + to the process identified by Pid until its message queue + length falls down to a length of Disable length. When this + happens, a long_message_queue monitor message with Long + equal to false will be sent to the process identified by  + MonitorPid indicating that the process is no longer in a + long message queue state. As of this, if the message queue + length should again reach Enable length, a new  + long_message_queue monitor message with Long set to true + will again be sent. That is, a long_message_queue monitor + message is sent when a process enters or leaves a long + message queue state where these state changes are defined + by the Enable and Disable parameters. + + Enable length must be an integer larger than zero and  + Disable length must be an integer larger than or equal to + zero. Disable length must also be smaller than Enable + length. If the above is not satisfied the operation will + fail with a badarg error exception. You are recommended to + use a much smaller value for Disable length than Enable + length in order not to be flooded with long_message_queue + monitor messages. + + • {long_schedule, Time} - If a process or port in the system + runs uninterrupted for at least Time wall clock + milliseconds, a message {monitor, PidOrPort, long_schedule, + Info} is sent to MonitorPid. PidOrPort is the process + or port that was running. Info is a list of two-element + tuples describing the event. + + If a pid/0, the tuples {timeout, Millis}, {in, + Location}, and {out, Location} are present, where  + Location is either an MFA ({Module, Function, Arity}) + describing the function where the process was scheduled + in/out, or the atom undefined. + + If a port/0, the tuples {timeout, Millis} and  + {port_op,Op} are present. Op is one of proc_sig,  + timeout, input, output, event, or dist_cmd, + depending on which driver callback was executing. + + proc_sig is an internal operation and is never to appear, + while the others represent the corresponding driver + callbacks timeout, ready_input, ready_output, event, + and outputv (when the port is used by distribution). Value  + Millis in tuple timeout informs about the uninterrupted + execution time of the process or port, which always is equal + to or higher than the Time value supplied when starting + the trace. New tuples can be added to the Info list in a + future release. The order of the tuples in the list can be + changed at any time without prior notice. + + This can be used to detect problems with NIFs or drivers + that take too long to execute. 1 ms is considered a good + maximum time for a driver callback or a NIF. However, a + time-sharing system is usually to consider everything < 100 + ms as "possible" and fairly "normal". However, longer + schedule times can indicate swapping or a misbehaving + NIF/driver. Misbehaving NIFs and drivers can cause bad + resource utilization and bad overall system performance. + + • {large_heap, Size} - If a garbage collection in the system + results in the allocated size of a heap being at least Size + words, a message {monitor, GcPid, large_heap, Info} is + sent to MonitorPid. GcPid and Info are the same as for  + long_gc earlier, except that the tuple tagged with timeout + is not present. + + The monitor message is sent if the sum of the sizes of all + memory blocks allocated for all heap generations after a + garbage collection is equal to or higher than Size. + + When a process is killed by max_heap_size, it is killed + before the garbage collection is complete and thus no large + heap message is sent. + + • busy_port - If a process in the system gets suspended + because it sends to a busy port, a message {monitor, + SusPid, busy_port, Port} is sent to MonitorPid. SusPid + is the pid that got suspended when sending to Port. + + • busy_dist_port If a process in the system gets suspended + because it sends to a process on a remote node whose + inter-node communication was handled by a busy port, a + message {monitor, SusPid, busy_dist_port, Port} is sent to  + MonitorPid. SusPid is the pid that got suspended when + sending through the inter-node communication port Port. Returns the previous system monitor settings just like  erlang:system_monitor/0. @@ -165,19 +174,16 @@ currently not possible to monitor all garbage collections with  {long_gc, 0}. - Note: + Note + If a monitoring process gets so large that it itself starts to cause system monitor messages when garbage collecting, the messages enlarge the process message queue and probably make - the problem worse. - - Keep the monitoring process neat and do not set the system - monitor limits too tight. + the problem worse. Keep the monitoring process neat and do not + set the system monitor limits too tight. Failures: - badarg: - If MonitorPid does not exist. + • badarg - If MonitorPid does not exist. - badarg: - If MonitorPid is not a local process. + • badarg - If MonitorPid is not a local process. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_profile_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_profile_0_func.txt index bc5587dbeb45..3615b3591fe6 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_profile_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_profile_0_func.txt @@ -1,16 +1,10 @@ - -spec erlang:system_profile() -> ProfilerSettings -  when -  ProfilerSettings :: -  undefined | -  {ProfilerPid, Options}, -  ProfilerPid :: pid() | port(), -  Options :: [system_profile_option()]. - - Types: - -type system_profile_option() :: - exclusive | runnable_ports | runnable_procs | scheduler | - timestamp | monotonic_timestamp | strict_monotonic_timestamp. + -spec system_profile() -> ProfilerSettings +  when +  ProfilerSettings :: +  undefined | {ProfilerPid, Options}, +  ProfilerPid :: pid() | port(), +  Options :: [system_profile_option()]. Returns the current system profiling settings set by  erlang:system_profile/2 as {ProfilerPid, Options}, or  diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_profile_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_profile_2_func.txt index c509172c1896..a49335c45dea 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_profile_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_profile_2_func.txt @@ -1,67 +1,59 @@ - -spec erlang:system_profile(ProfilerPid, Options) -> ProfilerSettings -  when -  ProfilerPid :: -  pid() | port() | undefined, -  Options :: [system_profile_option()], -  ProfilerSettings :: -  undefined | -  {pid() | port(), -  [system_profile_option()]}. - - Types: - -type system_profile_option() :: - exclusive | runnable_ports | runnable_procs | scheduler | - timestamp | monotonic_timestamp | strict_monotonic_timestamp. + -spec system_profile(ProfilerPid, Options) -> ProfilerSettings +  when +  ProfilerPid :: pid() | port() | undefined, +  Options :: [system_profile_option()], +  ProfilerSettings :: +  undefined | +  {pid() | port(), +  [system_profile_option()]}. Sets system profiler options. ProfilerPid is a local process identifier (pid) or port receiving profiling messages. The receiver is excluded from all profiling. The second argument is a list of profiling options: - exclusive: - If a synchronous call to a port from a process is done, the - calling process is considered not runnable during the call - runtime to the port. The calling process is notified as  - inactive, and later active when the port callback returns. - - monotonic_timestamp: - Time stamps in profile messages use Erlang monotonic time. - The time stamp (Ts) has the same format and value as produced - by erlang:monotonic_time(nanosecond). - - runnable_procs: - If a process is put into or removed from the run queue, a - message, {profile, Pid, State, Mfa, Ts}, is sent to  - ProfilerPid. Running processes that are reinserted into the - run queue after having been pre-empted do not trigger this - message. - - runnable_ports: - If a port is put into or removed from the run queue, a - message, {profile, Port, State, 0, Ts}, is sent to  - ProfilerPid. - - scheduler: - If a scheduler is put to sleep or awoken, a message,  - {profile, scheduler, Id, State, NoScheds, Ts}, is sent to  - ProfilerPid. - - strict_monotonic_timestamp: - Time stamps in profile messages consist of Erlang monotonic - time and a monotonically increasing integer. The time stamp - (Ts) has the same format and value as produced by  - {erlang:monotonic_time(nanosecond), - erlang:unique_integer([monotonic])}. - - timestamp: - Time stamps in profile messages include a time stamp (Ts) that - has the same form as returned by erlang:now(). This is also - the default if no time stamp flag is specified. If  - cpu_timestamp has been enabled through erlang:trace/3, this - also effects the time stamp produced in profiling messages - when flag timestamp is enabled. + • exclusive - If a synchronous call to a port from a process + is done, the calling process is considered not runnable + during the call runtime to the port. The calling process is + notified as inactive, and later active when the port + callback returns. + + • monotonic_timestamp - Time stamps in profile messages use + Erlang monotonic time. The time stamp (Ts) has the same + format and value as produced by  + erlang:monotonic_time(nanosecond). + + • runnable_procs - If a process is put into or removed from + the run queue, a message, {profile, Pid, State, Mfa, Ts}, + is sent to ProfilerPid. Running processes that are + reinserted into the run queue after having been pre-empted + do not trigger this message. + + • runnable_ports - If a port is put into or removed from the + run queue, a message, {profile, Port, State, 0, Ts}, is + sent to ProfilerPid. + + • scheduler - If a scheduler is put to sleep or awoken, a + message, {profile, scheduler, Id, State, NoScheds, Ts}, is + sent to ProfilerPid. + + • strict_monotonic_timestamp - Time stamps in profile + messages consist of Erlang monotonic time and a + monotonically increasing integer. The time stamp (Ts) has + the same format and value as produced by  + {erlang:monotonic_time(nanosecond), + erlang:unique_integer([monotonic])}. + + • timestamp - Time stamps in profile messages include a time + stamp (Ts) that has the same form as returned by  + erlang:now(). This is also the default if no time stamp + flag is specified. If cpu_timestamp has been enabled + through trace:process/4, this also effects the time stamp + produced in profiling messages when flag timestamp is + enabled. + + Note - Note: erlang:system_profile behavior can change in a future release. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_profile_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_profile_func.txt index 117ff3d8c9b7..38eed7e82fe8 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_profile_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_profile_func.txt @@ -1,85 +1,71 @@ - -spec erlang:system_profile() -> ProfilerSettings -  when -  ProfilerSettings :: -  undefined | -  {ProfilerPid, Options}, -  ProfilerPid :: pid() | port(), -  Options :: [system_profile_option()]. - - Types: - -type system_profile_option() :: - exclusive | runnable_ports | runnable_procs | scheduler | - timestamp | monotonic_timestamp | strict_monotonic_timestamp. + -spec system_profile() -> ProfilerSettings +  when +  ProfilerSettings :: +  undefined | {ProfilerPid, Options}, +  ProfilerPid :: pid() | port(), +  Options :: [system_profile_option()]. Returns the current system profiling settings set by  erlang:system_profile/2 as {ProfilerPid, Options}, or  undefined if there are no settings. The order of the options can be different from the one that was set. - -spec erlang:system_profile(ProfilerPid, Options) -> ProfilerSettings -  when -  ProfilerPid :: -  pid() | port() | undefined, -  Options :: [system_profile_option()], -  ProfilerSettings :: -  undefined | -  {pid() | port(), -  [system_profile_option()]}. - - Types: - -type system_profile_option() :: - exclusive | runnable_ports | runnable_procs | scheduler | - timestamp | monotonic_timestamp | strict_monotonic_timestamp. + -spec system_profile(ProfilerPid, Options) -> ProfilerSettings +  when +  ProfilerPid :: pid() | port() | undefined, +  Options :: [system_profile_option()], +  ProfilerSettings :: +  undefined | +  {pid() | port(), +  [system_profile_option()]}. Sets system profiler options. ProfilerPid is a local process identifier (pid) or port receiving profiling messages. The receiver is excluded from all profiling. The second argument is a list of profiling options: - exclusive: - If a synchronous call to a port from a process is done, the - calling process is considered not runnable during the call - runtime to the port. The calling process is notified as  - inactive, and later active when the port callback returns. + • exclusive - If a synchronous call to a port from a process + is done, the calling process is considered not runnable + during the call runtime to the port. The calling process is + notified as inactive, and later active when the port + callback returns. + + • monotonic_timestamp - Time stamps in profile messages use + Erlang monotonic time. The time stamp (Ts) has the same + format and value as produced by  + erlang:monotonic_time(nanosecond). - monotonic_timestamp: - Time stamps in profile messages use Erlang monotonic time. - The time stamp (Ts) has the same format and value as produced - by erlang:monotonic_time(nanosecond). + • runnable_procs - If a process is put into or removed from + the run queue, a message, {profile, Pid, State, Mfa, Ts}, + is sent to ProfilerPid. Running processes that are + reinserted into the run queue after having been pre-empted + do not trigger this message. - runnable_procs: - If a process is put into or removed from the run queue, a - message, {profile, Pid, State, Mfa, Ts}, is sent to  - ProfilerPid. Running processes that are reinserted into the - run queue after having been pre-empted do not trigger this - message. + • runnable_ports - If a port is put into or removed from the + run queue, a message, {profile, Port, State, 0, Ts}, is + sent to ProfilerPid. - runnable_ports: - If a port is put into or removed from the run queue, a - message, {profile, Port, State, 0, Ts}, is sent to  - ProfilerPid. + • scheduler - If a scheduler is put to sleep or awoken, a + message, {profile, scheduler, Id, State, NoScheds, Ts}, is + sent to ProfilerPid. - scheduler: - If a scheduler is put to sleep or awoken, a message,  - {profile, scheduler, Id, State, NoScheds, Ts}, is sent to  - ProfilerPid. + • strict_monotonic_timestamp - Time stamps in profile + messages consist of Erlang monotonic time and a + monotonically increasing integer. The time stamp (Ts) has + the same format and value as produced by  + {erlang:monotonic_time(nanosecond), + erlang:unique_integer([monotonic])}. - strict_monotonic_timestamp: - Time stamps in profile messages consist of Erlang monotonic - time and a monotonically increasing integer. The time stamp - (Ts) has the same format and value as produced by  - {erlang:monotonic_time(nanosecond), - erlang:unique_integer([monotonic])}. + • timestamp - Time stamps in profile messages include a time + stamp (Ts) that has the same form as returned by  + erlang:now(). This is also the default if no time stamp + flag is specified. If cpu_timestamp has been enabled + through trace:process/4, this also effects the time stamp + produced in profiling messages when flag timestamp is + enabled. - timestamp: - Time stamps in profile messages include a time stamp (Ts) that - has the same form as returned by erlang:now(). This is also - the default if no time stamp flag is specified. If  - cpu_timestamp has been enabled through erlang:trace/3, this - also effects the time stamp produced in profiling messages - when flag timestamp is enabled. + Note - Note: erlang:system_profile behavior can change in a future release. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_time_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_time_0_func.txt index 11a87371f64d..1903fdf76f83 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_time_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_time_0_func.txt @@ -1,5 +1,5 @@ - -spec erlang:system_time() -> integer(). + -spec system_time() -> integer(). Since: OTP 18.0 @@ -7,9 +7,10 @@ Returns current Erlang system time in native time unit. Calling erlang:system_time() is equivalent to  - erlang:monotonic_time() + erlang:time_offset(). + erlang:monotonic_time()+erlang:time_offset(). + + Note - Note: This time is not a monotonically increasing time in the - general case. For more information, see the documentation of + general case. For more information, see the documentation of time warp modes in the User's Guide. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_time_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_time_1_func.txt index 12f625f59e20..7e8e529ca5bc 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_time_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_time_1_func.txt @@ -1,5 +1,5 @@ - -spec erlang:system_time(Unit) -> integer() when Unit :: time_unit(). + -spec system_time(Unit) -> integer() when Unit :: time_unit(). Since: OTP 18.0 @@ -10,7 +10,8 @@ Calling erlang:system_time(Unit) is equivalent to  erlang:convert_time_unit(erlang:system_time(), native, Unit). - Note: + Note + This time is not a monotonically increasing time in the - general case. For more information, see the documentation of + general case. For more information, see the documentation of time warp modes in the User's Guide. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_time_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_time_func.txt index 629b7c8bd5e0..c56ec978cb9a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_time_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_time_func.txt @@ -1,5 +1,5 @@ - -spec erlang:system_time() -> integer(). + -spec system_time() -> integer(). Since: OTP 18.0 @@ -7,14 +7,15 @@ Returns current Erlang system time in native time unit. Calling erlang:system_time() is equivalent to  - erlang:monotonic_time() + erlang:time_offset(). + erlang:monotonic_time()+erlang:time_offset(). + + Note - Note: This time is not a monotonically increasing time in the - general case. For more information, see the documentation of + general case. For more information, see the documentation of time warp modes in the User's Guide. - -spec erlang:system_time(Unit) -> integer() when Unit :: time_unit(). + -spec system_time(Unit) -> integer() when Unit :: time_unit(). Since: OTP 18.0 @@ -25,7 +26,8 @@ Calling erlang:system_time(Unit) is equivalent to  erlang:convert_time_unit(erlang:system_time(), native, Unit). - Note: + Note + This time is not a monotonically increasing time in the - general case. For more information, see the documentation of + general case. For more information, see the documentation of time warp modes in the User's Guide. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_0_type.txt index 275c5aa8c334..fe82ffdcc302 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_0_type.txt @@ -1,4 +1,4 @@ -type term() :: any(). - All possible Erlang terms. Synonym for any(). + All possible Erlang terms. Synonym for any/0. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_binary_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_binary_1_func.txt index 09e1ea3b730e..cdf8f97f0b9b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_binary_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_binary_1_func.txt @@ -16,6 +16,7 @@ See also binary_to_term/1. - Note: + Note + There is no guarantee that this function will return the same encoded representation for the same term. 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 4730f4ebe24c..c1ad9dfd2fd0 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 @@ -14,137 +14,136 @@ 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. + • 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_binary_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_binary_func.txt index 64c543d97fbc..e1365cd46094 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_binary_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_binary_func.txt @@ -16,7 +16,8 @@ See also binary_to_term/1. - Note: + Note + There is no guarantee that this function will return the same encoded representation for the same term. @@ -35,137 +36,136 @@ 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. + • 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_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_iovec_1_func.txt index 57294bb2c1e2..663c4a63e4bf 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_iovec_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_iovec_1_func.txt @@ -5,7 +5,7 @@ OTP 23.0 Returns the encoding of Term according to the Erlang external - term format as ext_iovec(). + term format as ext_iovec/0. This function produce the same encoding as term_to_binary/1, but with another return type. The call  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 f10eda5c1e7d..54b3a1335679 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 @@ -13,7 +13,7 @@ OTP 23.0 Returns the encoding of Term according to the Erlang external - term format as ext_iovec(). + term format as ext_iovec/0. This function produce the same encoding as term_to_binary/2, but with another return type. The call  diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_iovec_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_iovec_func.txt index 6665fcc17a01..53d5ac8350f8 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_iovec_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_iovec_func.txt @@ -5,7 +5,7 @@ OTP 23.0 Returns the encoding of Term according to the Erlang external - term format as ext_iovec(). + term format as ext_iovec/0. This function produce the same encoding as term_to_binary/1, but with another return type. The call  @@ -33,7 +33,7 @@ OTP 23.0 Returns the encoding of Term according to the Erlang external - term format as ext_iovec(). + term format as ext_iovec/0. This function produce the same encoding as term_to_binary/2, but with another return type. The call  diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_throw_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_throw_1_func.txt index 584dcc220783..397a20e4e9bd 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_throw_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_throw_1_func.txt @@ -5,13 +5,17 @@ non-local returns from functions. If evaluated within a catch expression, the catch expression - returns value Any. Example: + returns value Any. + + For example: > catch throw({hello, there}). {hello,there} If evaluated within a try-block of a try expression, the value  - Any can be caught within the catch block. Example: + Any can be caught within the catch block. + + For example: try throw({my_exception, "Something happened"}) diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_0_func.txt index 06e5a62c5ef4..8459c369b0b1 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_0_func.txt @@ -5,7 +5,8 @@ The time zone and Daylight Saving Time correction depend on the underlying OS. The return value is based on the OS System Time. - Example: + + For example: > time(). {9,42,44} diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_offset_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_offset_0_func.txt index bbe28748e4ba..ebcd06481b2a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_offset_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_offset_0_func.txt @@ -1,26 +1,25 @@ - -spec erlang:time_offset() -> integer(). + -spec time_offset() -> integer(). Since: OTP 18.0 - Returns the current time offset between Erlang monotonic time - and Erlang system time in native time unit. Current time - offset added to an Erlang monotonic time gives corresponding - Erlang system time. + Returns the current time offset between Erlang monotonic time and + Erlang system time in native time unit. Current time offset + added to an Erlang monotonic time gives corresponding Erlang + system time. The time offset may or may not change during operation depending on the time warp mode used. - Note: - A change in time offset can be observed at slightly different - points in time by different processes. + Note - If the runtime system is in multi-time warp mode, the time - offset is changed when the runtime system detects that the OS - system time has changed. The runtime system will, however, - not detect this immediately when it occurs. A task checking - the time offset is scheduled to execute at least once a - minute; so, under normal operation this is to be detected - within a minute, but during heavy load it can take longer - time. + A change in time offset can be observed at slightly different + points in time by different processes. If the runtime system + is in multi-time warp mode, the time offset is changed when + the runtime system detects that the OS system time has + changed. The runtime system will, however, not detect this + immediately when it occurs. A task checking the time offset is + scheduled to execute at least once a minute; so, under normal + operation this is to be detected within a minute, but during + heavy load it can take longer time. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_offset_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_offset_1_func.txt index ae844add95a8..95ef4f2808c2 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_offset_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_offset_1_func.txt @@ -1,12 +1,11 @@ - -spec erlang:time_offset(Unit) -> integer() when Unit :: time_unit(). + -spec time_offset(Unit) -> integer() when Unit :: time_unit(). Since: OTP 18.0 - Returns the current time offset between Erlang monotonic time - and Erlang system time converted into the Unit passed as - argument. + Returns the current time offset between Erlang monotonic time and + Erlang system time converted into the Unit passed as argument. Same as calling erlang:convert_time_unit( erlang:time_offset(), native, Unit) however optimized for commonly used Units. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_offset_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_offset_func.txt index e8687aff50de..3999657731e9 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_offset_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_offset_func.txt @@ -1,38 +1,36 @@ - -spec erlang:time_offset() -> integer(). + -spec time_offset() -> integer(). Since: OTP 18.0 - Returns the current time offset between Erlang monotonic time - and Erlang system time in native time unit. Current time - offset added to an Erlang monotonic time gives corresponding - Erlang system time. + Returns the current time offset between Erlang monotonic time and + Erlang system time in native time unit. Current time offset + added to an Erlang monotonic time gives corresponding Erlang + system time. The time offset may or may not change during operation depending on the time warp mode used. - Note: - A change in time offset can be observed at slightly different - points in time by different processes. + Note - If the runtime system is in multi-time warp mode, the time - offset is changed when the runtime system detects that the OS - system time has changed. The runtime system will, however, - not detect this immediately when it occurs. A task checking - the time offset is scheduled to execute at least once a - minute; so, under normal operation this is to be detected - within a minute, but during heavy load it can take longer - time. + A change in time offset can be observed at slightly different + points in time by different processes. If the runtime system + is in multi-time warp mode, the time offset is changed when + the runtime system detects that the OS system time has + changed. The runtime system will, however, not detect this + immediately when it occurs. A task checking the time offset is + scheduled to execute at least once a minute; so, under normal + operation this is to be detected within a minute, but during + heavy load it can take longer time. - -spec erlang:time_offset(Unit) -> integer() when Unit :: time_unit(). + -spec time_offset(Unit) -> integer() when Unit :: time_unit(). Since: OTP 18.0 - Returns the current time offset between Erlang monotonic time - and Erlang system time converted into the Unit passed as - argument. + Returns the current time offset between Erlang monotonic time and + Erlang system time converted into the Unit passed as argument. Same as calling erlang:convert_time_unit( erlang:time_offset(), native, Unit) however optimized for commonly used Units. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_unit_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_unit_0_type.txt index da544e5ed8d9..6b48cf00b283 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_unit_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_time_unit_0_type.txt @@ -5,65 +5,63 @@  perf_counter |  deprecated_time_unit(). + The time unit used by erlang time APIs. + Supported time unit representations: - PartsPerSecond :: integer() >= 1: - Time unit expressed in parts per second. That is, the time - unit equals 1/PartsPerSecond second. - - second: - Symbolic representation of the time unit represented by the - integer 1. - - millisecond: - Symbolic representation of the time unit represented by the - integer 1000. - - microsecond: - Symbolic representation of the time unit represented by the - integer 1000_000. - - nanosecond: - Symbolic representation of the time unit represented by the - integer 1000_000_000. - - native: - Symbolic representation of the native time unit used by the - Erlang runtime system. - - The native time unit is determined at runtime system start, - and remains the same until the runtime system terminates. If a - runtime system is stopped and then started again (even on the - same machine), the native time unit of the new runtime - system instance can differ from the native time unit of the - old runtime system instance. - - One can get an approximation of the native time unit by - calling erlang:convert_time_unit(1, second, native). The - result equals the number of whole native time units per - second. If the number of native time units per second does - not add up to a whole number, the result is rounded downwards. - - Note: - The value of the native time unit gives you more or less - no information about the quality of time values. It sets a - limit for the resolution and for the precision of time - values, but it gives no information about the accuracy - of time values. The resolution of the native time unit - and the resolution of time values can differ - significantly. - - perf_counter: - Symbolic representation of the performance counter time unit - used by the Erlang runtime system. - - The perf_counter time unit behaves much in the same way as - the native time unit. That is, it can differ between runtime - restarts. To get values of this type, call os:perf_counter/0. - - deprecated_time_unit(): - Deprecated symbolic representations kept for - backwards-compatibility. + • PartsPerSecond :: integer() >= 1 - Time unit expressed in + parts per second. That is, the time unit equals  + 1/PartsPerSecond second. + + • second - Symbolic representation of the time unit + represented by the integer 1. + + • millisecond - Symbolic representation of the time unit + represented by the integer 1000. + + • microsecond - Symbolic representation of the time unit + represented by the integer 1000_000. + + • nanosecond - Symbolic representation of the time unit + represented by the integer 1000_000_000. + + • native - Symbolic representation of the native time unit + used by the Erlang runtime system. + + The native time unit is determined at runtime system + start, and remains the same until the runtime system + terminates. If a runtime system is stopped and then started + again (even on the same machine), the native time unit of + the new runtime system instance can differ from the native + time unit of the old runtime system instance. + + One can get an approximation of the native time unit by + calling erlang:convert_time_unit(1, second, native). The + result equals the number of whole native time units per + second. If the number of native time units per second does + not add up to a whole number, the result is rounded + downwards. + + Note + + The value of the native time unit gives you more or + less no information about the quality of time values. It + sets a limit for the resolution and for the precision of + time values, but it gives no information about the + accuracy of time values. The resolution of the native + time unit and the resolution of time values can differ + significantly. + + • perf_counter - Symbolic representation of the performance + counter time unit used by the Erlang runtime system. + + The perf_counter time unit behaves much in the same way as + the native time unit. That is, it can differ between + runtime restarts. To get values of this type, call  + os:perf_counter/0. + + • deprecated_time_unit/0 - Deprecated symbolic + representations kept for backwards-compatibility. The time_unit/0 type can be extended. To convert time values between time units, use erlang:convert_time_unit/3. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_timestamp_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_timestamp_0_func.txt index f6030ea2ad3d..62ecdb91315c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_timestamp_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_timestamp_0_func.txt @@ -1,18 +1,14 @@ - -spec erlang:timestamp() -> Timestamp when Timestamp :: timestamp(). + -spec timestamp() -> Timestamp when Timestamp :: timestamp(). Since: OTP 18.0 - Types: - -type timestamp() :: - {MegaSecs :: non_neg_integer(), - Secs :: non_neg_integer(), - MicroSecs :: non_neg_integer()}. + Returns current Erlang system time on the format {MegaSecs, Secs, + MicroSecs}. - Returns current Erlang system time on the format {MegaSecs, - Secs, MicroSecs}. This format is the same as os:timestamp/0 and - the deprecated erlang:now/0 use. The reason for the existence of  + This format is the same as os:timestamp/0 and the deprecated  + erlang:now/0 use. The reason for the existence of  erlang:timestamp() is purely to simplify use for existing code that assumes this time stamp format. Current Erlang system time can more efficiently be retrieved in the time unit of your choice @@ -30,7 +26,8 @@ It, however, uses a native implementation that does not build garbage on the heap and with slightly better performance. - Note: + Note + This time is not a monotonically increasing time in the - general case. For more information, see the documentation of + general case. For more information, see the documentation of time warp modes in the User's Guide. 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 f18c28c9c8e5..e3500088314a 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 @@ -21,6 +21,4 @@ > tl([geesties | improper_end]). improper_end - Allowed in guard tests. - Failure: badarg if List is an empty list []. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_3_func.txt index 46b04a1c4a95..0239247441e1 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_3_func.txt @@ -1,455 +1,38 @@ - -spec erlang:trace(PidPortSpec, How, FlagList) -> integer() -  when -  PidPortSpec :: -  pid() | -  port() | -  all | processes | ports | existing | -  existing_processes | existing_ports | -  new | new_processes | new_ports, -  How :: boolean(), -  FlagList :: [trace_flag()]. + -spec trace(PidPortSpec, How, FlagList) -> integer() +  when +  PidPortSpec :: +  pid() | +  port() | +  all | processes | ports | existing | +  existing_processes | existing_ports | new | +  new_processes | new_ports, +  How :: boolean(), +  FlagList :: [trace_flag()]. - Types: - -type trace_flag() :: - all | send | 'receive' | procs | ports | call | arity | - return_to | silent | running | exiting | running_procs | - running_ports | garbage_collection | timestamp | - cpu_timestamp | monotonic_timestamp | - strict_monotonic_timestamp | set_on_spawn | - set_on_first_spawn | set_on_link | set_on_first_link | - {tracer, pid() | port()} | - {tracer, module(), term()}. + Turn on or off trace flags on processes or ports for the static + legacy trace session. - Turns on (if How == true) or off (if How == false) the trace - flags in FlagList for the process or processes represented by  - PidPortSpec. + Change - PidPortSpec is either a process identifier (pid) for a local - process, a port identifier, or one of the following atoms: + This function is superseded by trace:process/4 and  + trace:port/4 that - all: - All currently existing processes and ports and all that will - be created in the future. + operate on dynamic trace sessions. - processes: - All currently existing processes and all that will be created - in the future. + Argument FlagList can contain two additional options: - ports: - All currently existing ports and all that will be created in - the future. + • {tracer, Tracer} - Specifies where to send the trace + messages. Tracer must be the process identifier of a local + process or the port identifier of a local port. - existing: - All currently existing processes and ports. - - existing_processes: - All currently existing processes. - - existing_ports: - All currently existing ports. - - new: - All processes and ports that will be created in the future. - - new_processes: - All processes that will be created in the future. - - new_ports: - All ports that will be created in the future. - - FlagList can contain any number of the following flags (the - "message tags" refers to the list of trace messages): - - all: - Sets all trace flags except tracer and cpu_timestamp, - which are in their nature different than the others. - - send: - Traces sending of messages. - - Message tags: send and send_to_non_existing_process. - - 'receive': - Traces receiving of messages. - - Message tags: 'receive'. - - call: - Traces certain function calls. Specify which function calls to - trace by calling erlang:trace_pattern/3. - - Message tags: call and return_from. - - silent: - Used with the call trace flag. The call, return_from, - and return_to trace messages are inhibited if this flag is - set, but they are executed as normal if there are match - specifications. - - Silent mode is inhibited by executing erlang:trace(_, false, - [silent|_]), or by a match specification executing the - function {silent, false}. - - The silent trace flag facilitates setting up a trace on many - or even all processes in the system. The trace can then be - activated and deactivated using the match specification - function {silent,Bool}, giving a high degree of control of - which functions with which arguments that trigger the trace. - - Message tags: call, return_from, and return_to. Or - rather, the absence of. - - return_to: - Used with the call trace flag. Traces the return from a - traced function back to its caller. Only works for functions - traced with option local to erlang:trace_pattern/3. - - The semantics is that a trace message is sent when a call - traced function returns, that is, when a chain of tail - recursive calls ends. Only one trace message is sent per chain - of tail recursive calls, so the properties of tail - recursiveness for function calls are kept while tracing with - this flag. Using call and return_to trace together makes - it possible to know exactly in which function a process - executes at any time. - - To get trace messages containing return values from functions, - use the {return_trace} match specification action instead. - - Message tags: return_to. - - procs: - Traces process-related events. - - Message tags: spawn, spawned, exit, register,  - unregister, link, unlink, getting_linked, and  - getting_unlinked. - - ports: - Traces port-related events. - - Message tags: open, closed, register, unregister,  - getting_linked, and getting_unlinked. - - running: - Traces scheduling of processes. - - Message tags: in and out. - - exiting: - Traces scheduling of exiting processes. - - Message tags: in_exiting, out_exiting, and out_exited. - - running_procs: - Traces scheduling of processes just like running. However, - this option also includes schedule events when the process - executes within the context of a port without being scheduled - out itself. - - Message tags: in and out. - - running_ports: - Traces scheduling of ports. - - Message tags: in and out. - - garbage_collection: - Traces garbage collections of processes. - - Message tags: gc_minor_start, gc_max_heap_size, and  - gc_minor_end. - - timestamp: - Includes a time stamp in all trace messages. The time stamp - (Ts) has the same form as returned by erlang:now(). - - cpu_timestamp: - A global trace flag for the Erlang node that makes all trace - time stamps using flag timestamp to be in CPU time, not wall - clock time. That is, cpu_timestamp is not be used if  - monotonic_timestamp or strict_monotonic_timestamp is - enabled. Only allowed with PidPortSpec==all. If the host - machine OS does not support high-resolution CPU time - measurements, trace/3 exits with badarg. Notice that most - OS do not synchronize this value across cores, so be prepared - that time can seem to go backwards when using this option. - - monotonic_timestamp: - Includes an Erlang monotonic time time stamp in all trace - messages. The time stamp (Ts) has the same format and value as - produced by erlang:monotonic_time(nanosecond). This flag - overrides flag cpu_timestamp. - - strict_monotonic_timestamp: - Includes an time stamp consisting of Erlang monotonic time - and a monotonically increasing integer in all trace messages. - The time stamp (Ts) has the same format and value as produced - by { erlang:monotonic_time(nanosecond),  - erlang:unique_integer([monotonic])}. This flag overrides - flag cpu_timestamp. - - arity: - Used with the call trace flag. {M, F, Arity} is specified - instead of {M, F, Args} in call trace messages. - - set_on_spawn: - Makes any process created by a traced process inherit its - trace flags, including flag set_on_spawn. - - set_on_first_spawn: - Makes the first process created by a traced process inherit - its trace flags, excluding flag set_on_first_spawn. - - set_on_link: - Makes any process linked by a traced process inherit its trace - flags, including flag set_on_link. - - set_on_first_link: - Makes the first process linked to by a traced process inherit - its trace flags, excluding flag set_on_first_link. - - {tracer, Tracer}: - Specifies where to send the trace messages. Tracer must be - the process identifier of a local process or the port - identifier of a local port. - - {tracer, TracerModule, TracerState}: - Specifies that a tracer module is to be called instead of - sending a trace message. The tracer module can then ignore or - change the trace message. For more details on how to write a - tracer module, see erl_tracer(3). + • {tracer, TracerModule, TracerState} - Specifies that a + tracer module is to be called instead of sending a trace + message. The tracer module can then ignore or change the + trace message. For more details on how to write a tracer + module, see erl_tracer. If no tracer is specified, the calling process receives all the - trace messages. - - The effect of combining set_on_first_link with set_on_link is - the same as set_on_first_link alone. Likewise for set_on_spawn - and set_on_first_spawn. - - The tracing process receives the trace messages described in the - following list. Pid is the process identifier of the traced - process in which the traced event has occurred. The third tuple - element is the message tag. - - If flag timestamp, strict_monotonic_timestamp, or  - monotonic_timestamp is specified, the first tuple element is  - trace_ts instead, and the time stamp is added as an extra element - last in the message tuple. If multiple time stamp flags are - passed, timestamp has precedence over  - strict_monotonic_timestamp, which in turn has precedence over  - monotonic_timestamp. All time stamp flags are remembered, so if - two are passed and the one with highest precedence later is - disabled, the other one becomes active. - - If a match specification (applicable only for call, send and  - 'receive' tracing) contains a {message} action function with a - non-boolean value, that value is added as an extra element to the - message tuple either in the last position or before the timestamp - (if it is present). - - Trace messages: - - {trace, PidPort, send, Msg, To}: - When PidPort sends message Msg to process To. - - {trace, PidPort, send_to_non_existing_process, Msg, To}: - When PidPort sends message Msg to the non-existing process  - To. - - {trace, PidPort, 'receive', Msg}: - When PidPort receives message Msg. If Msg is set to - time-out, a receive statement can have timed out, or the - process received a message with the payload timeout. - - {trace, Pid, call, {M, F, Args}}: - When Pid calls a traced function. The return values of calls - are never supplied, only the call and its arguments. - - Trace flag arity can be used to change the contents of this - message, so that Arity is specified instead of Args. - - {trace, Pid, return_to, {M, F, Arity}}: - When Pid returns to the specified function. This trace - message is sent if both the flags call and return_to are - set, and the function is set to be traced on local function - calls. The message is only sent when returning from a chain of - tail recursive function calls, where at least one call - generated a call trace message (that is, the functions match - specification matched, and {message, false} was not an - action). - - {trace, Pid, return_from, {M, F, Arity}, ReturnValue}: - When Pid returns from the specified function. This trace - message is sent if flag call is set, and the function has a - match specification with a return_trace or exception_trace - action. - - {trace, Pid, exception_from, {M, F, Arity}, {Class, Value}}: - When Pid exits from the specified function because of an - exception. This trace message is sent if flag call is set, - and the function has a match specification with an  - exception_trace action. - - {trace, Pid, spawn, Pid2, {M, F, Args}}: - When Pid spawns a new process Pid2 with the specified - function call as entry point. - - Args is supposed to be the argument list, but can be any term - if the spawn is erroneous. - - {trace, Pid, spawned, Pid2, {M, F, Args}}: - When Pid is spawned by process Pid2 with the specified - function call as entry point. - - Args is supposed to be the argument list, but can be any term - if the spawn is erroneous. - - {trace, Pid, exit, Reason}: - When Pid exits with reason Reason. - - {trace, PidPort, register, RegName}: - When PidPort gets the name RegName registered. - - {trace, PidPort, unregister, RegName}: - When PidPort gets the name RegName unregistered. This is - done automatically when a registered process or port exits. - - {trace, Pid, link, Pid2}: - When Pid links to a process Pid2. - - {trace, Pid, unlink, Pid2}: - When Pid removes the link from a process Pid2. - - {trace, PidPort, getting_linked, Pid2}: - When PidPort gets linked to a process Pid2. - - {trace, PidPort, getting_unlinked, Pid2}: - When PidPort gets unlinked from a process Pid2. - - {trace, Port, open, Pid, Driver}: - When Pid opens a new port Port with the running Driver. - - Driver is the name of the driver as an atom. - - {trace, Port, closed, Reason}: - When Port closes with Reason. - - {trace, Pid, in | in_exiting, {M, F, Arity} | 0}: - When Pid is scheduled to run. The process runs in function  - {M, F, Arity}. On some rare occasions, the current function - cannot be determined, then the last element is 0. - - {trace, Pid, out | out_exiting | out_exited, {M, F, Arity} | 0}: - When Pid is scheduled out. The process was running in - function {M, F, Arity}. On some rare occasions, the current - function cannot be determined, then the last element is 0. - - {trace, Port, in, Command | 0}: - When Port is scheduled to run. Command is the first thing - the port will execute, it can however run several commands - before being scheduled out. On some rare occasions, the - current function cannot be determined, then the last element - is 0. - - The possible commands are call, close, command, connect,  - control, flush, info, link, open, and unlink. - - {trace, Port, out, Command | 0}: - When Port is scheduled out. The last command run was  - Command. On some rare occasions, the current function cannot - be determined, then the last element is 0. Command can - contain the same commands as in - - {trace, Pid, gc_minor_start, Info}: - Sent when a young garbage collection is about to be started.  - Info is a list of two-element tuples, where the first element - is a key, and the second is the value. Do not depend on any - order of the tuples. The following keys are defined: - - heap_size: - The size of the used part of the heap. - - heap_block_size: - The size of the memory block used for storing the heap and - the stack. - - old_heap_size: - The size of the used part of the old heap. - - old_heap_block_size: - The size of the memory block used for storing the old - heap. - - stack_size: - The size of the stack. - - recent_size: - The size of the data that survived the previous garbage - collection. - - mbuf_size: - The combined size of message buffers associated with the - process. - - bin_vheap_size: - The total size of unique off-heap binaries referenced from - the process heap. - - bin_vheap_block_size: - The total size of binaries allowed in the virtual heap in - the process before doing a garbage collection. - - bin_old_vheap_size: - The total size of unique off-heap binaries referenced from - the process old heap. - - bin_old_vheap_block_size: - The total size of binaries allowed in the virtual old heap - in the process before doing a garbage collection. - - wordsize: - For the gc_minor_start event it is the size of the need - that triggered the GC. For the corresponding gc_minor_end - event it is the size of reclaimed memory = start  - heap_size - end heap_size. - - All sizes are in words. - - {trace, Pid, gc_max_heap_size, Info}: - Sent when the max_heap_size is reached during garbage - collection. Info contains the same kind of list as in - message gc_start, but the sizes reflect the sizes that - triggered max_heap_size to be reached. - - {trace, Pid, gc_minor_end, Info}: - Sent when young garbage collection is finished. Info - contains the same kind of list as in message gc_minor_start, - but the sizes reflect the new sizes after garbage collection. - - {trace, Pid, gc_major_start, Info}: - Sent when fullsweep garbage collection is about to be started.  - Info contains the same kind of list as in message  - gc_minor_start. - - {trace, Pid, gc_major_end, Info}: - Sent when fullsweep garbage collection is finished. Info - contains the same kind of list as in message gc_minor_start, - but the sizes reflect the new sizes after a fullsweep garbage - collection. - - If the tracing process/port dies or the tracer module returns  - remove, the flags are silently removed. - - Each process can only be traced by one tracer. Therefore, attempts - to trace an already traced process fail. - - Returns a number indicating the number of processes that matched  - PidPortSpec. If PidPortSpec is a process identifier, the return - value is 1. If PidPortSpec is all or existing, the return - value is the number of processes running. If PidPortSpec is new, - the return value is 0. + trace messages. The legacy trace session has no specified tracer. - Failure: badarg if the specified arguments are not supported. - For example, cpu_timestamp is not supported on all platforms. + For further documentation see trace:process/4 and trace:port/4. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_delivered_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_delivered_1_func.txt index 9418084407e2..7e161ee8dd44 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_delivered_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_delivered_1_func.txt @@ -1,11 +1,12 @@ - -spec erlang:trace_delivered(Tracee) -> Ref -  when -  Tracee :: pid() | all, -  Ref :: reference(). + -spec trace_delivered(Tracee) -> Ref +  when Tracee :: pid() | all, Ref :: reference(). + + Calling this function makes sure all trace messages have been + delivered. The delivery of trace messages (generated by erlang:trace/3,  - seq_trace(3), or erlang:system_profile/2) is dislocated on the + seq_trace, or erlang:system_profile/2) is dislocated on the time-line compared to other events in the system. If you know that  Tracee has passed some specific point in its execution, and you want to know when at least all trace messages corresponding to 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 0cc4bcadf483..30532af28cb1 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 @@ -1,159 +1,27 @@ - -spec erlang:trace_info(PidPortFuncEvent, Item) -> Res -  when -  PidPortFuncEvent :: -  pid() | -  port() | -  new | new_processes | new_ports | -  {Module, Function, Arity} | -  on_load | send | 'receive', -  Module :: module(), -  Function :: atom(), -  Arity :: arity(), -  Item :: -  flags | tracer | traced | -  match_spec | meta | meta_match_spec | -  call_count | call_time | -  call_memory | all, -  Res :: trace_info_return(). - - Types: - -type match_variable() :: atom(). - Approximation of '$1' | '$2' | '$3' | ... - -type trace_info_flag() :: - send | 'receive' | set_on_spawn | call | return_to | procs | - set_on_first_spawn | set_on_link | running | - garbage_collection | timestamp | monotonic_timestamp | - strict_monotonic_timestamp | arity. - -type trace_info_item_result() :: - {traced, global | local | false | undefined} | - {match_spec, trace_match_spec() | false | undefined} | - {meta, pid() | port() | false | undefined | []} | - {meta, module(), term()} | - {meta_match_spec, trace_match_spec() | false | undefined} | - {call_count, non_neg_integer() | boolean() | undefined} | - {call_time | call_memory, - [{pid(), - non_neg_integer(), - non_neg_integer(), - non_neg_integer()}] | - boolean() | - undefined}. - -type trace_info_return() :: - undefined | - {flags, [trace_info_flag()]} | - {tracer, pid() | port() | []} | - {tracer, module(), term()} | - trace_info_item_result() | - {all, [trace_info_item_result()] | false | undefined}. - -type trace_match_spec() :: - [{[term()] | '_' | match_variable(), [term()], [term()]}]. + -spec trace_info(PidPortFuncEvent, Item) -> Res +  when +  PidPortFuncEvent :: +  pid() | +  port() | +  new | new_processes | new_ports | +  {Module, Function, Arity} | +  on_load | send | 'receive', +  Module :: module(), +  Function :: atom(), +  Arity :: arity(), +  Item :: +  flags | tracer | traced | match_spec | +  meta | meta_match_spec | call_count | +  call_time | call_memory | all, +  Res :: trace_info_return(). Returns trace information about a port, process, function, or - event. - - To get information about a port or process, PidPortFuncEvent is - to be a process identifier (pid), port identifier, or one of the - atoms new, new_processes, or new_ports. The atom new or  - new_processes means that the default trace state for processes to - be created is returned. The atom new_ports means that the - default trace state for ports to be created is returned. - - Valid Items for ports and processes: - - flags: - Returns a list of atoms indicating what kind of traces is - enabled for the process. The list is empty if no traces are - enabled, and one or more of the following atoms if traces are - enabled: send, 'receive', set_on_spawn, call,  - return_to, procs, ports, set_on_first_spawn,  - set_on_link, running, running_procs, running_ports,  - silent, exiting, monotonic_timestamp,  - strict_monotonic_timestamp, garbage_collection, timestamp, - and arity. The order is arbitrary. - - tracer: - Returns the identifier for process, port, or a tuple - containing the tracer module and tracer state tracing this - process. If this process is not traced, the return value is  - []. - - To get information about a function, PidPortFuncEvent is to be - the three-element tuple {Module, Function, Arity} or the atom  - on_load. No wildcards are allowed. Returns undefined if the - function does not exist, or false if the function is not traced. - If PidPortFuncEvent is on_load, the information returned - refers to the default value for code that will be loaded. - - Valid Items for functions: - - traced: - Returns global if this function is traced on global function - calls, local if this function is traced on local function - calls (that is, local and global function calls), and false - if local or global function calls are not traced. - - match_spec: - Returns the match specification for this function, if it has - one. If the function is locally or globally traced but has no - match specification defined, the returned value is []. - - meta: - Returns the meta-trace tracer process, port, or trace module - for this function, if it has one. If the function is not - meta-traced, the returned value is false. If the function is - meta-traced but has once detected that the tracer process is - invalid, the returned value is []. - - meta_match_spec: - Returns the meta-trace match specification for this function, - if it has one. If the function is meta-traced but has no match - specification defined, the returned value is []. - - call_count: - Returns the call count value for this function or true for - the pseudo function on_load if call count tracing is active. - Otherwise false is returned. - - See also erlang:trace_pattern/3. - - call_time: - Returns the call time values for this function or true for - the pseudo function on_load if call time tracing is active. - Otherwise false is returned. The call time values returned,  - [{Pid, Count, S, Us}], is a list of each process that - executed the function and its specific counters. - - 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 - this function. - - To get information about an event, PidPortFuncEvent is to be - one of the atoms send or 'receive'. + event for the static legacy trace session. - One valid Item for events exists: + Change - match_spec: - Returns the match specification for this event, if it has one, - or true if no match specification has been set. + This function is superseded by trace:info/3 that operates on + dynamic trace - The return value is {Item, Value}, where Value is the - requested information as described earlier. If a pid for a dead - process was specified, or the name of a non-existing function,  - Value is undefined. + sessions. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_pattern_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_pattern_2_func.txt index 9146ace52488..ad92e50d0e07 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_pattern_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_pattern_2_func.txt @@ -1,21 +1,11 @@ - -spec erlang:trace_pattern(MFA, MatchSpec) -> non_neg_integer() -  when -  MFA :: -  trace_pattern_mfa() | -  send | 'receive', -  MatchSpec :: -  (MatchSpecList :: -  trace_match_spec()) | -  boolean() | -  restart | pause. + -spec trace_pattern(MFA, MatchSpec) -> non_neg_integer() +  when +  MFA :: trace_pattern_mfa() | send | 'receive', +  MatchSpec :: +  (MatchSpecList :: trace_match_spec()) | +  boolean() | +  restart | pause. - Types: - -type match_variable() :: atom(). - Approximation of '$1' | '$2' | '$3' | ... - -type trace_match_spec() :: - [{[term()] | '_' | match_variable(), [term()], [term()]}]. - -type trace_pattern_mfa() :: {atom(), atom(), arity() | '_'} | on_load. - - The same as erlang:trace_pattern(Event, MatchSpec, []), retained - for backward compatibility. + Equivalent to erlang:trace_pattern(Event, MatchSpec, []), + retained for backward compatibility. 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 ad3ce0273d47..dc765db4dda8 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,364 +1,41 @@ - -spec erlang:trace_pattern(send, MatchSpec, []) -> non_neg_integer() -  when -  MatchSpec :: -  (MatchSpecList :: -  trace_match_spec()) | -  boolean(). - -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 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 :: -  trace_match_spec()) | -  boolean(). - -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 -  MFA :: trace_pattern_mfa(), -  MatchSpec :: -  (MatchSpecList :: -  trace_match_spec()) | -  boolean() | -  restart | pause, -  FlagList :: [trace_pattern_flag()]. - - Types: - -type match_variable() :: atom(). - Approximation of '$1' | '$2' | '$3' | ... - -type trace_match_spec() :: - [{[term()] | '_' | match_variable(), [term()], [term()]}]. - -type trace_pattern_flag() :: - global | local | meta | - {meta, Pid :: pid()} | - {meta, TracerModule :: module(), TracerState :: term()} | - 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 - be combined with erlang:trace/3 to set the call trace flag for - one or more processes. - - Conceptually, call tracing works as follows. Inside the Erlang - virtual machine, a set of processes and a set of functions are to - be traced. If a traced process calls a traced function, the trace - action is taken. Otherwise, nothing happens. - - To add or remove one or more processes to the set of traced - processes, use erlang:trace/3. - - To add or remove functions to the set of traced functions, use  - erlang:trace_pattern/3. - - The BIF erlang:trace_pattern/3 can also add match specifications - to a function. A match specification comprises a pattern that the - function arguments must match, a guard expression that must - evaluate to true, and an action to be performed. The default - action is to send a trace message. If the pattern does not match - or the guard fails, the action is not executed. - - Argument MFA is to be a tuple, such as {Module, Function, - Arity}, or the atom on_load (described below). It can be the - module, function, and arity for a function (or a BIF in any - module). The atom '_' can be used as a wildcard in any of the - following ways: - - {Module,Function,'_'}: - All functions of any arity named Function in module Module. - - {Module,'_','_'}: - All functions in module Module. - - {'_','_','_'}: - All functions in all loaded modules. - - Other combinations, such as {Module,'_',Arity}, are not allowed. - Local functions match wildcards only if option local is in  - FlagList. - - If argument MFA is the atom on_load, the match specification - and flag list are used on all modules that are newly loaded. - - Argument MatchSpec can take the following forms: - - false: - Disables tracing for the matching functions. Any match - specification is removed. - - true: - Enables tracing for the matching functions. Any match - specification is removed. - - MatchSpecList: - A list of match specifications. An empty list is equivalent to  - true. For a description of match specifications, see section - Match Specifications in Erlang in the User's Guide. - - restart: - 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, 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: - - global: - Turns on or off call tracing for global function calls (that - is, calls specifying the module explicitly). Only exported - functions match and only global calls generate trace messages. - This is the default. - - local: - Turns on or off call tracing for all types of function calls. - Trace messages are sent whenever any of the specified - functions are called, regardless of how they are called. If - flag return_to is set for the process, a return_to message - is also sent when this function returns to its caller. - - meta | {meta, Pid} | {meta, TracerModule, TracerState}: - Turns on or off meta-tracing for all types of function calls. - Trace messages are sent to the tracer whenever any of the - specified functions are called. If no tracer is specified,  - self() is used as a default tracer process. - - Meta-tracing traces all processes and does not care about the - process trace flags set by erlang:trace/3, the trace flags - are instead fixed to [call, timestamp]. - - The match specification function {return_trace} works with - meta-trace and sends its trace message to the same tracer. - - call_count: - Starts (MatchSpec == true) or stops (MatchSpec == false) - call count tracing for all types of function calls. For every - function, a counter is incremented when the function is - called, in any process. No process trace flags need to be - activated. - - If call count tracing is started while already running, the - count is restarted 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. - - call_time: - Starts (MatchSpec == true) or stops (MatchSpec == false) - call time tracing for all types of function calls. For every - function, a counter is incremented when the function is - called. Time spent in the function is accumulated in two other - counters, seconds and microseconds. The counters are stored - for each call traced process. - - If call time tracing is started while already running, the - count and time 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. - - 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 - be combined with global. A function can be globally or locally - traced. If global tracing is specified for a set of functions, - then local, meta, call time, and call count tracing for the - matching set of local functions is disabled, and conversely. - - When disabling trace, the option must match the type of trace set - on the function. That is, local tracing must be disabled with - option local and global tracing with option global (or no - option), and so on. - - Part of a match specification list cannot be changed directly. If - a function has a match specification, it can be replaced with a - new one. To change an existing match specification, use the BIF  - erlang:trace_info/2 to retrieve the existing match specification. - - Returns the number of functions matching argument MFA. This is - zero if none matched. - - 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 trace_pattern(send, MatchSpec, []) -> non_neg_integer() +  when +  MatchSpec :: +  (MatchSpecList :: trace_match_spec()) | +  boolean(); +  ('receive', MatchSpec, []) -> non_neg_integer() +  when +  MatchSpec :: +  (MatchSpecList :: trace_match_spec()) | +  boolean(); +  (MFA, MatchSpec, FlagList) -> non_neg_integer() +  when +  MFA :: trace_pattern_mfa(), +  MatchSpec :: +  (MatchSpecList :: trace_match_spec()) | +  boolean() | +  restart | pause, +  FlagList :: [trace_pattern_flag()]. + + Set trace pattern for call, send and receive tracing on the static + legacy trace session. + + Change + + This function is superseded by trace:function/4,  + trace:send/3 and + + trace:recv/3 that operate on dynamic trace sessions. + + Argument FlagList can contain two additional options for call + tracing: + + • {meta, Pid} | {meta, TracerModule, TracerState} - Turns on + or off meta-tracing for all types of function calls. Trace + messages are sent to the tracer whenever any of the + specified functions are called. If no tracer is specified,  + self/0 is used as a default tracer process. + + For further documentation see trace:function/4 , trace:send/3 + and trace:recv/3. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_pattern_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_pattern_func.txt index 0e068ceb1659..3cea88e1ffbd 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_pattern_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_pattern_func.txt @@ -1,385 +1,52 @@ - -spec erlang:trace_pattern(MFA, MatchSpec) -> non_neg_integer() -  when -  MFA :: -  trace_pattern_mfa() | -  send | 'receive', -  MatchSpec :: -  (MatchSpecList :: -  trace_match_spec()) | -  boolean() | -  restart | pause. - - Types: - -type match_variable() :: atom(). - Approximation of '$1' | '$2' | '$3' | ... - -type trace_match_spec() :: - [{[term()] | '_' | match_variable(), [term()], [term()]}]. - -type trace_pattern_mfa() :: {atom(), atom(), arity() | '_'} | on_load. - - The same as erlang:trace_pattern(Event, MatchSpec, []), retained - for backward compatibility. - - -spec erlang:trace_pattern(send, MatchSpec, []) -> non_neg_integer() -  when -  MatchSpec :: -  (MatchSpecList :: -  trace_match_spec()) | -  boolean(). - -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 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 :: -  trace_match_spec()) | -  boolean(). - -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 -  MFA :: trace_pattern_mfa(), -  MatchSpec :: -  (MatchSpecList :: -  trace_match_spec()) | -  boolean() | -  restart | pause, -  FlagList :: [trace_pattern_flag()]. - - Types: - -type match_variable() :: atom(). - Approximation of '$1' | '$2' | '$3' | ... - -type trace_match_spec() :: - [{[term()] | '_' | match_variable(), [term()], [term()]}]. - -type trace_pattern_flag() :: - global | local | meta | - {meta, Pid :: pid()} | - {meta, TracerModule :: module(), TracerState :: term()} | - 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 - be combined with erlang:trace/3 to set the call trace flag for - one or more processes. - - Conceptually, call tracing works as follows. Inside the Erlang - virtual machine, a set of processes and a set of functions are to - be traced. If a traced process calls a traced function, the trace - action is taken. Otherwise, nothing happens. - - To add or remove one or more processes to the set of traced - processes, use erlang:trace/3. - - To add or remove functions to the set of traced functions, use  - erlang:trace_pattern/3. - - The BIF erlang:trace_pattern/3 can also add match specifications - to a function. A match specification comprises a pattern that the - function arguments must match, a guard expression that must - evaluate to true, and an action to be performed. The default - action is to send a trace message. If the pattern does not match - or the guard fails, the action is not executed. - - Argument MFA is to be a tuple, such as {Module, Function, - Arity}, or the atom on_load (described below). It can be the - module, function, and arity for a function (or a BIF in any - module). The atom '_' can be used as a wildcard in any of the - following ways: - - {Module,Function,'_'}: - All functions of any arity named Function in module Module. - - {Module,'_','_'}: - All functions in module Module. - - {'_','_','_'}: - All functions in all loaded modules. - - Other combinations, such as {Module,'_',Arity}, are not allowed. - Local functions match wildcards only if option local is in  - FlagList. - - If argument MFA is the atom on_load, the match specification - and flag list are used on all modules that are newly loaded. - - Argument MatchSpec can take the following forms: - - false: - Disables tracing for the matching functions. Any match - specification is removed. - - true: - Enables tracing for the matching functions. Any match - specification is removed. - - MatchSpecList: - A list of match specifications. An empty list is equivalent to  - true. For a description of match specifications, see section - Match Specifications in Erlang in the User's Guide. - - restart: - 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, 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: - - global: - Turns on or off call tracing for global function calls (that - is, calls specifying the module explicitly). Only exported - functions match and only global calls generate trace messages. - This is the default. - - local: - Turns on or off call tracing for all types of function calls. - Trace messages are sent whenever any of the specified - functions are called, regardless of how they are called. If - flag return_to is set for the process, a return_to message - is also sent when this function returns to its caller. - - meta | {meta, Pid} | {meta, TracerModule, TracerState}: - Turns on or off meta-tracing for all types of function calls. - Trace messages are sent to the tracer whenever any of the - specified functions are called. If no tracer is specified,  - self() is used as a default tracer process. - - Meta-tracing traces all processes and does not care about the - process trace flags set by erlang:trace/3, the trace flags - are instead fixed to [call, timestamp]. - - The match specification function {return_trace} works with - meta-trace and sends its trace message to the same tracer. - - call_count: - Starts (MatchSpec == true) or stops (MatchSpec == false) - call count tracing for all types of function calls. For every - function, a counter is incremented when the function is - called, in any process. No process trace flags need to be - activated. - - If call count tracing is started while already running, the - count is restarted 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. - - call_time: - Starts (MatchSpec == true) or stops (MatchSpec == false) - call time tracing for all types of function calls. For every - function, a counter is incremented when the function is - called. Time spent in the function is accumulated in two other - counters, seconds and microseconds. The counters are stored - for each call traced process. - - If call time tracing is started while already running, the - count and time 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. - - 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 - be combined with global. A function can be globally or locally - traced. If global tracing is specified for a set of functions, - then local, meta, call time, and call count tracing for the - matching set of local functions is disabled, and conversely. - - When disabling trace, the option must match the type of trace set - on the function. That is, local tracing must be disabled with - option local and global tracing with option global (or no - option), and so on. - - Part of a match specification list cannot be changed directly. If - a function has a match specification, it can be replaced with a - new one. To change an existing match specification, use the BIF  - erlang:trace_info/2 to retrieve the existing match specification. - - Returns the number of functions matching argument MFA. This is - zero if none matched. - - 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 trace_pattern(MFA, MatchSpec) -> non_neg_integer() +  when +  MFA :: trace_pattern_mfa() | send | 'receive', +  MatchSpec :: +  (MatchSpecList :: trace_match_spec()) | +  boolean() | +  restart | pause. + + Equivalent to erlang:trace_pattern(Event, MatchSpec, []), + retained for backward compatibility. + + -spec trace_pattern(send, MatchSpec, []) -> non_neg_integer() +  when +  MatchSpec :: +  (MatchSpecList :: trace_match_spec()) | +  boolean(); +  ('receive', MatchSpec, []) -> non_neg_integer() +  when +  MatchSpec :: +  (MatchSpecList :: trace_match_spec()) | +  boolean(); +  (MFA, MatchSpec, FlagList) -> non_neg_integer() +  when +  MFA :: trace_pattern_mfa(), +  MatchSpec :: +  (MatchSpecList :: trace_match_spec()) | +  boolean() | +  restart | pause, +  FlagList :: [trace_pattern_flag()]. + + Set trace pattern for call, send and receive tracing on the static + legacy trace session. + + Change + + This function is superseded by trace:function/4,  + trace:send/3 and + + trace:recv/3 that operate on dynamic trace sessions. + + Argument FlagList can contain two additional options for call + tracing: + + • {meta, Pid} | {meta, TracerModule, TracerState} - Turns on + or off meta-tracing for all types of function calls. Trace + messages are sent to the tracer whenever any of the + specified functions are called. If no tracer is specified,  + self/0 is used as a default tracer process. + + For further documentation see trace:function/4 , trace:send/3 + and trace:recv/3. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trunc_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trunc_1_func.txt index 1c5e4406abe9..09728885f4e5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trunc_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trunc_1_func.txt @@ -1,7 +1,9 @@ -spec trunc(Number) -> integer() when Number :: number(). - Truncates the decimals of Number, for example: + Truncates the decimals of Number. + + For example: > trunc(5.7). 5 @@ -22,5 +24,3 @@ 36028797018963968.0, which is the closest number that can be represented exactly as a float value. See Representation of Floating Point Numbers for additional information. - - Allowed in guard tests. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_tuple_size_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_tuple_size_1_func.txt index 6eeaa21c45de..5262b1ec867b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_tuple_size_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_tuple_size_1_func.txt @@ -1,10 +1,9 @@ -spec tuple_size(Tuple) -> non_neg_integer() when Tuple :: tuple(). - Returns an integer that is the number of elements in Tuple, for - example: + Returns an integer that is the number of elements in Tuple. + + For example: > tuple_size({morni, mulle, bwange}). 3 - - Allowed in guard tests. 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 59132eb9259e..9ab3f638452c 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 @@ -2,170 +2,384 @@ These types are documented in this module: - -type any() :: any(). + -type memory_type() :: +  total | processes | processes_used | system | atom | +  atom_used | binary | code | ets. - -type arity() :: arity(). + -type send_destination() :: +  pid() | +  reference() | +  port() | +  (RegName :: atom()) | +  {RegName :: atom(), Node :: node()}. - -type atom() :: atom(). + -type spawn_opt_option() :: +  link | monitor | +  {monitor, MonitorOpts :: [monitor_option()]} | +  {priority, Level :: priority_level()} | +  {fullsweep_after, Number :: non_neg_integer()} | +  {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()} | +  {async_dist, Enabled :: boolean()}. - -type binary() :: <<_:_*8>>. + -type max_heap_size() :: +  Size :: +  non_neg_integer() | +  #{size => non_neg_integer(), +  kill => boolean(), +  error_logger => boolean(), +  include_shared_binaries => boolean()}. - -type bitstring() :: <<_:_*1>>. + -type garbage_collection_defaults() :: +  [{max_heap_size, non_neg_integer()} | +  {min_bin_vheap_size, non_neg_integer()} | +  {min_heap_size, non_neg_integer()} | +  {fullsweep_after, non_neg_integer()}]. + + -type info_list() :: []. + + -type sub_level() :: +  [LevelEntry :: level_entry()] | +  (LogicalCpuId :: {logical, non_neg_integer()}). + + -type level_tag() :: core | node | processor | thread. + + -type level_entry() :: +  {LevelTag :: level_tag(), SubLevel :: sub_level()} | +  {LevelTag :: level_tag(), +  InfoList :: info_list(), +  SubLevel :: sub_level()}. + + -type cpu_topology() :: [LevelEntry :: level_entry()] | undefined. + + -type trace_pattern_flag() :: +  global | local | meta | +  {meta, Pid :: pid()} | +  {meta, TracerModule :: module(), TracerState :: term()} | +  call_count | call_time | call_memory. + + -type trace_match_spec() :: +  [{[term()] | '_' | match_variable(), [term()], [term()]}]. + + -type trace_pattern_mfa() :: {atom(), atom(), arity() | '_'} | on_load. + + -type match_variable() :: atom(). + + -type scheduler_bind_type() :: +  no_node_processor_spread | no_node_thread_spread | no_spread | +  processor_spread | spread | thread_spread | +  thread_no_node_processor_spread | unbound. + + -type stack_item() :: +  {Module :: module(), +  Function :: atom(), +  Arity :: arity() | (Args :: [term()]), +  Location :: +  [{file, Filename :: string()} | +  {line, Line :: pos_integer()}]}. + + -type process_info_result_item() :: +  {async_dist, Enabled :: boolean()} | +  {backtrace, Bin :: binary()} | +  {binary, +  BinInfo :: +  [{non_neg_integer(), +  non_neg_integer(), +  non_neg_integer()}]} | +  {catchlevel, CatchLevel :: non_neg_integer()} | +  {current_function, +  {Module :: module(), Function :: atom(), Arity :: arity()} | +  undefined} | +  {current_location, +  {Module :: module(), +  Function :: atom(), +  Arity :: arity(), +  Location :: +  [{file, Filename :: string()} | +  {line, Line :: pos_integer()}]}} | +  {current_stacktrace, Stack :: [stack_item()]} | +  {dictionary, Dictionary :: [{Key :: term(), Value :: term()}]} | +  {{dictionary, Key :: term()}, Value :: term()} | +  {error_handler, Module :: module()} | +  {garbage_collection, GCInfo :: [{atom(), non_neg_integer()}]} | +  {garbage_collection_info, +  GCInfo :: [{atom(), non_neg_integer()}]} | +  {group_leader, GroupLeader :: pid()} | +  {heap_size, Size :: non_neg_integer()} | +  {initial_call, mfa()} | +  {links, PidsAndPorts :: [pid() | port()]} | +  {last_calls, false | (Calls :: [mfa()])} | +  {memory, Size :: non_neg_integer()} | +  {message_queue_len, MessageQueueLen :: non_neg_integer()} | +  {messages, MessageQueue :: [term()]} | +  {min_heap_size, MinHeapSize :: non_neg_integer()} | +  {min_bin_vheap_size, MinBinVHeapSize :: non_neg_integer()} | +  {max_heap_size, MaxHeapSize :: max_heap_size()} | +  {monitored_by, +  MonitoredBy :: [pid() | port() | nif_resource()]} | +  {monitors, +  Monitors :: +  [{process | port, +  Pid :: +  pid() | +  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())} | +  {sequential_trace_token, +  [] | (SequentialTraceToken :: term())} | +  {stack_size, Size :: non_neg_integer()} | +  {status, +  Status :: +  exiting | garbage_collecting | waiting | running | +  runnable | suspended} | +  {suspending, +  SuspendeeList :: +  [{Suspendee :: pid(), +  ActiveSuspendCount :: non_neg_integer(), +  OutstandingSuspendCount :: non_neg_integer()}]} | +  {total_heap_size, Size :: non_neg_integer()} | +  {trace, InternalTraceFlags :: non_neg_integer()} | +  {trap_exit, Boolean :: boolean()}. + + -type process_info_item() :: +  async_dist | backtrace | binary | catchlevel | +  current_function | current_location | current_stacktrace | +  dictionary | +  {dictionary, Key :: term()} | +  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 | parent | priority | reductions | +  registered_name | sequential_trace_token | stack_size | +  status | suspending | total_heap_size | trace | trap_exit. - -type boolean() :: true | false. + -type message_queue_data() :: off_heap | on_heap. - -type byte() :: 0..255. + -type priority_level() :: low | normal | high | max. - -type char() :: 0..1114111. + -type monitor_option() :: +  {alias, explicit_unalias | demonitor | reply_demonitor} | +  {tag, term()}. - -type float() :: float(). + -type monitor_port_identifier() :: port() | registered_name(). + + -type monitor_process_identifier() :: +  pid() | registered_process_identifier(). + + -type registered_process_identifier() :: +  registered_name() | {registered_name(), node()}. + + -type registered_name() :: atom(). + + -type halt_options() :: +  [{flush, boolean()} | +  {flush_timeout, Timeout :: 0..2147483647 | infinity}]. + + -type trace_info_return() :: +  undefined | +  {flags, [trace_info_flag()]} | +  {tracer, pid() | port() | []} | +  {tracer, module(), term()} | +  trace_info_item_result() | +  {all, [trace_info_item_result()] | false | undefined}. + + -type trace_info_flag() :: +  send | 'receive' | set_on_spawn | call | return_to | procs | +  set_on_first_spawn | set_on_link | running | +  garbage_collection | timestamp | monotonic_timestamp | +  strict_monotonic_timestamp | arity. + + -type trace_info_item_result() :: +  {traced, global | local | false | undefined} | +  {match_spec, trace_match_spec() | false | undefined} | +  {meta, pid() | port() | false | undefined | []} | +  {meta, module(), term()} | +  {meta_match_spec, trace_match_spec() | false | undefined} | +  {call_count, non_neg_integer() | boolean() | undefined} | +  {call_time | call_memory, +  [{pid(), +  non_neg_integer(), +  non_neg_integer(), +  non_neg_integer()}] | +  boolean() | +  undefined}. + + -type trace_flag() :: +  all | send | 'receive' | procs | ports | call | arity | +  return_to | silent | running | exiting | running_procs | +  running_ports | garbage_collection | timestamp | +  cpu_timestamp | monotonic_timestamp | +  strict_monotonic_timestamp | set_on_spawn | +  set_on_first_spawn | set_on_link | set_on_first_link | +  {tracer, pid() | port()} | +  {tracer, module(), term()}. + + -type bitstring_list() :: +  maybe_improper_list(byte() | bitstring() | bitstring_list(), +  bitstring() | []). + + -type raise_stacktrace() :: +  [{module(), atom(), arity() | [term()]} | +  {function(), arity() | [term()]}] | +  stacktrace(). + + -type system_monitor_option() :: +  busy_port | busy_dist_port | +  {long_gc, non_neg_integer()} | +  {long_message_queue, +  {Disable :: non_neg_integer(), Enable :: pos_integer()}} | +  {long_schedule, non_neg_integer()} | +  {large_heap, non_neg_integer()}. + + -type system_profile_option() :: +  exclusive | runnable_ports | runnable_procs | scheduler | +  timestamp | monotonic_timestamp | strict_monotonic_timestamp. + + -type fun_info_item() :: +  arity | env | index | name | module | new_index | new_uniq | +  pid | type | uniq. - -type function() :: fun(). + -type iovec() :: [binary()]. - -type identifier() :: pid() | port() | reference(). + -opaque dist_handle()  - -type integer() :: integer(). + -opaque nif_resource()  - -type iodata() :: iolist() | binary(). + -opaque prepared_code()  - -type iolist() :: -  maybe_improper_list(byte() | binary() | iolist(), -  binary() | []). + -type deprecated_time_unit() :: +  seconds | milli_seconds | micro_seconds | nano_seconds. - -type list() :: [any()]. + -type time_unit() :: +  pos_integer() | +  second | millisecond | microsecond | nanosecond | native | +  perf_counter | +  deprecated_time_unit(). - -type list(ContentType) :: [ContentType]. + -type timestamp() :: +  {MegaSecs :: non_neg_integer(), +  Secs :: non_neg_integer(), +  MicroSecs :: non_neg_integer()}. - -type map() :: #{any() => any()}. + -type ext_iovec() :: iovec(). - -type maybe_improper_list() :: maybe_improper_list(any(), any()). + -type ext_binary() :: binary(). - -type maybe_improper_list(ContentType, TerminationType) :: -  maybe_improper_list(ContentType, TerminationType). + -type stacktrace() :: +  [{module(), +  atom(), +  arity() | [term()], +  [stacktrace_extrainfo()]} | +  {function(), arity() | [term()], [stacktrace_extrainfo()]}]. - -type mfa() :: {module(), atom(), arity()}. + -type stacktrace_extrainfo() :: +  {line, pos_integer()} | +  {file, unicode:chardata()} | +  {error_info, +  #{module => module(), function => atom(), cause => term()}} | +  {atom(), term()}. - -type module() :: atom(). + -type tuple() :: tuple(). - -type neg_integer() :: neg_integer(). + -type timeout() :: infinity | non_neg_integer(). - -type nil() :: []. + -type term() :: any(). - -type no_return() :: none(). + -type string() :: [char()]. - -type node() :: atom(). + -type reference() :: reference(). - -type non_neg_integer() :: non_neg_integer(). + -type pos_integer() :: pos_integer(). - -type none() :: none(). + -type port() :: port(). - -type nonempty_binary() :: <<_:8, _:_*8>>. + -type pid() :: pid(). - -type nonempty_bitstring() :: <<_:1, _:_*1>>. + -type number() :: integer() | float(). + + -type nonempty_string() :: [char(), ...]. + + -type nonempty_maybe_improper_list(ContentType, TerminationType) :: +  nonempty_maybe_improper_list(ContentType, TerminationType). + + -type nonempty_maybe_improper_list() :: +  nonempty_maybe_improper_list(any(), any()). + + -type nonempty_list(ContentType) :: [ContentType, ...]. + + -type nonempty_list() :: [any(), ...]. -type nonempty_improper_list(ContentType, TerminationType) ::  nonempty_improper_list(ContentType, TerminationType). - -type nonempty_list() :: [any(), ...]. + -type nonempty_bitstring() :: <<_:1, _:_*1>>. - -type nonempty_list(ContentType) :: [ContentType, ...]. + -type nonempty_binary() :: <<_:8, _:_*8>>. - -type nonempty_maybe_improper_list() :: -  nonempty_maybe_improper_list(any(), any()). + -type none() :: none(). - -type nonempty_maybe_improper_list(ContentType, TerminationType) :: -  nonempty_maybe_improper_list(ContentType, TerminationType). + -type non_neg_integer() :: non_neg_integer(). - -type nonempty_string() :: [char(), ...]. + -type node() :: atom(). - -type number() :: integer() | float(). + -type no_return() :: none(). - -type pid() :: pid(). + -type nil() :: []. - -type port() :: port(). + -type neg_integer() :: neg_integer(). - -type pos_integer() :: pos_integer(). + -type module() :: atom(). - -type reference() :: reference(). + -type mfa() :: {module(), atom(), arity()}. - -type string() :: [char()]. + -type maybe_improper_list(ContentType, TerminationType) :: +  maybe_improper_list(ContentType, TerminationType). - -type term() :: any(). + -type maybe_improper_list() :: maybe_improper_list(any(), any()). - -type timeout() :: infinity | non_neg_integer(). + -type map() :: #{any() => any()}. - -type tuple() :: tuple(). + -type list(ContentType) :: [ContentType]. - -type ext_binary() :: binary(). + -type list() :: [any()]. - -type ext_iovec() :: iovec(). + -type iolist() :: +  maybe_improper_list(byte() | binary() | iolist(), +  binary() | []). - -type iovec() :: [binary()]. + -type iodata() :: iolist() | binary(). - -type message_queue_data() :: off_heap | on_heap. + -type integer() :: integer(). - -type monitor_option() :: -  {alias, explicit_unalias | demonitor | reply_demonitor} | -  {tag, term()}. + -type identifier() :: pid() | port() | reference(). - -type timestamp() :: -  {MegaSecs :: non_neg_integer(), -  Secs :: non_neg_integer(), -  MicroSecs :: non_neg_integer()}. + -type function() :: fun(). - -type time_unit() :: -  pos_integer() | -  second | millisecond | microsecond | nanosecond | native | -  perf_counter | -  deprecated_time_unit(). + -type float() :: float(). - -type deprecated_time_unit() :: -  seconds | milli_seconds | micro_seconds | nano_seconds. + -type dynamic() :: dynamic(). - -opaque dist_handle()  + -type char() :: 0..1114111. - -opaque nif_resource()  + -type byte() :: 0..255. - -type spawn_opt_option() :: -  link | monitor | -  {monitor, MonitorOpts :: [monitor_option()]} | -  {priority, Level :: priority_level()} | -  {fullsweep_after, Number :: non_neg_integer()} | -  {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()} | -  {async_dist, Enabled :: boolean()}. + -type boolean() :: true | false. - -type priority_level() :: low | normal | high | max. + -type bool() :: boolean(). - -type max_heap_size() :: -  Size :: -  non_neg_integer() | -  #{size => non_neg_integer(), -  kill => boolean(), -  error_logger => boolean(), -  include_shared_binaries => boolean()}. + -type bitstring() :: <<_:_*1>>. - -type message_queue_data() :: off_heap | on_heap. + -type binary() :: <<_:_*8>>. - -type stacktrace_extrainfo() :: -  {line, pos_integer()} | -  {file, unicode:chardata()} | -  {error_info, -  #{module => module(), function => atom(), cause => term()}} | -  {atom(), term()}. + -type atom() :: atom(). - -type stacktrace() :: -  [{module(), -  atom(), -  arity() | [term()], -  [stacktrace_extrainfo()]} | -  {function(), arity() | [term()], [stacktrace_extrainfo()]}]. + -type arity() :: arity(). - -type send_destination() :: -  pid() | -  reference() | -  port() | -  (RegName :: atom()) | -  {RegName :: atom(), Node :: node()}. + -type any() :: any(). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unalias_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unalias_1_func.txt index 308c28a1e496..c662d236b5b0 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unalias_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unalias_1_func.txt @@ -5,9 +5,11 @@ OTP 24.0 Deactivate the alias Alias previously created by the calling - process. An alias can for example be created via alias/0, or  - monitor/3. unalias/1 will always deactivate the alias - regardless of options used when creating the alias. + process. + + An alias can, for example, be created via alias/0 or monitor/3.  + unalias/1 will always deactivate the alias regardless of options + used when creating the alias. Returns true if Alias was a currently active alias for current processes; otherwise, false. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unique_integer_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unique_integer_0_func.txt index ce371db74d12..0dce7dc0e94d 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unique_integer_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unique_integer_0_func.txt @@ -1,8 +1,8 @@ - -spec erlang:unique_integer() -> integer(). + -spec unique_integer() -> integer(). Since: OTP 18.0 Generates and returns an integer unique on current runtime system - instance. The same as calling erlang:unique_integer([]). + instance. Equivalent to calling erlang:unique_integer([]). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unique_integer_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unique_integer_1_func.txt index 8e7b97d935cf..f459311950ac 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unique_integer_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unique_integer_1_func.txt @@ -1,8 +1,8 @@ - -spec erlang:unique_integer(ModifierList) -> integer() -  when -  ModifierList :: [Modifier], -  Modifier :: positive | monotonic. + -spec unique_integer(ModifierList) -> integer() +  when +  ModifierList :: [Modifier], +  Modifier :: positive | monotonic. Since: OTP 18.0 @@ -22,47 +22,47 @@ Modifiers: - positive: - Returns only positive integers. - - Notice that by passing the positive modifier you will get - heap allocated integers (bignums) quicker. - - monotonic: - Returns strictly monotonically increasing integers - corresponding to creation time. That is, the integer returned - is always larger than previously returned integers on the - current runtime system instance. - - These values can be used to determine order between events on - the runtime system instance. That is, if both X = - erlang:unique_integer([monotonic]) and Y = - erlang:unique_integer([monotonic]) are executed by different - processes (or the same process) on the same runtime system - instance and X < Y, we know that X was created before Y. - - Warning: - Strictly monotonically increasing values are inherently - quite expensive to generate and scales poorly. This is - because the values need to be synchronized between CPU - cores. That is, do not pass the monotonic modifier - unless you really need strictly monotonically increasing - values. + • positive - Returns only positive integers. + + Notice that by passing the positive modifier you will get + heap allocated integers (bignums) quicker. + + • monotonic - Returns strictly monotonically increasing + integers corresponding to creation time. That is, the + integer returned is always larger than previously returned + integers on the current runtime system instance. + + These values can be used to determine order between events + on the runtime system instance. That is, if both X = + erlang:unique_integer([monotonic]) and Y = + erlang:unique_integer([monotonic]) are executed by + different processes (or the same process) on the same + runtime system instance and X < Y, we know that X was + created before Y. + + Warning + + Strictly monotonically increasing values are inherently + quite expensive to generate and scales poorly. This is + because the values need to be synchronized between CPU + cores. That is, do not pass the monotonic modifier + unless you really need strictly monotonically increasing + values. All valid Modifiers can be combined. Repeated (valid) Modifier s in the ModifierList are ignored. - Note: + Note + The set of integers returned by erlang:unique_integer/1 using different sets of Modifiers will overlap. For - example, by calling unique_integer([monotonic]), and  - unique_integer([positive, monotonic]) repeatedly, you will - eventually see some integers that are returned by both calls. + example, by calling unique_integer([monotonic])]( + unique_integer/1), and [unique_integer([positive, + monotonic]) repeatedly, you will eventually see some integers + that are returned by both calls. Failures: - badarg: - if ModifierList is not a proper list. + • badarg - if ModifierList is not a proper list. - badarg: - if Modifier is not a valid modifier. + • badarg - if Modifier is not a valid modifier. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unique_integer_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unique_integer_func.txt index 7725b863e7a1..769b98791ea8 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unique_integer_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unique_integer_func.txt @@ -1,16 +1,16 @@ - -spec erlang:unique_integer() -> integer(). + -spec unique_integer() -> integer(). Since: OTP 18.0 Generates and returns an integer unique on current runtime system - instance. The same as calling erlang:unique_integer([]). + instance. Equivalent to calling erlang:unique_integer([]). - -spec erlang:unique_integer(ModifierList) -> integer() -  when -  ModifierList :: [Modifier], -  Modifier :: positive | monotonic. + -spec unique_integer(ModifierList) -> integer() +  when +  ModifierList :: [Modifier], +  Modifier :: positive | monotonic. Since: OTP 18.0 @@ -30,47 +30,47 @@ Modifiers: - positive: - Returns only positive integers. - - Notice that by passing the positive modifier you will get - heap allocated integers (bignums) quicker. - - monotonic: - Returns strictly monotonically increasing integers - corresponding to creation time. That is, the integer returned - is always larger than previously returned integers on the - current runtime system instance. - - These values can be used to determine order between events on - the runtime system instance. That is, if both X = - erlang:unique_integer([monotonic]) and Y = - erlang:unique_integer([monotonic]) are executed by different - processes (or the same process) on the same runtime system - instance and X < Y, we know that X was created before Y. - - Warning: - Strictly monotonically increasing values are inherently - quite expensive to generate and scales poorly. This is - because the values need to be synchronized between CPU - cores. That is, do not pass the monotonic modifier - unless you really need strictly monotonically increasing - values. + • positive - Returns only positive integers. + + Notice that by passing the positive modifier you will get + heap allocated integers (bignums) quicker. + + • monotonic - Returns strictly monotonically increasing + integers corresponding to creation time. That is, the + integer returned is always larger than previously returned + integers on the current runtime system instance. + + These values can be used to determine order between events + on the runtime system instance. That is, if both X = + erlang:unique_integer([monotonic]) and Y = + erlang:unique_integer([monotonic]) are executed by + different processes (or the same process) on the same + runtime system instance and X < Y, we know that X was + created before Y. + + Warning + + Strictly monotonically increasing values are inherently + quite expensive to generate and scales poorly. This is + because the values need to be synchronized between CPU + cores. That is, do not pass the monotonic modifier + unless you really need strictly monotonically increasing + values. All valid Modifiers can be combined. Repeated (valid) Modifier s in the ModifierList are ignored. - Note: + Note + The set of integers returned by erlang:unique_integer/1 using different sets of Modifiers will overlap. For - example, by calling unique_integer([monotonic]), and  - unique_integer([positive, monotonic]) repeatedly, you will - eventually see some integers that are returned by both calls. + example, by calling unique_integer([monotonic])]( + unique_integer/1), and [unique_integer([positive, + monotonic]) repeatedly, you will eventually see some integers + that are returned by both calls. Failures: - badarg: - if ModifierList is not a proper list. + • badarg - if ModifierList is not a proper list. - badarg: - if Modifier is not a valid modifier. + • badarg - if Modifier is not a valid modifier. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_universaltime_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_universaltime_0_func.txt index d86d083f67b7..01e20da4ff39 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_universaltime_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_universaltime_0_func.txt @@ -1,12 +1,13 @@ - -spec erlang:universaltime() -> DateTime -  when DateTime :: calendar:datetime(). + -spec universaltime() -> DateTime when DateTime :: calendar:datetime(). Returns the current date and time according to Universal Time Coordinated (UTC) in the form {{Year, Month, Day}, {Hour, Minute, Second}} if supported by the underlying OS. Otherwise  erlang:universaltime() is equivalent to erlang:localtime(). The - return value is based on the OS System Time. Example: + return value is based on the OS System Time. + + For example: > erlang:universaltime(). {{1996,11,6},{14,18,43}} diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_universaltime_to_localtime_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_universaltime_to_localtime_1_func.txt index 433efec034b0..587864fb2c62 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_universaltime_to_localtime_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_universaltime_to_localtime_1_func.txt @@ -1,15 +1,16 @@ - -spec erlang:universaltime_to_localtime(Universaltime) -> Localtime -  when -  Localtime :: -  calendar:datetime(), -  Universaltime :: -  calendar:datetime(). + -spec universaltime_to_localtime(Universaltime) -> Localtime +  when +  Localtime :: calendar:datetime(), +  Universaltime :: +  calendar:datetime(). Converts Universal Time Coordinated (UTC) date and time to local date and time in the form {{Year, Month, Day}, {Hour, Minute, Second}} if supported by the underlying OS. Otherwise no - conversion is done, and Universaltime is returned. Example: + conversion is done, and Universaltime is returned. + + For example: > erlang:universaltime_to_localtime({{1996,11,6},{14,18,43}}). {{1996,11,7},{15,18,43}} diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_universaltime_to_posixtime_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_universaltime_to_posixtime_1_func.txt index a7498761494c..d7b2cd37378d 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_universaltime_to_posixtime_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_universaltime_to_posixtime_1_func.txt @@ -1,5 +1,9 @@ -  universaltime_to_posixtime/1 + -spec universaltime_to_posixtime(P1) -> integer() +  when +  P1 :: +  {calendar:date(), +  calendar:time()}. The documentation for universaltime_to_posixtime/1 is hidden. This probably means that it is internal and not to be used by 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 0e9b8253e033..de7b5f8d85f7 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 @@ -2,8 +2,9 @@ -spec unlink(Id) -> true when Id :: pid() | port(). Removes a link between the calling process and another process or - a port identified by Id. We will from here on call the - identified process or port unlinkee. + a port identified by Id. + + We will from here on call the identified process or port unlinkee. A link can be set up using the link/1 BIF. For more information on links and exit signals due to links, see the Processes @@ -40,7 +41,8 @@ protocol can be found in the Distribution Protocol chapter of the ERTS User's Guide. - Note: + 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_unregister_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unregister_1_func.txt index 3697bac815e5..b155a09cbe9a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unregister_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unregister_1_func.txt @@ -2,8 +2,9 @@ -spec unregister(RegName) -> true when RegName :: atom(). Removes the registered name RegName associated with a process - identifier or a port identifier from the name registry. For - example: + identifier or a port identifier from the name registry. + + For example: > unregister(db). true diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_whereis_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_whereis_1_func.txt index 6a432f954cf7..51cbf4602810 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_whereis_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_whereis_1_func.txt @@ -4,7 +4,9 @@ Returns the process identifier or port identifier with the  registered name RegName from the name registry. Returns  - undefined if the name is not registered. Example: + undefined if the name is not registered. + + For example: > whereis(db). <0.43.0> diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_xor_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_xor_2_func.txt index 3a833a1dfb51..204025abecb6 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_xor_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_xor_2_func.txt @@ -1,5 +1,5 @@ -  'xor'/2 + -spec 'xor'(boolean(), boolean()) -> boolean(). The documentation for 'xor'/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_yield_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_yield_0_func.txt index 5c356a009b35..cd5e5939c596 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_yield_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_yield_0_func.txt @@ -1,5 +1,5 @@ - -spec erlang:yield() -> true. + -spec yield() -> true. Tries to give other processes with the same or higher priority (if any) a chance to execute before returning. There is no guarantee @@ -10,7 +10,8 @@ make the current process sleep for a specific number of milliseconds. - Warning: + Warning + There is seldom or never any need to use this BIF. Using this BIF without a thorough grasp of how the scheduler works can cause performance degradation. The current implementation of diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_shell_docs_SUITE.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_shell_docs_SUITE.txt index 3c3f49196d8f..f4bfe9f4c475 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_shell_docs_SUITE.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_shell_docs_SUITE.txt @@ -1,4 +1,6 @@  shell_docs_SUITE - There is no documentation for shell_docs_SUITE + The documentation for shell_docs_SUITE 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/user_drv.docs_v1 b/lib/stdlib/test/shell_docs_SUITE_data/user_drv.docs_v1 index d14fa35185c9..31e361ed6fc5 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,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 +{docs_v1,{21,2},erlang,<<116,101,120,116,47,109,97,114,107,100,111,119,110>>,hidden,#{otp_doc_vsn => {1,0,0}},[{{type,arguments,0},{114,2},[<<97,114,103,117,109,101,110,116,115,40,41>>],none,#{exported => false}},{{type,shell,0},{113,2},[<<115,104,101,108,108,40,41>>],none,#{exported => false}},{{type,request,0},{49,2},[<<114,101,113,117,101,115,116,40,41>>],none,#{exported => true}},{{type,message,0},{33,2},[<<109,101,115,115,97,103,101,40,41>>],none,#{exported => true}},{{function,switch_loop,3},{591,1},[<<115,119,105,116,99,104,95,108,111,111,112,47,51>>],none,#{}},{{function,server,3},{362,1},[<<115,101,114,118,101,114,47,51>>],none,#{}},{{function,init,3},{204,1},[<<105,110,105,116,47,51>>],none,#{}},{{function,init,1},{159,1},[<<105,110,105,116,40,65,114,103,115,41>>],none,#{}},{{function,callback_mode,0},{156,1},[<<99,97,108,108,98,97,99,107,95,109,111,100,101,40,41>>],none,#{}},{{function,start,1},{147,1},[<<115,116,97,114,116,47,49>>],none,#{}},{{function,whereis_group,0},{139,1},[<<119,104,101,114,101,105,115,95,103,114,111,117,112,40,41>>],none,#{}},{{function,start_shell,1},{135,1},[<<115,116,97,114,116,95,115,104,101,108,108,40,65,114,103,115,41>>],none,#{}},{{function,start_shell,0},{132,1},[<<115,116,97,114,116,95,115,104,101,108,108,40,41>>],none,#{}},{{function,start,0},{120,1},[<<115,116,97,114,116,40,41>>],none,#{}}]}. \ No newline at end of file diff --git a/lib/stdlib/test/zip_SUITE.erl b/lib/stdlib/test/zip_SUITE.erl index ba3ff849886e..4352fa674808 100644 --- a/lib/stdlib/test/zip_SUITE.erl +++ b/lib/stdlib/test/zip_SUITE.erl @@ -1456,10 +1456,7 @@ basic_timestamp(Config) -> {ok, ["testfile.txt"]}, unzip(Config, Archive, [{cwd,ExtractDir}])), - {ok, UnzipFI = #file_info{ atime = UnZAtime, - mtime = UnZMtime, - ctime = UnZCtime - }} = + {ok, UnzipFI } = file:read_file_info(filename:join(ExtractDir, "testfile.txt"),[raw]), @@ -1467,20 +1464,7 @@ basic_timestamp(Config) -> UnzipMode = un_z64(get_value(unzip, Config)), - if UnzipMode =/= unemzip -> - ?assertEqual(ZMtime, UnZMtime), - - %% When using unzip, the atime is sometimes set to ctime for unknown reasons... so we cannot test it - %% ?assertEqual(UnZAtime, UnZMtime), - ?assert(UnZAtime =:= UnZMtime orelse UnZAtime =:= UnZCtime), - - %% On windows the ctime and mtime are the same so - %% we cannot compare them. - [?assert(UnZMtime < UnZCtime) || os:type() =/= {win32,nt}]; - UnzipMode =:= unemzip -> - %% emzip does not support timestamps - ok - end, + assert_timestamp(UnzipMode, UnzipFI, ZMtime), ok. @@ -1524,30 +1508,31 @@ extended_timestamp(Config) -> {ok, ["testfile.txt"]}, unzip(Config, Archive, [{cwd,ExtractDir}])), - {ok, UnzipFI = #file_info{ atime = UnZAtime, - mtime = UnZMtime, - ctime = UnZCtime - }} = + {ok, UnzipFI } = file:read_file_info(filename:join(ExtractDir, "testfile.txt"),[raw]), ct:log("extract: ~p",[UnzipFI]), UnzipMode = un_z64(get_value(unzip, Config)), - if UnzipMode =/= unemzip -> - ?assertEqual(ZMtime, UnZMtime), + assert_timestamp(UnzipMode, UnzipFI, ZMtime ), - %% When using unzip, the atime is sometimes set to ctime for unknown reasons... so we cannot test it - %% ?assertEqual(UnZAtime, UnZMtime), - ?assert(UnZAtime =:= UnZMtime orelse UnZAtime =:= UnZCtime), + ok. - %% On windows the ctime and mtime are the same so - %% we cannot compare them. - [?assert(UnZMtime < UnZCtime) || os:type() =/= {win32,nt}]; - UnzipMode =:= unemzip -> - %% emzip does not support timestamps - ok - end, +assert_timestamp(unemzip, _FI, _ZMtime) -> + %% emzip does not support timestamps + ok; +assert_timestamp(_, #file_info{ atime = UnZAtime, mtime = UnZMtime, ctime = UnZCtime }, ZMtime) -> + + ?assertEqual(ZMtime, UnZMtime), + + %% both atime and ctime behave very differently on different platforms, so it is rather hard to test. + %% atime is sometimes set to ctime for unknown reasons, and sometimes set to 1970... + ?assert(UnZAtime =:= UnZMtime orelse UnZAtime =:= UnZCtime orelse UnZAtime =:= {{1970,1,1},{1,0,0}}), + + %% On windows the ctime and mtime are the same so + %% we cannot compare them. + [?assert(UnZMtime < UnZCtime) || os:type() =/= {win32,nt}], ok. diff --git a/lib/tftp/src/tftp.erl b/lib/tftp/src/tftp.erl index 8378b00186f9..ad9a9284e9ef 100644 --- a/lib/tftp/src/tftp.erl +++ b/lib/tftp/src/tftp.erl @@ -100,7 +100,6 @@ options). This implies that the (new) client will be served by the already ongoing connection on the server side. By not setting up yet another connection, in parallel with the ongoing one, the server consumes less resources. -[](){: #prepare } """. %%------------------------------------------------------------------- @@ -246,7 +245,6 @@ performed. `AcceptedOptions` is sent to the server, which replies with the options that it accepts. These are then forwarded to `open/4` as `SuggestedOptions`. -[](){: #open } """. -doc(#{since => <<"OTP 18.1">>}). @@ -269,7 +267,6 @@ On the server side, where there is no preceding `prepare/5` call, no new options can be added, but those present in `SuggestedOptions` can be omitted or replaced with new values in `AcceptedOptions`. -[](){: #read } """. -doc(#{title => <<"Client API">>, @@ -292,7 +289,6 @@ clean up after the aborted file transfer, such as closing open file descriptors, and so on. In both cases there will be no more calls to any of the callback functions. -[](){: #write } """. -doc(#{since => <<"OTP 18.1">>}). -callback read(State :: term()) -> {more, binary(), NewState :: term()} | @@ -308,7 +304,6 @@ clean up after the aborted file transfer, such as closing open file descriptors, and so on. In both cases there will be no more calls to any of the callback functions. -[](){: #abort } """. -doc(#{since => <<"OTP 18.1">>}). -callback write(binary(), State :: term()) -> diff --git a/lib/tools/doc/notes.md b/lib/tools/doc/notes.md index 48c48b7a4fdc..4d9745494e58 100644 --- a/lib/tools/doc/notes.md +++ b/lib/tools/doc/notes.md @@ -27,7 +27,7 @@ This document describes the changes made to the Tools application. - `m:tprof` no longer crashes when using pause/restart/continue when profiling all modules. - Own Id: OTP-19136 Aux Id: [GH-8472] [PR-8472] [PR-8541] + Own Id: OTP-19136 Aux Id: [GH-8472], [PR-8472], [PR-8541] - On systems supporting native coverage, calls to `m:cover` could hang or crash if cover-compiled module had been reloaded from outside `cover`. This has been corrected so that `cover` now recovers from the error and and sends a report to the logger about the failure to retrieve coverage information. diff --git a/lib/tools/emacs/erlang-flymake.el b/lib/tools/emacs/erlang-flymake.el index 4e4da51e7a4a..9a5e7f0edefa 100644 --- a/lib/tools/emacs/erlang-flymake.el +++ b/lib/tools/emacs/erlang-flymake.el @@ -69,7 +69,7 @@ check on newline and when there are no changes)." (defun erlang-flymake-init () (let* ((temp-file (cl-letf (((symbol-function 'flymake-get-temp-dir) #'erlang-flymake-temp-dir)) - (flymake-init-create-temp-buffer-copy + (flymake-proc-init-create-temp-buffer-copy 'flymake-create-temp-with-folder-structure))) (code-dir-opts (erlang-flymake-flatten diff --git a/lib/tools/emacs/erlang-skels-old.el b/lib/tools/emacs/erlang-skels-old.el index 7d503c4bc1e7..7fdb27c1def3 100644 --- a/lib/tools/emacs/erlang-skels-old.el +++ b/lib/tools/emacs/erlang-skels-old.el @@ -150,7 +150,7 @@ Please see the function `tempo-define-template'.") "*The skeleton template to generate a version control attribute. The default is to insert nothing. Example of usage: - (setq erlang-skel-vc '(& \"-rcs(\\\"$\Id: $ \\\").\") n) + (setq erlang-skel-vc \\='(& \"-rcs(\\\"$\Id: $ \\\").\") n) Please see the function `tempo-define-template'.") @@ -179,7 +179,7 @@ Look in the module `time-stamp' for a battery of functions.") (defvar erlang-skel-copyright-comment '() "*The template for a copyright line in the header, normally empty. This variable should be bound to a `tempo' template, for example: - '(& \"%%% Copyright (C) 2000, Yoyodyne, Inc.\" n) + \\='(& \"%%% Copyright (C) 2000, Yoyodyne, Inc.\" n) Please see the function `tempo-define-template'.") diff --git a/lib/tools/emacs/erlang-skels.el b/lib/tools/emacs/erlang-skels.el index f61f156f9d6d..02a0adc18855 100644 --- a/lib/tools/emacs/erlang-skels.el +++ b/lib/tools/emacs/erlang-skels.el @@ -180,7 +180,7 @@ Please see the function `tempo-define-template'.") "*The skeleton template to generate a version control attribute. The default is to insert nothing. Example of usage: - (setq erlang-skel-vc '(& \"-rcs(\\\"$\Id: $ \\\").\") n) + (setq erlang-skel-vc \\='(& \"-rcs(\\\"$\Id: $ \\\").\") n) Please see the function `tempo-define-template'.") @@ -214,7 +214,7 @@ Look in the module `time-stamp' for a battery of functions.") (user-full-name) n)) "*The template for a copyright line in the header, normally empty. This variable should be bound to a `tempo' template, for example: - '(& \"%%% Copyright (C) 2000, Yoyodyne, Inc.\" n) + \\='(& \"%%% Copyright (C) 2000, Yoyodyne, Inc.\" n) Please see the function `tempo-define-template'.") (defvar erlang-skel-created-comment @@ -2026,7 +2026,7 @@ package not be present, this function does nothing." Example of use, assuming that `erlang-skel-func' is defined: - (defvar foo-skeleton '(\"%%% New function:\" + (defvar foo-skeleton \\='(\"%%% New function:\" (erlang-skel-include erlang-skel-func))) Technically, this function returns the `tempo' attribute`(l ...)' which diff --git a/lib/tools/emacs/erlang-test.el b/lib/tools/emacs/erlang-test.el index 49d6ea4286bf..3c0eb48a234a 100644 --- a/lib/tools/emacs/erlang-test.el +++ b/lib/tools/emacs/erlang-test.el @@ -171,7 +171,7 @@ concatenated to form an erlang file to test on.") (should (string-equal (file-truename expected-file) (file-truename (buffer-file-name)))) (should (eq expected-line (line-number-at-pos))) - (should (= (point-at-bol) (point)))) + (should (= (line-beginning-position) (point)))) (defun erlang-test-complete-at-point (tags-file) (with-temp-buffer @@ -179,13 +179,13 @@ concatenated to form an erlang file to test on.") (setq-local tags-file-name tags-file) (insert "\nerlang_test:fun") (erlang-complete-tag) - (should (looking-back "erlang_test:function" (point-at-bol))) + (should (looking-back "erlang_test:function" (line-beginning-position))) (insert "\nfun") (erlang-complete-tag) - (should (looking-back "function" (point-at-bol))) + (should (looking-back "function" (line-beginning-position))) (insert "\nerlang_") (erlang-complete-tag) - (should (looking-back "erlang_test:" (point-at-bol))))) + (should (looking-back "erlang_test:" (line-beginning-position))))) (ert-deftest erlang-test-compile-options () diff --git a/lib/tools/emacs/erlang.el b/lib/tools/emacs/erlang.el index fa041a8e5558..6b8d8e11a7e4 100644 --- a/lib/tools/emacs/erlang.el +++ b/lib/tools/emacs/erlang.el @@ -79,6 +79,7 @@ (require 'align) (require 'comint) (require 'tempo) +(require 'cl-lib) ;;; `caddr' is builtin since Emacs 26. (eval-and-compile @@ -91,7 +92,7 @@ "The Erlang programming language." :group 'languages) -(defconst erlang-version "2.8.4" +(defconst erlang-version "2.8.5" "The version number of Erlang mode.") (defcustom erlang-root-dir nil @@ -108,7 +109,7 @@ Emacs command `M-x erlang-man-download-ask RET' (the download URL can be customized with the Emacs variable erlang-man-download-url): - (require 'erlang) + (require \='erlang) (erlang-man-download) " @@ -180,7 +181,7 @@ is an expression which is evaluated every time the menu is displayed. Should the expression evaluate to nil the menu item is ghosted. Example: - '((\"Func1\" function-one) + \='((\"Func1\" function-one) (\"SubItem\" ((\"Yellow\" function-yellow) (\"Blue\" function-blue))) @@ -252,15 +253,15 @@ containing all functions defined in the current buffer. To use the example, copy the following lines to your `~/.emacs' file: - (add-hook 'erlang-mode-hook 'my-erlang-mode-hook) + (add-hook \='erlang-mode-hook \='my-erlang-mode-hook) (defun my-erlang-mode-hook () - (local-set-key \"\\C-c\\C-c\" 'erlang-compile) + (local-set-key \"\\C-c\\C-c\" \='erlang-compile) (if window-system (progn (setq font-lock-maximum-decoration t) (font-lock-mode 1))) - (if (and window-system (fboundp 'imenu-add-to-menubar)) + (if (and window-system (fboundp \='imenu-add-to-menubar)) (imenu-add-to-menubar \"Imenu\")))") (defvar erlang-load-hook nil @@ -285,7 +286,7 @@ The following example sets the variable `erlang-root-dir' so that the manual pages can be retrieved (note that you must set the value of `erlang-root-dir' to match the location of Erlang on your system): - (add-hook 'erlang-load-hook 'my-erlang-load-hook) + (add-hook \='erlang-load-hook \='my-erlang-load-hook) (defun my-erlang-load-hook () (setq erlang-root-dir \"/usr/local/erlang\"))") @@ -302,8 +303,10 @@ A useful function is `tempo-template-erlang-normal-header'. If the value of this variable is the symbol `ask', the user is prompted. If the value is t the source is silently changed." :group 'erlang - :type '(choice (const :tag "Check on save" 'ask) - (const :tag "Don't check on save" t))) + :type '(choice + (const :tag "Prompt" ask) + (const :tag "Silently change" t) + (const :tag "Don't check on save" nil))) (defvar erlang-electric-commands '(erlang-electric-comma @@ -366,7 +369,7 @@ is typed. Each function in the list is called with no arguments, and should return one of the following values: nil -- no determination made, continue checking - 'stop -- do not create prototype for next line + \='stop -- do not create prototype for next line (anything else) -- insert prototype, and stop checking If every function in the list is called with no determination made, @@ -387,7 +390,7 @@ is typed. Each function in the list is called with no arguments, and should return one of the following values: nil -- no determination made, continue checking - 'stop -- do not create prototype for next line + \='stop -- do not create prototype for next line (anything else) -- insert prototype, and stop checking If every function in the list is called with no determination made, @@ -405,7 +408,7 @@ is typed. Each function in the list is called with no arguments, and should return one of the following values: nil -- no determination made, continue checking - 'stop -- do not create prototype for next line + \='stop -- do not create prototype for next line (anything else) -- insert prototype, and stop checking If every function in the list is called with no determination made, @@ -426,7 +429,7 @@ is typed. Each function in the list is called with no arguments, and should return one of the following values: nil -- no determination made, continue checking - 'stop -- do not create prototype for next line + \='stop -- do not create prototype for next line (anything else) -- trigger the electric command. If every function in the list is called with no determination made, @@ -560,7 +563,7 @@ This is an elisp list of options. Each option can be either: - an atom - a dotted pair - a string -Example: '(bin_opt_info (i . \"/path1/include\") (i . \"/path2/include\"))") +Example: \='(bin_opt_info (i . \"/path1/include\") (i . \"/path2/include\"))") (defvar erlang-compile-command-function-alist '((".erl\\'" . inferior-erlang-compute-erl-compile-command) @@ -1765,9 +1768,9 @@ This could be used when defining your own special font-lock setup, e.g: (append erlang-font-lock-keywords-function-header erlang-font-lock-keywords-dollar (erlang-font-lock-set-face - erlang-font-lock-keywords-macros 'my-neon-green-face) + erlang-font-lock-keywords-macros \='my-neon-green-face) (erlang-font-lock-set-face - erlang-font-lock-keywords-lc 'my-deep-red 'my-light-red) + erlang-font-lock-keywords-lc \='my-deep-red \='my-light-red) erlang-font-lock-keywords-attr)) For a more elaborate example, please see the beginning of the file @@ -1946,8 +1949,8 @@ menu is left unchanged. The equality test is performed by `eq'. -Example: (erlang-menu-add-above 'my-erlang-menu-items - 'erlang-menu-man-items)" +Example: (erlang-menu-add-above \='my-erlang-menu-items + \='erlang-menu-man-items)" (erlang-menu-add-below entry above items t)) @@ -1965,8 +1968,8 @@ The equality test is performed by `eq'. Example: \(setq erlang-menu-items - (erlang-menu-add-below 'my-erlang-menu-items - 'erlang-menu-base-items + (erlang-menu-add-below \='my-erlang-menu-items + \='erlang-menu-base-items erlang-menu-items))" (if (memq entry items) items ; Return the original menu. @@ -2423,7 +2426,6 @@ the search for the buffer more accurate." (let ((buffer (or buf (progn ; find buffer containing man page - (require 'cl-lib) (car (cl-remove-if-not (lambda (buf) (string-match (or module-name "") @@ -2589,7 +2591,7 @@ package not be present, this function does nothing." Example of use, assuming that `erlang-skel-func' is defined: - (defvar foo-skeleton '(\"%%% New function:\" + (defvar foo-skeleton \='(\"%%% New function:\" (erlang-skel-include erlang-skel-func))) Technically, this function returns the `tempo' attribute`(l ...)' which @@ -5765,7 +5767,7 @@ The following special commands are available: \\{erlang-shell-mode-map}" (erlang-mode-variables) ;; Needed when compiling directly from the Erlang shell. - (setq compilation-last-buffer (current-buffer)) + (setq next-error-last-buffer (current-buffer)) (setq comint-prompt-regexp "^[^>=]*> *") (make-local-variable 'comint-prompt-read-only) (setq comint-prompt-read-only erlang-shell-prompt-read-only) @@ -5823,7 +5825,7 @@ Selects Comint or Compilation mode command as appropriate." (defvar inferior-erlang-display-buffer-any-frame nil "When nil, `inferior-erlang-display-buffer' use only selected frame. -When t, all frames are searched. When 'raise, the frame is raised.") +When t, all frames are searched. When \='raise, the frame is raised.") (defvar inferior-erlang-shell-type 'newshell "The type of Erlang shell to use. @@ -5938,7 +5940,7 @@ The window is returned. Should `inferior-erlang-display-buffer-any-frame' be nil the buffer is displayed in the current frame. Should it be non-nil, and the buffer already is visible in any other frame, no new window will be created. -Should it be the atom 'raise, the frame containing the window will +Should it be the atom \='raise, the frame containing the window will be raised. Should the optional argument SELECT be non-nil, the window is @@ -6136,9 +6138,10 @@ There exists two workarounds for this bug: (sit-for 0) (inferior-erlang-wait-prompt) (with-current-buffer inferior-erlang-buffer - (setq compilation-error-list nil) - (set-marker compilation-parsing-end end)) - (setq compilation-last-buffer inferior-erlang-buffer))) + (when (and (boundp 'compilation-error-list) (boundp 'compilation-parsing-end)) + (setq compilation-error-list nil) + (set-marker compilation-parsing-end end))) + (setq next-error-last-buffer inferior-erlang-buffer))) (defun inferior-erlang-prepare-for-input (&optional no-display) "Create an inferior erlang buffer if needed and ready it for input. diff --git a/lib/tools/src/cover.erl b/lib/tools/src/cover.erl index fc4899719538..67b9841b2002 100644 --- a/lib/tools/src/cover.erl +++ b/lib/tools/src/cover.erl @@ -2373,14 +2373,17 @@ native_move(Mod) -> [] end, _ = catch code:reset_coverage(Mod), - Coverage = maps:from_list(Coverage0), + + %% Note that `executable_line` line instructions can become + %% duplicated, making it necessary to consolidate all entries + %% having the same cover id. + S0 = sofs:relation(Coverage0, [{cover_id,count}]), + S1 = sofs:relation_to_family(S0), + S = sofs:to_external(S1), + Coverage = #{Id => lists:sum(Counts) || {Id,Counts} <- S}, fun({#bump{}=Key,Index}) -> case Coverage of - #{Index := false} -> - {Key,0}; - #{Index := true} -> - {Key,1}; #{Index := N} when is_integer(N), N >= 0 -> {Key,N}; #{} -> diff --git a/lib/tools/src/tprof.erl b/lib/tools/src/tprof.erl index 7c0e33d3dece..616f08195271 100644 --- a/lib/tools/src/tprof.erl +++ b/lib/tools/src/tprof.erl @@ -46,7 +46,7 @@ There are [three kinds of profiling](`t:trace_type/0`) supported by this module: - `call_time` - `call_memory` -The default is `call_count`, which has the smallest peformance impact +The default is `call_count`, which has the smallest performance impact and memory footprint, but it does not support per-process profiling. For this reason, all of the examples below uses `call_memory`, which measures heap allocation, and provide a more complex @@ -271,8 +271,8 @@ erl_eval:merge_bindings/4 3 24 8 [24.24] 99 [100.0] ``` -By default, there is no limit for the profiling time. For ac-hoc -profiling, is is possible to configure a time limit. If the profiled +By default, there is no limit for the profiling time. For ad-hoc +profiling, it is possible to configure a time limit. If the profiled function does not return before that time expires, the process is terminated with reason `kill`. Any unlinked children processes started by the user-supplied function are kept; it is the responsibility of @@ -1137,7 +1137,7 @@ format_each(Device, call_count, _Total, Inspected) -> [format_out(Device, Fmt, Line) || Line <- lists:reverse(Lines)], format_out(Device, Fmt, [" ", " ", "100.0"]); format_each(Device, call_time, Total, Inspected) -> - format_labelled(Device, "TIME (μs)", Total, Inspected); + format_labelled(Device, "TIME (us)", Total, Inspected); format_each(Device, call_memory, Total, Inspected) -> format_labelled(Device, "WORDS", Total, Inspected). diff --git a/lib/tools/test/cover_SUITE.erl b/lib/tools/test/cover_SUITE.erl index d9e77cd65181..97cd9fb65084 100644 --- a/lib/tools/test/cover_SUITE.erl +++ b/lib/tools/test/cover_SUITE.erl @@ -33,7 +33,7 @@ all() -> analyse_no_beam, line_0, compile_beam_no_file, compile_beam_missing_backend, otp_13277, otp_13289, guard_in_lc, gh_4796, - eep49, gh_8159], + eep49, gh_8159, gh_8867], StartStop = [start, compile, analyse, misc, stop, distribution, distribution_export, reconnect, die_and_reconnect, dont_reconnect_after_stop, stop_node_after_disconnect, @@ -2015,6 +2015,41 @@ gh_8159(Config) -> ok. +%% GH-8867: Certain guard expressions could cause `executable_line` +%% instructions to be duplicated, resulting in multiple entries for +%% each cover id. `cover` would only keep the last entry, resulting +%% in lost coverage. +gh_8867(Config) -> + ok = file:set_cwd(proplists:get_value(priv_dir, Config)), + + M = ?FUNCTION_NAME, + File = atom_to_list(M) ++ ".erl", + Test = ~""" + -module(gh_8867). + -export([myfun/2]). + myfun(Arg1, <<"bar", _>>) when Arg1 == arg1 orelse Arg1 == arg2 -> + nil; + myfun(arg3, Arg2) -> + case lists:sum([10, 2]) of + 12 -> + Res = Arg2, + Res + end. + """, + ok = file:write_file(File, Test), + {ok, M} = cover:compile(File), + + ~"foo" = M:myfun(arg3, ~"foo"), + + {ok,[{{gh_8867,4},0}, + {{gh_8867,6},1}, + {{gh_8867,8},1}, + {{gh_8867,9},1}]} = cover:analyse(M, calls, line), + + cover:reset(), + ok = file:delete(File), + + ok. %%--Auxiliary------------------------------------------------------------ diff --git a/lib/wx/src/wx.erl b/lib/wx/src/wx.erl index eecd1682274c..1f68d7a23bbf 100644 --- a/lib/wx/src/wx.erl +++ b/lib/wx/src/wx.erl @@ -62,8 +62,6 @@ -module(wx). -moduledoc """ -A port of wxWidgets. - A port of [wxWidgets](http://www.wxwidgets.org/). This is the base api of [wxWidgets](http://www.wxwidgets.org/). This module @@ -174,14 +172,12 @@ Global (classless) functions are located in the wx_misc module. -type wx_enum() :: integer(). %% Constant defined in wx.hrl -type wx_wxHtmlLinkInfo() :: #wxHtmlLinkInfo{}. --doc "parent_class(X1) -> term()". --spec parent_class(wx_object()) -> boolean(). +-doc "". +-spec parent_class(Wx_ref :: wx_object()) -> boolean(). parent_class(_) -> true. %% Let the null pointers be sent down. %% @doc Starts a wx server. -doc """ -new() -> wx_object() - Starts a wx server. """. -spec new() -> wx_object(). @@ -194,10 +190,10 @@ new() -> %% be suppressed. The latter can be used as a silent test of whether %% wx is properly installed or not. -doc """ -new(Options::[Option]) -> wx_object() +Starts a wx server. -Starts a wx server. Option may be \{debug, Level\}, see debug/1. Or -\{silent_start, Bool\}, which causes error messages at startup to be suppressed. +Option may be `{debug, Level}`, see `debug/1`. Or `{silent_start, Bool}`, +which causes error messages at startup to be suppressed. The latter can be used as a silent test of whether wx is properly installed or not. """. @@ -214,8 +210,6 @@ new(Options) when is_list(Options) -> %% @doc Stops a wx server. -doc """ -destroy() -> ok - Stops a wx server. """. -spec destroy() -> 'ok'. @@ -228,8 +222,6 @@ destroy() -> %% Can be sent to other processes to allow them use this process wx environment. %% @see set_env/1 -doc """ -get_env() -> wx_env() - Gets this process's current wx environment. Can be sent to other processes to allow them use this process wx environment. @@ -245,12 +237,10 @@ get_env() -> %% @doc Sets the process wx environment, allows this process to use %% another process wx environment. -doc """ -set_env(Wx_env::wx_env()) -> ok - Sets the process wx environment, allows this process to use another process wx environment. """. --spec set_env(wx_env()) -> 'ok'. +-spec set_env(Wx_env :: wx_env()) -> 'ok'. set_env(#wx_env{sv=Pid} = Env) -> put(?WXE_IDENTIFIER, Env), %% put(opengl_port, Port), @@ -272,8 +262,6 @@ set_env(#wx_env{sv=Pid} = Env) -> %% The call always returns ok but will have sent any already received %% events to the calling process. -doc """ -subscribe_events() -> ok - Adds the calling process to the list of of processes that are listening to wx application events. @@ -296,8 +284,6 @@ subscribe_events() -> %% @doc Returns the null object -doc """ -null() -> wx_object() - Returns the null object """. -spec null() -> wx_object(). @@ -306,29 +292,23 @@ null() -> %% @doc Returns true if object is null, false otherwise -doc """ -is_null(Wx_ref::wx_object()) -> boolean() - Returns true if object is null, false otherwise """. --spec is_null(wx_object()) -> boolean(). +-spec is_null(Wx_ref :: wx_object()) -> boolean(). is_null(#wx_ref{ref=NULL}) -> NULL =:= 0. %% @doc Returns true if both arguments references the same object, false otherwise -doc """ -equal(Wx_ref::wx_object(), X2::wx_object()) -> boolean() - Returns true if both arguments references the same object, false otherwise """. --spec equal(wx_object(), wx_object()) -> boolean(). +-spec equal(Ref1 :: wx_object(), Ref2 :: wx_object()) -> boolean(). equal(#wx_ref{ref=Ref1}, #wx_ref{ref=Ref2}) -> Ref1 =:= Ref2. %% @doc Returns the object type -doc """ -getObjectType(Wx_ref::wx_object()) -> atom() - Returns the object type """. --spec getObjectType(wx_object()) -> atom(). +-spec getObjectType(Wx_ref :: wx_object()) -> atom(). getObjectType(#wx_ref{type=Type}) -> Type. @@ -336,8 +316,6 @@ getObjectType(#wx_ref{type=Type}) -> %% It is needed when using functions like wxWindow:findWindow/2, which %% returns a generic wxObject type. -doc """ -typeCast(Old::wx_object(), NewType::atom()) -> wx_object() - Casts the object to class NewType. It is needed when using functions like wxWindow:findWindow/2, which returns a generic wxObject type. """. @@ -355,8 +333,6 @@ typeCast(Old=#wx_ref{}, NewType) when is_atom(NewType) -> %% @see foldl/3 %% @see foldr/3 -doc """ -batch(Fun::function()) -> term() - Batches all `wx` commands used in the fun. Improves performance of the command processing by grabbing the wxWidgets thread so that no event processing will be done before the complete batch of commands is invoked. @@ -377,8 +353,6 @@ batch(Fun) -> %% @doc Behaves like {@link //stdlib/lists:foreach/2} but batches wx commands. See {@link batch/1}. -doc """ -foreach(Fun::function(), List::list()) -> ok - Behaves like `lists:foreach/2` but batches wx commands. See `batch/1`. """. -spec foreach(function(), list()) -> 'ok'. @@ -395,8 +369,6 @@ foreach(Fun, List) -> %% @doc Behaves like {@link //stdlib/lists:map/2} but batches wx commands. See {@link batch/1}. -doc """ -map(Fun::function(), List::list()) -> list() - Behaves like `lists:map/2` but batches wx commands. See `batch/1`. """. -spec map(function(), list()) -> list(). @@ -413,8 +385,6 @@ map(Fun, List) -> %% @doc Behaves like {@link //stdlib/lists:foldl/3} but batches wx commands. See {@link batch/1}. -doc """ -foldl(Fun::function(), Acc::term(), List::list()) -> term() - Behaves like `lists:foldl/3` but batches wx commands. See `batch/1`. """. -spec foldl(function(), term(), list()) -> term(). @@ -431,8 +401,6 @@ foldl(Fun, Acc, List) -> %% @doc Behaves like {@link //stdlib/lists:foldr/3} but batches wx commands. See {@link batch/1}. -doc """ -foldr(Fun::function(), Acc::term(), List::list()) -> term() - Behaves like `lists:foldr/3` but batches wx commands. See `batch/1`. """. -spec foldr(function(), term(), list()) -> term(). @@ -458,8 +426,6 @@ foldr(Fun, Acc, List) -> %% Use it carefully. -doc """ -create_memory(Size::integer()) -> wx_memory() - Creates a memory area (of Size in bytes) which can be used by an external library (i.e. opengl). It is up to the client to keep a reference to this object so it does not get garbage collected by erlang while still in use by the @@ -468,7 +434,7 @@ external library. This is far from erlang's intentional usage and can crash the erlang emulator. Use it carefully. """. --spec create_memory(integer()) -> wx_memory(). +-spec create_memory(Size :: integer()) -> wx_memory(). create_memory(Size) when Size > ?MIN_BIN_SIZE -> #wx_mem{bin = <<0:(Size*8)>>, size = Size}; create_memory(Size) -> @@ -476,11 +442,9 @@ create_memory(Size) -> %% @doc Returns the memory area as a binary. -doc """ -get_memory_bin(Wx_mem::wx_memory()) -> binary() - Returns the memory area as a binary. """. --spec get_memory_bin(wx_memory()) -> binary(). +-spec get_memory_bin(Wx_mem :: wx_memory()) -> binary(). get_memory_bin(#wx_mem{bin=Bin, size=Size}) when Size > ?MIN_BIN_SIZE -> Bin; get_memory_bin(#wx_mem{bin=Bin, size=Size}) -> @@ -490,12 +454,10 @@ get_memory_bin(#wx_mem{bin=Bin, size=Size}) -> %% @doc Saves the memory from deletion until release_memory/1 is called. %% If release_memory/1 is not called the memory will not be garbage collected. -doc """ -retain_memory(Wx_mem::wx_memory()) -> ok - -Saves the memory from deletion until release_memory/1 is called. If -release_memory/1 is not called the memory will not be garbage collected. +Saves the memory from deletion until `release_memory/1` is called. If +`release_memory/1` is not called the memory will not be garbage collected. """. --spec retain_memory(wx_memory()) -> 'ok'. +-spec retain_memory(Wx_mem :: wx_memory()) -> 'ok'. retain_memory(#wx_mem{}=Mem) -> case get(Mem) of {Mem, N} -> put(Mem, N+1); @@ -509,8 +471,8 @@ retain_memory(Bin) when is_binary(Bin) -> end, retain_memory(#wx_mem{bin=Bin, size=byte_size(Bin)}). --doc "release_memory(Wx_mem::wx_memory()) -> ok". --spec release_memory(wx_memory()) -> 'ok'. +-doc "Releases the memory retained by `retain_memory/1`". +-spec release_memory(Wx_mem :: wx_memory()) -> 'ok'. release_memory(#wx_mem{}=Mem) -> case erase(Mem) of 1 -> ok; @@ -524,7 +486,7 @@ release_memory(Bin) when is_binary(Bin) -> %% each call is printed on console. If Level is 'driver' each allocated %% object and deletion is printed on the console. -doc """ -debug(Debug::Level | [Level]) -> ok +debug(Level) Sets debug level. If debug level is 'verbose' or 'trace' each call is printed on console. If Level is 'driver' each allocated object and deletion is printed on @@ -571,8 +533,6 @@ set_debug(Level) when is_integer(Level) -> %% @doc Starts a Wx demo if examples directory exists and is compiled -doc """ -demo() -> ok | {error, atom()} - Starts a Wx demo if examples directory exists and is compiled """. -spec demo() -> 'ok' | {'error', atom()}. diff --git a/lib/wx/src/wx_object.erl b/lib/wx/src/wx_object.erl index d5f681fbd360..cbd2dc499403 100644 --- a/lib/wx/src/wx_object.erl +++ b/lib/wx/src/wx_object.erl @@ -110,8 +110,6 @@ -module(wx_object). -moduledoc """ -wx_object - Generic wx object behaviour. - wx_object - Generic wx object behaviour This is a behaviour module that can be used for "sub classing" wx objects. It @@ -297,8 +295,6 @@ start(Mod, Args, Options) -> %% @doc Starts a generic wx_object server and invokes Mod:init(Args) in the %% new process. -doc """ -start(Name, Mod, Args, Options) -> wxWindow:wxWindow() | {error, term()} - Starts a generic wx_object server and invokes Mod:init(Args) in the new process. """. -spec start(Name, Mod, Args, Options) -> wxWindow:wxWindow() | {error, term()} when @@ -316,8 +312,6 @@ start(Name, Mod, Args, Options) -> %% @doc Starts a generic wx_object server and invokes Mod:init(Args) in the %% new process. -doc """ -start_link(Mod, Args, Options) -> wxWindow:wxWindow() | {error, term()} - Starts a generic wx_object server and invokes Mod:init(Args) in the new process. """. -spec start_link(Mod, Args, Options) -> wxWindow:wxWindow() | {error, term()} when @@ -334,8 +328,6 @@ start_link(Mod, Args, Options) -> %% @doc Starts a generic wx_object server and invokes Mod:init(Args) in the %% new process. -doc """ -start_link(Name, Mod, Args, Options) -> wxWindow:wxWindow() | {error, term()} - Starts a generic wx_object server and invokes Mod:init(Args) in the new process. """. -spec start_link(Name, Mod, Args, Options) -> wxWindow:wxWindow() | {error, term()} when @@ -360,8 +352,6 @@ gen_response(Reply) -> %% the process is terminated. If the process does not exist, an %% exception is raised. -doc """ -stop(Obj) -> ok - Stops a generic wx_object server with reason 'normal'. Invokes terminate(Reason,State) in the server. The call waits until the process is terminated. If the process does not exist, an exception is raised. @@ -386,8 +376,6 @@ stop(Name) when is_atom(Name) orelse is_pid(Name) -> %% the process is terminated. If the call times out, or if the process %% does not exist, an exception is raised. -doc """ -stop(Obj, Reason, Timeout) -> ok - Stops a generic wx_object server with the given Reason. Invokes terminate(Reason,State) in the server. The call waits until the process is terminated. If the call times out, or if the process does not exist, an @@ -414,8 +402,6 @@ stop(Name, Reason, Timeout) when is_atom(Name) orelse is_pid(Name) -> %% The call waits until it gets a result. %% Invokes handle_call(Request, From, State) in the server -doc """ -call(Obj, Request) -> term() - Make a call to a wx_object server. The call waits until it gets a result. Invokes handle_call(Request, From, State) in the server """. @@ -440,8 +426,6 @@ call(Name, Request) when is_atom(Name) orelse is_pid(Name) -> %% @doc Make a call to a wx_object server with a timeout. %% Invokes handle_call(Request, From, State) in server -doc """ -call(Obj, Request, Timeout) -> term() - Make a call to a wx_object server with a timeout. Invokes handle_call(Request, From, State) in server """. @@ -468,8 +452,6 @@ call(Name, Request, Timeout) when is_atom(Name) orelse is_pid(Name) -> %% and return a RequestId which can/should be used with wait_response/[1|2]. %% Invokes handle_call(Request, From, State) in server. -doc """ -send_request(Obj, Request::term()) -> request_id() - Make an send_request to a generic server. and return a RequestId which can/should be used with wait_response/\[1|2]. Invokes handle_call(Request, From, State) in server. @@ -483,9 +465,6 @@ send_request(Pid, Request) when is_atom(Pid) orelse is_pid(Pid) -> %% @doc Wait infinitely for a reply from a generic server. -doc """ -wait_response(RequestId::request_id()) -> {reply, Reply::term()} | {error, -{term(), server_ref()}} - Wait infinitely for a reply from a generic server. """. -spec wait_response(RequestId::request_id()) -> @@ -495,21 +474,15 @@ wait_response(RequestId) -> %% @doc Wait 'timeout' for a reply from a generic server. -doc """ -wait_response(Key::request_id(), Timeout::timeout()) -> {reply, Reply::term()} | -timeout | {error, {term(), server_ref()}} - Wait 'timeout' for a reply from a generic server. """. --spec wait_response(Key::request_id(), timeout()) -> +-spec wait_response(Key::request_id(), Timeout :: timeout()) -> {reply, Reply::term()} | 'timeout' | {error, {term(), server_ref()}}. wait_response(RequestId, Timeout) -> gen:wait_response(RequestId, Timeout). %% @doc Check if a received message was a reply to a RequestId -doc """ -check_response(Msg::term(), Key::request_id()) -> {reply, Reply::term()} | false -| {error, {term(), server_ref()}} - Check if a received message was a reply to a RequestId """. -spec check_response(Msg::term(), Key::request_id()) -> @@ -520,8 +493,6 @@ check_response(Msg, RequestId) -> %% @doc Make a cast to a wx_object server. %% Invokes handle_cast(Request, State) in the server -doc """ -cast(Obj, Request) -> ok - Make a cast to a wx_object server. Invokes handle_cast(Request, State) in the server """. @@ -537,8 +508,6 @@ cast(Name, Request) when is_atom(Name) orelse is_pid(Name) -> %% @doc Get the pid of the object handle. -doc """ -get_pid(Obj) -> pid() - Get the pid of the object handle. """. -spec get_pid(Obj) -> pid() when @@ -548,11 +517,9 @@ get_pid(#wx_ref{state=Pid}) when is_pid(Pid) -> %% @doc Sets the controlling process of the object handle. -doc """ -set_pid(Obj, Pid::pid()) -> wx:wx_object() - Sets the controlling process of the object handle. """. --spec set_pid(Obj, pid()) -> wx:wx_object() when +-spec set_pid(Obj, Pid :: pid()) -> wx:wx_object() when Obj::wx:wx_object()|atom()|pid(). set_pid(#wx_ref{}=R, Pid) when is_pid(Pid) -> R#wx_ref{state=Pid}. @@ -562,7 +529,7 @@ set_pid(#wx_ref{}=R, Pid) when is_pid(Pid) -> %% ----------------------------------------------------------------- %% @doc Get the pid of the object handle. -doc """ -reply(X1::{pid(), Tag::term()}, Reply::term()) -> pid() +reply(PidTag, Reply) Get the pid of the object handle. """. diff --git a/lib/xmerl/doc/notes.md b/lib/xmerl/doc/notes.md index 90fb2103d36e..f7d32a77628d 100644 --- a/lib/xmerl/doc/notes.md +++ b/lib/xmerl/doc/notes.md @@ -76,6 +76,14 @@ This document describes the changes made to the Xmerl application. [PR-7942]: https://github.com/erlang/otp/pull/7942 [PR-8026]: https://github.com/erlang/otp/pull/8026 +## Xmerl 1.3.34.1 + +### Fixed Bugs and Malfunctions + +* Corrected export functions from internal structure to XML so xmlText items of type cdata are handled correctly. They were just exported as normal text instead of output in a CDATA section. + + Own Id: OTP-19217 Aux Id: ERIERL-1104 + ## Xmerl 1.3.34 ### Fixed Bugs and Malfunctions @@ -127,6 +135,14 @@ This document describes the changes made to the Xmerl application. Own Id: OTP-18595 Aux Id: ERIERL-944 +## Xmerl 1.3.31.2 + +### Fixed Bugs and Malfunctions + +* Corrected export functions from internal structure to XML so xmlText items of type cdata are handled correctly. They were just exported as normal text instead of output in a CDATA section. + + Own Id: OTP-19217 Aux Id: ERIERL-1104 + ## Xmerl 1.3.31.1 ### Fixed Bugs and Malfunctions diff --git a/make/otp_version_tickets b/make/otp_version_tickets index da68204bb657..b8220e1a8720 100644 --- a/make/otp_version_tickets +++ b/make/otp_version_tickets @@ -1,14 +1 @@ -OTP-19124 -OTP-19235 -OTP-19246 -OTP-19247 -OTP-19249 -OTP-19258 -OTP-19265 -OTP-19266 -OTP-19267 -OTP-19268 -OTP-19269 -OTP-19274 -OTP-19286 -OTP-19288 +DEVELOPMENT diff --git a/otp_versions.table b/otp_versions.table index 07f0445b971c..0cbff5a9bf29 100644 --- a/otp_versions.table +++ b/otp_versions.table @@ -3,6 +3,8 @@ OTP-27.1.1 : common_test-1.27.2 erts-15.1.1 public_key-1.16.3 ssl-11.2.3 stdlib- OTP-27.1 : asn1-5.3.1 common_test-1.27.1 compiler-8.5.2 crypto-5.5.1 dialyzer-5.2.1 diameter-2.4.1 edoc-1.3.2 erts-15.1 ftp-1.2.3 inets-9.3 kernel-10.1 odbc-2.15 public_key-1.16.2 runtime_tools-2.1.1 snmp-5.17 ssh-5.2.2 ssl-11.2.2 stdlib-6.1 syntax_tools-3.2.1 tftp-1.2.1 tools-4.1 wx-2.4.3 xmerl-2.1 # debugger-5.4 eldap-1.2.13 erl_interface-5.5.2 et-1.7.1 eunit-2.9.1 jinterface-1.14.1 megaco-4.6 mnesia-4.23.2 observer-2.16 os_mon-2.10 parsetools-2.6 reltool-1.0.1 sasl-4.2.2 : OTP-27.0.1 : compiler-8.5.1 edoc-1.3.1 erts-15.0.1 kernel-10.0.1 public_key-1.16.1 ssh-5.2.1 ssl-11.2.1 stdlib-6.0.1 # asn1-5.3 common_test-1.27 crypto-5.5 debugger-5.4 dialyzer-5.2 diameter-2.4 eldap-1.2.13 erl_interface-5.5.2 et-1.7.1 eunit-2.9.1 ftp-1.2.2 inets-9.2 jinterface-1.14.1 megaco-4.6 mnesia-4.23.2 observer-2.16 odbc-2.14.3 os_mon-2.10 parsetools-2.6 reltool-1.0.1 runtime_tools-2.1 sasl-4.2.2 snmp-5.16 syntax_tools-3.2 tftp-1.2 tools-4.0 wx-2.4.2 xmerl-2.0 : OTP-27.0 : asn1-5.3 common_test-1.27 compiler-8.5 crypto-5.5 debugger-5.4 dialyzer-5.2 diameter-2.4 edoc-1.3 eldap-1.2.13 erl_interface-5.5.2 erts-15.0 et-1.7.1 eunit-2.9.1 ftp-1.2.2 inets-9.2 jinterface-1.14.1 kernel-10.0 megaco-4.6 mnesia-4.23.2 observer-2.16 odbc-2.14.3 os_mon-2.10 parsetools-2.6 public_key-1.16 reltool-1.0.1 runtime_tools-2.1 sasl-4.2.2 snmp-5.16 ssh-5.2 ssl-11.2 stdlib-6.0 syntax_tools-3.2 tftp-1.2 tools-4.0 wx-2.4.2 xmerl-2.0 # : +OTP-26.2.5.5 : common_test-1.26.2.2 crypto-5.4.2.3 ssh-5.1.4.4 ssl-11.1.4.5 # asn1-5.2.2 compiler-8.4.3.2 debugger-5.3.4 dialyzer-5.1.3 diameter-2.3.2.2 edoc-1.2.1 eldap-1.2.12 erl_docgen-1.5.2 erl_interface-5.5.1 erts-14.2.5.4 et-1.7 eunit-2.9 ftp-1.2.1.1 inets-9.1.0.1 jinterface-1.14 kernel-9.2.4.3 megaco-4.5 mnesia-4.23.1 observer-2.15.1 odbc-2.14.2 os_mon-2.9.1 parsetools-2.5 public_key-1.15.1.3 reltool-1.0 runtime_tools-2.0.1 sasl-4.2.1 snmp-5.15 stdlib-5.2.3.2 syntax_tools-3.1 tftp-1.1.1 tools-3.6 wx-2.4.1 xmerl-1.3.34.1 : +OTP-26.2.5.4 : common_test-1.26.2.1 compiler-8.4.3.2 crypto-5.4.2.2 erts-14.2.5.4 inets-9.1.0.1 kernel-9.2.4.3 public_key-1.15.1.3 ssh-5.1.4.3 ssl-11.1.4.4 stdlib-5.2.3.2 xmerl-1.3.34.1 # asn1-5.2.2 debugger-5.3.4 dialyzer-5.1.3 diameter-2.3.2.2 edoc-1.2.1 eldap-1.2.12 erl_docgen-1.5.2 erl_interface-5.5.1 et-1.7 eunit-2.9 ftp-1.2.1.1 jinterface-1.14 megaco-4.5 mnesia-4.23.1 observer-2.15.1 odbc-2.14.2 os_mon-2.9.1 parsetools-2.5 reltool-1.0 runtime_tools-2.0.1 sasl-4.2.1 snmp-5.15 syntax_tools-3.1 tftp-1.1.1 tools-3.6 wx-2.4.1 : OTP-26.2.5.3 : compiler-8.4.3.1 diameter-2.3.2.2 erts-14.2.5.3 ftp-1.2.1.1 kernel-9.2.4.2 public_key-1.15.1.2 ssh-5.1.4.2 ssl-11.1.4.3 # asn1-5.2.2 common_test-1.26.2 crypto-5.4.2.1 debugger-5.3.4 dialyzer-5.1.3 edoc-1.2.1 eldap-1.2.12 erl_docgen-1.5.2 erl_interface-5.5.1 et-1.7 eunit-2.9 inets-9.1 jinterface-1.14 megaco-4.5 mnesia-4.23.1 observer-2.15.1 odbc-2.14.2 os_mon-2.9.1 parsetools-2.5 reltool-1.0 runtime_tools-2.0.1 sasl-4.2.1 snmp-5.15 stdlib-5.2.3.1 syntax_tools-3.1 tftp-1.1.1 tools-3.6 wx-2.4.1 xmerl-1.3.34 : OTP-26.2.5.2 : crypto-5.4.2.1 erts-14.2.5.2 ssl-11.1.4.2 stdlib-5.2.3.1 # asn1-5.2.2 common_test-1.26.2 compiler-8.4.3 debugger-5.3.4 dialyzer-5.1.3 diameter-2.3.2.1 edoc-1.2.1 eldap-1.2.12 erl_docgen-1.5.2 erl_interface-5.5.1 et-1.7 eunit-2.9 ftp-1.2.1 inets-9.1 jinterface-1.14 kernel-9.2.4.1 megaco-4.5 mnesia-4.23.1 observer-2.15.1 odbc-2.14.2 os_mon-2.9.1 parsetools-2.5 public_key-1.15.1.1 reltool-1.0 runtime_tools-2.0.1 sasl-4.2.1 snmp-5.15 ssh-5.1.4.1 syntax_tools-3.1 tftp-1.1.1 tools-3.6 wx-2.4.1 xmerl-1.3.34 : OTP-26.2.5.1 : diameter-2.3.2.1 erts-14.2.5.1 kernel-9.2.4.1 public_key-1.15.1.1 ssh-5.1.4.1 ssl-11.1.4.1 # asn1-5.2.2 common_test-1.26.2 compiler-8.4.3 crypto-5.4.2 debugger-5.3.4 dialyzer-5.1.3 edoc-1.2.1 eldap-1.2.12 erl_docgen-1.5.2 erl_interface-5.5.1 et-1.7 eunit-2.9 ftp-1.2.1 inets-9.1 jinterface-1.14 megaco-4.5 mnesia-4.23.1 observer-2.15.1 odbc-2.14.2 os_mon-2.9.1 parsetools-2.5 reltool-1.0 runtime_tools-2.0.1 sasl-4.2.1 snmp-5.15 stdlib-5.2.3 syntax_tools-3.1 tftp-1.1.1 tools-3.6 wx-2.4.1 xmerl-1.3.34 : @@ -18,6 +20,8 @@ OTP-26.1 : asn1-5.2 common_test-1.25.1 compiler-8.4 crypto-5.3 debugger-5.3.2 di 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.15 : common_test-1.24.0.4 erts-13.2.2.11 inets-8.3.1.4 public_key-1.13.3.4 ssh-4.15.3.7 ssl-10.9.1.6 stdlib-4.3.1.5 # asn1-5.0.21.1 compiler-8.2.6.4 crypto-5.1.4.3 debugger-5.3.1.3 dialyzer-5.0.5 diameter-2.2.7.2 edoc-1.2 eldap-1.2.11 erl_docgen-1.4 erl_interface-5.3.2.1 et-1.6.5 eunit-2.8.2 ftp-1.1.4 jinterface-1.13.2 kernel-8.5.4.3 megaco-4.4.3 mnesia-4.21.4.3 observer-2.14.0.1 odbc-2.14 os_mon-2.8.2.1 parsetools-2.4.1 reltool-0.9.1.1 runtime_tools-1.19 sasl-4.2 snmp-5.13.5 syntax_tools-3.0.1 tftp-1.0.4 tools-3.5.3 wx-2.2.2.1 xmerl-1.3.31.2 : +OTP-25.3.2.14 : diameter-2.2.7.2 public_key-1.13.3.3 ssh-4.15.3.6 xmerl-1.3.31.2 # asn1-5.0.21.1 common_test-1.24.0.3 compiler-8.2.6.4 crypto-5.1.4.3 debugger-5.3.1.3 dialyzer-5.0.5 edoc-1.2 eldap-1.2.11 erl_docgen-1.4 erl_interface-5.3.2.1 erts-13.2.2.10 et-1.6.5 eunit-2.8.2 ftp-1.1.4 inets-8.3.1.3 jinterface-1.13.2 kernel-8.5.4.3 megaco-4.4.3 mnesia-4.21.4.3 observer-2.14.0.1 odbc-2.14 os_mon-2.8.2.1 parsetools-2.4.1 reltool-0.9.1.1 runtime_tools-1.19 sasl-4.2 snmp-5.13.5 ssl-10.9.1.5 stdlib-4.3.1.4 syntax_tools-3.0.1 tftp-1.0.4 tools-3.5.3 wx-2.2.2.1 : OTP-25.3.2.13 : erts-13.2.2.10 ssh-4.15.3.5 ssl-10.9.1.5 # asn1-5.0.21.1 common_test-1.24.0.3 compiler-8.2.6.4 crypto-5.1.4.3 debugger-5.3.1.3 dialyzer-5.0.5 diameter-2.2.7.1 edoc-1.2 eldap-1.2.11 erl_docgen-1.4 erl_interface-5.3.2.1 et-1.6.5 eunit-2.8.2 ftp-1.1.4 inets-8.3.1.3 jinterface-1.13.2 kernel-8.5.4.3 megaco-4.4.3 mnesia-4.21.4.3 observer-2.14.0.1 odbc-2.14 os_mon-2.8.2.1 parsetools-2.4.1 public_key-1.13.3.2 reltool-0.9.1.1 runtime_tools-1.19 sasl-4.2 snmp-5.13.5 stdlib-4.3.1.4 syntax_tools-3.0.1 tftp-1.0.4 tools-3.5.3 wx-2.2.2.1 xmerl-1.3.31.1 : OTP-25.3.2.12 : erts-13.2.2.9 mnesia-4.21.4.3 ssl-10.9.1.4 # asn1-5.0.21.1 common_test-1.24.0.3 compiler-8.2.6.4 crypto-5.1.4.3 debugger-5.3.1.3 dialyzer-5.0.5 diameter-2.2.7.1 edoc-1.2 eldap-1.2.11 erl_docgen-1.4 erl_interface-5.3.2.1 et-1.6.5 eunit-2.8.2 ftp-1.1.4 inets-8.3.1.3 jinterface-1.13.2 kernel-8.5.4.3 megaco-4.4.3 observer-2.14.0.1 odbc-2.14 os_mon-2.8.2.1 parsetools-2.4.1 public_key-1.13.3.2 reltool-0.9.1.1 runtime_tools-1.19 sasl-4.2 snmp-5.13.5 ssh-4.15.3.4 stdlib-4.3.1.4 syntax_tools-3.0.1 tftp-1.0.4 tools-3.5.3 wx-2.2.2.1 xmerl-1.3.31.1 : OTP-25.3.2.11 : common_test-1.24.0.3 crypto-5.1.4.3 debugger-5.3.1.3 diameter-2.2.7.1 erts-13.2.2.8 inets-8.3.1.3 kernel-8.5.4.3 observer-2.14.0.1 os_mon-2.8.2.1 reltool-0.9.1.1 ssh-4.15.3.4 stdlib-4.3.1.4 # asn1-5.0.21.1 compiler-8.2.6.4 dialyzer-5.0.5 edoc-1.2 eldap-1.2.11 erl_docgen-1.4 erl_interface-5.3.2.1 et-1.6.5 eunit-2.8.2 ftp-1.1.4 jinterface-1.13.2 megaco-4.4.3 mnesia-4.21.4.2 odbc-2.14 parsetools-2.4.1 public_key-1.13.3.2 runtime_tools-1.19 sasl-4.2 snmp-5.13.5 ssl-10.9.1.3 syntax_tools-3.0.1 tftp-1.0.4 tools-3.5.3 wx-2.2.2.1 xmerl-1.3.31.1 : diff --git a/scripts/run-dialyzer b/scripts/run-dialyzer index 293d415f253d..97914df524a9 100755 --- a/scripts/run-dialyzer +++ b/scripts/run-dialyzer @@ -48,9 +48,9 @@ PLT="$(mktemp).plt" set -x -$DIALYZER --build_plt --output_plt "$PLT" -Wunknown --apps $BASE_PLT $APP_PLT --statistics -$DIALYZER -n --plt "$PLT" -Wunknown -Wunmatched_returns --apps $UNMATCHED --statistics -$DIALYZER -n --plt "$PLT" -Wunknown --apps $NO_UNMATCHED --statistics +$DIALYZER --build_plt --output_plt "$PLT" -Wunknown -Woverlapping_contract --apps $BASE_PLT $APP_PLT --statistics +$DIALYZER -n --plt "$PLT" -Wunknown -Wunmatched_returns -Woverlapping_contract --apps $UNMATCHED --statistics +$DIALYZER -n --plt "$PLT" -Wunknown -Woverlapping_contract --apps $NO_UNMATCHED --statistics if [ "X$WARNINGS" != "X" ]; then $DIALYZER -n --plt "$PLT" --apps $WARNINGS --statistics || true fi diff --git a/scripts/scan-code.escript b/scripts/scan-code.escript new file mode 100755 index 000000000000..82bb3d9daac4 --- /dev/null +++ b/scripts/scan-code.escript @@ -0,0 +1,138 @@ +#!/usr/bin/env escript +%% -*- erlang -*- + +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 1996-2024. 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% + +main(Args) -> + argparse:run(Args, cli(), #{progname => scancode}). + +cli() -> + #{ help => + """ + Run 'scancode' with multiple options + """, + arguments => [ scan_option(), + template_option(), + prefix_option(), + file_or_dir() ], + handler => fun scancode/1}. + +approved() -> + [ "mit", "agpl-3.0", "apache-2.0", "boost-1.0", "llvm-exception", + "lgpl-2.1-plus", "cc0-1.0", "bsd-simplified", "bsd-new", "pcre", + "fsf-free", "autoconf-exception-3.0", "mpl-1.1", "public-domain", + "autoconf-simple-exception", "unicode", "tcl", "gpl-2.0 WITH classpath-exception-2.0", + "zlib", "lgpl-2.0-plus WITH wxwindows-exception-3.1", "lgpl-2.0-plus", + "openssl-ssleay", "cc-by-sa-3.0", "cc-by-4.0", "dco-1.1", "fsf-ap", + "agpl-1.0-plus", "agpl-1.0", "agpl-3.0-plus", "classpath-exception-2.0", + "ietf-trust"]. + +not_approved() -> + ["gpl", "gpl-3.0-plus", "gpl-2.0", "gpl-1.0-plus", "unlicense", + "erlangpl-1.1", "gpl-2.0-plus", "null"]. + + +scan_option() -> + #{name => scan_option, + type => string, + default => "cli", + long => "-scan-option"}. + +prefix_option() -> + #{name => prefix, + type => string, + default => "", + long => "-prefix"}. + + +file_or_dir() -> + #{name => file_or_dir, + type => string, + required => true, + long => "-file-or-dir"}. + +template_option() -> + #{name => template_path, + type => string, + default => "scripts/scan-code/template.txt", + long => "-template-path"}. + + +scancode(#{ file_or_dir := FilesOrDirs}=Config) -> + Files = string:split(FilesOrDirs, " ", all), + scancode0(Files, Config). + +scancode0([[]], _) -> + ok; +scancode0(Files, Config) -> + Results = lists:foldl(fun (File, Errors) -> + Command = scancode(Config, File), + case execute(Command, File) of + {error, Err} -> + [Err | Errors]; + ok -> + Errors + end + end, [], Files), + case Results of + [] -> + ok; + Errors -> + error(Errors) + end. + +scancode(#{scan_option := Options, + prefix := Prefix, + template_path := TemplatePath}, File) -> + "scancode -" ++ Options ++ " --custom-output - --custom-template " ++ TemplatePath ++ " " ++ Prefix ++ File. + +execute(Command, File) -> + Port = open_port({spawn, Command}, [stream, in, eof, hide, exit_status]), + Result = loop(Port, []), + Ls = string:split(string:trim(Result, both), ",", all), + + case lists:filter(fun ([]) -> false; (_) -> true end, Ls) of + [] -> + {error, {File, no_license_found}}; + Ls1 -> + NotApproved = lists:any(fun (License) -> lists:member(License, not_approved()) end, Ls1), + case NotApproved of + true -> + {error, {File, license_not_approved}}; + false -> + InPolicy = lists:all(fun (License) -> lists:member(License, approved()) end, Ls1), + case InPolicy of + false -> + %% this can happen if a license is + %% not in the approve/not_approved list + {error, {File, license_not_approved}}; + true -> + ok + end + end + end. + +loop(Port, Acc) -> + receive + {Port, {data, Data}} -> + loop(Port, [Data|Acc]); + {Port,{exit_status, _ExitStatus}} -> + lists:flatten(lists:reverse(Acc)) + end. diff --git a/scripts/scan-code/template.txt b/scripts/scan-code/template.txt new file mode 100644 index 000000000000..2c383b256387 --- /dev/null +++ b/scripts/scan-code/template.txt @@ -0,0 +1,27 @@ +{# + %CopyrightBegin% + + Copyright Ericsson AB 1996-2024. 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% +#} + +{%- if files.license_copyright %} + {%- for location, data in files.license_copyright.items() %} + {%- for row in data %} +{%- if row.what == 'license'%}{{ row.value|escape }},{% endif %} + {%- endfor %} + {%- endfor %} +{% endif %} diff --git a/system/COPYRIGHT b/system/COPYRIGHT index 5c55d60185b0..a2fdfbfe7d63 100644 --- a/system/COPYRIGHT +++ b/system/COPYRIGHT @@ -210,11 +210,9 @@ terms specified in this license. * ./lib/compiler/src/cerl_inline.erl and ./lib/dialyzer/test/options1_SUITE_data/src/compiler/cerl_inline.erl * Copyright (C) 1999-2002 Richard Carlsson -* ./lib/kernel/src/pg.erl and lib/kernel/doc/src/pg.xml and +* ./lib/kernel/src/pg.erl and ./lib/kernel/test/pg_SUITE.erl and ./lib/stdlib/src/peer.erl * Copyright WhatsApp Inc. and its affiliates. All rights reserved. -* ./lib/kernel/doc/src/peer.xml - * Maxim Fedorov, WhatsApp Inc. --------------------------------------------------------------------------- [AsmJit] @@ -609,8 +607,7 @@ DEALINGS IN THE SOFTWARE. * Info: * SPDX-License-Identifier: BSD-2-Clause * Contribution made to Erlang/OTP - * OTP Location: ./lib/parsetools/src/leex.erl and - ./lib/parsetools/doc/src/leex.xml + * OTP Location: ./lib/parsetools/src/leex.erl %% Copyright (c) 2008,2009 Robert Virding. All rights reserved. %% diff --git a/system/doc/efficiency_guide/system_limits.md b/system/doc/efficiency_guide/system_limits.md index 6959cbfe9ba7..052ceafa00af 100644 --- a/system/doc/efficiency_guide/system_limits.md +++ b/system/doc/efficiency_guide/system_limits.md @@ -107,3 +107,8 @@ sufficiently unique. If a unique integer is created each nano second, unique integers will be reused at earliest after more than 584 years. That is, for the foreseeable future they are sufficiently unique. + +- ** Timer resolution ** - On most systems, millisecond resolution. For more + information, see the [*Timers*](`e:erts:time_correction.md#timers`) section of + the [*Time and Time Correction in Erlang*](`e:erts:time_correction.md`) ERTS + User's guide. diff --git a/system/doc/general_info/deprecations_27.md b/system/doc/general_info/deprecations_27.md index 80bd06cd56a2..a1ad5a93db54 100644 --- a/system/doc/general_info/deprecations_27.md +++ b/system/doc/general_info/deprecations_27.md @@ -14,3 +14,13 @@ The following features for archives are deprecated: Using a single archive file for holding BEAM files and other data files in an Escript is **not** deprecated. However, to access files in the archive the `escript:extract/2` function has to be used. + +### erl flags + +The following erl flags are deprecated: + +* `-epmd_module Module` - deprecated in favour of the `kernel` application + parameter `epmd_module`. + +* `-erl_epmd_port Port` - deprecated in favour of the `kernel` application + parameter `erl_epmd_node_listen_port`. diff --git a/system/doc/reference_manual/expressions.md b/system/doc/reference_manual/expressions.md index 5bf071c8d75c..5b600e581658 100644 --- a/system/doc/reference_manual/expressions.md +++ b/system/doc/reference_manual/expressions.md @@ -777,6 +777,11 @@ timer(Pid) -> end. ``` +For more information on timers in Erlang in general, see the +[*Timers*](`e:erts:time_correction.md#timers`) section of the +[*Time and Time Correction in Erlang*](`e:erts:time_correction.md`) +ERTS User's guide. + ## Term Comparisons ``` diff --git a/system/doc/reference_manual/features.md b/system/doc/reference_manual/features.md index e226456de815..fa4e6c8e47e4 100644 --- a/system/doc/reference_manual/features.md +++ b/system/doc/reference_manual/features.md @@ -127,7 +127,7 @@ the code base that might collide with keywords in features not yet enabled. The following configurable features exist: -- **`maybe_expr` (experimental)** - Implementation of the +- **`maybe_expr` (approved)** - Implementation of the [`maybe`](expressions.md#maybe) expression proposed in [EEP 49](https://www.erlang.org/eeps/eep-0049). It was approved in Erlang/OTP 27. diff --git a/system/doc/reference_manual/typespec.md b/system/doc/reference_manual/typespec.md index 70762a5fc780..07931e81f062 100644 --- a/system/doc/reference_manual/typespec.md +++ b/system/doc/reference_manual/typespec.md @@ -75,7 +75,8 @@ empty set of terms. [](){: #dynamic } To facilitate [gradual typing](https://en.wikipedia.org/wiki/Gradual_typing) of -Erlang, the type `t:dynamic/0` is provided. It is similar to +Erlang, the type `t:dynamic/0` is provided. The type `t:dynamic/0` +represents a statically unknown type. It is similar to [Any](https://docs.python.org/3/library/typing.html#the-any-type) in Python, [any](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#any) in TypeScript and [dynamic](https://docs.hhvm.com/hack/built-in-types/dynamic) in @@ -262,7 +263,7 @@ Records are extended to possibly contain type information. This is described in > #### Change {: .info } > -> Starting from Erlang/OTP 26, is is permitted to define a type having the same +> Starting from Erlang/OTP 26, it is permitted to define a type having the same > name as a built-in type. It is recommended to avoid deliberately reusing built-in names because it can be diff --git a/xcomp/erl-xcomp-arm-linux.conf b/xcomp/erl-xcomp-arm-linux.conf index fba73ebf6183..ce67d684954d 100644 --- a/xcomp/erl-xcomp-arm-linux.conf +++ b/xcomp/erl-xcomp-arm-linux.conf @@ -60,7 +60,7 @@ erl_xcomp_host=arm-wrs-linux-gnueabi # * `erl_xcomp_configure_flags' - Extra configure flags to pass to the # `configure' script. -erl_xcomp_configure_flags="" +erl_xcomp_configure_flags="--disable-year2038" ## -- Cross Compiler and Other Tools ------------------------------------------- diff --git a/xcomp/erl-xcomp-powerpc-dso-linux-gnu.conf b/xcomp/erl-xcomp-powerpc-dso-linux-gnu.conf index 7415e664fae1..e3237e4468cf 100644 --- a/xcomp/erl-xcomp-powerpc-dso-linux-gnu.conf +++ b/xcomp/erl-xcomp-powerpc-dso-linux-gnu.conf @@ -60,7 +60,7 @@ erl_xcomp_host=powerpc-wrs-linux-gnu # * `erl_xcomp_configure_flags' - Extra configure flags to pass to the # `configure' script. -erl_xcomp_configure_flags="--without-termcap" +erl_xcomp_configure_flags="--without-termcap --disable-year2038" ## -- Cross Compiler and Other Tools -------------------------------------------