am 0cf4daa9: Merge "Update libphonenumber to v7.0.4"

* commit '0cf4daa9378769e13b7615f6f4f607b8a1a30fd1':
  Update libphonenumber to v7.0.4
diff --git a/carrier/pom.xml b/carrier/pom.xml
index 2415ac0..8d4f48c 100644
--- a/carrier/pom.xml
+++ b/carrier/pom.xml
@@ -3,14 +3,14 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.googlecode.libphonenumber</groupId>
   <artifactId>carrier</artifactId>
-  <version>1.9</version>
+  <version>1.10</version>
   <packaging>jar</packaging>
-  <url>http://code.google.com/p/libphonenumber/</url>
+  <url>https://github.com/googlei18n/libphonenumber/</url>
 
   <parent>
     <groupId>com.googlecode.libphonenumber</groupId>
     <artifactId>libphonenumber-parent</artifactId>
-    <version>7.0.2</version>
+    <version>7.0.4</version>
   </parent>
 
   <build>
@@ -34,12 +34,12 @@
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>libphonenumber</artifactId>
-      <version>7.0.2</version>
+      <version>7.0.4</version>
     </dependency>
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>prefixmapper</artifactId>
-      <version>2.19</version>
+      <version>2.20</version>
     </dependency>
   </dependencies>
 
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/225_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/225_en
index 0bcd97a..3a61f8e 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/225_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/225_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/232_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/232_en
index 4d541b0..5f54fae 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/232_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/232_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/233_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/233_en
index f1714cc..5aa76bd 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/233_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/233_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/65_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/65_en
index 70c7f64..4d6864b 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/65_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/65_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/677_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/677_en
index 98ef66b..51bed88 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/677_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/677_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/972_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/972_en
index f1aca7e..afc862c 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/972_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/972_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/973_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/973_en
index a50573a..0a4e1d0 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/973_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/973_en
Binary files differ
diff --git a/demo/pom.xml b/demo/pom.xml
index bf938df..7ec9fed 100644
--- a/demo/pom.xml
+++ b/demo/pom.xml
@@ -4,11 +4,11 @@
   <parent>
     <artifactId>libphonenumber-parent</artifactId>
     <groupId>com.googlecode.libphonenumber</groupId>
-    <version>7.0.2</version>
+    <version>7.0.4</version>
   </parent>
   <groupId>com.googlecode.libphonenumber</groupId>
   <artifactId>demo</artifactId>
-  <version>7.0.2</version>
+  <version>7.0.4</version>
 
   <properties>
     <gae.version>1.5.4</gae.version>
@@ -43,17 +43,17 @@
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>libphonenumber</artifactId>
-      <version>7.0.2</version>
+      <version>7.0.4</version>
     </dependency>
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>geocoder</artifactId>
-      <version>2.19</version>
+      <version>2.20</version>
     </dependency>
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>carrier</artifactId>
-      <version>1.9</version>
+      <version>1.10</version>
     </dependency>
   </dependencies>
 
diff --git a/demo/war/phonenumberparser.jsp b/demo/war/phonenumberparser.jsp
index e40ca55..63de010 100644
--- a/demo/war/phonenumberparser.jsp
+++ b/demo/war/phonenumberparser.jsp
@@ -33,7 +33,7 @@
       <input type="submit" value="Submit">
       <input type="reset" value="Reset">
       <p></p>
-      <a href="http://code.google.com/p/libphonenumber/">Back to libphonenumber</a>
+      <a href="https://github.com/googlei18n/libphonenumber/">Back to libphonenumber</a>
     </form>
   </body>
 </html>
diff --git a/geocoder/pom.xml b/geocoder/pom.xml
index 613e97e..a8805c1 100644
--- a/geocoder/pom.xml
+++ b/geocoder/pom.xml
@@ -3,14 +3,14 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.googlecode.libphonenumber</groupId>
   <artifactId>geocoder</artifactId>
-  <version>2.19</version>
+  <version>2.20</version>
   <packaging>jar</packaging>
-  <url>http://code.google.com/p/libphonenumber/</url>
+  <url>https://github.com/googlei18n/libphonenumber/</url>
 
   <parent>
     <groupId>com.googlecode.libphonenumber</groupId>
     <artifactId>libphonenumber-parent</artifactId>
-    <version>7.0.2</version>
+    <version>7.0.4</version>
   </parent>
 
   <build>
@@ -42,12 +42,12 @@
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>libphonenumber</artifactId>
-      <version>7.0.2</version>
+      <version>7.0.4</version>
     </dependency>
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>prefixmapper</artifactId>
-      <version>2.19</version>
+      <version>2.20</version>
     </dependency>
   </dependencies>
 
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1220_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1220_en
new file mode 100644
index 0000000..9f2bd2a
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1220_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1418_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1418_en
index b08761e..a7dfe64 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1418_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1418_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1438_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1438_en
index fe31ca9..e253749 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1438_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1438_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1450_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1450_en
index 6e4ea08..4feb4c7 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1450_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1450_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1514_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1514_en
index b0540cc..736eb7d 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1514_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1514_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1628_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1628_en
new file mode 100644
index 0000000..e4651f0
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1628_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1629_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1629_en
new file mode 100644
index 0000000..cd009f1
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1629_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1819_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1819_en
index cf175f9..ecebe32 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1819_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1819_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/64_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/64_en
new file mode 100644
index 0000000..c347a2a
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/64_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_en
index 8fd663b..ebbda29 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_zh b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_zh
index 406d851..db537eb 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_zh
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_zh
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config
index df72e10..5d30fd4 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/timezones/data/map_data b/geocoder/src/com/google/i18n/phonenumbers/timezones/data/map_data
index aa574da..26c66a5 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/timezones/data/map_data
+++ b/geocoder/src/com/google/i18n/phonenumbers/timezones/data/map_data
Binary files differ
diff --git a/internal/prefixmapper/pom.xml b/internal/prefixmapper/pom.xml
index 4d64b18..55e14f5 100644
--- a/internal/prefixmapper/pom.xml
+++ b/internal/prefixmapper/pom.xml
@@ -3,14 +3,14 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.googlecode.libphonenumber</groupId>
   <artifactId>prefixmapper</artifactId>
-  <version>2.19</version>
+  <version>2.20</version>
   <packaging>jar</packaging>
-  <url>http://code.google.com/p/libphonenumber/</url>
+  <url>https://github.com/googlei18n/libphonenumber/</url>
 
   <parent>
     <groupId>com.googlecode.libphonenumber</groupId>
     <artifactId>libphonenumber-parent</artifactId>
-    <version>7.0.2</version>
+    <version>7.0.4</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
@@ -29,7 +29,7 @@
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>libphonenumber</artifactId>
-      <version>7.0.2</version>
+      <version>7.0.4</version>
     </dependency>
   </dependencies>
 
diff --git a/libphonenumber/pom.xml b/libphonenumber/pom.xml
index 09b14d2..21cd735 100644
--- a/libphonenumber/pom.xml
+++ b/libphonenumber/pom.xml
@@ -3,14 +3,14 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.googlecode.libphonenumber</groupId>
   <artifactId>libphonenumber</artifactId>
-  <version>7.0.2</version>
+  <version>7.0.4</version>
   <packaging>jar</packaging>
-  <url>http://code.google.com/p/libphonenumber/</url>
+  <url>https://github.com/googlei18n/libphonenumber/</url>
 
   <parent>
     <groupId>com.googlecode.libphonenumber</groupId>
     <artifactId>libphonenumber-parent</artifactId>
-    <version>7.0.2</version>
+    <version>7.0.4</version>
   </parent>
 
   <build>
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java b/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java
index ad63a40..456c8ed 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java
@@ -390,6 +390,9 @@
     ableToFormat = true;
     isExpectingCountryCallingCode = false;
     possibleFormats.clear();
+    lastMatchPosition = 0;
+    formattingTemplate.setLength(0);
+    currentFormattingPattern = "";
     return attemptToChooseFormattingPattern();
   }
 
@@ -637,6 +640,8 @@
   }
 
   private String inputDigitHelper(char nextChar) {
+    // Note that formattingTemplate is not guaranteed to have a value, it could be empty, e.g.
+    // when the next digit is entered after extracting an IDD or NDD.
     Matcher digitMatcher = DIGIT_PATTERN.matcher(formattingTemplate);
     if (digitMatcher.find(lastMatchPosition)) {
       String tempTemplate = digitMatcher.replaceFirst(Character.toString(nextChar));
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AR
index b9a27fd..dc775bb 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BH b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BH
index 6d37f63..4ccb059 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BY b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BY
index c1be2b9..bf010ac 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA
index b92641f..395baf2 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI
index 972c334..880fb25 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN
index ed06d7c..f09a601 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GH b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GH
index b237efb..410c1b4 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HU b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HU
index 0da8402..1241b49 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IL b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IL
index afe40ac..156bed9 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JO b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JO
index e2ff6b9..85bd447 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KR
index 9e587ee..200201e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW
index 19da153..27ffde3 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LU b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LU
index 466bea5..c7bb66f 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ME b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ME
index cdcb96d..1fe1d4d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ME
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ME
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NZ
index ca43140..b980f3f 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SB b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SB
index bfd2828..d063ccf 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SB
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SB
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SG b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SG
index 9204ad9..49bd8d0 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SL b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SL
index f5d38fc..307391e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US
index e8d8683..cee870e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_WS b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_WS
index 02cced6..fb630c2 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_WS
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_WS
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BI b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BI
index a0eacfd..3ed554e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BI
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java b/libphonenumber/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java
index 3461a82..75977a0 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java
@@ -66,7 +66,7 @@
   }
 
   public void testTooLongNumberMatchingMultipleLeadingDigits() {
-    // See http://code.google.com/p/libphonenumber/issues/detail?id=36
+    // See https://github.com/googlei18n/libphonenumber/issues/36
     // The bug occurred last time for countries which have two formatting rules with exactly the
     // same leading digits pattern but differ in length.
     AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter(RegionCode.ZZ);
@@ -1164,7 +1164,7 @@
     // when we try again to extract a country code we should ensure we use the last leading digit
     // pattern, rather than the first one such that it *thinks* it's found a valid formatting rule
     // again.
-    // https://code.google.com/p/libphonenumber/issues/detail?id=437
+    // https://github.com/googlei18n/libphonenumber/issues/437
     assertEquals("+8698812", formatter.inputDigit('2'));
     assertEquals("+86988123", formatter.inputDigit('3'));
     assertEquals("+869881234", formatter.inputDigit('4'));
diff --git a/pom.xml b/pom.xml
index 7decec6..9ad04ec 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,9 +3,9 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.googlecode.libphonenumber</groupId>
   <artifactId>libphonenumber-parent</artifactId>
-  <version>7.0.1</version>
+  <version>7.0.4</version>
   <packaging>pom</packaging>
-  <url>http://code.google.com/p/libphonenumber/</url>
+  <url>https://github.com/googlei18n/libphonenumber/</url>
 
   <parent>
     <groupId>org.sonatype.oss</groupId>
@@ -31,9 +31,9 @@
   </licenses>
 
   <scm>
-    <connection>scm:svn:http://libphonenumber.googlecode.com/svn/tags/libphonenumber-7.0.1</connection>
-    <developerConnection>scm:svn:https://libphonenumber.googlecode.com/svn/tags/libphonenumber-7.0.1</developerConnection>
-    <url>scm:svn:http://libphonenumber.googlecode.com/svn/tags/libphonenumber-7.0.1</url>
+    <connection>scm:git:https://github.com/googlei18n/libphonenumber.git</connection>
+    <developerConnection>scm:git:git@github.com:googlei18n/libphonenumber.git</developerConnection>
+    <url>https://github.com/googlei18n/libphonenumber/</url>
   </scm>
 
   <properties>
@@ -128,7 +128,6 @@
         <artifactId>maven-release-plugin</artifactId>
         <version>2.2.1</version>
         <configuration>
-          <tagBase>https://libphonenumber.googlecode.com/svn/tags/</tagBase>
           <tagNameFormat>libphonenumber-@{project.version}</tagNameFormat>
         </configuration>
       </plugin>
diff --git a/release_notes.txt b/release_notes.txt
index 1db5019..2d4aead 100644
--- a/release_notes.txt
+++ b/release_notes.txt
@@ -1,3 +1,22 @@
+Mar 25, 2015: libphonenumber-7.0.4
+* Metadata changes:
+ - Updated phone metadata for region code(s): CA, HU, IL, JO, LU, SG, SL, US
+ - Updated short number metadata for region code(s): BI
+ - New geocoding data for country calling code(s):
+   1220 (en), 1628 (en), 1629 (en)
+ - Updated carrier data for country calling code(s):
+   65 (en), 232 (en), 972 (en)
+
+Mar 02, 2015: libphonenumber-7.0.3
+* Metadata changes:
+ - Updated phone metadata for region code(s):
+   AR, BH, BY, CI, CN, GH, KR, KW, LU, ME, NZ, SB, WS
+ - New geocoding data for country calling code(s): 64 (en)
+ - Updated geocoding data for country calling code(s):
+   86 (en, zh), 1418 (en), 1438 (en), 1450 (en), 1514 (en), 1819 (en)
+ - Updated carrier data for country calling code(s):
+   225 (en), 233 (en), 677 (en), 973 (en)
+
 Jan 09, 2015: libphonenumber-7.0.2
 * Metadata changes:
  - Updated phone metadata for region code(s):
@@ -430,7 +449,7 @@
  - Adds isNumberGeographical() method.
  - Adds getRegionCodesForCountryCode() method.
  - Fixing issue with getSupportedGlobalNetworkCallingCodes()
-   [http://code.google.com/p/libphonenumber/issues/detail?id=202]
+   [https://github.com/googlei18n/libphonenumber/issues/202]
  - Ensures that returned collections are unmodifiable where necessary
    [there is a very slight risk that this may break existing users who were relying on being able
    to modify these collections, but doing so would be breaking lots of other assumptions that this