Create a boot-looping version of the tzdata apex.

For use in testing native watchdog triggered apexd rollback on taking an
update that boot loops.

Bug: 132268934
Test: adb install --staged test3_com.android.tzdata.apex
      adb reboot
      Confirm device gets into boot loop, then reboots and fixes itself
      if watchdog is enabled.

Change-Id: Ia4d0a0ff8e3d31ff49d692584d25674b9af31ebc
diff --git a/testing/data/create-test-data.sh b/testing/data/create-test-data.sh
index 2d3dce2..de32319 100755
--- a/testing/data/create-test-data.sh
+++ b/testing/data/create-test-data.sh
@@ -60,4 +60,26 @@
     -output_distro_dir ${TEST_DIR}/output_data/distro \
     -output_version_file ${TEST_DIR}/output_data/version/tz_version
 
+# Test 3: A corrupted set of data like test 1, but with a truncated ICU
+# overlay file. This test data set exists because it is (currently) a good way
+# to trigger a boot loop which enables easy watchdog and recovery testing.
+IANA_VERSION=2030a
+TEST_DIR=test3
 
+# Create fake distro input files.
+./transform-distro-files.sh ${REFERENCE_DISTRO_FILES} ${IANA_VERSION} ./${TEST_DIR}/output_data
+
+# Corrupt icu_tzdata.dat by truncating it
+truncate --size 27766 ${TEST_DIR}/output_data/icu_overlay/icu_tzdata.dat
+
+# Create the distro .zip
+mkdir -p ${TEST_DIR}/output_data/distro
+mkdir -p ${TEST_DIR}/output_data/version
+${DISTRO_TOOLS_DIR}/create-distro.py \
+    -iana_version ${IANA_VERSION} \
+    -revision 1 \
+    -tzdata ${TEST_DIR}/output_data/iana/tzdata \
+    -icu ${TEST_DIR}/output_data/icu_overlay/icu_tzdata.dat \
+    -tzlookup ${TEST_DIR}/output_data/android/tzlookup.xml \
+    -output_distro_dir ${TEST_DIR}/output_data/distro \
+    -output_version_file ${TEST_DIR}/output_data/version/tz_version
diff --git a/testing/data/test3/apex/Android.bp b/testing/data/test3/apex/Android.bp
new file mode 100644
index 0000000..e4f9118
--- /dev/null
+++ b/testing/data/test3/apex/Android.bp
@@ -0,0 +1,35 @@
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// A test version of apex.tzdata that contains corrupt data.
+// It causes a boot loop on device, for the purposes of testing platform
+// rollback mechanisms.
+// It has a version code that should beat a "real" APEX and enables end-to-end
+// installation testing on devices with the latests real data.
+apex {
+    name: "test3_com.android.tzdata",
+    defaults: ["com.android.tzdata-defaults"],
+    manifest: "manifest.json",
+    prebuilts: [
+        "apex_tz_version_test3",
+        "apex_tzlookup.xml_test3",
+        "apex_tzdata_test3",
+        "apex_icu_tzdata.dat_test3",
+    ],
+
+    // installable: false as we do not want test APEX versions in the system
+    // image.
+    installable: false,
+}
+
diff --git a/testing/data/test3/apex/manifest.json b/testing/data/test3/apex/manifest.json
new file mode 100644
index 0000000..c1bdf6a
--- /dev/null
+++ b/testing/data/test3/apex/manifest.json
@@ -0,0 +1,4 @@
+{
+  "name": "com.android.tzdata",
+  "version": 300000000
+}
diff --git a/testing/data/test3/output_data/Android.bp b/testing/data/test3/output_data/Android.bp
new file mode 100644
index 0000000..1447456
--- /dev/null
+++ b/testing/data/test3/output_data/Android.bp
@@ -0,0 +1,48 @@
+// Copyright (C) 2018 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+prebuilt_etc {
+    name: "apex_tz_version_test3",
+    src: "version/tz_version",
+    filename: "tz_version",
+    sub_dir: "tz",
+    installable: false,
+}
+
+prebuilt_etc {
+    name: "apex_tzlookup.xml_test3",
+    src: "android/tzlookup.xml",
+    filename: "tzlookup.xml",
+    sub_dir: "tz",
+    installable: false,
+}
+
+prebuilt_etc {
+    name: "apex_tzdata_test3",
+    src: "iana/tzdata",
+    notice: "iana/NOTICE",
+    filename: "tzdata",
+    sub_dir: "tz",
+    installable: false,
+}
+
+prebuilt_etc {
+    name: "apex_icu_tzdata.dat_test3",
+    src: "icu_overlay/icu_tzdata.dat",
+    notice: "icu_overlay/LICENSE",
+    filename: "icu_tzdata.dat",
+    sub_dir: "icu",
+    installable: false,
+}
+
diff --git a/testing/data/test3/output_data/android/tzlookup.xml b/testing/data/test3/output_data/android/tzlookup.xml
new file mode 100644
index 0000000..dc29817
--- /dev/null
+++ b/testing/data/test3/output_data/android/tzlookup.xml
@@ -0,0 +1,927 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+
+ **** Autogenerated file - DO NOT EDIT ****
+
+--><timezones ianaversion="2030a">
+ <countryzones>
+  <country code="ad" default="Europe/Andorra" everutc="n">
+   <id>Europe/Andorra</id>
+  </country>
+  <country code="ae" default="Asia/Dubai" everutc="n">
+   <id>Asia/Dubai</id>
+  </country>
+  <country code="af" default="Asia/Kabul" everutc="n">
+   <id>Asia/Kabul</id>
+  </country>
+  <country code="ag" default="America/Antigua" everutc="n">
+   <id>America/Antigua</id>
+  </country>
+  <country code="ai" default="America/Anguilla" everutc="n">
+   <id>America/Anguilla</id>
+  </country>
+  <country code="al" default="Europe/Tirane" everutc="n">
+   <id>Europe/Tirane</id>
+  </country>
+  <country code="am" default="Asia/Yerevan" everutc="n">
+   <id>Asia/Yerevan</id>
+  </country>
+  <country code="ao" default="Africa/Luanda" everutc="n">
+   <id>Africa/Luanda</id>
+  </country>
+  <country code="aq" default="Antarctica/McMurdo" everutc="y">
+   <id>Antarctica/McMurdo</id>
+   <id>Antarctica/DumontDUrville</id>
+   <id>Antarctica/Casey</id>
+   <id>Antarctica/Davis</id>
+   <id>Antarctica/Mawson</id>
+   <id>Antarctica/Vostok</id>
+   <id>Antarctica/Syowa</id>
+   <id>Antarctica/Troll</id>
+   <id>Antarctica/Rothera</id>
+   <id>Antarctica/Palmer</id>
+  </country>
+  <country code="ar" default="America/Argentina/Buenos_Aires" everutc="n">
+   <id>America/Argentina/Buenos_Aires</id>
+   <id notafter="687931200000">America/Argentina/Cordoba</id>
+   <id notafter="1096171200000">America/Argentina/Salta</id>
+   <id notafter="687931200000">America/Argentina/Jujuy</id>
+   <id notafter="1087099200000">America/Argentina/Tucuman</id>
+   <id notafter="1087704000000">America/Argentina/Catamarca</id>
+   <id notafter="687931200000">America/Argentina/La_Rioja</id>
+   <id notafter="1090728000000">America/Argentina/San_Juan</id>
+   <id notafter="1237082400000">America/Argentina/Mendoza</id>
+   <id>America/Argentina/San_Luis</id>
+   <id notafter="673588800000">America/Argentina/Rio_Gallegos</id>
+   <id notafter="1087704000000">America/Argentina/Ushuaia</id>
+  </country>
+  <country code="as" default="Pacific/Pago_Pago" everutc="n">
+   <id>Pacific/Pago_Pago</id>
+  </country>
+  <country code="at" default="Europe/Vienna" everutc="n">
+   <id>Europe/Vienna</id>
+  </country>
+  <country code="au" default="Australia/Sydney" everutc="n">
+   <id>Australia/Sydney</id>
+   <id notafter="796147200000">Australia/Melbourne</id>
+   <id>Australia/Brisbane</id>
+   <id notafter="1193500800000">Australia/Hobart</id>
+   <id notafter="37728000000">Australia/Currie</id>
+   <id notafter="762883200000">Australia/Lindeman</id>
+   <id>Antarctica/Macquarie</id>
+   <id>Australia/Lord_Howe</id>
+   <id>Australia/Adelaide</id>
+   <id notafter="796149000000">Australia/Broken_Hill</id>
+   <id>Australia/Darwin</id>
+   <id>Australia/Perth</id>
+   <id>Australia/Eucla</id>
+  </country>
+  <country code="aw" default="America/Aruba" everutc="n">
+   <id>America/Aruba</id>
+  </country>
+  <country code="ax" default="Europe/Mariehamn" everutc="n">
+   <id>Europe/Mariehamn</id>
+  </country>
+  <country code="az" default="Asia/Baku" everutc="n">
+   <id>Asia/Baku</id>
+  </country>
+  <country code="ba" default="Europe/Sarajevo" everutc="n">
+   <id>Europe/Sarajevo</id>
+  </country>
+  <country code="bb" default="America/Barbados" everutc="n">
+   <id>America/Barbados</id>
+  </country>
+  <country code="bd" default="Asia/Dhaka" everutc="n">
+   <id>Asia/Dhaka</id>
+  </country>
+  <country code="be" default="Europe/Brussels" everutc="n">
+   <id>Europe/Brussels</id>
+  </country>
+  <country code="bf" default="Africa/Ouagadougou" everutc="y">
+   <id>Africa/Ouagadougou</id>
+  </country>
+  <country code="bg" default="Europe/Sofia" everutc="n">
+   <id>Europe/Sofia</id>
+  </country>
+  <country code="bh" default="Asia/Bahrain" everutc="n">
+   <id>Asia/Bahrain</id>
+  </country>
+  <country code="bi" default="Africa/Bujumbura" everutc="n">
+   <id>Africa/Bujumbura</id>
+  </country>
+  <country code="bj" default="Africa/Porto-Novo" everutc="n">
+   <id>Africa/Porto-Novo</id>
+  </country>
+  <country code="bl" default="America/St_Barthelemy" everutc="n">
+   <id>America/St_Barthelemy</id>
+  </country>
+  <country code="bm" default="Atlantic/Bermuda" everutc="n">
+   <id>Atlantic/Bermuda</id>
+  </country>
+  <country code="bn" default="Asia/Brunei" everutc="n">
+   <id>Asia/Brunei</id>
+  </country>
+  <country code="bo" default="America/La_Paz" everutc="n">
+   <id>America/La_Paz</id>
+  </country>
+  <country code="bq" default="America/Kralendijk" everutc="n">
+   <id>America/Kralendijk</id>
+  </country>
+  <country code="br" default="America/Noronha" everutc="n">
+   <id>America/Noronha</id>
+   <id>America/Sao_Paulo</id>
+   <id notafter="1013911200000">America/Belem</id>
+   <id notafter="972180000000">America/Fortaleza</id>
+   <id notafter="1330221600000">America/Recife</id>
+   <id notafter="1361066400000">America/Araguaina</id>
+   <id notafter="824004000000">America/Maceio</id>
+   <id>America/Bahia</id>
+   <id notafter="1214280000000">America/Santarem</id>
+   <id>America/Manaus</id>
+   <id notafter="1076814000000">America/Campo_Grande</id>
+   <id>America/Cuiaba</id>
+   <id notafter="761713200000">America/Porto_Velho</id>
+   <id notafter="971578800000">America/Boa_Vista</id>
+   <id notafter="761716800000">America/Eirunepe</id>
+   <id>America/Rio_Branco</id>
+  </country>
+  <country code="bs" default="America/Nassau" everutc="n">
+   <id>America/Nassau</id>
+  </country>
+  <country code="bt" default="Asia/Thimphu" everutc="n">
+   <id>Asia/Thimphu</id>
+  </country>
+  <country code="bw" default="Africa/Gaborone" everutc="n">
+   <id>Africa/Gaborone</id>
+  </country>
+  <country code="by" default="Europe/Minsk" everutc="n">
+   <id>Europe/Minsk</id>
+  </country>
+  <country code="bz" default="America/Belize" everutc="n">
+   <id>America/Belize</id>
+  </country>
+  <country code="ca" default="America/St_Johns" everutc="n">
+   <id>America/St_Johns</id>
+   <id>America/Halifax</id>
+   <id notafter="57733200000">America/Glace_Bay</id>
+   <id notafter="1162098000000">America/Moncton</id>
+   <id notafter="1299996000000">America/Goose_Bay</id>
+   <id>America/Blanc-Sablon</id>
+   <id>America/Toronto</id>
+   <id notafter="89186400000">America/Nipigon</id>
+   <id notafter="120636000000">America/Thunder_Bay</id>
+   <id notafter="972802800000">America/Iqaluit</id>
+   <id notafter="796806000000">America/Pangnirtung</id>
+   <id>America/Atikokan</id>
+   <id>America/Winnipeg</id>
+   <id>America/Regina</id>
+   <id notafter="1130659200000">America/Rankin_Inlet</id>
+   <id notafter="986112000000">America/Rainy_River</id>
+   <id notafter="73472400000">America/Swift_Current</id>
+   <id notafter="1173600000000">America/Resolute</id>
+   <id>America/Edmonton</id>
+   <id notafter="986115600000">America/Cambridge_Bay</id>
+   <id notafter="309945600000">America/Yellowknife</id>
+   <id notafter="294228000000">America/Inuvik</id>
+   <id>America/Dawson_Creek</id>
+   <id notafter="84013200000">America/Creston</id>
+   <id notafter="1425808800000">America/Fort_Nelson</id>
+   <id>America/Vancouver</id>
+   <id notafter="309949200000">America/Whitehorse</id>
+   <id notafter="120646800000">America/Dawson</id>
+  </country>
+  <country code="cc" default="Indian/Cocos" everutc="n">
+   <id>Indian/Cocos</id>
+  </country>
+  <country code="cd" default="Africa/Kinshasa" everutc="n">
+   <id>Africa/Lubumbashi</id>
+   <id>Africa/Kinshasa</id>
+  </country>
+  <country code="cf" default="Africa/Bangui" everutc="n">
+   <id>Africa/Bangui</id>
+  </country>
+  <country code="cg" default="Africa/Brazzaville" everutc="n">
+   <id>Africa/Brazzaville</id>
+  </country>
+  <country code="ch" default="Europe/Zurich" everutc="n">
+   <id>Europe/Zurich</id>
+  </country>
+  <country code="ci" default="Africa/Abidjan" everutc="y">
+   <id>Africa/Abidjan</id>
+  </country>
+  <country code="ck" default="Pacific/Rarotonga" everutc="n">
+   <id>Pacific/Rarotonga</id>
+  </country>
+  <country code="cl" default="America/Santiago" everutc="n">
+   <id>America/Punta_Arenas</id>
+   <id>America/Santiago</id>
+   <id>Pacific/Easter</id>
+  </country>
+  <country code="cm" default="Africa/Douala" everutc="n">
+   <id>Africa/Douala</id>
+  </country>
+  <country code="cn" default="Asia/Shanghai" everutc="n">
+   <id>Asia/Shanghai</id>
+   <id>Asia/Urumqi</id>
+  </country>
+  <country code="co" default="America/Bogota" everutc="n">
+   <id>America/Bogota</id>
+  </country>
+  <country code="cr" default="America/Costa_Rica" everutc="n">
+   <id>America/Costa_Rica</id>
+  </country>
+  <country code="cu" default="America/Havana" everutc="n">
+   <id>America/Havana</id>
+  </country>
+  <country code="cv" default="Atlantic/Cape_Verde" everutc="n">
+   <id>Atlantic/Cape_Verde</id>
+  </country>
+  <country code="cw" default="America/Curacao" everutc="n">
+   <id>America/Curacao</id>
+  </country>
+  <country code="cx" default="Indian/Christmas" everutc="n">
+   <id>Indian/Christmas</id>
+  </country>
+  <country code="cy" default="Asia/Nicosia" everutc="n">
+   <id>Asia/Nicosia</id>
+   <id>Asia/Famagusta</id>
+  </country>
+  <country code="cz" default="Europe/Prague" everutc="n">
+   <id>Europe/Prague</id>
+  </country>
+  <country code="de" default="Europe/Berlin" everutc="n">
+   <id>Europe/Berlin</id>
+   <id notafter="338950800000">Europe/Busingen</id>
+  </country>
+  <country code="dj" default="Africa/Djibouti" everutc="n">
+   <id>Africa/Djibouti</id>
+  </country>
+  <country code="dk" default="Europe/Copenhagen" everutc="n">
+   <id>Europe/Copenhagen</id>
+  </country>
+  <country code="dm" default="America/Dominica" everutc="n">
+   <id>America/Dominica</id>
+  </country>
+  <country code="do" default="America/Santo_Domingo" everutc="n">
+   <id>America/Santo_Domingo</id>
+  </country>
+  <country code="dz" default="Africa/Algiers" everutc="n">
+   <id>Africa/Algiers</id>
+  </country>
+  <country code="ec" default="America/Guayaquil" everutc="n">
+   <id>America/Guayaquil</id>
+   <id>Pacific/Galapagos</id>
+  </country>
+  <country code="ee" default="Europe/Tallinn" everutc="n">
+   <id>Europe/Tallinn</id>
+  </country>
+  <country code="eg" default="Africa/Cairo" everutc="n">
+   <id>Africa/Cairo</id>
+  </country>
+  <country code="eh" default="Africa/El_Aaiun" everutc="y">
+   <id>Africa/El_Aaiun</id>
+  </country>
+  <country code="er" default="Africa/Asmara" everutc="n">
+   <id>Africa/Asmara</id>
+  </country>
+  <country code="es" default="Europe/Madrid" everutc="y">
+   <id>Europe/Madrid</id>
+   <id notafter="496803600000">Africa/Ceuta</id>
+   <id>Atlantic/Canary</id>
+  </country>
+  <country code="et" default="Africa/Addis_Ababa" everutc="n">
+   <id>Africa/Addis_Ababa</id>
+  </country>
+  <country code="fi" default="Europe/Helsinki" everutc="n">
+   <id>Europe/Helsinki</id>
+  </country>
+  <country code="fj" default="Pacific/Fiji" everutc="n">
+   <id>Pacific/Fiji</id>
+  </country>
+  <country code="fk" default="Atlantic/Stanley" everutc="n">
+   <id>Atlantic/Stanley</id>
+  </country>
+  <country code="fm" default="Pacific/Pohnpei" everutc="n">
+   <id>Pacific/Pohnpei</id>
+   <id>Pacific/Kosrae</id>
+   <id>Pacific/Chuuk</id>
+  </country>
+  <country code="fo" default="Atlantic/Faroe" everutc="y">
+   <id>Atlantic/Faroe</id>
+  </country>
+  <country code="fr" default="Europe/Paris" everutc="n">
+   <id>Europe/Paris</id>
+  </country>
+  <country code="ga" default="Africa/Libreville" everutc="n">
+   <id>Africa/Libreville</id>
+  </country>
+  <country code="gb" default="Europe/London" everutc="y">
+   <id>Europe/London</id>
+  </country>
+  <country code="gd" default="America/Grenada" everutc="n">
+   <id>America/Grenada</id>
+  </country>
+  <country code="ge" default="Asia/Tbilisi" everutc="n">
+   <id>Asia/Tbilisi</id>
+  </country>
+  <country code="gf" default="America/Cayenne" everutc="n">
+   <id>America/Cayenne</id>
+  </country>
+  <country code="gg" default="Europe/Guernsey" everutc="y">
+   <id>Europe/Guernsey</id>
+  </country>
+  <country code="gh" default="Africa/Accra" everutc="y">
+   <id>Africa/Accra</id>
+  </country>
+  <country code="gi" default="Europe/Gibraltar" everutc="n">
+   <id>Europe/Gibraltar</id>
+  </country>
+  <country code="gl" default="America/Godthab" everutc="y">
+   <id>America/Danmarkshavn</id>
+   <id>America/Scoresbysund</id>
+   <id>America/Godthab</id>
+   <id>America/Thule</id>
+  </country>
+  <country code="gm" default="Africa/Banjul" everutc="y">
+   <id>Africa/Banjul</id>
+  </country>
+  <country code="gn" default="Africa/Conakry" everutc="y">
+   <id>Africa/Conakry</id>
+  </country>
+  <country code="gp" default="America/Guadeloupe" everutc="n">
+   <id>America/Guadeloupe</id>
+  </country>
+  <country code="gq" default="Africa/Malabo" everutc="n">
+   <id>Africa/Malabo</id>
+  </country>
+  <country code="gr" default="Europe/Athens" everutc="n">
+   <id>Europe/Athens</id>
+  </country>
+  <country code="gs" default="Atlantic/South_Georgia" everutc="n">
+   <id>Atlantic/South_Georgia</id>
+  </country>
+  <country code="gt" default="America/Guatemala" everutc="n">
+   <id>America/Guatemala</id>
+  </country>
+  <country code="gu" default="Pacific/Guam" everutc="n">
+   <id>Pacific/Guam</id>
+  </country>
+  <country code="gw" default="Africa/Bissau" everutc="y">
+   <id>Africa/Bissau</id>
+  </country>
+  <country code="gy" default="America/Guyana" everutc="n">
+   <id>America/Guyana</id>
+  </country>
+  <country code="hk" default="Asia/Hong_Kong" everutc="n">
+   <id>Asia/Hong_Kong</id>
+  </country>
+  <country code="hn" default="America/Tegucigalpa" everutc="n">
+   <id>America/Tegucigalpa</id>
+  </country>
+  <country code="hr" default="Europe/Zagreb" everutc="n">
+   <id>Europe/Zagreb</id>
+  </country>
+  <country code="ht" default="America/Port-au-Prince" everutc="n">
+   <id>America/Port-au-Prince</id>
+  </country>
+  <country code="hu" default="Europe/Budapest" everutc="n">
+   <id>Europe/Budapest</id>
+  </country>
+  <country code="id" default="Asia/Jakarta" everutc="n">
+   <id>Asia/Jayapura</id>
+   <id>Asia/Makassar</id>
+   <id>Asia/Jakarta</id>
+   <id notafter="567964800000">Asia/Pontianak</id>
+  </country>
+  <country code="ie" default="Europe/Dublin" everutc="y">
+   <id>Europe/Dublin</id>
+  </country>
+  <country code="il" default="Asia/Jerusalem" everutc="n">
+   <id>Asia/Jerusalem</id>
+  </country>
+  <country code="im" default="Europe/Isle_of_Man" everutc="y">
+   <id>Europe/Isle_of_Man</id>
+  </country>
+  <country code="in" default="Asia/Kolkata" everutc="n">
+   <id>Asia/Kolkata</id>
+  </country>
+  <country code="io" default="Indian/Chagos" everutc="n">
+   <id>Indian/Chagos</id>
+  </country>
+  <country code="iq" default="Asia/Baghdad" everutc="n">
+   <id>Asia/Baghdad</id>
+  </country>
+  <country code="ir" default="Asia/Tehran" everutc="n">
+   <id>Asia/Tehran</id>
+  </country>
+  <country code="is" default="Atlantic/Reykjavik" everutc="y">
+   <id>Atlantic/Reykjavik</id>
+  </country>
+  <country code="it" default="Europe/Rome" everutc="n">
+   <id>Europe/Rome</id>
+  </country>
+  <country code="je" default="Europe/Jersey" everutc="y">
+   <id>Europe/Jersey</id>
+  </country>
+  <country code="jm" default="America/Jamaica" everutc="n">
+   <id>America/Jamaica</id>
+  </country>
+  <country code="jo" default="Asia/Amman" everutc="n">
+   <id>Asia/Amman</id>
+  </country>
+  <country code="jp" default="Asia/Tokyo" everutc="n">
+   <id>Asia/Tokyo</id>
+  </country>
+  <country code="ke" default="Africa/Nairobi" everutc="n">
+   <id>Africa/Nairobi</id>
+  </country>
+  <country code="kg" default="Asia/Bishkek" everutc="n">
+   <id>Asia/Bishkek</id>
+  </country>
+  <country code="kh" default="Asia/Phnom_Penh" everutc="n">
+   <id>Asia/Phnom_Penh</id>
+  </country>
+  <country code="ki" default="Pacific/Tarawa" everutc="n">
+   <id>Pacific/Kiritimati</id>
+   <id>Pacific/Enderbury</id>
+   <id>Pacific/Tarawa</id>
+  </country>
+  <country code="km" default="Indian/Comoro" everutc="n">
+   <id>Indian/Comoro</id>
+  </country>
+  <country code="kn" default="America/St_Kitts" everutc="n">
+   <id>America/St_Kitts</id>
+  </country>
+  <country code="kp" default="Asia/Pyongyang" everutc="n">
+   <id>Asia/Pyongyang</id>
+  </country>
+  <country code="kr" default="Asia/Seoul" everutc="n">
+   <id>Asia/Seoul</id>
+  </country>
+  <country code="kw" default="Asia/Kuwait" everutc="n">
+   <id>Asia/Kuwait</id>
+  </country>
+  <country code="ky" default="America/Cayman" everutc="n">
+   <id>America/Cayman</id>
+  </country>
+  <country code="kz" default="Asia/Almaty" everutc="n">
+   <id>Asia/Almaty</id>
+   <id notafter="1099170000000">Asia/Qostanay</id>
+   <id notafter="1099173600000">Asia/Aqtau</id>
+   <id>Asia/Oral</id>
+   <id notafter="1545328800000">Asia/Qyzylorda</id>
+   <id notafter="1545328800000">Asia/Aqtobe</id>
+   <id notafter="922572000000">Asia/Atyrau</id>
+  </country>
+  <country code="la" default="Asia/Vientiane" everutc="n">
+   <id>Asia/Vientiane</id>
+  </country>
+  <country code="lb" default="Asia/Beirut" everutc="n">
+   <id>Asia/Beirut</id>
+  </country>
+  <country code="lc" default="America/St_Lucia" everutc="n">
+   <id>America/St_Lucia</id>
+  </country>
+  <country code="li" default="Europe/Vaduz" everutc="n">
+   <id>Europe/Vaduz</id>
+  </country>
+  <country code="lk" default="Asia/Colombo" everutc="n">
+   <id>Asia/Colombo</id>
+  </country>
+  <country code="lr" default="Africa/Monrovia" everutc="y">
+   <id>Africa/Monrovia</id>
+  </country>
+  <country code="ls" default="Africa/Maseru" everutc="n">
+   <id>Africa/Maseru</id>
+  </country>
+  <country code="lt" default="Europe/Vilnius" everutc="n">
+   <id>Europe/Vilnius</id>
+  </country>
+  <country code="lu" default="Europe/Luxembourg" everutc="n">
+   <id>Europe/Luxembourg</id>
+  </country>
+  <country code="lv" default="Europe/Riga" everutc="n">
+   <id>Europe/Riga</id>
+  </country>
+  <country code="ly" default="Africa/Tripoli" everutc="n">
+   <id>Africa/Tripoli</id>
+  </country>
+  <country code="ma" default="Africa/Casablanca" everutc="y">
+   <id>Africa/Casablanca</id>
+  </country>
+  <country code="mc" default="Europe/Monaco" everutc="n">
+   <id>Europe/Monaco</id>
+  </country>
+  <country code="md" default="Europe/Chisinau" everutc="n">
+   <id>Europe/Chisinau</id>
+  </country>
+  <country code="me" default="Europe/Podgorica" everutc="n">
+   <id>Europe/Podgorica</id>
+  </country>
+  <country code="mf" default="America/Marigot" everutc="n">
+   <id>America/Marigot</id>
+  </country>
+  <country code="mg" default="Indian/Antananarivo" everutc="n">
+   <id>Indian/Antananarivo</id>
+  </country>
+  <country code="mh" default="Pacific/Majuro" everutc="n">
+   <id>Pacific/Majuro</id>
+   <id notafter="745934400000">Pacific/Kwajalein</id>
+  </country>
+  <country code="mk" default="Europe/Skopje" everutc="n">
+   <id>Europe/Skopje</id>
+  </country>
+  <country code="ml" default="Africa/Bamako" everutc="y">
+   <id>Africa/Bamako</id>
+  </country>
+  <country code="mm" default="Asia/Yangon" everutc="n">
+   <id>Asia/Yangon</id>
+  </country>
+  <country code="mn" default="Asia/Ulaanbaatar" everutc="n">
+   <id>Asia/Choibalsan</id>
+   <id>Asia/Ulaanbaatar</id>
+   <id>Asia/Hovd</id>
+  </country>
+  <country code="mo" default="Asia/Macau" everutc="n">
+   <id>Asia/Macau</id>
+  </country>
+  <country code="mp" default="Pacific/Saipan" everutc="n">
+   <id>Pacific/Saipan</id>
+  </country>
+  <country code="mq" default="America/Martinique" everutc="n">
+   <id>America/Martinique</id>
+  </country>
+  <country code="mr" default="Africa/Nouakchott" everutc="y">
+   <id>Africa/Nouakchott</id>
+  </country>
+  <country code="ms" default="America/Montserrat" everutc="n">
+   <id>America/Montserrat</id>
+  </country>
+  <country code="mt" default="Europe/Malta" everutc="n">
+   <id>Europe/Malta</id>
+  </country>
+  <country code="mu" default="Indian/Mauritius" everutc="n">
+   <id>Indian/Mauritius</id>
+  </country>
+  <country code="mv" default="Indian/Maldives" everutc="n">
+   <id>Indian/Maldives</id>
+  </country>
+  <country code="mw" default="Africa/Blantyre" everutc="n">
+   <id>Africa/Blantyre</id>
+  </country>
+  <country code="mx" default="America/Mexico_City" everutc="n">
+   <id>America/Mexico_City</id>
+   <id notafter="407653200000">America/Merida</id>
+   <id notafter="594198000000">America/Monterrey</id>
+   <id>America/Matamoros</id>
+   <id notafter="1270371600000">America/Bahia_Banderas</id>
+   <id>America/Cancun</id>
+   <id>America/Chihuahua</id>
+   <id>America/Hermosillo</id>
+   <id notafter="891766800000">America/Mazatlan</id>
+   <id>America/Ojinaga</id>
+   <id>America/Tijuana</id>
+  </country>
+  <country code="my" default="Asia/Kuala_Lumpur" everutc="n">
+   <id>Asia/Kuala_Lumpur</id>
+   <id notafter="378664200000">Asia/Kuching</id>
+  </country>
+  <country code="mz" default="Africa/Maputo" everutc="n">
+   <id>Africa/Maputo</id>
+  </country>
+  <country code="na" default="Africa/Windhoek" everutc="n">
+   <id>Africa/Windhoek</id>
+  </country>
+  <country code="nc" default="Pacific/Noumea" everutc="n">
+   <id>Pacific/Noumea</id>
+  </country>
+  <country code="ne" default="Africa/Niamey" everutc="n">
+   <id>Africa/Niamey</id>
+  </country>
+  <country code="nf" default="Pacific/Norfolk" everutc="n">
+   <id>Pacific/Norfolk</id>
+  </country>
+  <country code="ng" default="Africa/Lagos" everutc="n">
+   <id>Africa/Lagos</id>
+  </country>
+  <country code="ni" default="America/Managua" everutc="n">
+   <id>America/Managua</id>
+  </country>
+  <country code="nl" default="Europe/Amsterdam" everutc="n">
+   <id>Europe/Amsterdam</id>
+  </country>
+  <country code="no" default="Europe/Oslo" everutc="n">
+   <id>Europe/Oslo</id>
+  </country>
+  <country code="np" default="Asia/Kathmandu" everutc="n">
+   <id>Asia/Kathmandu</id>
+  </country>
+  <country code="nr" default="Pacific/Nauru" everutc="n">
+   <id>Pacific/Nauru</id>
+  </country>
+  <country code="nu" default="Pacific/Niue" everutc="n">
+   <id>Pacific/Niue</id>
+  </country>
+  <country code="nz" default="Pacific/Auckland" everutc="n">
+   <id>Pacific/Auckland</id>
+   <id>Pacific/Chatham</id>
+  </country>
+  <country code="om" default="Asia/Muscat" everutc="n">
+   <id>Asia/Muscat</id>
+  </country>
+  <country code="pa" default="America/Panama" everutc="n">
+   <id>America/Panama</id>
+  </country>
+  <country code="pe" default="America/Lima" everutc="n">
+   <id>America/Lima</id>
+  </country>
+  <country code="pf" default="Pacific/Tahiti" everutc="n">
+   <id>Pacific/Gambier</id>
+   <id>Pacific/Marquesas</id>
+   <id>Pacific/Tahiti</id>
+  </country>
+  <country code="pg" default="Pacific/Port_Moresby" everutc="n">
+   <id>Pacific/Port_Moresby</id>
+   <id>Pacific/Bougainville</id>
+  </country>
+  <country code="ph" default="Asia/Manila" everutc="n">
+   <id>Asia/Manila</id>
+  </country>
+  <country code="pk" default="Asia/Karachi" everutc="n">
+   <id>Asia/Karachi</id>
+  </country>
+  <country code="pl" default="Europe/Warsaw" everutc="n">
+   <id>Europe/Warsaw</id>
+  </country>
+  <country code="pm" default="America/Miquelon" everutc="n">
+   <id>America/Miquelon</id>
+  </country>
+  <country code="pn" default="Pacific/Pitcairn" everutc="n">
+   <id>Pacific/Pitcairn</id>
+  </country>
+  <country code="pr" default="America/Puerto_Rico" everutc="n">
+   <id>America/Puerto_Rico</id>
+  </country>
+  <country code="ps" default="Asia/Gaza" everutc="n">
+   <id notafter="1317330000000">Asia/Gaza</id>
+   <id>Asia/Hebron</id>
+  </country>
+  <country code="pt" default="Europe/Lisbon" everutc="y">
+   <id>Europe/Lisbon</id>
+   <id notafter="828234000000">Atlantic/Madeira</id>
+   <id>Atlantic/Azores</id>
+  </country>
+  <country code="pw" default="Pacific/Palau" everutc="n">
+   <id>Pacific/Palau</id>
+  </country>
+  <country code="py" default="America/Asuncion" everutc="n">
+   <id>America/Asuncion</id>
+  </country>
+  <country code="qa" default="Asia/Qatar" everutc="n">
+   <id>Asia/Qatar</id>
+  </country>
+  <country code="re" default="Indian/Reunion" everutc="n">
+   <id>Indian/Reunion</id>
+  </country>
+  <country code="ro" default="Europe/Bucharest" everutc="n">
+   <id>Europe/Bucharest</id>
+  </country>
+  <country code="rs" default="Europe/Belgrade" everutc="n">
+   <id>Europe/Belgrade</id>
+  </country>
+  <country code="ru" default="Europe/Moscow" everutc="n">
+   <id>Asia/Kamchatka</id>
+   <id>Asia/Anadyr</id>
+   <id>Asia/Magadan</id>
+   <id>Asia/Sakhalin</id>
+   <id>Asia/Srednekolymsk</id>
+   <id>Asia/Vladivostok</id>
+   <id notafter="1315828800000">Asia/Ust-Nera</id>
+   <id notafter="1459015200000">Asia/Yakutsk</id>
+   <id>Asia/Chita</id>
+   <id notafter="1315832400000">Asia/Khandyga</id>
+   <id>Asia/Irkutsk</id>
+   <id>Asia/Krasnoyarsk</id>
+   <id>Asia/Novosibirsk</id>
+   <id>Asia/Barnaul</id>
+   <id notafter="1459022400000">Asia/Novokuznetsk</id>
+   <id notafter="1464465600000">Asia/Tomsk</id>
+   <id>Asia/Omsk</id>
+   <id>Asia/Yekaterinburg</id>
+   <id>Europe/Samara</id>
+   <id notafter="701823600000">Europe/Astrakhan</id>
+   <id notafter="1480806000000">Europe/Ulyanovsk</id>
+   <id>Europe/Saratov</id>
+   <id>Europe/Volgograd</id>
+   <id>Europe/Moscow</id>
+   <id>Europe/Kirov</id>
+   <id picker="n" notafter="1396137600000">Europe/Simferopol</id>
+   <id>Europe/Kaliningrad</id>
+  </country>
+  <country code="rw" default="Africa/Kigali" everutc="n">
+   <id>Africa/Kigali</id>
+  </country>
+  <country code="sa" default="Asia/Riyadh" everutc="n">
+   <id>Asia/Riyadh</id>
+  </country>
+  <country code="sb" default="Pacific/Guadalcanal" everutc="n">
+   <id>Pacific/Guadalcanal</id>
+  </country>
+  <country code="sc" default="Indian/Mahe" everutc="n">
+   <id>Indian/Mahe</id>
+  </country>
+  <country code="sd" default="Africa/Khartoum" everutc="n">
+   <id>Africa/Khartoum</id>
+  </country>
+  <country code="se" default="Europe/Stockholm" everutc="n">
+   <id>Europe/Stockholm</id>
+  </country>
+  <country code="sg" default="Asia/Singapore" everutc="n">
+   <id>Asia/Singapore</id>
+  </country>
+  <country code="sh" default="Atlantic/St_Helena" everutc="y">
+   <id>Atlantic/St_Helena</id>
+  </country>
+  <country code="si" default="Europe/Ljubljana" everutc="n">
+   <id>Europe/Ljubljana</id>
+  </country>
+  <country code="sj" default="Arctic/Longyearbyen" everutc="n">
+   <id>Arctic/Longyearbyen</id>
+  </country>
+  <country code="sk" default="Europe/Bratislava" everutc="n">
+   <id>Europe/Bratislava</id>
+  </country>
+  <country code="sl" default="Africa/Freetown" everutc="y">
+   <id>Africa/Freetown</id>
+  </country>
+  <country code="sm" default="Europe/San_Marino" everutc="n">
+   <id>Europe/San_Marino</id>
+  </country>
+  <country code="sn" default="Africa/Dakar" everutc="y">
+   <id>Africa/Dakar</id>
+  </country>
+  <country code="so" default="Africa/Mogadishu" everutc="n">
+   <id>Africa/Mogadishu</id>
+  </country>
+  <country code="sr" default="America/Paramaribo" everutc="n">
+   <id>America/Paramaribo</id>
+  </country>
+  <country code="ss" default="Africa/Juba" everutc="n">
+   <id>Africa/Juba</id>
+  </country>
+  <country code="st" default="Africa/Sao_Tome" everutc="y">
+   <id>Africa/Sao_Tome</id>
+  </country>
+  <country code="sv" default="America/El_Salvador" everutc="n">
+   <id>America/El_Salvador</id>
+  </country>
+  <country code="sx" default="America/Lower_Princes" everutc="n">
+   <id>America/Lower_Princes</id>
+  </country>
+  <country code="sy" default="Asia/Damascus" everutc="n">
+   <id>Asia/Damascus</id>
+  </country>
+  <country code="sz" default="Africa/Mbabane" everutc="n">
+   <id>Africa/Mbabane</id>
+  </country>
+  <country code="tc" default="America/Grand_Turk" everutc="n">
+   <id>America/Grand_Turk</id>
+  </country>
+  <country code="td" default="Africa/Ndjamena" everutc="n">
+   <id>Africa/Ndjamena</id>
+  </country>
+  <country code="tf" default="Indian/Kerguelen" everutc="n">
+   <id>Indian/Kerguelen</id>
+  </country>
+  <country code="tg" default="Africa/Lome" everutc="y">
+   <id>Africa/Lome</id>
+  </country>
+  <country code="th" default="Asia/Bangkok" everutc="n">
+   <id>Asia/Bangkok</id>
+  </country>
+  <country code="tj" default="Asia/Dushanbe" everutc="n">
+   <id>Asia/Dushanbe</id>
+  </country>
+  <country code="tk" default="Pacific/Fakaofo" everutc="n">
+   <id>Pacific/Fakaofo</id>
+  </country>
+  <country code="tl" default="Asia/Dili" everutc="n">
+   <id>Asia/Dili</id>
+  </country>
+  <country code="tm" default="Asia/Ashgabat" everutc="n">
+   <id>Asia/Ashgabat</id>
+  </country>
+  <country code="tn" default="Africa/Tunis" everutc="n">
+   <id>Africa/Tunis</id>
+  </country>
+  <country code="to" default="Pacific/Tongatapu" everutc="n">
+   <id>Pacific/Tongatapu</id>
+  </country>
+  <country code="tr" default="Europe/Istanbul" everutc="n">
+   <id>Europe/Istanbul</id>
+  </country>
+  <country code="tt" default="America/Port_of_Spain" everutc="n">
+   <id>America/Port_of_Spain</id>
+  </country>
+  <country code="tv" default="Pacific/Funafuti" everutc="n">
+   <id>Pacific/Funafuti</id>
+  </country>
+  <country code="tw" default="Asia/Taipei" everutc="n">
+   <id>Asia/Taipei</id>
+  </country>
+  <country code="tz" default="Africa/Dar_es_Salaam" everutc="n">
+   <id>Africa/Dar_es_Salaam</id>
+  </country>
+  <country code="ua" default="Europe/Kiev" everutc="n">
+   <id>Europe/Kiev</id>
+   <id notafter="686091600000">Europe/Uzhgorod</id>
+   <id notafter="686102400000">Europe/Zaporozhye</id>
+  </country>
+  <country code="ug" default="Africa/Kampala" everutc="n">
+   <id>Africa/Kampala</id>
+  </country>
+  <country code="um" default="Pacific/Wake" everutc="n">
+   <id>Pacific/Wake</id>
+   <id>Pacific/Midway</id>
+  </country>
+  <country code="us" default="America/New_York" everutc="n">
+   <id>America/New_York</id>
+   <id notafter="167814000000">America/Detroit</id>
+   <id notafter="152089200000">America/Kentucky/Louisville</id>
+   <id notafter="972802800000">America/Kentucky/Monticello</id>
+   <id notafter="1130652000000">America/Indiana/Indianapolis</id>
+   <id notafter="1194159600000">America/Indiana/Vincennes</id>
+   <id notafter="1173600000000">America/Indiana/Winamac</id>
+   <id notafter="183535200000">America/Indiana/Marengo</id>
+   <id notafter="247042800000">America/Indiana/Petersburg</id>
+   <id notafter="89186400000">America/Indiana/Vevay</id>
+   <id>America/Chicago</id>
+   <id notafter="688546800000">America/Indiana/Knox</id>
+   <id notafter="104918400000">America/Menominee</id>
+   <id notafter="720000000000">America/North_Dakota/Center</id>
+   <id notafter="1067155200000">America/North_Dakota/New_Salem</id>
+   <id notafter="1143964800000">America/Indiana/Tell_City</id>
+   <id notafter="1289116800000">America/North_Dakota/Beulah</id>
+   <id>America/Denver</id>
+   <id notafter="129114000000">America/Boise</id>
+   <id>America/Phoenix</id>
+   <id>America/Los_Angeles</id>
+   <id>America/Anchorage</id>
+   <id notafter="436359600000">America/Juneau</id>
+   <id notafter="436356000000">America/Yakutat</id>
+   <id notafter="436363200000">America/Nome</id>
+   <id notafter="1547978400000">America/Metlakatla</id>
+   <id notafter="341402400000">America/Sitka</id>
+   <id>Pacific/Honolulu</id>
+   <id>America/Adak</id>
+  </country>
+  <country code="uy" default="America/Montevideo" everutc="n">
+   <id>America/Montevideo</id>
+  </country>
+  <country code="uz" default="Asia/Tashkent" everutc="n">
+   <id>Asia/Tashkent</id>
+   <id notafter="670366800000">Asia/Samarkand</id>
+  </country>
+  <country code="va" default="Europe/Vatican" everutc="n">
+   <id>Europe/Vatican</id>
+  </country>
+  <country code="vc" default="America/St_Vincent" everutc="n">
+   <id>America/St_Vincent</id>
+  </country>
+  <country code="ve" default="America/Caracas" everutc="n">
+   <id>America/Caracas</id>
+  </country>
+  <country code="vg" default="America/Tortola" everutc="n">
+   <id>America/Tortola</id>
+  </country>
+  <country code="vi" default="America/St_Thomas" everutc="n">
+   <id>America/St_Thomas</id>
+  </country>
+  <country code="vn" default="Asia/Ho_Chi_Minh" everutc="n">
+   <id>Asia/Ho_Chi_Minh</id>
+  </country>
+  <country code="vu" default="Pacific/Efate" everutc="n">
+   <id>Pacific/Efate</id>
+  </country>
+  <country code="wf" default="Pacific/Wallis" everutc="n">
+   <id>Pacific/Wallis</id>
+  </country>
+  <country code="ws" default="Pacific/Apia" everutc="n">
+   <id>Pacific/Apia</id>
+  </country>
+  <country code="ye" default="Asia/Aden" everutc="n">
+   <id>Asia/Aden</id>
+  </country>
+  <country code="yt" default="Indian/Mayotte" everutc="n">
+   <id>Indian/Mayotte</id>
+  </country>
+  <country code="za" default="Africa/Johannesburg" everutc="n">
+   <id>Africa/Johannesburg</id>
+  </country>
+  <country code="zm" default="Africa/Lusaka" everutc="n">
+   <id>Africa/Lusaka</id>
+  </country>
+  <country code="zw" default="Africa/Harare" everutc="n">
+   <id>Africa/Harare</id>
+  </country>
+ </countryzones>
+</timezones>
diff --git a/testing/data/test3/output_data/distro/distro.zip b/testing/data/test3/output_data/distro/distro.zip
new file mode 100644
index 0000000..faf1043
--- /dev/null
+++ b/testing/data/test3/output_data/distro/distro.zip
Binary files differ
diff --git a/testing/data/test3/output_data/iana/NOTICE b/testing/data/test3/output_data/iana/NOTICE
new file mode 100644
index 0000000..148eb23
--- /dev/null
+++ b/testing/data/test3/output_data/iana/NOTICE
@@ -0,0 +1,4 @@
+With a few exceptions, all files in the tz code and data (including
+this one) are in the public domain.  The exceptions are date.c,
+newstrftime.3, and strftime.c, which contain material derived from BSD
+and which use the BSD 3-clause license.
diff --git a/testing/data/test3/output_data/iana/tzdata b/testing/data/test3/output_data/iana/tzdata
new file mode 100644
index 0000000..ef81695
--- /dev/null
+++ b/testing/data/test3/output_data/iana/tzdata
Binary files differ
diff --git a/testing/data/test3/output_data/icu_overlay/LICENSE b/testing/data/test3/output_data/icu_overlay/LICENSE
new file mode 100644
index 0000000..25b6eb9
--- /dev/null
+++ b/testing/data/test3/output_data/icu_overlay/LICENSE
@@ -0,0 +1,414 @@
+COPYRIGHT AND PERMISSION NOTICE (ICU 58 and later)
+
+Copyright © 1991-2018 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+---------------------
+
+Third-Party Software Licenses
+
+This section contains third-party software notices and/or additional
+terms for licensed third-party software components included within ICU
+libraries.
+
+1. ICU License - ICU 1.8.1 to ICU 57.1
+
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright (c) 1995-2016 International Business Machines Corporation and others
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, and/or sell copies of the Software, and to permit persons
+to whom the Software is furnished to do so, provided that the above
+copyright notice(s) and this permission notice appear in all copies of
+the Software and that both the above copyright notice(s) and this
+permission notice appear in supporting documentation.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY
+SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
+RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale, use
+or other dealings in this Software without prior written authorization
+of the copyright holder.
+
+All trademarks and registered trademarks mentioned herein are the
+property of their respective owners.
+
+2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt)
+
+ #     The Google Chrome software developed by Google is licensed under
+ # the BSD license. Other software included in this distribution is
+ # provided under other licenses, as set forth below.
+ #
+ #  The BSD License
+ #  http://opensource.org/licenses/bsd-license.php
+ #  Copyright (C) 2006-2008, Google Inc.
+ #
+ #  All rights reserved.
+ #
+ #  Redistribution and use in source and binary forms, with or without
+ # modification, are permitted provided that the following conditions are met:
+ #
+ #  Redistributions of source code must retain the above copyright notice,
+ # this list of conditions and the following disclaimer.
+ #  Redistributions in binary form must reproduce the above
+ # copyright notice, this list of conditions and the following
+ # disclaimer in the documentation and/or other materials provided with
+ # the distribution.
+ #  Neither the name of  Google Inc. nor the names of its
+ # contributors may be used to endorse or promote products derived from
+ # this software without specific prior written permission.
+ #
+ #
+ #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ #
+ #
+ #  The word list in cjdict.txt are generated by combining three word lists
+ # listed below with further processing for compound word breaking. The
+ # frequency is generated with an iterative training against Google web
+ # corpora.
+ #
+ #  * Libtabe (Chinese)
+ #    - https://sourceforge.net/project/?group_id=1519
+ #    - Its license terms and conditions are shown below.
+ #
+ #  * IPADIC (Japanese)
+ #    - http://chasen.aist-nara.ac.jp/chasen/distribution.html
+ #    - Its license terms and conditions are shown below.
+ #
+ #  ---------COPYING.libtabe ---- BEGIN--------------------
+ #
+ #  /*
+ #   * Copyright (c) 1999 TaBE Project.
+ #   * Copyright (c) 1999 Pai-Hsiang Hsiao.
+ #   * All rights reserved.
+ #   *
+ #   * Redistribution and use in source and binary forms, with or without
+ #   * modification, are permitted provided that the following conditions
+ #   * are met:
+ #   *
+ #   * . Redistributions of source code must retain the above copyright
+ #   *   notice, this list of conditions and the following disclaimer.
+ #   * . Redistributions in binary form must reproduce the above copyright
+ #   *   notice, this list of conditions and the following disclaimer in
+ #   *   the documentation and/or other materials provided with the
+ #   *   distribution.
+ #   * . Neither the name of the TaBE Project nor the names of its
+ #   *   contributors may be used to endorse or promote products derived
+ #   *   from this software without specific prior written permission.
+ #   *
+ #   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ #   * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ #   * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ #   * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ #   * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ #   * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ #   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ #   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ #   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ #   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ #   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ #   * OF THE POSSIBILITY OF SUCH DAMAGE.
+ #   */
+ #
+ #  /*
+ #   * Copyright (c) 1999 Computer Systems and Communication Lab,
+ #   *                    Institute of Information Science, Academia
+ #       *                    Sinica. All rights reserved.
+ #   *
+ #   * Redistribution and use in source and binary forms, with or without
+ #   * modification, are permitted provided that the following conditions
+ #   * are met:
+ #   *
+ #   * . Redistributions of source code must retain the above copyright
+ #   *   notice, this list of conditions and the following disclaimer.
+ #   * . Redistributions in binary form must reproduce the above copyright
+ #   *   notice, this list of conditions and the following disclaimer in
+ #   *   the documentation and/or other materials provided with the
+ #   *   distribution.
+ #   * . Neither the name of the Computer Systems and Communication Lab
+ #   *   nor the names of its contributors may be used to endorse or
+ #   *   promote products derived from this software without specific
+ #   *   prior written permission.
+ #   *
+ #   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ #   * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ #   * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ #   * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ #   * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ #   * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ #   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ #   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ #   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ #   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ #   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ #   * OF THE POSSIBILITY OF SUCH DAMAGE.
+ #   */
+ #
+ #  Copyright 1996 Chih-Hao Tsai @ Beckman Institute,
+ #      University of Illinois
+ #  c-tsai4@uiuc.edu  http://casper.beckman.uiuc.edu/~c-tsai4
+ #
+ #  ---------------COPYING.libtabe-----END--------------------------------
+ #
+ #
+ #  ---------------COPYING.ipadic-----BEGIN-------------------------------
+ #
+ #  Copyright 2000, 2001, 2002, 2003 Nara Institute of Science
+ #  and Technology.  All Rights Reserved.
+ #
+ #  Use, reproduction, and distribution of this software is permitted.
+ #  Any copy of this software, whether in its original form or modified,
+ #  must include both the above copyright notice and the following
+ #  paragraphs.
+ #
+ #  Nara Institute of Science and Technology (NAIST),
+ #  the copyright holders, disclaims all warranties with regard to this
+ #  software, including all implied warranties of merchantability and
+ #  fitness, in no event shall NAIST be liable for
+ #  any special, indirect or consequential damages or any damages
+ #  whatsoever resulting from loss of use, data or profits, whether in an
+ #  action of contract, negligence or other tortuous action, arising out
+ #  of or in connection with the use or performance of this software.
+ #
+ #  A large portion of the dictionary entries
+ #  originate from ICOT Free Software.  The following conditions for ICOT
+ #  Free Software applies to the current dictionary as well.
+ #
+ #  Each User may also freely distribute the Program, whether in its
+ #  original form or modified, to any third party or parties, PROVIDED
+ #  that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear
+ #  on, or be attached to, the Program, which is distributed substantially
+ #  in the same form as set out herein and that such intended
+ #  distribution, if actually made, will neither violate or otherwise
+ #  contravene any of the laws and regulations of the countries having
+ #  jurisdiction over the User or the intended distribution itself.
+ #
+ #  NO WARRANTY
+ #
+ #  The program was produced on an experimental basis in the course of the
+ #  research and development conducted during the project and is provided
+ #  to users as so produced on an experimental basis.  Accordingly, the
+ #  program is provided without any warranty whatsoever, whether express,
+ #  implied, statutory or otherwise.  The term "warranty" used herein
+ #  includes, but is not limited to, any warranty of the quality,
+ #  performance, merchantability and fitness for a particular purpose of
+ #  the program and the nonexistence of any infringement or violation of
+ #  any right of any third party.
+ #
+ #  Each user of the program will agree and understand, and be deemed to
+ #  have agreed and understood, that there is no warranty whatsoever for
+ #  the program and, accordingly, the entire risk arising from or
+ #  otherwise connected with the program is assumed by the user.
+ #
+ #  Therefore, neither ICOT, the copyright holder, or any other
+ #  organization that participated in or was otherwise related to the
+ #  development of the program and their respective officials, directors,
+ #  officers and other employees shall be held liable for any and all
+ #  damages, including, without limitation, general, special, incidental
+ #  and consequential damages, arising out of or otherwise in connection
+ #  with the use or inability to use the program or any product, material
+ #  or result produced or otherwise obtained by using the program,
+ #  regardless of whether they have been advised of, or otherwise had
+ #  knowledge of, the possibility of such damages at any time during the
+ #  project or thereafter.  Each user will be deemed to have agreed to the
+ #  foregoing by his or her commencement of use of the program.  The term
+ #  "use" as used herein includes, but is not limited to, the use,
+ #  modification, copying and distribution of the program and the
+ #  production of secondary products from the program.
+ #
+ #  In the case where the program, whether in its original form or
+ #  modified, was distributed or delivered to or received by a user from
+ #  any person, organization or entity other than ICOT, unless it makes or
+ #  grants independently of ICOT any specific warranty to the user in
+ #  writing, such person, organization or entity, will also be exempted
+ #  from and not be held liable to the user for any such damages as noted
+ #  above as far as the program is concerned.
+ #
+ #  ---------------COPYING.ipadic-----END----------------------------------
+
+3. Lao Word Break Dictionary Data (laodict.txt)
+
+ #  Copyright (c) 2013 International Business Machines Corporation
+ #  and others. All Rights Reserved.
+ #
+ # Project: http://code.google.com/p/lao-dictionary/
+ # Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt
+ # License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt
+ #              (copied below)
+ #
+ #  This file is derived from the above dictionary, with slight
+ #  modifications.
+ #  ----------------------------------------------------------------------
+ #  Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell.
+ #  All rights reserved.
+ #
+ #  Redistribution and use in source and binary forms, with or without
+ #  modification,
+ #  are permitted provided that the following conditions are met:
+ #
+ #
+ # Redistributions of source code must retain the above copyright notice, this
+ #  list of conditions and the following disclaimer. Redistributions in
+ #  binary form must reproduce the above copyright notice, this list of
+ #  conditions and the following disclaimer in the documentation and/or
+ #  other materials provided with the distribution.
+ #
+ #
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ # OF THE POSSIBILITY OF SUCH DAMAGE.
+ #  --------------------------------------------------------------------------
+
+4. Burmese Word Break Dictionary Data (burmesedict.txt)
+
+ #  Copyright (c) 2014 International Business Machines Corporation
+ #  and others. All Rights Reserved.
+ #
+ #  This list is part of a project hosted at:
+ #    github.com/kanyawtech/myanmar-karen-word-lists
+ #
+ #  --------------------------------------------------------------------------
+ #  Copyright (c) 2013, LeRoy Benjamin Sharon
+ #  All rights reserved.
+ #
+ #  Redistribution and use in source and binary forms, with or without
+ #  modification, are permitted provided that the following conditions
+ #  are met: Redistributions of source code must retain the above
+ #  copyright notice, this list of conditions and the following
+ #  disclaimer.  Redistributions in binary form must reproduce the
+ #  above copyright notice, this list of conditions and the following
+ #  disclaimer in the documentation and/or other materials provided
+ #  with the distribution.
+ #
+ #    Neither the name Myanmar Karen Word Lists, nor the names of its
+ #    contributors may be used to endorse or promote products derived
+ #    from this software without specific prior written permission.
+ #
+ #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ #  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ #  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ #  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ #  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
+ #  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ #  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ #  TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ #  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ #  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+ #  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
+ #  THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ #  SUCH DAMAGE.
+ #  --------------------------------------------------------------------------
+
+5. Time Zone Database
+
+  ICU uses the public domain data and code derived from Time Zone
+Database for its time zone support. The ownership of the TZ database
+is explained in BCP 175: Procedure for Maintaining the Time Zone
+Database section 7.
+
+ # 7.  Database Ownership
+ #
+ #    The TZ database itself is not an IETF Contribution or an IETF
+ #    document.  Rather it is a pre-existing and regularly updated work
+ #    that is in the public domain, and is intended to remain in the
+ #    public domain.  Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do
+ #    not apply to the TZ Database or contributions that individuals make
+ #    to it.  Should any claims be made and substantiated against the TZ
+ #    Database, the organization that is providing the IANA
+ #    Considerations defined in this RFC, under the memorandum of
+ #    understanding with the IETF, currently ICANN, may act in accordance
+ #    with all competent court orders.  No ownership claims will be made
+ #    by ICANN or the IETF Trust on the database or the code.  Any person
+ #    making a contribution to the database or code waives all rights to
+ #    future claims in that contribution or in the TZ Database.
+
+6. Google double-conversion
+
+Copyright 2006-2011, the V8 project authors. All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+    * Neither the name of Google Inc. nor the names of its
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/testing/data/test3/output_data/icu_overlay/icu_tzdata.dat b/testing/data/test3/output_data/icu_overlay/icu_tzdata.dat
new file mode 100644
index 0000000..115b655
--- /dev/null
+++ b/testing/data/test3/output_data/icu_overlay/icu_tzdata.dat
Binary files differ
diff --git a/testing/data/test3/output_data/version/tz_version b/testing/data/test3/output_data/version/tz_version
new file mode 100644
index 0000000..e1e8f45
--- /dev/null
+++ b/testing/data/test3/output_data/version/tz_version
@@ -0,0 +1 @@
+004.001|2030a|001
\ No newline at end of file