Merge change I3f4f5f05 into eclair-mr2

* changes:
  cdma tones: Fix Call Waiting Tone in the hash map
diff --git a/core/java/android/database/sqlite/SQLiteDatabase.java b/core/java/android/database/sqlite/SQLiteDatabase.java
index ca7cec2..657bbcc 100644
--- a/core/java/android/database/sqlite/SQLiteDatabase.java
+++ b/core/java/android/database/sqlite/SQLiteDatabase.java
@@ -1897,7 +1897,7 @@
             samplePercent = 100;
         } else {
             samplePercent = (int) (100 * nanos / QUERY_LOG_TIME_IN_NANOS) + 1;
-            if (mRandom.nextInt(100) < samplePercent) return;
+            if (mRandom.nextInt(100) >= samplePercent) return;
         }
 
         if (sql.length() > QUERY_LOG_SQL_LENGTH) sql = sql.substring(0, QUERY_LOG_SQL_LENGTH);
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index c20d338..df40946 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -38,6 +38,7 @@
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 import android.util.AndroidException;
+import android.util.Config;
 import android.util.Log;
 
 import java.net.URISyntaxException;
@@ -442,6 +443,7 @@
     public static final String AUTHORITY = "settings";
 
     private static final String TAG = "Settings";
+    private static final boolean LOCAL_LOGV = Config.LOGV || false;
 
     public static class SettingNotFoundException extends AndroidException {
         public SettingNotFoundException(String msg) {
@@ -478,61 +480,60 @@
 
     private static class NameValueCache {
         private final String mVersionSystemProperty;
-        // the following needs synchronization because this structure is accessed from different
-        // threads and they could be performing clear(), get(), put() at the same time.
-        private final Map<String, String> mValues =
-            	Collections.synchronizedMap(new HashMap<String, String>());
-        private long mValuesVersion = 0;
         private final Uri mUri;
 
-        NameValueCache(String versionSystemProperty, Uri uri) {
+        // Must synchronize(mValues) to access mValues and mValuesVersion.
+        private final HashMap<String, String> mValues = new HashMap<String, String>();
+        private long mValuesVersion = 0;
+
+        public NameValueCache(String versionSystemProperty, Uri uri) {
             mVersionSystemProperty = versionSystemProperty;
             mUri = uri;
         }
 
-        String getString(ContentResolver cr, String name) {
+        public String getString(ContentResolver cr, String name) {
             long newValuesVersion = SystemProperties.getLong(mVersionSystemProperty, 0);
-            if (mValuesVersion != newValuesVersion) {
-                mValues.clear();
-                mValuesVersion = newValuesVersion;
-            }
-            /*
-             *  don't look for the key using containsKey() method because (key, object) mapping
-             *  could be removed from mValues before get() is done like so:
-             *
-             *      say, mValues contains mapping for "foo"
-             *      Thread# 1
-             *          performs containsKey("foo")
-             *          receives true
-             *      Thread #2
-             *          triggers mValues.clear()
-             *      Thread#1
-             *          since containsKey("foo") = true, performs get("foo")
-             *          receives null
-             *          thats incorrect!
-             *
-             *    to avoid the above, thread#1 should do get("foo") instead of containsKey("foo")
-             *    since mValues is synchronized, get() will get a consistent value.
-             *
-             *    we don't want to make this method synchronized tho - because
-             *    holding mutex is not desirable while a call could be made to database.
-             */
-            String value = mValues.get(name);
-            if (value == null) {
-                Cursor c = null;
-                try {
-                    c = cr.query(mUri, new String[] { Settings.NameValueTable.VALUE },
-                            Settings.NameValueTable.NAME + "=?", new String[]{name}, null);
-                    if (c != null && c.moveToNext()) value = c.getString(0);
-                    mValues.put(name, value);
-                } catch (SQLException e) {
-                    // SQL error: return null, but don't cache it.
-                    Log.w(TAG, "Can't get key " + name + " from " + mUri, e);
-                } finally {
-                    if (c != null) c.close();
+
+            synchronized (mValues) {
+                if (mValuesVersion != newValuesVersion) {
+                    if (LOCAL_LOGV) {
+                        Log.v(TAG, "invalidate [" + mUri.getLastPathSegment() + "]: current " +
+                                newValuesVersion + " != cached " + mValuesVersion);
+                    }
+
+                    mValues.clear();
+                    mValuesVersion = newValuesVersion;
+                }
+
+                if (mValues.containsKey(name)) {
+                    return mValues.get(name);  // Could be null, that's OK -- negative caching
                 }
             }
-            return value;
+
+            Cursor c = null;
+            try {
+                c = cr.query(mUri, new String[] { Settings.NameValueTable.VALUE },
+                        Settings.NameValueTable.NAME + "=?", new String[]{name}, null);
+                if (c == null) {
+                    Log.w(TAG, "Can't get key " + name + " from " + mUri);
+                    return null;
+                }
+
+                String value = c.moveToNext() ? c.getString(0) : null;
+                synchronized (mValues) {
+                    mValues.put(name, value);
+                }
+                if (LOCAL_LOGV) {
+                    Log.v(TAG, "cache miss [" + mUri.getLastPathSegment() + "]: " +
+                            name + " = " + (value == null ? "(null)" : value));
+                }
+                return value;
+            } catch (SQLException e) {
+                Log.w(TAG, "Can't get key " + name + " from " + mUri, e);
+                return null;  // Return null, but don't cache it.
+            } finally {
+                if (c != null) c.close();
+            }
         }
     }
 
diff --git a/core/java/android/view/ViewRoot.java b/core/java/android/view/ViewRoot.java
index ed2139d..47b976b 100644
--- a/core/java/android/view/ViewRoot.java
+++ b/core/java/android/view/ViewRoot.java
@@ -1408,8 +1408,8 @@
 
             // When in touch mode, focus points to the previously focused view,
             // which may have been removed from the view hierarchy. The following
-            // line checks whether the view is still in the hierarchy
-            if (focus == null || focus.getParent() == null) {
+            // line checks whether the view is still in our hierarchy.
+            if (focus == null || focus.mAttachInfo != mAttachInfo) {
                 mRealFocusedView = null;
                 return false;
             }
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 77943d8..3207c79 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -4787,7 +4787,7 @@
     }
 
     /**
-     * Do a touch up from a WebTextView.  This will be handled by webkit to
+     * Due a touch up from a WebTextView.  This will be handled by webkit to
      * change the selection.
      * @param event MotionEvent in the WebTextView's coordinates.
      */
@@ -4797,10 +4797,7 @@
         }
         int x = viewToContentX((int) event.getX() + mWebTextView.getLeft());
         int y = viewToContentY((int) event.getY() + mWebTextView.getTop());
-        if (nativeFocusNodePointer() != nativeCursorNodePointer()) {
-            nativeMotionUp(x, y, mNavSlop);
-        }
-        nativeTextInputMotionUp(x, y);
+        nativeMotionUp(x, y, mNavSlop);
     }
 
     /**
@@ -5941,12 +5938,6 @@
     private native void     nativeSetHeightCanMeasure(boolean measure);
     // Returns a value corresponding to CachedFrame::ImeAction
     /* package */ native int  nativeTextFieldAction();
-    /**
-     * Perform a click on a currently focused text input.  Since it is already
-     * focused, there is no need to go through the nativeMotionUp code, which
-     * may change the Cursor.
-     */
-    private native void     nativeTextInputMotionUp(int x, int y);
     private native int      nativeTextGeneration();
     // Never call this version except by updateCachedTextfield(String) -
     // we always want to pass in our generation number.
diff --git a/core/res/res/layout/keyguard_screen_tab_unlock.xml b/core/res/res/layout/keyguard_screen_tab_unlock.xml
index fdb9ad5..26b77bb 100644
--- a/core/res/res/layout/keyguard_screen_tab_unlock.xml
+++ b/core/res/res/layout/keyguard_screen_tab_unlock.xml
@@ -21,130 +21,125 @@
   state of the device, as well as instructions on how to get past it
   depending on the state of the device.  It is the same for landscape
   and portrait.-->
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tabunlock="http://schemas.android.com/apk/res/com.android.tabunlock"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
+    android:background="#70000000"
+    android:gravity="center_horizontal"
     android:id="@+id/root">
+    
+    <TextView
+        android:id="@+id/carrier"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentTop="true"
+        android:layout_alignParentRight="true"
+        android:layout_marginTop="10dip"
+        android:layout_marginRight="8dip"
+        android:textAppearance="?android:attr/textAppearanceMedium"
+        />
 
-    <RelativeLayout
+    <!-- time and date -->
+    <com.android.internal.widget.DigitalClock android:id="@+id/time"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/carrier"
+        android:layout_marginBottom="10dip"
+        android:layout_marginTop="52dip"
+        android:layout_marginLeft="20dip"
+        >
+
+        <TextView android:id="@+id/timeDisplay"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:gravity="bottom"
+            android:textSize="72sp"
+            android:textAppearance="?android:attr/textAppearanceMedium"
+            android:shadowColor="#C0000000"
+            android:shadowDx="0"
+            android:shadowDy="0"
+            android:shadowRadius="3.0"
+            />
+
+
+        <TextView android:id="@+id/am_pm"
+            android:layout_width="wrap_content"
+            android:layout_height="fill_parent"
+            android:gravity="bottom"
+            android:textSize="22sp"
+            android:singleLine="true"
+            android:layout_marginLeft="8dip"
+            android:layout_marginBottom="-6dip"
+            android:textAppearance="?android:attr/textAppearanceMedium"
+            android:shadowColor="#C0000000"
+            android:shadowDx="0"
+            android:shadowDy="0"
+            android:shadowRadius="3.0"
+            />
+
+    </com.android.internal.widget.DigitalClock>
+
+    <TextView
+        android:id="@+id/date"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/time"
+        android:layout_marginLeft="24dip"
+        android:textAppearance="?android:attr/textAppearanceMedium"
+        />
+
+    <TextView
+        android:id="@+id/status1"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/date"
+        android:layout_marginTop="4dip"
+        android:layout_marginLeft="24dip"
+        android:textAppearance="?android:attr/textAppearanceMedium"
+        android:drawablePadding="4dip"
+        />
+
+    <TextView
+        android:id="@+id/status2"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/status1"
+        android:layout_marginTop="4dip"
+        android:layout_marginLeft="24dip"
+        android:textAppearance="?android:attr/textAppearanceMedium"
+        android:drawablePadding="4dip"
+        />
+
+    <TextView
+        android:id="@+id/screenLocked"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/status2"
+        android:layout_marginLeft="24dip"
+        android:textAppearance="?android:attr/textAppearanceMedium"
+        android:layout_marginTop="12dip"
+        />
+
+    <com.android.internal.widget.SlidingTab
+        android:id="@+id/tab_selector"
+        android:orientation="horizontal"
         android:layout_width="fill_parent"
-        android:layout_height="fill_parent"
-        android:background="#70000000"
-        android:gravity="center_horizontal">
-    
-        <TextView
-            android:id="@+id/carrier"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_alignParentTop="true"
-            android:layout_alignParentRight="true"
-            android:layout_marginTop="16dip"
-            android:layout_marginRight="16dip"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            />
-    
-        <!-- time and date -->
-        <com.android.internal.widget.DigitalClock android:id="@+id/time"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_below="@id/carrier"
-            android:layout_marginBottom="8dip"
-            android:layout_marginTop="60dip"
-            android:layout_marginLeft="24dip"
-            >
+        android:layout_height="wrap_content"
+        android:layout_alignParentBottom="true"
+        android:layout_marginBottom="80dip" 
+        />
 
-            <TextView android:id="@+id/timeDisplay"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:gravity="bottom"
-                android:textSize="72sp"
-                android:textAppearance="?android:attr/textAppearanceMedium"
-                android:shadowColor="#C0000000"
-                android:shadowDx="0"
-                android:shadowDy="0"
-                android:shadowRadius="3.0"
-                />
+    <!-- emergency call button shown when sim is missing or PUKd -->
+    <Button
+        android:id="@+id/emergencyCallButton"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/screenLocked"
+        android:layout_marginTop="24dip"
+        android:drawableLeft="@drawable/ic_emergency"
+        android:drawablePadding="8dip"
+       />
 
+</RelativeLayout>
 
-            <TextView android:id="@+id/am_pm"
-                android:layout_width="wrap_content"
-                android:layout_height="fill_parent"
-                android:gravity="bottom"
-                android:textSize="22sp"
-                android:singleLine="true"
-                android:layout_marginLeft="8dip"
-                android:layout_marginBottom="-6dip"
-                android:textAppearance="?android:attr/textAppearanceMedium"
-                android:shadowColor="#C0000000"
-                android:shadowDx="0"
-                android:shadowDy="0"
-                android:shadowRadius="3.0"
-                />
-
-        </com.android.internal.widget.DigitalClock>
-    
-        <TextView
-            android:id="@+id/date"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_below="@id/time"
-            android:layout_marginLeft="24dip"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            />
-    
-        <TextView
-            android:id="@+id/status1"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_below="@id/date"
-            android:layout_marginTop="6dip"
-            android:layout_marginLeft="24dip"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            android:drawablePadding="4dip"
-            />
-
-        <TextView
-            android:id="@+id/status2"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_below="@id/status1"
-            android:layout_marginTop="6dip"
-            android:layout_marginLeft="24dip"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            android:drawablePadding="4dip"
-            />
-    
-        <TextView
-            android:id="@+id/screenLocked"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_below="@id/status2"
-            android:layout_marginLeft="24dip"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            android:layout_marginTop="12dip"
-            />
-    
-        <com.android.internal.widget.SlidingTab
-            android:id="@+id/tab_selector"
-            android:orientation="horizontal"
-            android:layout_width="fill_parent"
-            android:layout_height="wrap_content"
-            android:layout_alignParentBottom="true"
-            android:layout_marginBottom="80dip" 
-            />
-    
-        <!-- emergency call button shown when sim is missing or PUKd -->
-        <Button
-            android:id="@+id/emergencyCallButton"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_below="@id/screenLocked"
-            android:layout_marginTop="24dip"
-            android:drawableLeft="@drawable/ic_emergency"
-            android:drawablePadding="8dip"
-           />
-    
-    </RelativeLayout>
-
-</FrameLayout>
diff --git a/libs/surfaceflinger/Android.mk b/libs/surfaceflinger/Android.mk
index b3fed58..eb51c22 100644
--- a/libs/surfaceflinger/Android.mk
+++ b/libs/surfaceflinger/Android.mk
@@ -22,6 +22,9 @@
 ifeq ($(TARGET_BOARD_PLATFORM), msm7k)
 	LOCAL_CFLAGS += -DDIM_WITH_TEXTURE
 endif
+ifeq ($(TARGET_BOARD_PLATFORM), qsd8k)
+	LOCAL_CFLAGS += -DDIM_WITH_TEXTURE
+endif
 
 # need "-lrt" on Linux simulator to pick up clock_gettime
 ifeq ($(TARGET_SIMULATOR),true)
diff --git a/services/java/com/android/server/BootReceiver.java b/services/java/com/android/server/BootReceiver.java
index 1d31d09..adbe930 100644
--- a/services/java/com/android/server/BootReceiver.java
+++ b/services/java/com/android/server/BootReceiver.java
@@ -84,7 +84,7 @@
 
         ContentResolver cr = context.getContentResolver();
         logBootFile(cr, db, "/cache/recovery/log", "SYSTEM_RECOVERY_LOG");
-        logBootFile(cr, db, "/data/dontpanic/last_kmsg", "SYSTEM_LAST_KMSG");
+        logBootFile(cr, db, "/proc/last_kmsg", "SYSTEM_LAST_KMSG");
         logBootFile(cr, db, "/data/dontpanic/apanic_console", "APANIC_CONSOLE");
         logBootFile(cr, db, "/data/dontpanic/apanic_threads", "APANIC_THREADS");
     }
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java
index 0481340..63a5435 100644
--- a/services/java/com/android/server/WindowManagerService.java
+++ b/services/java/com/android/server/WindowManagerService.java
@@ -3541,24 +3541,35 @@
                 wtoken.inPendingTransaction = true;
                 if (visible) {
                     mOpeningApps.add(wtoken);
-                    wtoken.allDrawn = false;
                     wtoken.startingDisplayed = false;
                     wtoken.startingMoved = false;
-                    wtoken.waitingToShow = true;
-
-                    if (wtoken.clientHidden) {
-                        // In the case where we are making an app visible
-                        // but holding off for a transition, we still need
-                        // to tell the client to make its windows visible so
-                        // they get drawn.  Otherwise, we will wait on
-                        // performing the transition until all windows have
-                        // been drawn, they never will be, and we are sad.
-                        wtoken.clientHidden = false;
-                        wtoken.sendAppVisibilityToClients();
+                    
+                    // If the token is currently hidden (should be the
+                    // common case), then we need to set up to wait for
+                    // its windows to be ready.
+                    if (wtoken.hidden) {
+                        wtoken.allDrawn = false;
+                        wtoken.waitingToShow = true;
+    
+                        if (wtoken.clientHidden) {
+                            // In the case where we are making an app visible
+                            // but holding off for a transition, we still need
+                            // to tell the client to make its windows visible so
+                            // they get drawn.  Otherwise, we will wait on
+                            // performing the transition until all windows have
+                            // been drawn, they never will be, and we are sad.
+                            wtoken.clientHidden = false;
+                            wtoken.sendAppVisibilityToClients();
+                        }
                     }
                 } else {
                     mClosingApps.add(wtoken);
-                    wtoken.waitingToHide = true;
+                    
+                    // If the token is currently visible (should be the
+                    // common case), then set up to wait for it to be hidden.
+                    if (!wtoken.hidden) {
+                        wtoken.waitingToHide = true;
+                    }
                 }
                 return;
             }
diff --git a/telephony/java/com/android/internal/telephony/MccTable.java b/telephony/java/com/android/internal/telephony/MccTable.java
index 1bd6a1a..c4877cb 100644
--- a/telephony/java/com/android/internal/telephony/MccTable.java
+++ b/telephony/java/com/android/internal/telephony/MccTable.java
@@ -179,8 +179,8 @@
   (455, 'mo', 2, '"Macao, China"'),
   (456, 'kh', 2, 'Cambodia (Kingdom of)'),
   (457, 'la', 2, "Lao People's Democratic Republic"),
-  (460, 'cn', 2, "China (People's Republic of)"),
-  (461, 'cn', 2, "China (People's Republic of)"),
+  (460, 'cn', 2, "Asia/Beijing", 'zh', 13, "China (People's Republic of)"),
+  (461, 'cn', 2, "Asia/Beijing", 'zh', 13, "China (People's Republic of)"),
   (466, 'tw', 2, "Taiwan (Republic of China)"),
   (467, 'kp', 2, "Democratic People's Republic of Korea"),
   (470, 'bd', 2, "Bangladesh (People's Republic of)"),
@@ -191,7 +191,7 @@
   (514, 'tl', 2, 'Democratic Republic of Timor-Leste'),
   (515, 'ph', 2, 'Philippines (Republic of the)'),
   (520, 'th', 2, 'Thailand'),
-  (525, 'sg', 2, 'Singapore', 'en', 11, 'Singapore (Republic of)'),
+  (525, 'sg', 2, 'Asia/Singapore', 'en', 11, 'Singapore (Republic of)'),
   (528, 'bn', 2, 'Brunei Darussalam'),
   (530, 'nz', 2, 'Pacific/Auckland', 'en', 'New Zealand'),
   (534, 'mp', 2, 'Northern Mariana Islands (Commonwealth of the)'),
@@ -371,11 +371,13 @@
 public final class MccTable
 {
     /**
-    * AUTO GENERATED (by the Python code above)
-    */
+     * AUTO GENERATED (by the Python code above)
+     */
     private static final String[] TZ_STRINGS = {
         "",
         "Africa/Johannesburg",
+        "Asia/Beijing",
+        "Asia/Singapore",
         "Asia/Tokyo",
         "Australia/Sydney",
         "Europe/Amsterdam",
@@ -389,23 +391,22 @@
         "Europe/Vienna",
         "Europe/Warsaw",
         "Europe/Zurich",
-        "Pacific/Auckland",
-        "Singapore"
+        "Pacific/Auckland"
     };
 
     /**
-    * AUTO GENERATED (by the Python code above)
-    */
+     * AUTO GENERATED (by the Python code above)
+     */
     private static final String[] LANG_STRINGS = {
-        "", "cs", "de", "en", "es", "fr", "it", "ja", "nl"
+        "", "cs", "de", "en", "es", "fr", "it", "ja", "nl", "zh"
     };
 
     /**
-    * AUTO GENERATED (by the Python code above)
-    * This table is a list of MCC codes.  The index in this table
-    * of a given MCC code is the index of extra information about
-    * that MCC in the IND_CODES table.
-    */
+     * AUTO GENERATED (by the Python code above)
+     * This table is a list of MCC codes.  The index in this table
+     * of a given MCC code is the index of extra information about
+     * that MCC in the IND_CODES table.
+     */
     private static final short[] MCC_CODES = {
         0x00ca, 0x00cc, 0x00ce, 0x00d0, 0x00d4, 0x00d5, 0x00d6, 0x00d8, 0x00da, 0x00db,
         0x00dc, 0x00de, 0x00e1, 0x00e2, 0x00e4, 0x00e6, 0x00e7, 0x00e8, 0x00ea, 0x00eb,
@@ -434,23 +435,23 @@
     };
 
     /**
-    * AUTO GENERATED (by the Python code above)
-    * The values in this table are broken down as follows (msb to lsb):
-    *     iso country code 16 bits
-    *     (unused)          1 bit
-    *     wifi channel      4 bits
-    *     smalled digit     2 bits
-    *     default timezone  5 bits
-    *     default language  4 bits
-    */
+     * AUTO GENERATED (by the Python code above)
+     * The values in this table are broken down as follows (msb to lsb):
+     *     iso country code 16 bits
+     *     (unused)          1 bit
+     *     wifi channel      4 bits
+     *     smalled digit     2 bits
+     *     default timezone  5 bits
+     *     default language  4 bits
+     */
     private static final int[] IND_CODES = {
-        0x67720400, 0x6e6c6c48, 0x62650400, 0x66720495, 0x6d630400, 0x61640400,
-        0x65730484, 0x68750400, 0x62610400, 0x68720400, 0x72730400, 0x697404b6,
-        0x766104b6, 0x726f0400, 0x636804e2, 0x637a6ca1, 0x736b0400, 0x61746cc2,
-        0x67626c73, 0x67626c73, 0x646b0400, 0x73650400, 0x6e6f0400, 0x66690400,
+        0x67720400, 0x6e6c6c68, 0x62650400, 0x667204b5, 0x6d630400, 0x61640400,
+        0x657304a4, 0x68750400, 0x62610400, 0x68720400, 0x72730400, 0x697404d6,
+        0x766104d6, 0x726f0400, 0x63680502, 0x637a6cc1, 0x736b0400, 0x61746ce2,
+        0x67626c93, 0x67626c93, 0x646b0400, 0x73650400, 0x6e6f0400, 0x66690400,
         0x6c740400, 0x6c760400, 0x65650400, 0x72750400, 0x75610400, 0x62790400,
-        0x6d640400, 0x706c04d0, 0x64656c52, 0x67690400, 0x70740400, 0x6c750400,
-        0x69650463, 0x69730400, 0x616c0400, 0x6d740400, 0x63790400, 0x67650400,
+        0x6d640400, 0x706c04f0, 0x64656c72, 0x67690400, 0x70740400, 0x6c750400,
+        0x69650483, 0x69730400, 0x616c0400, 0x6d740400, 0x63790400, 0x67650400,
         0x616d0400, 0x62670400, 0x74720400, 0x666f0400, 0x67650400, 0x676c0400,
         0x736d0400, 0x736c0400, 0x6d6b0400, 0x6c690400, 0x6d650400, 0x63615c00,
         0x706d0400, 0x75735e03, 0x75735e03, 0x75735e03, 0x75735e03, 0x75735e03,
@@ -463,11 +464,11 @@
         0x6c620400, 0x6a6f0400, 0x73790400, 0x69710400, 0x6b770400, 0x73610400,
         0x79650400, 0x6f6d0400, 0x70730400, 0x61650400, 0x696c0400, 0x62680400,
         0x71610400, 0x6d6e0400, 0x6e700400, 0x61650400, 0x61650400, 0x69720400,
-        0x757a0400, 0x746a0400, 0x6b670400, 0x746d0400, 0x6a707427, 0x6a707427,
+        0x757a0400, 0x746a0400, 0x6b670400, 0x746d0400, 0x6a707447, 0x6a707447,
         0x6b720400, 0x766e0400, 0x686b0400, 0x6d6f0400, 0x6b680400, 0x6c610400,
-        0x636e0400, 0x636e0400, 0x74770400, 0x6b700400, 0x62640400, 0x6d760400,
-        0x6d790400, 0x61755c33, 0x69640400, 0x746c0400, 0x70680400, 0x74680400,
-        0x73675d03, 0x626e0400, 0x6e7a04f3, 0x6d700400, 0x67750400, 0x6e720400,
+        0x636e6c29, 0x636e6c29, 0x74770400, 0x6b700400, 0x62640400, 0x6d760400,
+        0x6d790400, 0x61755c53, 0x69640400, 0x746c0400, 0x70680400, 0x74680400,
+        0x73675c33, 0x626e0400, 0x6e7a0513, 0x6d700400, 0x67750400, 0x6e720400,
         0x70670400, 0x746f0400, 0x73620400, 0x76750400, 0x666a0400, 0x77660400,
         0x61730400, 0x6b690400, 0x6e630400, 0x70660400, 0x636b0400, 0x77730400,
         0x666d0400, 0x6d680400, 0x70770400, 0x65670400, 0x647a0400, 0x6d610400,