summaryrefslogtreecommitdiff
path: root/jenkins
diff options
context:
space:
mode:
authorTCWG BuildSlave <tcwg-buildslave@linaro.org>2023-11-23 20:09:04 +0000
committerTCWG BuildSlave <tcwg-buildslave@linaro.org>2023-11-23 20:09:39 +0000
commitda8e8869e103c9dc775977ea33b1110c7b5688b6 (patch)
tree0ffe623d7d455730fb3ae2f052512c564e33935c /jenkins
parent203467c278519b1be6fc8a319616f83b02e175f7 (diff)
onsuccess: #74: 1: [TCWG CI] https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/74/
Results : | # reset_artifacts: | -10 | # build_bmk_llvm: | -3 | # benchmark -- -O2_marm: | 1 check_regression status : 0
Diffstat (limited to 'jenkins')
-rw-r--r--jenkins/build-name2
-rw-r--r--jenkins/notify-full.log5222
-rw-r--r--jenkins/notify-init.log130
-rw-r--r--jenkins/rewrite.log20
-rw-r--r--jenkins/run-build.env11
5 files changed, 5262 insertions, 123 deletions
diff --git a/jenkins/build-name b/jenkins/build-name
index 1b8a7c1..cab733c 100644
--- a/jenkins/build-name
+++ b/jenkins/build-name
@@ -1 +1 @@
-#73-R# leela_r_base.default,541.leela_r failed to run-force
+#74-llvm-R1
diff --git a/jenkins/notify-full.log b/jenkins/notify-full.log
index 2211690..48c0cea 100644
--- a/jenkins/notify-full.log
+++ b/jenkins/notify-full.log
@@ -1,27 +1,27 @@
++ pwd
++ cat
-+ remote_exec 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191' ./jenkins-scripts/round-robin-notify.sh '@@rr[top_artifacts]' artifacts __TCWG_JIRA_TOKEN ijQW9spm0p7HwZnUtLFx7CCA __stage full __verbose true __build_script tcwg_bmk-build.sh
++ remote_exec 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754' ./jenkins-scripts/round-robin-notify.sh '@@rr[top_artifacts]' artifacts __TCWG_JIRA_TOKEN ijQW9spm0p7HwZnUtLFx7CCA __stage full __verbose true __build_script tcwg_bmk-build.sh
+ set -euf -o pipefail
+ local host
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
++ cut -d: -f 1
-+ host=tcwg-jade-03
++ host=tcwg-snow_bmk-02
+ local port
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
++ cut -s -d: -f 2
+ port=
+ local dir
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
++ cut -s -d: -f 3
+ dir=/home/tcwg-buildslave/workspace/tcwg_bmk_2
+ local opts
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
++ cut -s -d: -f 4
-+ opts=-p56191
++ opts=-p37754
+ local env_vars
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
++ cut -s -d: -f 5
-+ env_vars='ssh_host=tcwg-jade-03 ssh_port=56191'
++ env_vars='ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
+ shift
+ local -a cmd
+ cmd=()
@@ -59,7 +59,7 @@
+ cmd+=("$(printf '%q' "$i")")
++ printf %q tcwg_bmk-build.sh
++ printf %q /home/tcwg-buildslave/workspace/tcwg_bmk_2
-+ ssh -p56191 tcwg-jade-03 'export ssh_host=tcwg-jade-03 ssh_port=56191 && cd /home/tcwg-buildslave/workspace/tcwg_bmk_2 && exec ./jenkins-scripts/round-robin-notify.sh @@rr\[top_artifacts\] artifacts __TCWG_JIRA_TOKEN ijQW9spm0p7HwZnUtLFx7CCA __stage full __verbose true __build_script tcwg_bmk-build.sh'
++ ssh -p37754 tcwg-snow_bmk-02 'export ssh_host=tcwg-snow_bmk-02 ssh_port=37754 && cd /home/tcwg-buildslave/workspace/tcwg_bmk_2 && exec ./jenkins-scripts/round-robin-notify.sh @@rr\[top_artifacts\] artifacts __TCWG_JIRA_TOKEN ijQW9spm0p7HwZnUtLFx7CCA __stage full __verbose true __build_script tcwg_bmk-build.sh'
/home/tcwg-buildslave/workspace/tcwg_bmk_2/jenkins-scripts/round-robin-notify.sh @@rr[top_artifacts] artifacts __TCWG_JIRA_TOKEN ijQW9spm0p7HwZnUtLFx7CCA __stage full __verbose true __build_script tcwg_bmk-build.sh
@@ -70,9 +70,9 @@
+ declare -a changed_components
+ declare print_commits_f print_result_f print_config_f print_last_icommit_f
+ dump_model_only=false
+# setup_notify_environment
+ setup_notify_environment
+ echo '# setup_notify_environment'
-# setup_notify_environment
+ top_artifacts=artifacts
++ get_current_manifest '{rr[ci_project]}'
++ get_manifest artifacts/manifest.sh '{rr[ci_project]}'
@@ -81,37 +81,37 @@
++ get_current_manifest '{rr[ci_config]}'
++ get_manifest artifacts/manifest.sh '{rr[ci_config]}'
++ set +x
+# Debug traces :
+ ci_config=llvm-arm-master-O2
+ echo '# Debug traces :'
-# Debug traces :
++ get_baseline_manifest BUILD_URL
++ get_manifest base-artifacts/manifest.sh BUILD_URL false
++ set +x
-# Baseline : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/71/
-+ echo '# Baseline : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/71/'
+# Baseline : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/73/
# Using dir : base-artifacts
++ echo '# Baseline : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/73/'
+ echo '# Using dir : base-artifacts'
++ get_current_manifest BUILD_URL
++ get_manifest artifacts/manifest.sh BUILD_URL
++ set +x
-# Artifacts : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/73/
+# Artifacts : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/74/
# Using dir : artifacts
-+ echo '# Artifacts : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/73/'
-+ echo '# Using dir : artifacts'
++ echo '# Artifacts : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/74/'
++ echo '# Using dir : artifacts'
+ echo ''
+ mkdir -p artifacts/notify
+ '[' -f /home/tcwg-buildslave/.jipdate.yml ']'
+ set +x
+ declare -Ag pw
+ '[' ignore = precommit ']'
-+ check_source_changes
# check_source_changes
++ check_source_changes
+ echo '# check_source_changes'
++ get_current_manifest '{rr[update_baseline]}'
++ get_manifest artifacts/manifest.sh '{rr[update_baseline]}'
++ set +x
-+ '[' force '!=' init ']'
++ '[' onsuccess '!=' init ']'
+ IFS=' '
+ read -r -a changed_components
++ print_changed_components
@@ -121,19 +121,95 @@
+++ set -euf -o pipefail
+++ local c delim=
+++ for c in ${rr[components]}
-+++ '[' xbaseline '!=' xbaseline ']'
++++ '[' xhttps://github.com/llvm/llvm-project.git#main '!=' xbaseline ']'
++++ echo -ne llvm
++++ delim=' '
+++ echo
+++ for c in $(print_updated_components)
++++ get_current_git llvm_rev
++++ set -euf -o pipefail
++++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
++++ set -euf -o pipefail +x
++++ cat artifacts/git/llvm_rev
++++ get_baseline_git llvm_rev
++++ set -euf -o pipefail
++++ local base_artifacts=base-artifacts
++++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
++++ set -euf -o pipefail +x
++++ cat base-artifacts/git/llvm_rev
+++ '[' x777a6e6f10b2b90496d248b7fa904fce834484be '!=' xa09e32e5fe13e3b64bef1defddf71a9e83022e76 ']'
+++ echo -ne llvm
+++ delim=' '
++ echo
+ local c base_rev cur_rev c_commits
-+ '[' 0 = 0 ']'
++ '[' 1 = 0 ']'
++ '[' 1 = 1 ']'
++ changed_single_component=llvm
+++ get_current_git llvm_rev
+++ set -euf -o pipefail
+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat artifacts/git/llvm_rev
++ first_bad=777a6e6f10b2b90496d248b7fa904fce834484be
+++ get_baseline_git llvm_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat base-artifacts/git/llvm_rev
++ last_good=a09e32e5fe13e3b64bef1defddf71a9e83022e76
++ local res
++ res=0
++ wait 46839
++ git -C llvm rev-parse --verify HEAD
++ assert_with_msg 'Cannot parse HEAD in repo llvm' '[' 0 = 0 ']'
++ set -euf -o pipefail +x
++ single_commit_p llvm
++ set -euf -o pipefail
++ local c=llvm
++ local base_rev cur_rev sha1
+++ get_baseline_git llvm_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat base-artifacts/git/llvm_rev
++ base_rev=a09e32e5fe13e3b64bef1defddf71a9e83022e76
+++ get_current_git llvm_rev
+++ set -euf -o pipefail
+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat artifacts/git/llvm_rev
++ cur_rev=777a6e6f10b2b90496d248b7fa904fce834484be
+++ git -C llvm rev-parse '777a6e6f10b2b90496d248b7fa904fce834484be^@'
++ for sha1 in $(git -C "$c" rev-parse "$cur_rev^@")
++ '[' f04aa1f8149a9c36e28f985400bcea3e1e5d624d = a09e32e5fe13e3b64bef1defddf71a9e83022e76 ']'
++ return 1
++ change_kind=single_component
# Debug traces :
-# change_kind=no_change :
-+ change_kind=no_change
-+ changed_single_component=
+ echo '# Debug traces :'
-+ echo '# change_kind=no_change : '
-+ echo ''
+# change_kind=single_component : llvm
++ echo '# change_kind=single_component : llvm'
++ for c in "${changed_components[@]}"
+++ get_baseline_git llvm_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat base-artifacts/git/llvm_rev
++ base_rev=a09e32e5fe13e3b64bef1defddf71a9e83022e76
+++ get_current_git llvm_rev
+++ set -euf -o pipefail
+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat artifacts/git/llvm_rev
++ cur_rev=777a6e6f10b2b90496d248b7fa904fce834484be
+++ git -C llvm rev-list --count a09e32e5fe13e3b64bef1defddf71a9e83022e76..777a6e6f10b2b90496d248b7fa904fce834484be
++ c_commits=923
++ echo '# rev for llvm : a09e32e5fe13e3b64bef1defddf71a9e83022e76..777a6e6f10b2b90496d248b7fa904fce834484be (923 commits)'
+# rev for llvm : a09e32e5fe13e3b64bef1defddf71a9e83022e76..777a6e6f10b2b90496d248b7fa904fce834484be (923 commits)
++ echo ''
+ setup_stages_to_run
+ '[' ignore = onregression ']'
+ '[' ignore = precommit ']'
@@ -156,28 +232,32 @@
+ generate_extra_details_f=bmk_generate_extra_details
+ post_interesting_commits init
+ set -euf -o pipefail
-+ echo '# post_interesting_commits'
# post_interesting_commits
++ echo '# post_interesting_commits'
+ local stage=init
-+ '[' no_change '!=' single_commit ']'
++ '[' single_component '!=' single_commit ']'
+ return
+ '[' full '!=' full ']'
+ bmk_generate_extra_details
+ set -euf -o pipefail
+ local artifacts_mail_dir
+ artifacts_mail_dir=artifacts/notify
++ local res=0
++ wait 46863
+ /home/tcwg-buildslave/workspace/tcwg_bmk_2/jenkins-scripts/../bmk-scripts/output-bmk-results.py artifacts/results-vs-prev/compare-results-internal.csv artifacts/results-vs-prev/bmk-specific-variability.csv artifacts/notify/ sample build verbose
++ assert_with_msg 'ERROR while trying to regenerate bmk-data results. Aborting..' '[' 0 = 0 ']'
++ set -euf -o pipefail +x
+ check_if_first_report
+ declare -g first_icommit_to_report
+ first_icommit_to_report=false
-+ '[' xno_change '!=' xsingle_commit ']'
++ '[' xsingle_component '!=' xsingle_commit ']'
+ return
+ post_interesting_commits full
-+ set -euf -o pipefail
# post_interesting_commits
++ set -euf -o pipefail
+ echo '# post_interesting_commits'
+ local stage=full
-+ '[' no_change '!=' single_commit ']'
++ '[' single_component '!=' single_commit ']'
+ return
+ true
+ generate_jira_dir
@@ -188,7 +268,7 @@
++ set -euf -o pipefail
++ local print_arg=--entry
++ shift 1
-++ '[' xno_change '!=' xsingle_commit ']'
+++ '[' xsingle_component '!=' xsingle_commit ']'
++ return 0
+ icommit_entry=
+ '[' '' '!=' '' ']'
@@ -208,7 +288,8 @@
++ '[' full '!=' full ']'
++ local improved_or_regressed
++ '[' -f artifacts/notify/exe.regression ']'
-++ improved_or_regressed=regression
+++ '[' -f artifacts/notify/symbol.regression ']'
+++ improved_or_regressed=improvement
++ declare -A changed_by_msg
++ changed_by_msg[size-regression]='grew in size by'
++ changed_by_msg[size-improvement]='reduced in size by'
@@ -218,45 +299,4972 @@
++ changed_by_msg[num_vect_loops-improvement]='increased the number of vect loops by'
++ changed_by_msg[num_sve_loops-regression]='reduced the number of sve instructions by'
++ changed_by_msg[num_sve_loops-improvement]='increased the number of sve instructions by'
-++ changed_by='slowed down by'
+++ changed_by='speeds up by'
++ case ${rr[metric_id]} in
++ exe_threshold=3
++ symbol_threshold=15
++ case "$print_arg" in
-++ assert_with_msg 'Builds with infra problems should never get here' '[' 1 '!=' 125 ']'
+++ assert_with_msg 'Builds with infra problems should never get here' '[' 0 '!=' 125 ']'
++ set -euf -o pipefail +x
++ local metric bmk symbol short_diag long_diag
-++ '[' -f artifacts/notify/exe.regression ']'
-++ IFS=,
-++ read metric bmk symbol short_diag long_diag
-+++ head -n1 artifacts/notify/exe.regression
-++ echo '541.leela_r failed to run'
+++ '[' -f artifacts/notify/exe.improvement ']'
+++ '[' -f artifacts/notify/symbol.improvement ']'
+++ short_diag='No change'
+++ echo 'No change'
++ print_artifacts_url 'notify/mail-body.txt/*view*/'
++ set -euf -o pipefail
++ local url
+++ get_current_manifest BUILD_URL
+++ get_manifest artifacts/manifest.sh BUILD_URL
+++ set +x
-++ url=https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/73/artifact/artifacts
+++ url=https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/74/artifact/artifacts
++ '[' '' '!=' '' ']'
-++ echo 'https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/73/artifact/artifacts/notify/mail-body.txt/*view*/'
-# print all notification files
+++ echo 'https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/74/artifact/artifacts/notify/mail-body.txt/*view*/'
+ echo '# print all notification files'
+# print all notification files
+ true
+ generate_mail_files
+ set -euf -o pipefail
+ print_mail_recipients
+ set -euf -o pipefail
-+ local c=
++ local c=llvm
++ '[' llvm = '' ']'
++ local -A emails
++ emails["tcwg-validation@linaro.org"]=bcc
++ emails["author"]=cc
++ emails["committer"]=to
++ case "$ci_project/$ci_config:$c" in
++ emails["author"]=no
++ emails["committer"]=no
++ emails["maxim.kuvyrkov@linaro.org"]=to
++ local c email base_rev cur_rev
+++ get_baseline_git llvm_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat base-artifacts/git/llvm_rev
++ base_rev=a09e32e5fe13e3b64bef1defddf71a9e83022e76
+++ get_current_git llvm_rev
+++ set -euf -o pipefail
+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat artifacts/git/llvm_rev
++ cur_rev=777a6e6f10b2b90496d248b7fa904fce834484be
++ read -r email
+++ git -C llvm log --pretty=%ae a09e32e5fe13e3b64bef1defddf71a9e83022e76..777a6e6f10b2b90496d248b7fa904fce834484be
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ local precommit_postcommit=postcommit
+ '[' '' = '' ']'
-+ echo bcc:tcwg-validation@linaro.org
-+ return 0
+++ get_baseline_git llvm_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat base-artifacts/git/llvm_rev
++ base_rev=a09e32e5fe13e3b64bef1defddf71a9e83022e76
+++ get_current_git llvm_rev
+++ set -euf -o pipefail
+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat artifacts/git/llvm_rev
++ cur_rev=777a6e6f10b2b90496d248b7fa904fce834484be
++ read -r email
+++ git -C llvm log --pretty=%ce a09e32e5fe13e3b64bef1defddf71a9e83022e76..777a6e6f10b2b90496d248b7fa904fce834484be
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ unset 'emails[author]' 'emails[committer]'
++ local type
++ recipients=()
++ local -a recipients
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=bcc
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ recipients+=("$type:$email")
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=to
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ recipients+=("$email")
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ IFS=,
++ echo bcc:tcwg-validation@linaro.org,maxim.kuvyrkov@linaro.org
++ print_commits --oneline
++ set -euf -o pipefail
++ false
++ local print_arg=--oneline
-++ '[' no_change = no_change ']'
-++ echo 'baseline build'
+++ '[' single_component = no_change ']'
+++ local more_lines
+++ '[' single_component = single_commit ']'
+++ '[' single_component = single_component ']'
+++ local new_commits c base_rev cur_rev c_commits components
+++ local commits_or_patches
+++ '[' '' '!=' '' ']'
+++ commits_or_patches=commits
+++ new_commits=0
+++ for c in "${changed_components[@]}"
++++ get_baseline_git llvm_rev
++++ set -euf -o pipefail
++++ local base_artifacts=base-artifacts
++++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
++++ set -euf -o pipefail +x
++++ cat base-artifacts/git/llvm_rev
+++ base_rev=a09e32e5fe13e3b64bef1defddf71a9e83022e76
++++ get_current_git llvm_rev
++++ set -euf -o pipefail
++++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
++++ set -euf -o pipefail +x
++++ cat artifacts/git/llvm_rev
+++ cur_rev=777a6e6f10b2b90496d248b7fa904fce834484be
++++ git -C llvm rev-list --count a09e32e5fe13e3b64bef1defddf71a9e83022e76..777a6e6f10b2b90496d248b7fa904fce834484be
+++ c_commits=923
+++ new_commits=923
++++ echo llvm
++++ tr ' ' ,
+++ components=llvm
+++ echo '923 commits in llvm'
+++ '[' --oneline = --oneline ']'
++ return 0
++ bmk_print_result --oneline
++ set -euf -o pipefail
@@ -266,7 +5274,8 @@
++ '[' full '!=' full ']'
++ local improved_or_regressed
++ '[' -f artifacts/notify/exe.regression ']'
-++ improved_or_regressed=regression
+++ '[' -f artifacts/notify/symbol.regression ']'
+++ improved_or_regressed=improvement
++ declare -A changed_by_msg
++ changed_by_msg[size-regression]='grew in size by'
++ changed_by_msg[size-improvement]='reduced in size by'
@@ -276,38 +5285,87 @@
++ changed_by_msg[num_vect_loops-improvement]='increased the number of vect loops by'
++ changed_by_msg[num_sve_loops-regression]='reduced the number of sve instructions by'
++ changed_by_msg[num_sve_loops-improvement]='increased the number of sve instructions by'
-++ changed_by='slowed down by'
+++ changed_by='speeds up by'
++ case ${rr[metric_id]} in
++ exe_threshold=3
++ symbol_threshold=15
++ case "$print_arg" in
-++ assert_with_msg 'Builds with infra problems should never get here' '[' 1 '!=' 125 ']'
+++ assert_with_msg 'Builds with infra problems should never get here' '[' 0 '!=' 125 ']'
++ set -euf -o pipefail +x
++ local metric bmk symbol short_diag long_diag
-++ '[' -f artifacts/notify/exe.regression ']'
-++ IFS=,
-++ read metric bmk symbol short_diag long_diag
-+++ head -n1 artifacts/notify/exe.regression
-++ echo '541.leela_r failed to run'
-+ echo '[Linaro-TCWG-CI]' 'baseline build: 541.leela_r failed to run'
+++ '[' -f artifacts/notify/exe.improvement ']'
+++ '[' -f artifacts/notify/symbol.improvement ']'
+++ short_diag='No change'
+++ echo 'No change'
++ echo '[Linaro-TCWG-CI]' '923 commits in llvm: No change'
+ print_mail_body
+ local bad_artifacts_url good_artifacts_url
++ get_current_manifest BUILD_URL
++ get_manifest artifacts/manifest.sh BUILD_URL
++ set +x
-+ bad_artifacts_url=https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/73/artifact/artifacts
++ bad_artifacts_url=https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/74/artifact/artifacts
++ get_baseline_manifest BUILD_URL
++ get_manifest base-artifacts/manifest.sh BUILD_URL false
++ set +x
-+ good_artifacts_url=https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/71/artifact/artifacts
++ good_artifacts_url=https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/73/artifact/artifacts
+ cat
++ print_commits --short
++ sed -e 's/^/ | /'
++ set -euf -o pipefail
++ false
++ local print_arg=--short
-++ '[' no_change = no_change ']'
-++ echo 'baseline build'
+++ '[' single_component = no_change ']'
+++ local more_lines
+++ '[' single_component = single_commit ']'
+++ '[' single_component = single_component ']'
+++ local new_commits c base_rev cur_rev c_commits components
+++ local commits_or_patches
+++ '[' '' '!=' '' ']'
+++ commits_or_patches=commits
+++ new_commits=0
+++ for c in "${changed_components[@]}"
++++ get_baseline_git llvm_rev
++++ set -euf -o pipefail
++++ local base_artifacts=base-artifacts
++++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
++++ set -euf -o pipefail +x
++++ cat base-artifacts/git/llvm_rev
+++ base_rev=a09e32e5fe13e3b64bef1defddf71a9e83022e76
++++ get_current_git llvm_rev
++++ set -euf -o pipefail
++++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
++++ set -euf -o pipefail +x
++++ cat artifacts/git/llvm_rev
+++ cur_rev=777a6e6f10b2b90496d248b7fa904fce834484be
++++ git -C llvm rev-list --count a09e32e5fe13e3b64bef1defddf71a9e83022e76..777a6e6f10b2b90496d248b7fa904fce834484be
+++ c_commits=923
+++ new_commits=923
++++ tr ' ' ,
++++ echo llvm
+++ components=llvm
+++ echo '923 commits in llvm'
+++ '[' --short = --oneline ']'
+++ for c in "${changed_components[@]}"
++++ get_baseline_git llvm_rev
++++ set -euf -o pipefail
++++ local base_artifacts=base-artifacts
++++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
++++ set -euf -o pipefail +x
++++ cat base-artifacts/git/llvm_rev
+++ base_rev=a09e32e5fe13e3b64bef1defddf71a9e83022e76
++++ get_current_git llvm_rev
++++ set -euf -o pipefail
++++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
++++ set -euf -o pipefail +x
++++ cat artifacts/git/llvm_rev
+++ cur_rev=777a6e6f10b2b90496d248b7fa904fce834484be
++++ git -C llvm rev-list --count a09e32e5fe13e3b64bef1defddf71a9e83022e76..777a6e6f10b2b90496d248b7fa904fce834484be
+++ c_commits=923
+++ '[' '' '!=' '' ']'
+++ git -C llvm log -n 5 --oneline a09e32e5fe13e3b64bef1defddf71a9e83022e76..777a6e6f10b2b90496d248b7fa904fce834484be
+++ '[' 923 -gt 5 ']'
+++ echo '... and 918 more commits in llvm'
+++ '[' '' '!=' '' ']'
++ return 0
++ bmk_print_result --short
++ set -euf -o pipefail
@@ -317,7 +5375,8 @@
++ '[' full '!=' full ']'
++ local improved_or_regressed
++ '[' -f artifacts/notify/exe.regression ']'
-++ improved_or_regressed=regression
+++ '[' -f artifacts/notify/symbol.regression ']'
+++ improved_or_regressed=improvement
++ declare -A changed_by_msg
++ changed_by_msg[size-regression]='grew in size by'
++ changed_by_msg[size-improvement]='reduced in size by'
@@ -327,23 +5386,16 @@
++ changed_by_msg[num_vect_loops-improvement]='increased the number of vect loops by'
++ changed_by_msg[num_sve_loops-regression]='reduced the number of sve instructions by'
++ changed_by_msg[num_sve_loops-improvement]='increased the number of sve instructions by'
-++ changed_by='slowed down by'
+++ changed_by='speeds up by'
++ case ${rr[metric_id]} in
++ exe_threshold=3
++ symbol_threshold=15
++ case "$print_arg" in
-++ '[' -f artifacts/notify/exe.regression ']'
-++ sort -gr -o artifacts/notify/exe.regression artifacts/notify/exe.regression
-++ echo 'the following benchmarks slowed down by more than 3%:'
-++ local metric exe symbol short_diag long_diag
-++ IFS=,
-++ read metric exe symbol short_diag long_diag
-++ echo '- 541.leela_r failed to run '
-++ '[' -f artifacts/notify/541.leela_r.symbols-regression ']'
-++ IFS=,
-++ read metric exe symbol short_diag long_diag
-++ '[' -f artifacts/notify/symbol.regression ']'
-++ '[' -f artifacts/notify/exe.regression ']'
+++ '[' -f artifacts/notify/exe.improvement ']'
+++ '[' -f artifacts/notify/symbol.improvement ']'
+++ '[' -f artifacts/notify/exe.improvement ']'
+++ '[' -f artifacts/notify/symbol.improvement ']'
+++ echo 'No change'
++ bmk_print_config
++ . /home/tcwg-buildslave/workspace/tcwg_bmk_2/jenkins-scripts/tcwg_bmk-config.sh
+++ [[ -v rr[ci_project] ]]
@@ -439,16 +5491,16 @@
+++ case "$target" in
+++ target=arm-linux-gnueabihf
+++ echo arm-linux-gnueabihf
-+ '[' no_change '!=' single_commit ']'
++ '[' single_component '!=' single_commit ']'
+ return
# generate dashboard
-+ echo '# generate dashboard'
-+ generate_dashboard_squad
-+ local results_date
# generate_dashboard_squad
... Skipping
# post_dashboard_squad
... Skipping
++ echo '# generate dashboard'
++ generate_dashboard_squad
++ local results_date
+ echo '# generate_dashboard_squad'
+ false
+ echo '... Skipping'
@@ -458,11 +5510,21 @@
+ false
+ echo '... Skipping'
+ return
++ generate_lnt_report
++ wait 46998
++ set -euf -o pipefail
+# generate_lnt_report
++ echo '# generate_lnt_report'
++ true
++ case "$ci_project" in
+... Skipping
++ echo '... Skipping'
++ return
+ false
+ post_to_jira
+ set -euf -o pipefail
-# post_to_jira
+ echo '# post_to_jira'
+# post_to_jira
+ local post_card_comment=false
+ local post_template_comment=false
+ false
diff --git a/jenkins/notify-init.log b/jenkins/notify-init.log
index 018b5c9..03f997d 100644
--- a/jenkins/notify-init.log
+++ b/jenkins/notify-init.log
@@ -1,27 +1,27 @@
++ pwd
++ cat
-+ remote_exec 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191' ./jenkins-scripts/round-robin-notify.sh '@@rr[top_artifacts]' artifacts --notify ignore __stage init __verbose true __build_script tcwg_bmk-build.sh
++ remote_exec 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754' ./jenkins-scripts/round-robin-notify.sh '@@rr[top_artifacts]' artifacts --notify ignore __stage init __verbose true __build_script tcwg_bmk-build.sh
+ set -euf -o pipefail
+ local host
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
++ cut -d: -f 1
-+ host=tcwg-jade-03
++ host=tcwg-snow_bmk-02
+ local port
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
++ cut -s -d: -f 2
+ port=
+ local dir
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
++ cut -s -d: -f 3
+ dir=/home/tcwg-buildslave/workspace/tcwg_bmk_2
+ local opts
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
++ cut -s -d: -f 4
-+ opts=-p56191
++ opts=-p37754
+ local env_vars
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
++ cut -s -d: -f 5
-+ env_vars='ssh_host=tcwg-jade-03 ssh_port=56191'
++ env_vars='ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
+ shift
+ local -a cmd
+ cmd=()
@@ -59,7 +59,7 @@
+ cmd+=("$(printf '%q' "$i")")
++ printf %q tcwg_bmk-build.sh
++ printf %q /home/tcwg-buildslave/workspace/tcwg_bmk_2
-+ ssh -p56191 tcwg-jade-03 'export ssh_host=tcwg-jade-03 ssh_port=56191 && cd /home/tcwg-buildslave/workspace/tcwg_bmk_2 && exec ./jenkins-scripts/round-robin-notify.sh @@rr\[top_artifacts\] artifacts --notify ignore __stage init __verbose true __build_script tcwg_bmk-build.sh'
++ ssh -p37754 tcwg-snow_bmk-02 'export ssh_host=tcwg-snow_bmk-02 ssh_port=37754 && cd /home/tcwg-buildslave/workspace/tcwg_bmk_2 && exec ./jenkins-scripts/round-robin-notify.sh @@rr\[top_artifacts\] artifacts --notify ignore __stage init __verbose true __build_script tcwg_bmk-build.sh'
/home/tcwg-buildslave/workspace/tcwg_bmk_2/jenkins-scripts/round-robin-notify.sh @@rr[top_artifacts] artifacts --notify ignore __stage init __verbose true __build_script tcwg_bmk-build.sh
@@ -81,23 +81,23 @@
++ get_current_manifest '{rr[ci_config]}'
++ get_manifest artifacts/manifest.sh '{rr[ci_config]}'
++ set +x
+# Debug traces :
+ ci_config=llvm-arm-master-O2
+ echo '# Debug traces :'
-# Debug traces :
++ get_baseline_manifest BUILD_URL
++ get_manifest base-artifacts/manifest.sh BUILD_URL false
++ set +x
-# Baseline : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/71/
-+ echo '# Baseline : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/71/'
-+ echo '# Using dir : base-artifacts'
+# Baseline : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/73/
# Using dir : base-artifacts
++ echo '# Baseline : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/73/'
++ echo '# Using dir : base-artifacts'
++ get_current_manifest BUILD_URL
++ get_manifest artifacts/manifest.sh BUILD_URL
++ set +x
-# Artifacts : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/73/
+# Artifacts : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/74/
# Using dir : artifacts
-+ echo '# Artifacts : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/73/'
++ echo '# Artifacts : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O2-build/74/'
+ echo '# Using dir : artifacts'
+ echo ''
+ mkdir -p artifacts/notify
@@ -105,13 +105,13 @@
+ set +x
+ declare -Ag pw
+ '[' ignore = precommit ']'
-+ check_source_changes
# check_source_changes
++ check_source_changes
+ echo '# check_source_changes'
++ get_current_manifest '{rr[update_baseline]}'
++ get_manifest artifacts/manifest.sh '{rr[update_baseline]}'
++ set +x
-+ '[' force '!=' init ']'
++ '[' onsuccess '!=' init ']'
+ IFS=' '
+ read -r -a changed_components
++ print_changed_components
@@ -121,19 +121,95 @@
+++ set -euf -o pipefail
+++ local c delim=
+++ for c in ${rr[components]}
-+++ '[' xbaseline '!=' xbaseline ']'
++++ '[' xhttps://github.com/llvm/llvm-project.git#main '!=' xbaseline ']'
++++ echo -ne llvm
++++ delim=' '
+++ echo
+++ for c in $(print_updated_components)
++++ get_current_git llvm_rev
++++ set -euf -o pipefail
++++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
++++ set -euf -o pipefail +x
++++ cat artifacts/git/llvm_rev
++++ get_baseline_git llvm_rev
++++ set -euf -o pipefail
++++ local base_artifacts=base-artifacts
++++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
++++ set -euf -o pipefail +x
++++ cat base-artifacts/git/llvm_rev
+++ '[' x777a6e6f10b2b90496d248b7fa904fce834484be '!=' xa09e32e5fe13e3b64bef1defddf71a9e83022e76 ']'
+++ echo -ne llvm
+++ delim=' '
++ echo
+ local c base_rev cur_rev c_commits
-+ '[' 0 = 0 ']'
-+ change_kind=no_change
-# Debug traces :
-# change_kind=no_change :
-
-+ changed_single_component=
++ '[' 1 = 0 ']'
++ '[' 1 = 1 ']'
++ changed_single_component=llvm
+++ get_current_git llvm_rev
+++ set -euf -o pipefail
+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat artifacts/git/llvm_rev
++ first_bad=777a6e6f10b2b90496d248b7fa904fce834484be
+++ get_baseline_git llvm_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat base-artifacts/git/llvm_rev
++ last_good=a09e32e5fe13e3b64bef1defddf71a9e83022e76
++ local res
++ res=0
++ git -C llvm rev-parse --verify HEAD
++ wait 46726
++ assert_with_msg 'Cannot parse HEAD in repo llvm' '[' 0 = 0 ']'
++ set -euf -o pipefail +x
++ single_commit_p llvm
++ set -euf -o pipefail
++ local c=llvm
++ local base_rev cur_rev sha1
+++ get_baseline_git llvm_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat base-artifacts/git/llvm_rev
++ base_rev=a09e32e5fe13e3b64bef1defddf71a9e83022e76
+++ get_current_git llvm_rev
+++ set -euf -o pipefail
+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat artifacts/git/llvm_rev
++ cur_rev=777a6e6f10b2b90496d248b7fa904fce834484be
+++ git -C llvm rev-parse '777a6e6f10b2b90496d248b7fa904fce834484be^@'
++ for sha1 in $(git -C "$c" rev-parse "$cur_rev^@")
++ '[' f04aa1f8149a9c36e28f985400bcea3e1e5d624d = a09e32e5fe13e3b64bef1defddf71a9e83022e76 ']'
++ return 1
++ change_kind=single_component
+ echo '# Debug traces :'
-+ echo '# change_kind=no_change : '
+# Debug traces :
+# change_kind=single_component : llvm
++ echo '# change_kind=single_component : llvm'
++ for c in "${changed_components[@]}"
+++ get_baseline_git llvm_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat base-artifacts/git/llvm_rev
++ base_rev=a09e32e5fe13e3b64bef1defddf71a9e83022e76
+++ get_current_git llvm_rev
+++ set -euf -o pipefail
+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat artifacts/git/llvm_rev
++ cur_rev=777a6e6f10b2b90496d248b7fa904fce834484be
+++ git -C llvm rev-list --count a09e32e5fe13e3b64bef1defddf71a9e83022e76..777a6e6f10b2b90496d248b7fa904fce834484be
++ c_commits=923
+# rev for llvm : a09e32e5fe13e3b64bef1defddf71a9e83022e76..777a6e6f10b2b90496d248b7fa904fce834484be (923 commits)
++ echo '# rev for llvm : a09e32e5fe13e3b64bef1defddf71a9e83022e76..777a6e6f10b2b90496d248b7fa904fce834484be (923 commits)'
+ echo ''
+
+ setup_stages_to_run
+ '[' ignore = onregression ']'
+ '[' ignore = precommit ']'
@@ -159,7 +235,7 @@
# post_interesting_commits
+ echo '# post_interesting_commits'
+ local stage=init
-+ '[' no_change '!=' single_commit ']'
++ '[' single_component '!=' single_commit ']'
+ return
+ '[' init '!=' full ']'
+ echo 'Init stage ran successfully.'
diff --git a/jenkins/rewrite.log b/jenkins/rewrite.log
index fd61248..db6c2b6 100644
--- a/jenkins/rewrite.log
+++ b/jenkins/rewrite.log
@@ -1,27 +1,27 @@
++ pwd
++ cat
-+ remote_exec 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191' ./jenkins-scripts/round-robin-baseline.sh '@@rr[top_artifacts]' artifacts __build_script tcwg_bmk-build.sh __push_base_artifacts true __rewrite_base_artifacts true __rewrite_num 100
++ remote_exec 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754' ./jenkins-scripts/round-robin-baseline.sh '@@rr[top_artifacts]' artifacts __build_script tcwg_bmk-build.sh __push_base_artifacts true __rewrite_base_artifacts true __rewrite_num 100
+ set -euf -o pipefail
+ local host
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
++ cut -d: -f 1
-+ host=tcwg-jade-03
++ host=tcwg-snow_bmk-02
+ local port
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191'
++ cut -s -d: -f 2
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
+ port=
+ local dir
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
++ cut -s -d: -f 3
+ dir=/home/tcwg-buildslave/workspace/tcwg_bmk_2
+ local opts
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
++ cut -s -d: -f 4
-+ opts=-p56191
++ opts=-p37754
+ local env_vars
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p56191:ssh_host=tcwg-jade-03 ssh_port=56191'
++ cut -s -d: -f 5
-+ env_vars='ssh_host=tcwg-jade-03 ssh_port=56191'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_2:-p37754:ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
++ env_vars='ssh_host=tcwg-snow_bmk-02 ssh_port=37754'
+ shift
+ local -a cmd
+ cmd=()
@@ -59,7 +59,7 @@
+ cmd+=("$(printf '%q' "$i")")
++ printf %q 100
++ printf %q /home/tcwg-buildslave/workspace/tcwg_bmk_2
-+ ssh -p56191 tcwg-jade-03 'export ssh_host=tcwg-jade-03 ssh_port=56191 && cd /home/tcwg-buildslave/workspace/tcwg_bmk_2 && exec ./jenkins-scripts/round-robin-baseline.sh @@rr\[top_artifacts\] artifacts __build_script tcwg_bmk-build.sh __push_base_artifacts true __rewrite_base_artifacts true __rewrite_num 100'
++ ssh -p37754 tcwg-snow_bmk-02 'export ssh_host=tcwg-snow_bmk-02 ssh_port=37754 && cd /home/tcwg-buildslave/workspace/tcwg_bmk_2 && exec ./jenkins-scripts/round-robin-baseline.sh @@rr\[top_artifacts\] artifacts __build_script tcwg_bmk-build.sh __push_base_artifacts true __rewrite_base_artifacts true __rewrite_num 100'
+ declare -g rewrite_base_artifacts_first=true
+ true
+ update_baseline
diff --git a/jenkins/run-build.env b/jenkins/run-build.env
index 86d5fbb..c00b07d 100644
--- a/jenkins/run-build.env
+++ b/jenkins/run-build.env
@@ -1,14 +1,15 @@
-build_name="#73"
+build_name="#74"
docker_opts=(--distro
default
--arch
armhf
--node
-tcwg-jade-03
+tcwg-snow_bmk-02
--ssh_info
true )
source build_container.sh
trap "cleanup_all_containers" EXIT
-build_name="#73"
-branch_opt=()
-build_name="#73-R# leela_r_base.default,541.leela_r failed to run-force"
+build_name="#74-llvm"
+branch_opt=(==rr\[llvm_git\]
+https://github.com/llvm/llvm-project.git#main )
+build_name="#74-llvm-R1"