ICU-10445 merge of r34507 tz2013g

X-SVN-Rev: 34508
diff --git a/source/data/misc/zoneinfo64.txt b/source/data/misc/zoneinfo64.txt
index 0655428..4d3e6c4 100644
--- a/source/data/misc/zoneinfo64.txt
+++ b/source/data/misc/zoneinfo64.txt
@@ -3,9 +3,9 @@
 // Corporation and others.  All Rights Reserved.
 //---------------------------------------------------------
 // Build tool: tz2icu
-// Build date: Wed Sep 25 15:54:23 2013
+// Build date: Wed Oct  2 17:53:53 2013
 // Olson source: ftp://elsie.nci.nih.gov/pub/
-// Olson version: 2013f
+// Olson version: 2013g
 // ICU version: 52.1
 //---------------------------------------------------------
 // >> !!! >>   THIS IS A MACHINE-GENERATED FILE   << !!! <<
@@ -13,7 +13,7 @@
 //---------------------------------------------------------
 
 zoneinfo64:table(nofallback) {
- TZVersion { "2013f" }
+ TZVersion { "2013g" }
  Zones:array { 
   /* ACT */ :int { 347 } //Z#0
   /* AET */ :int { 359 } //Z#1
@@ -95,12 +95,10 @@
     links:intvector { 3, 18, 393 }
   } //Z#18
   /* Africa/Casablanca */ :table {
-    trans:intvector { -1773012580, -956361600, -950490000, -942019200, -761187600, -617241600, -605149200, -81432000, -71110800, 141264000, 147222000, 199756800, 207702000, 231292800, 244249200, 265507200, 271033200, 448243200, 504918000, 1212278400, 1220223600, 1243814400, 1250809200, 1272758400, 1281222000, 1301788800, 1312066800, 1335664800, 1342749600, 1345428000, 1348970400, 1367114400, 1373162400, 1376100000, 1380420000, 1398564000, 1404007200, 1406599200, 1411869600, 1430013600, 1434592800, 1437184800, 1443319200, 1461463200, 1465264800, 1467856800, 1474768800, 1493517600, 1495850400, 1498442400, 1506218400, 1524967200, 1526436000, 1529028000, 1538272800, 1556416800, 1557108000, 1559700000, 1569722400, 1590285600, 1601172000, 1620871200, 1632621600, 1651543200, 1664071200, 1682820000, 1695520800 }
+    trans:intvector { -1773012580, -956361600, -950490000, -942019200, -761187600, -617241600, -605149200, -81432000, -71110800, 141264000, 147222000, 199756800, 207702000, 231292800, 244249200, 265507200, 271033200, 448243200, 504918000, 1212278400, 1220223600, 1243814400, 1250809200, 1272758400, 1281222000, 1301788800, 1312066800, 1335664800, 1342749600, 1345428000, 1348970400, 1367114400, 1373162400, 1376100000, 1382839200, 1396144800, 1404007200, 1406599200, 1414288800, 1427594400, 1434592800, 1437184800, 1445738400, 1459044000, 1465264800, 1467856800, 1477792800, 1490493600, 1495850400, 1498442400, 1509242400, 1521943200, 1526436000, 1529028000, 1540692000, 1553997600, 1557108000, 1559700000, 1572141600, 1585447200, 1587693600, 1590285600, 1603591200, 1616896800, 1618279200, 1620871200, 1635645600, 1648346400, 1648951200, 1651543200, 1667095200, 1682128800, 1698544800, 1712714400, 1729994400, 1743386400, 1761444000, 1774749600, 1792893600, 1806199200, 1824948000, 1837648800, 1856397600, 1869098400, 1887847200, 1901152800, 1919296800, 1932602400, 1950746400, 1964052000, 1982800800, 1995501600, 2014250400, 2026951200, 2045700000, 2058400800, 2077149600, 2090455200, 2108167200, 2121904800, 2138839200 }
+    transPost32:intvector { 0, -2141612896 }
     typeOffsets:intvector { -1820, 0, 0, 0, 0, 3600, 3600, 0 }
-    typeMap:bin { "01020102010201020102010201020102010301020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
-    finalRule { "Morocco" }
-    finalRaw:int { 0 }
-    finalYear:int { 2024 }
+    typeMap:bin { "010201020102010201020102010201020103010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102" }
   } //Z#19
   /* Africa/Ceuta */ :table {
     transPre32:intvector { -1, 2117515772 }
@@ -3294,45 +3292,42 @@
   Mexico:intvector {
     3, 1, -1, 7200, 0, 9, -31, -1, 7200, 0, 3600
   } //_#19
-  Morocco:intvector {
-    3, -30, -1, 7200, 0, 8, -30, -1, 10800, 0, 3600
-  } //_#20
   NZ:intvector {
     8, -30, -1, 7200, 1, 3, 1, -1, 7200, 1, 3600
-  } //_#21
+  } //_#20
   Namibia:intvector {
     8, 1, -1, 7200, 0, 3, 1, -1, 7200, 0, 3600
-  } //_#22
+  } //_#21
   Palestine:intvector {
     2, -31, -5, 86400, 0, 8, 21, -6, 0, 0, 3600
-  } //_#23
+  } //_#22
   Para:intvector {
     9, 1, -1, 0, 0, 2, 22, -1, 0, 0, 3600
-  } //_#24
+  } //_#23
   Syria:intvector {
     2, -31, -6, 0, 0, 9, -31, -6, 0, 0, 3600
-  } //_#25
+  } //_#24
   SystemV:intvector {
     3, -30, -1, 7200, 0, 9, -31, -1, 7200, 0, 3600
-  } //_#26
+  } //_#25
   TC:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
-  } //_#27
+  } //_#26
   Thule:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
-  } //_#28
+  } //_#27
   US:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
-  } //_#29
+  } //_#28
   Uruguay:intvector {
     9, 1, -1, 7200, 0, 2, 8, -1, 7200, 0, 3600
-  } //_#30
+  } //_#29
   WS:intvector {
     8, -30, -1, 10800, 0, 3, 1, -1, 14400, 0, 3600
-  } //_#31
+  } //_#30
   Zion:intvector {
     2, 23, -6, 7200, 0, 9, -31, -1, 7200, 0, 3600
-  } //_#32
+  } //_#31
  }
  Regions:array {
   "AU", //Z#0 ACT
diff --git a/source/tools/tzcode/zic.c b/source/tools/tzcode/zic.c
index f3dc81c..3205af8 100644
--- a/source/tools/tzcode/zic.c
+++ b/source/tools/tzcode/zic.c
@@ -2229,27 +2229,28 @@
 					finalRuleYear = rp->r_hiyear + 1;
 				}
 			}
-			if (finalRule1 != NULL && finalRule2 == NULL) {
-				error("only one max rule found (ICU)");
-				exit(EXIT_FAILURE);
-			}
 			if (finalRule1 != NULL) {
-				if (finalRule1->r_stdoff == finalRule2->r_stdoff) {
-					/* America/Resolute in 2009a uses a pair of rules
-					 * which does not change the offset.  ICU ignores
-					 * such rules without actual time transitions. */
-					finalRuleYear = finalRuleIndex = -1;
-					finalRule1 = finalRule2 = NULL; 
+				if (finalRule2 == NULL) {
+					warning("only one max rule found (ICU)");
+					finalRule1 = NULL;
 				} else {
-					/* Swap if necessary so finalRule1 occurs before
-					 * finalRule2 */
-					if (finalRule1->r_month > finalRule2->r_month) {
-						const struct rule* t = finalRule1;
-						finalRule1 = finalRule2;
-						finalRule2 = t;
+					if (finalRule1->r_stdoff == finalRule2->r_stdoff) {
+						/* America/Resolute in 2009a uses a pair of rules
+						 * which does not change the offset.  ICU ignores
+						 * such rules without actual time transitions. */
+						finalRuleYear = finalRuleIndex = -1;
+						finalRule1 = finalRule2 = NULL; 
+					} else {
+						/* Swap if necessary so finalRule1 occurs before
+						 * finalRule2 */
+						if (finalRule1->r_month > finalRule2->r_month) {
+							const struct rule* t = finalRule1;
+							finalRule1 = finalRule2;
+							finalRule2 = t;
+						}
+						/* Add final rule to our list */
+						finalRuleIndex = add_icu_final_rules(finalRule1, finalRule2);
 					}
-					/* Add final rule to our list */
-					finalRuleIndex = add_icu_final_rules(finalRule1, finalRule2);
 				}
 			}
 		}