From b4a2140e7266c771444e644ffed29e16b03a597a Mon Sep 17 00:00:00 2001
From: xiongwei <861739889@qq.com>
Date: Thu, 10 Aug 2017 09:54:03 +0800
Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=EF=BC=8C=E6=B3=A8=E5=86=8C?=
=?UTF-8?q?=20=EF=BC=8C=E5=BF=98=E8=AE=B0=E5=AF=86=E7=A0=81=EF=BC=8C?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81=EF=BC=8C=E6=9B=B4=E6=8D=A2?=
=?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=8F=B7=E7=AD=89=E3=80=82=E3=80=82=E7=95=8C?=
=?UTF-8?q?=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 15 +
PersonalCenter/.gitignore | 9 +
PersonalCenter/.idea/compiler.xml | 22 ++
.../.idea/copyright/profiles_settings.xml | 3 +
PersonalCenter/.idea/gradle.xml | 18 ++
PersonalCenter/.idea/misc.xml | 62 +++++
PersonalCenter/.idea/modules.xml | 9 +
PersonalCenter/.idea/runConfigurations.xml | 12 +
PersonalCenter/app/.gitignore | 1 +
PersonalCenter/app/build.gradle | 29 ++
PersonalCenter/app/proguard-rules.pro | 17 ++
.../personalcenter/ExampleInstrumentedTest.java | 26 ++
PersonalCenter/app/src/main/AndroidManifest.xml | 71 +++++
.../activity/ChangeBangDingActivity.java | 18 ++
.../activity/ChangeElectronicCardInfoActivity.java | 18 ++
.../activity/ChangeEletronicCardPhone.java | 18 ++
.../activity/ChangePasswordActivity.java | 18 ++
.../activity/ElectronicCardValidationActivity.java | 18 ++
.../activity/ForgotPasswordActivity.java | 18 ++
.../activity/LoginAndRegisterActivity.java | 72 +++++
.../hjx/personalcenter/activity/MainActivity.java | 26 ++
.../activity/RegisterInfoActivity.java | 84 ++++++
.../adapter/LoginAndRegisterAdapter.java | 31 +++
.../hjx/personalcenter/fragment/LoginFragment.java | 71 +++++
.../personalcenter/fragment/RegisterFragment.java | 70 +++++
.../thirdparty/SlidingTabLayout.java | 304 +++++++++++++++++++++
PersonalCenter/app/src/main/res/anim/rightin.xml | 13 +
PersonalCenter/app/src/main/res/anim/rightout.xml | 14 +
.../app/src/main/res/color/btn_text_color.xml | 9 +
.../src/main/res/drawable/blue_btn_bg_normal.xml | 17 ++
.../src/main/res/drawable/blue_btn_bg_pressed.xml | 17 ++
.../app/src/main/res/drawable/btn_rect_normal.xml | 17 ++
.../main/res/drawable/edittext_input_normal.xml | 17 ++
.../main/res/drawable/edittext_input_pressed.xml | 17 ++
.../res/drawable/edittext_rect_input_normal.xml | 17 ++
.../res/drawable/edittext_rect_input_pressed.xml | 17 ++
.../src/main/res/drawable/selector_blue_btn_bg.xml | 6 +
.../src/main/res/drawable/selector_edittext_bg.xml | 6 +
.../res/drawable/selector_edittext_rect_bg.xml | 6 +
.../src/main/res/layout/activity_chage_binding.xml | 97 +++++++
.../main/res/layout/activity_change_card_info.xml | 130 +++++++++
.../src/main/res/layout/activity_changepsword.xml | 99 +++++++
.../res/layout/activity_electronicard_phone.xml | 97 +++++++
.../layout/activity_electroniccard_validation.xml | 97 +++++++
.../src/main/res/layout/activity_forgetpsword.xml | 130 +++++++++
.../main/res/layout/activity_loginandregister.xml | 39 +++
.../app/src/main/res/layout/activity_main.xml | 11 +
.../src/main/res/layout/activity_registerinfo.xml | 78 ++++++
.../res/layout/fragment_loginandregister_login.xml | 44 +++
.../layout/fragment_loginandregister_register.xml | 83 ++++++
.../app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3418 bytes
.../app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2206 bytes
.../app/src/main/res/mipmap-xhdpi/blank.PNG | Bin 0 -> 171 bytes
.../app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4842 bytes
.../app/src/main/res/mipmap-xhdpi/logo.png | Bin 0 -> 21643 bytes
.../app/src/main/res/mipmap-xhdpi/pwd_hide.png | Bin 0 -> 561 bytes
.../app/src/main/res/mipmap-xhdpi/title_back.png | Bin 0 -> 544 bytes
.../app/src/main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7718 bytes
.../src/main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 4842 bytes
.../app/src/main/res/values-w820dp/dimens.xml | 6 +
PersonalCenter/app/src/main/res/values/colors.xml | 13 +
PersonalCenter/app/src/main/res/values/dimens.xml | 5 +
PersonalCenter/app/src/main/res/values/strings.xml | 23 ++
PersonalCenter/app/src/main/res/values/styles.xml | 82 ++++++
.../com/hjx/personalcenter/ExampleUnitTest.java | 17 ++
PersonalCenter/build.gradle | 23 ++
PersonalCenter/gradle.properties | 17 ++
PersonalCenter/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53636 bytes
.../gradle/wrapper/gradle-wrapper.properties | 6 +
PersonalCenter/gradlew | 160 +++++++++++
PersonalCenter/gradlew.bat | 90 ++++++
PersonalCenter/settings.gradle | 1 +
72 files changed, 2581 insertions(+)
create mode 100644 .gitignore
create mode 100644 PersonalCenter/.gitignore
create mode 100644 PersonalCenter/.idea/compiler.xml
create mode 100644 PersonalCenter/.idea/copyright/profiles_settings.xml
create mode 100644 PersonalCenter/.idea/gradle.xml
create mode 100644 PersonalCenter/.idea/misc.xml
create mode 100644 PersonalCenter/.idea/modules.xml
create mode 100644 PersonalCenter/.idea/runConfigurations.xml
create mode 100644 PersonalCenter/app/.gitignore
create mode 100644 PersonalCenter/app/build.gradle
create mode 100644 PersonalCenter/app/proguard-rules.pro
create mode 100644 PersonalCenter/app/src/androidTest/java/com/hjx/personalcenter/ExampleInstrumentedTest.java
create mode 100644 PersonalCenter/app/src/main/AndroidManifest.xml
create mode 100644 PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeBangDingActivity.java
create mode 100644 PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeElectronicCardInfoActivity.java
create mode 100644 PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeEletronicCardPhone.java
create mode 100644 PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangePasswordActivity.java
create mode 100644 PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ElectronicCardValidationActivity.java
create mode 100644 PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ForgotPasswordActivity.java
create mode 100644 PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/LoginAndRegisterActivity.java
create mode 100644 PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/MainActivity.java
create mode 100644 PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/RegisterInfoActivity.java
create mode 100644 PersonalCenter/app/src/main/java/com/hjx/personalcenter/adapter/LoginAndRegisterAdapter.java
create mode 100644 PersonalCenter/app/src/main/java/com/hjx/personalcenter/fragment/LoginFragment.java
create mode 100644 PersonalCenter/app/src/main/java/com/hjx/personalcenter/fragment/RegisterFragment.java
create mode 100644 PersonalCenter/app/src/main/java/com/hjx/personalcenter/thirdparty/SlidingTabLayout.java
create mode 100644 PersonalCenter/app/src/main/res/anim/rightin.xml
create mode 100644 PersonalCenter/app/src/main/res/anim/rightout.xml
create mode 100644 PersonalCenter/app/src/main/res/color/btn_text_color.xml
create mode 100644 PersonalCenter/app/src/main/res/drawable/blue_btn_bg_normal.xml
create mode 100644 PersonalCenter/app/src/main/res/drawable/blue_btn_bg_pressed.xml
create mode 100644 PersonalCenter/app/src/main/res/drawable/btn_rect_normal.xml
create mode 100644 PersonalCenter/app/src/main/res/drawable/edittext_input_normal.xml
create mode 100644 PersonalCenter/app/src/main/res/drawable/edittext_input_pressed.xml
create mode 100644 PersonalCenter/app/src/main/res/drawable/edittext_rect_input_normal.xml
create mode 100644 PersonalCenter/app/src/main/res/drawable/edittext_rect_input_pressed.xml
create mode 100644 PersonalCenter/app/src/main/res/drawable/selector_blue_btn_bg.xml
create mode 100644 PersonalCenter/app/src/main/res/drawable/selector_edittext_bg.xml
create mode 100644 PersonalCenter/app/src/main/res/drawable/selector_edittext_rect_bg.xml
create mode 100644 PersonalCenter/app/src/main/res/layout/activity_chage_binding.xml
create mode 100644 PersonalCenter/app/src/main/res/layout/activity_change_card_info.xml
create mode 100644 PersonalCenter/app/src/main/res/layout/activity_changepsword.xml
create mode 100644 PersonalCenter/app/src/main/res/layout/activity_electronicard_phone.xml
create mode 100644 PersonalCenter/app/src/main/res/layout/activity_electroniccard_validation.xml
create mode 100644 PersonalCenter/app/src/main/res/layout/activity_forgetpsword.xml
create mode 100644 PersonalCenter/app/src/main/res/layout/activity_loginandregister.xml
create mode 100644 PersonalCenter/app/src/main/res/layout/activity_main.xml
create mode 100644 PersonalCenter/app/src/main/res/layout/activity_registerinfo.xml
create mode 100644 PersonalCenter/app/src/main/res/layout/fragment_loginandregister_login.xml
create mode 100644 PersonalCenter/app/src/main/res/layout/fragment_loginandregister_register.xml
create mode 100644 PersonalCenter/app/src/main/res/mipmap-hdpi/ic_launcher.png
create mode 100644 PersonalCenter/app/src/main/res/mipmap-mdpi/ic_launcher.png
create mode 100644 PersonalCenter/app/src/main/res/mipmap-xhdpi/blank.PNG
create mode 100644 PersonalCenter/app/src/main/res/mipmap-xhdpi/ic_launcher.png
create mode 100644 PersonalCenter/app/src/main/res/mipmap-xhdpi/logo.png
create mode 100644 PersonalCenter/app/src/main/res/mipmap-xhdpi/pwd_hide.png
create mode 100644 PersonalCenter/app/src/main/res/mipmap-xhdpi/title_back.png
create mode 100644 PersonalCenter/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
create mode 100644 PersonalCenter/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
create mode 100644 PersonalCenter/app/src/main/res/values-w820dp/dimens.xml
create mode 100644 PersonalCenter/app/src/main/res/values/colors.xml
create mode 100644 PersonalCenter/app/src/main/res/values/dimens.xml
create mode 100644 PersonalCenter/app/src/main/res/values/strings.xml
create mode 100644 PersonalCenter/app/src/main/res/values/styles.xml
create mode 100644 PersonalCenter/app/src/test/java/com/hjx/personalcenter/ExampleUnitTest.java
create mode 100644 PersonalCenter/build.gradle
create mode 100644 PersonalCenter/gradle.properties
create mode 100644 PersonalCenter/gradle/wrapper/gradle-wrapper.jar
create mode 100644 PersonalCenter/gradle/wrapper/gradle-wrapper.properties
create mode 100644 PersonalCenter/gradlew
create mode 100644 PersonalCenter/gradlew.bat
create mode 100644 PersonalCenter/settings.gradle
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..fb8e7fc
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,15 @@
+# 忽略 /CallTecher/app/build/ 目录下的所有文件
+CallTecher/app/build/
+
+# 忽略 /CallTecher/.idea/ 目录下的所有文件
+CallTecher/.idea/
+
+# 忽略 /CallTecher/.gradle/ 目录下的所有文件
+CallTecher/.gradle/
+
+# 忽略 /CallTecher/build/ 目录下的所有文件
+CallTecher/build/
+
+# 忽略 /CallTecher/ZBLibrary/build/ 目录下的所有文件
+CallTecher/ZBLibrary/build/
+
diff --git a/PersonalCenter/.gitignore b/PersonalCenter/.gitignore
new file mode 100644
index 0000000..39fb081
--- /dev/null
+++ b/PersonalCenter/.gitignore
@@ -0,0 +1,9 @@
+*.iml
+.gradle
+/local.properties
+/.idea/workspace.xml
+/.idea/libraries
+.DS_Store
+/build
+/captures
+.externalNativeBuild
diff --git a/PersonalCenter/.idea/compiler.xml b/PersonalCenter/.idea/compiler.xml
new file mode 100644
index 0000000..96cc43e
--- /dev/null
+++ b/PersonalCenter/.idea/compiler.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/.idea/copyright/profiles_settings.xml b/PersonalCenter/.idea/copyright/profiles_settings.xml
new file mode 100644
index 0000000..e7bedf3
--- /dev/null
+++ b/PersonalCenter/.idea/copyright/profiles_settings.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/.idea/gradle.xml b/PersonalCenter/.idea/gradle.xml
new file mode 100644
index 0000000..7ac24c7
--- /dev/null
+++ b/PersonalCenter/.idea/gradle.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/.idea/misc.xml b/PersonalCenter/.idea/misc.xml
new file mode 100644
index 0000000..7158618
--- /dev/null
+++ b/PersonalCenter/.idea/misc.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.8
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/.idea/modules.xml b/PersonalCenter/.idea/modules.xml
new file mode 100644
index 0000000..935df7a
--- /dev/null
+++ b/PersonalCenter/.idea/modules.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/.idea/runConfigurations.xml b/PersonalCenter/.idea/runConfigurations.xml
new file mode 100644
index 0000000..7f68460
--- /dev/null
+++ b/PersonalCenter/.idea/runConfigurations.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/.gitignore b/PersonalCenter/app/.gitignore
new file mode 100644
index 0000000..796b96d
--- /dev/null
+++ b/PersonalCenter/app/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/PersonalCenter/app/build.gradle b/PersonalCenter/app/build.gradle
new file mode 100644
index 0000000..73083df
--- /dev/null
+++ b/PersonalCenter/app/build.gradle
@@ -0,0 +1,29 @@
+apply plugin: 'com.android.application'
+
+android {
+ compileSdkVersion 25
+ buildToolsVersion "25.0.3"
+ defaultConfig {
+ applicationId "com.hjx.personalcenter"
+ minSdkVersion 9
+ targetSdkVersion 25
+ versionCode 1
+ versionName "1.0"
+ testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ }
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+}
+
+dependencies {
+ compile fileTree(dir: 'libs', include: ['*.jar'])
+ androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
+ exclude group: 'com.android.support', module: 'support-annotations'
+ })
+ compile 'com.android.support:appcompat-v7:25.3.1'
+ testCompile 'junit:junit:4.12'
+}
diff --git a/PersonalCenter/app/proguard-rules.pro b/PersonalCenter/app/proguard-rules.pro
new file mode 100644
index 0000000..f31cd66
--- /dev/null
+++ b/PersonalCenter/app/proguard-rules.pro
@@ -0,0 +1,17 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in C:\Users\h\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
diff --git a/PersonalCenter/app/src/androidTest/java/com/hjx/personalcenter/ExampleInstrumentedTest.java b/PersonalCenter/app/src/androidTest/java/com/hjx/personalcenter/ExampleInstrumentedTest.java
new file mode 100644
index 0000000..ebd2d1b
--- /dev/null
+++ b/PersonalCenter/app/src/androidTest/java/com/hjx/personalcenter/ExampleInstrumentedTest.java
@@ -0,0 +1,26 @@
+package com.hjx.personalcenter;
+
+import android.content.Context;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import static org.junit.Assert.*;
+
+/**
+ * Instrumentation test, which will execute on an Android device.
+ *
+ * @see Testing documentation
+ */
+@RunWith(AndroidJUnit4.class)
+public class ExampleInstrumentedTest {
+ @Test
+ public void useAppContext() throws Exception {
+ // Context of the app under test.
+ Context appContext = InstrumentationRegistry.getTargetContext();
+
+ assertEquals("com.hjx.personalcenter", appContext.getPackageName());
+ }
+}
diff --git a/PersonalCenter/app/src/main/AndroidManifest.xml b/PersonalCenter/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..1d27e88
--- /dev/null
+++ b/PersonalCenter/app/src/main/AndroidManifest.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeBangDingActivity.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeBangDingActivity.java
new file mode 100644
index 0000000..12f3d30
--- /dev/null
+++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeBangDingActivity.java
@@ -0,0 +1,18 @@
+package com.hjx.personalcenter.activity;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+import com.hjx.personalcenter.R;
+
+/**
+ * Created by h on 2017/8/9.
+ */
+
+public class ChangeBangDingActivity extends Activity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_chage_binding);
+ }
+}
diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeElectronicCardInfoActivity.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeElectronicCardInfoActivity.java
new file mode 100644
index 0000000..324ed3c
--- /dev/null
+++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeElectronicCardInfoActivity.java
@@ -0,0 +1,18 @@
+package com.hjx.personalcenter.activity;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+import com.hjx.personalcenter.R;
+
+/**
+ * Created by h on 2017/8/9.
+ */
+
+public class ChangeElectronicCardInfoActivity extends Activity{
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_change_card_info);
+ }
+}
diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeEletronicCardPhone.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeEletronicCardPhone.java
new file mode 100644
index 0000000..5df52f3
--- /dev/null
+++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeEletronicCardPhone.java
@@ -0,0 +1,18 @@
+package com.hjx.personalcenter.activity;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+import com.hjx.personalcenter.R;
+
+/**
+ * Created by h on 2017/8/9.
+ */
+
+public class ChangeEletronicCardPhone extends Activity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_electronicard_phone);
+ }
+}
diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangePasswordActivity.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangePasswordActivity.java
new file mode 100644
index 0000000..237ee53
--- /dev/null
+++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangePasswordActivity.java
@@ -0,0 +1,18 @@
+package com.hjx.personalcenter.activity;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+import com.hjx.personalcenter.R;
+
+/**
+ * Created by h on 2017/8/9.
+ */
+
+public class ChangePasswordActivity extends Activity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_changepsword);
+ }
+}
diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ElectronicCardValidationActivity.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ElectronicCardValidationActivity.java
new file mode 100644
index 0000000..a7655fb
--- /dev/null
+++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ElectronicCardValidationActivity.java
@@ -0,0 +1,18 @@
+package com.hjx.personalcenter.activity;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+import com.hjx.personalcenter.R;
+
+/**
+ * Created by h on 2017/8/9.
+ */
+
+public class ElectronicCardValidationActivity extends Activity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_electroniccard_validation);
+ }
+}
diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ForgotPasswordActivity.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ForgotPasswordActivity.java
new file mode 100644
index 0000000..fda4e4c
--- /dev/null
+++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ForgotPasswordActivity.java
@@ -0,0 +1,18 @@
+package com.hjx.personalcenter.activity;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+import com.hjx.personalcenter.R;
+
+/**
+ * Created by h on 2017/8/9.
+ */
+
+public class ForgotPasswordActivity extends Activity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_forgetpsword);
+ }
+}
diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/LoginAndRegisterActivity.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/LoginAndRegisterActivity.java
new file mode 100644
index 0000000..b6d8250
--- /dev/null
+++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/LoginAndRegisterActivity.java
@@ -0,0 +1,72 @@
+package com.hjx.personalcenter.activity;
+
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.v4.app.Fragment;
+import android.support.v4.view.ViewPager;
+import android.support.v7.app.AppCompatActivity;
+
+import com.hjx.personalcenter.R;
+import com.hjx.personalcenter.adapter.LoginAndRegisterAdapter;
+import com.hjx.personalcenter.fragment.RegisterFragment;
+import com.hjx.personalcenter.fragment.LoginFragment;
+import com.hjx.personalcenter.thirdparty.SlidingTabLayout;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 登录和注册 熊巍
+ * Created by h on 2017/8/8.
+ */
+
+public class LoginAndRegisterActivity extends AppCompatActivity {
+ private ViewPager viewPager;
+ private SlidingTabLayout tableLayout;
+ private List loginlist;
+ private LoginAndRegisterAdapter logindapter;
+ private List title = Arrays.asList("登录", "注册");
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_loginandregister);
+ initView();
+ initData();
+ setLister();
+ }
+
+ private void initView() {
+ viewPager = (ViewPager) findViewById(R.id.viewpager_login);
+ tableLayout = (SlidingTabLayout) findViewById(R.id.TabLayout_id);
+ }
+
+ private void initData() {
+ loginlist = new ArrayList<>();
+ for (int i = 0; i < title.size(); i++) {
+ if (title.get(i).equals("登录")) {
+ loginlist.add(LoginFragment.newInstance(i + 1));
+ } else {
+ loginlist.add(RegisterFragment.newInstance(i + 1));
+ }
+ }
+
+
+ //设置Tab上的标题
+ tableLayout.setData(title);
+ //设置关联的ViewPager
+ tableLayout.setViewPager(viewPager, 0);
+ logindapter = new LoginAndRegisterAdapter(loginlist, getSupportFragmentManager());
+ //给ViewPager设置适配器
+ viewPager.setAdapter(logindapter);
+ //设置滑动时数据不丢失
+ viewPager.setOffscreenPageLimit(1);
+ //将TabLayout和ViewPager关联起来。
+ }
+
+ private void setLister() {
+ }
+
+
+}
diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/MainActivity.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/MainActivity.java
new file mode 100644
index 0000000..49f2ef3
--- /dev/null
+++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/MainActivity.java
@@ -0,0 +1,26 @@
+package com.hjx.personalcenter.activity;
+
+import android.content.Intent;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.TextView;
+
+import com.hjx.personalcenter.R;
+
+public class MainActivity extends AppCompatActivity {
+ TextView ssss;
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+ ssss = (TextView) findViewById(R.id.ssss);
+ ssss.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(MainActivity.this,LoginAndRegisterActivity.class);
+ startActivity(intent);
+ }
+ });
+ }
+}
diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/RegisterInfoActivity.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/RegisterInfoActivity.java
new file mode 100644
index 0000000..36869d4
--- /dev/null
+++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/RegisterInfoActivity.java
@@ -0,0 +1,84 @@
+package com.hjx.personalcenter.activity;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.hjx.personalcenter.R;
+
+/**填写注册信息 熊巍
+ * Created by h on 2017/8/9.
+ */
+
+public class RegisterInfoActivity extends Activity implements View.OnClickListener {
+ private EditText et_username;
+ private TextView et_region,et_grade,et_school;
+ private Button btn_ok;
+ String[] items;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_registerinfo);
+ initView();
+ initData();
+ initLister();
+ }
+
+ private void initView() {
+ et_username = (EditText) findViewById(R.id.et_username);
+ et_region = (TextView) findViewById(R.id.et_region);
+ et_grade = (TextView) findViewById(R.id.et_grade);
+ et_school = (TextView) findViewById(R.id.et_school);
+ btn_ok = (Button) findViewById(R.id.btn_ok);
+
+
+ }
+
+ private void initData() {
+ items = new String[] { "魏", "蜀", "吴" };
+
+ }
+
+ private void initLister() {
+ et_region.setOnClickListener(this);
+ et_grade.setOnClickListener(this);
+ et_school.setOnClickListener(this);
+
+
+ }
+
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()){
+ case R.id.et_region:
+ break;
+ case R.id.et_grade:
+ choisegrade();
+ break;
+ case R.id.et_school:
+ break;
+ case R.id.btn_ok:
+ break;
+ }
+
+ }
+
+ private void choisegrade() {
+ AlertDialog dialog = new AlertDialog.Builder(this)
+ .setTitle("选择年级")
+ .setItems(items, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ Toast.makeText(RegisterInfoActivity.this, items[which], Toast.LENGTH_SHORT).show();
+ }
+ }).create();
+ dialog.show();
+ }
+}
diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/adapter/LoginAndRegisterAdapter.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/adapter/LoginAndRegisterAdapter.java
new file mode 100644
index 0000000..4ae0f8d
--- /dev/null
+++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/adapter/LoginAndRegisterAdapter.java
@@ -0,0 +1,31 @@
+package com.hjx.personalcenter.adapter;
+
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentPagerAdapter;
+
+import java.util.List;
+
+/**
+ * Created by Administrator on 2016/11/7.
+ */
+
+public class LoginAndRegisterAdapter extends FragmentPagerAdapter {
+ private List list;
+
+ public LoginAndRegisterAdapter(List list, FragmentManager fragmentManager) {
+ super(fragmentManager);
+ this.list = list;
+ }
+
+ @Override
+ public int getCount() {
+ return list.size();
+ }
+
+ @Override
+ public Fragment getItem(int position) {
+ return list.get(position);
+ }
+
+}
diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/fragment/LoginFragment.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/fragment/LoginFragment.java
new file mode 100644
index 0000000..b5141b6
--- /dev/null
+++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/fragment/LoginFragment.java
@@ -0,0 +1,71 @@
+package com.hjx.personalcenter.fragment;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.v4.app.Fragment;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import com.hjx.personalcenter.R;
+import com.hjx.personalcenter.activity.ForgotPasswordActivity;
+
+/**
+ * 登录
+ * Created by h on 2017/8/8.
+ */
+
+public class LoginFragment extends Fragment implements View.OnClickListener {
+ private View mView;
+ private int type;
+ private TextView tv_forget_pwd;
+ public static String TABLAYOUT_FRAGMENT = "tab_fragment";
+
+ public static LoginFragment newInstance(int type) {
+ LoginFragment fragment = new LoginFragment();
+ Bundle bundle = new Bundle();
+ bundle.putSerializable(TABLAYOUT_FRAGMENT, type);
+ fragment.setArguments(bundle);
+ return fragment;
+
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ if (mView == null) {
+ mView = inflater.inflate(R.layout.fragment_loginandregister_login, container, false);
+ initView(mView);
+ initData();
+ setLister();
+
+
+ }
+ return mView;
+ }
+ //初始化
+ private void initView(View mView) {
+ tv_forget_pwd = (TextView) mView.findViewById(R.id.tv_forget_pwd);
+
+ }
+ private void initData() {
+ }
+ private void setLister() {
+ tv_forget_pwd.setOnClickListener(this);
+ }
+
+
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()){
+ case R.id.tv_forget_pwd:
+ Intent intent = new Intent();
+ intent.setClass(getActivity(),ForgotPasswordActivity.class);
+ startActivity(intent);
+ getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout);
+ break;
+ }
+
+ }
+}
diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/fragment/RegisterFragment.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/fragment/RegisterFragment.java
new file mode 100644
index 0000000..af5f7f3
--- /dev/null
+++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/fragment/RegisterFragment.java
@@ -0,0 +1,70 @@
+package com.hjx.personalcenter.fragment;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.v4.app.Fragment;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+
+import com.hjx.personalcenter.R;
+import com.hjx.personalcenter.activity.RegisterInfoActivity;
+
+/**
+ * 注册
+ * Created by Administrator on 2016/11/7.
+ */
+
+public class RegisterFragment extends Fragment implements View.OnClickListener {
+ private View mView;
+ private Button btn_register;
+ private int type;
+ public static String TABLAYOUT_FRAGMENT = "tab_fragment";
+
+ public static RegisterFragment newInstance(int type) {
+ RegisterFragment fragment = new RegisterFragment();
+ Bundle bundle = new Bundle();
+ bundle.putSerializable(TABLAYOUT_FRAGMENT, type);
+ fragment.setArguments(bundle);
+ return fragment;
+
+ }
+ @Override
+ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ if (mView == null) {
+ mView = inflater.inflate(R.layout.fragment_loginandregister_register, container, false);
+ initView(mView);
+ initData();
+ setLister();
+
+
+ }
+ return mView;
+ }
+
+ private void initView(View mView) {
+ btn_register = (Button) mView.findViewById(R.id.btn_register);
+
+ }
+ private void initData() {
+ }
+ private void setLister() {
+ btn_register.setOnClickListener(this);
+ }
+
+
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()){
+ case R.id.btn_register:
+ Intent intent = new Intent();
+ intent.setClass(getActivity(),RegisterInfoActivity.class);
+ startActivity(intent);
+ getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout);
+ break;
+ }
+
+ }
+}
diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/thirdparty/SlidingTabLayout.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/thirdparty/SlidingTabLayout.java
new file mode 100644
index 0000000..1beaaa3
--- /dev/null
+++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/thirdparty/SlidingTabLayout.java
@@ -0,0 +1,304 @@
+package com.hjx.personalcenter.thirdparty;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.Canvas;
+import android.support.v4.view.ViewPager;
+import android.support.v4.view.ViewPager.OnPageChangeListener;
+import android.util.AttributeSet;
+import android.util.DisplayMetrics;
+import android.util.TypedValue;
+import android.view.Gravity;
+import android.view.View;
+import android.view.WindowManager;
+import android.widget.HorizontalScrollView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.hjx.personalcenter.R;
+
+import java.util.List;
+
+/**
+ * 首页滑动条
+ *
+ * @author gaok
+ * @date 2017/7/6
+ */
+public class SlidingTabLayout extends HorizontalScrollView {
+ private Context mContext;
+ private int selection = 0;
+ /**
+ * tab容器
+ */
+ private LinearLayout mItemsLayout;
+ /**
+ * 指示器
+ */
+ private Bitmap mSlideIcon;
+ /**
+ * 指示器初始X偏移量
+ */
+ private int mInitTranslationX;
+ /**
+ * 指示器初始Y偏移量
+ */
+ private int mInitTranslationY;
+ /**
+ * 滑动过程中指示器的水平偏移量
+ */
+ private int mTranslationX;
+ /**
+ * tab总数
+ */
+ private int mTotalItemsCount;
+ /**
+ * 指示器绘制数据的初始化标志
+ */
+ private boolean isFirstTime = true;
+ /**
+ * 页面可见的tab数量,默认4个
+ */
+ private int VISIBLE_TAB_COUNT = 2;
+ /**
+ * 移动到倒数第几个,容器开始滑动
+ */
+ private int START_SCROLL = 2;
+ /**
+ * 标题正常时的颜色
+ */
+ private static final int COLOR_TEXT_NORMAL = 0xFF666666;
+ /**
+ * 标题选中时的颜色
+ */
+ private static final int COLOR_TEXT_HIGHLIGHTCOLOR = 0xFF21c4ff;
+ private ViewPager mViewPager;
+ private List mTabTitles;
+ private int mTabVisibleCount = VISIBLE_TAB_COUNT;
+ private OnPageChangeListener onPageChangeListener;
+
+ public SlidingTabLayout(Context context) {
+ this(context, null);
+ }
+
+ public SlidingTabLayout(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ this.mContext = context;
+ this.mSlideIcon = BitmapFactory.decodeResource(getResources(), R.mipmap.blank);
+ this.mItemsLayout = new LinearLayout(context);
+ initTabStripParams();
+ addView(mItemsLayout, 0, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
+ }
+
+ public void scroll(int position, float positionOffset) {
+ int tabWidth = mItemsLayout.getChildAt(position).getWidth();
+ mTranslationX = (int) ((position + positionOffset) * tabWidth);
+
+ // 容器滚动,当移动到倒数最后一个的时候,开始滚动
+ if (positionOffset > 0 && position >= (VISIBLE_TAB_COUNT - START_SCROLL) && mTotalItemsCount > VISIBLE_TAB_COUNT) {
+ if (VISIBLE_TAB_COUNT != 1) {
+ //注意这里是整体滑动,使得tabs跟指示器保持相对静止
+ this.scrollTo((position - (VISIBLE_TAB_COUNT - START_SCROLL)) * tabWidth + (int) (tabWidth * positionOffset), 0);
+ } else
+ // 为count为1时 的特殊处理
+ {
+ this.scrollTo(position * tabWidth + (int) (tabWidth * positionOffset), 0);
+ }
+ }
+ invalidate();
+ }
+
+ private void initTabStripParams() {
+ mItemsLayout.setClipChildren(false);
+ mItemsLayout.setClipToPadding(false);
+ mItemsLayout.setGravity(Gravity.BOTTOM);
+ mItemsLayout.setPadding(0, 0, 0, 0);
+ }
+
+ /**
+ * 绘制指示器
+ */
+ @Override
+ protected void dispatchDraw(Canvas canvas) {
+ canvas.save();
+ // 平移到正确的位置
+ canvas.translate(mInitTranslationX + mTranslationX, this.mInitTranslationY);//修正tabs的平移量
+ canvas.drawBitmap(this.mSlideIcon, 0, 0, null);
+ canvas.restore();
+ super.dispatchDraw(canvas);
+ }
+
+ @Override
+ protected void onLayout(boolean changed, int l, int t, int r, int b) {
+ super.onLayout(changed, l, t, r, b);
+ if (isFirstTime && (mTotalItemsCount > 0) && getItemView(this.selection) != null) {
+ View currentItemView = getItemView(this.selection);
+ this.mInitTranslationX = (currentItemView.getLeft() + currentItemView.getWidth() / 2 - this.mSlideIcon.getWidth() / 2);
+ this.mInitTranslationY = (b - t - this.mSlideIcon.getHeight());
+ isFirstTime = false;
+ }
+ }
+
+ public void setVisibleTabCount(int VISIBLE_TAB_COUNT) {
+ this.VISIBLE_TAB_COUNT = VISIBLE_TAB_COUNT;
+ }
+
+ public void setStartScroll(int START_SCROLL) {
+ this.START_SCROLL = START_SCROLL;
+ }
+
+ public View getItemView(int itemPosition) {
+ if ((itemPosition >= 0) && (itemPosition < this.mTotalItemsCount)) {
+ return this.mItemsLayout.getChildAt(itemPosition);
+ }
+ return null;
+ }
+
+ public void setData(List datas) {
+ mTotalItemsCount = 0;
+ // 如果传入的list有值,则移除布局文件中设置的view
+ if (datas != null && datas.size() > 0) {
+ this.mItemsLayout.removeAllViews();
+ this.mTabTitles = datas;
+
+ for (String title : mTabTitles) {
+ // 添加view
+ this.mItemsLayout.addView(generateTextView(title));
+ mTotalItemsCount++;
+ }
+ // 设置item的click事件
+ setItemClickEvent();
+ }
+ }
+
+ /**
+ * 对外的ViewPager的回调接口
+ *
+ * @author zhy
+ */
+ public interface PageChangeListener {
+ void onPageScrolled(int position, float positionOffset, int positionOffsetPixels);
+
+ void onPageSelected(int position);
+
+ void onPageScrollStateChanged(int state);
+ }
+
+ // 设置关联的ViewPager
+ public void setViewPager(ViewPager mViewPager, int pos) {
+ this.mViewPager = mViewPager;
+
+ mViewPager.addOnPageChangeListener(new OnPageChangeListener() {
+ @Override
+ public void onPageSelected(int position) {
+ // 设置字体颜色高亮
+ resetTextViewColor();
+ highLightTextView(position);
+
+ // 回调
+ if (onPageChangeListener != null) {
+ onPageChangeListener.onPageSelected(position);
+ }
+ }
+
+ @Override
+ public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+ // 滚动
+ scroll(position, positionOffset);
+
+ // 回调
+ if (onPageChangeListener != null) {
+ onPageChangeListener.onPageScrolled(position, positionOffset, positionOffsetPixels);
+ }
+
+ }
+
+ @Override
+ public void onPageScrollStateChanged(int state) {
+ // 回调
+ if (onPageChangeListener != null) {
+ onPageChangeListener.onPageScrollStateChanged(state);
+ }
+
+ }
+ });
+ // 设置当前页
+ mViewPager.setCurrentItem(pos);
+ // 高亮
+ highLightTextView(pos);
+ }
+
+ /**
+ * 重置文本颜色
+ */
+ private void resetTextViewColor() {
+ for (int i = 0; i < mItemsLayout.getChildCount(); i++) {
+ View view = mItemsLayout.getChildAt(i);
+ if (view instanceof TextView) {
+ ((TextView) view).setTextColor(COLOR_TEXT_NORMAL);
+ }
+ }
+ }
+
+ /**
+ * 高亮文本
+ *
+ * @param position
+ */
+ protected void highLightTextView(int position) {
+ View view = mItemsLayout.getChildAt(position);
+ if (view instanceof TextView) {
+ ((TextView) view).setTextColor(COLOR_TEXT_HIGHLIGHTCOLOR);
+ }
+
+ }
+
+ private void setItemClickEvent() {
+ int cCount = mItemsLayout.getChildCount();
+ for (int i = 0; i < cCount; i++) {
+ final int j = i;
+ View view = mItemsLayout.getChildAt(i);
+ view.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ mViewPager.setCurrentItem(j);
+ }
+ });
+ }
+ }
+
+ /**
+ * 根据标题生成我们的TextView
+ *
+ * @param text
+ * @return
+ */
+ private TextView generateTextView(String text) {
+ TextView tv = new TextView(getContext());
+ LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
+ lp.width = getScreenWidth() / mTabVisibleCount;
+ tv.setGravity(Gravity.CENTER);
+ tv.setTextColor(COLOR_TEXT_NORMAL);
+ tv.setText(text);
+ tv.setTextSize(TypedValue.TYPE_NULL, 34);
+ tv.setLayoutParams(lp);
+ return tv;
+ }
+
+ /**
+ * 获得屏幕的宽度
+ *
+ * @return
+ */
+ public int getScreenWidth() {
+ WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
+ DisplayMetrics outMetrics = new DisplayMetrics();
+ wm.getDefaultDisplay().getMetrics(outMetrics);
+ return outMetrics.widthPixels;
+ }
+
+ public LinearLayout getLinearLayout() {
+ return mItemsLayout;
+ }
+}
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/anim/rightin.xml b/PersonalCenter/app/src/main/res/anim/rightin.xml
new file mode 100644
index 0000000..4f0c95b
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/anim/rightin.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/anim/rightout.xml b/PersonalCenter/app/src/main/res/anim/rightout.xml
new file mode 100644
index 0000000..0f1f44e
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/anim/rightout.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/color/btn_text_color.xml b/PersonalCenter/app/src/main/res/color/btn_text_color.xml
new file mode 100644
index 0000000..05f1cf0
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/color/btn_text_color.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/drawable/blue_btn_bg_normal.xml b/PersonalCenter/app/src/main/res/drawable/blue_btn_bg_normal.xml
new file mode 100644
index 0000000..1cdc23c
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/drawable/blue_btn_bg_normal.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/drawable/blue_btn_bg_pressed.xml b/PersonalCenter/app/src/main/res/drawable/blue_btn_bg_pressed.xml
new file mode 100644
index 0000000..1cdc23c
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/drawable/blue_btn_bg_pressed.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/drawable/btn_rect_normal.xml b/PersonalCenter/app/src/main/res/drawable/btn_rect_normal.xml
new file mode 100644
index 0000000..b0e8800
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/drawable/btn_rect_normal.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/drawable/edittext_input_normal.xml b/PersonalCenter/app/src/main/res/drawable/edittext_input_normal.xml
new file mode 100644
index 0000000..8976484
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/drawable/edittext_input_normal.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/drawable/edittext_input_pressed.xml b/PersonalCenter/app/src/main/res/drawable/edittext_input_pressed.xml
new file mode 100644
index 0000000..4e9d16e
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/drawable/edittext_input_pressed.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/drawable/edittext_rect_input_normal.xml b/PersonalCenter/app/src/main/res/drawable/edittext_rect_input_normal.xml
new file mode 100644
index 0000000..1cf32f8
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/drawable/edittext_rect_input_normal.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/drawable/edittext_rect_input_pressed.xml b/PersonalCenter/app/src/main/res/drawable/edittext_rect_input_pressed.xml
new file mode 100644
index 0000000..9518803
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/drawable/edittext_rect_input_pressed.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/drawable/selector_blue_btn_bg.xml b/PersonalCenter/app/src/main/res/drawable/selector_blue_btn_bg.xml
new file mode 100644
index 0000000..6b2917b
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/drawable/selector_blue_btn_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/drawable/selector_edittext_bg.xml b/PersonalCenter/app/src/main/res/drawable/selector_edittext_bg.xml
new file mode 100644
index 0000000..105bfca
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/drawable/selector_edittext_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/drawable/selector_edittext_rect_bg.xml b/PersonalCenter/app/src/main/res/drawable/selector_edittext_rect_bg.xml
new file mode 100644
index 0000000..ec59d78
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/drawable/selector_edittext_rect_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/layout/activity_chage_binding.xml b/PersonalCenter/app/src/main/res/layout/activity_chage_binding.xml
new file mode 100644
index 0000000..d904e1c
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/layout/activity_chage_binding.xml
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/layout/activity_change_card_info.xml b/PersonalCenter/app/src/main/res/layout/activity_change_card_info.xml
new file mode 100644
index 0000000..a2cc2f4
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/layout/activity_change_card_info.xml
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/layout/activity_changepsword.xml b/PersonalCenter/app/src/main/res/layout/activity_changepsword.xml
new file mode 100644
index 0000000..aaa0815
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/layout/activity_changepsword.xml
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/layout/activity_electronicard_phone.xml b/PersonalCenter/app/src/main/res/layout/activity_electronicard_phone.xml
new file mode 100644
index 0000000..764491c
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/layout/activity_electronicard_phone.xml
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/layout/activity_electroniccard_validation.xml b/PersonalCenter/app/src/main/res/layout/activity_electroniccard_validation.xml
new file mode 100644
index 0000000..a53050d
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/layout/activity_electroniccard_validation.xml
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/layout/activity_forgetpsword.xml b/PersonalCenter/app/src/main/res/layout/activity_forgetpsword.xml
new file mode 100644
index 0000000..88d1786
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/layout/activity_forgetpsword.xml
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/layout/activity_loginandregister.xml b/PersonalCenter/app/src/main/res/layout/activity_loginandregister.xml
new file mode 100644
index 0000000..0c3d992
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/layout/activity_loginandregister.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/layout/activity_main.xml b/PersonalCenter/app/src/main/res/layout/activity_main.xml
new file mode 100644
index 0000000..e5a4f4a
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/layout/activity_main.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
diff --git a/PersonalCenter/app/src/main/res/layout/activity_registerinfo.xml b/PersonalCenter/app/src/main/res/layout/activity_registerinfo.xml
new file mode 100644
index 0000000..6c94159
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/layout/activity_registerinfo.xml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/layout/fragment_loginandregister_login.xml b/PersonalCenter/app/src/main/res/layout/fragment_loginandregister_login.xml
new file mode 100644
index 0000000..a3a1b5d
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/layout/fragment_loginandregister_login.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/layout/fragment_loginandregister_register.xml b/PersonalCenter/app/src/main/res/layout/fragment_loginandregister_register.xml
new file mode 100644
index 0000000..98344d5
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/layout/fragment_loginandregister_register.xml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PersonalCenter/app/src/main/res/mipmap-hdpi/ic_launcher.png b/PersonalCenter/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..cde69bcccec65160d92116f20ffce4fce0b5245c
GIT binary patch
literal 3418
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
literal 0
HcmV?d00001
diff --git a/PersonalCenter/app/src/main/res/mipmap-xhdpi/blank.PNG b/PersonalCenter/app/src/main/res/mipmap-xhdpi/blank.PNG
new file mode 100644
index 0000000000000000000000000000000000000000..6251078699759ca2fd4f7c5a16e8c43c52d760f5
GIT binary patch
literal 171
zcmeAS@N?(olHy`uVBq!ia0vp^{y@yl!3HGl{$BV4q!^2X+?^QKos)S9a~60+7BevL9R^{>_Wb
z9?XZ=E}3MLpBC^St>8ZIy+t+^AD+F;JvZ%XbP0l+XkKEC@Q#
literal 0
HcmV?d00001
diff --git a/PersonalCenter/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/PersonalCenter/app/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..bfa42f0e7b91d006d22352c9ff2f134e504e3c1d
GIT binary patch
literal 4842
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
literal 0
HcmV?d00001
diff --git a/PersonalCenter/app/src/main/res/mipmap-xhdpi/logo.png b/PersonalCenter/app/src/main/res/mipmap-xhdpi/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..507a1fe708a895b8ec83b0ca0e33f15853061f59
GIT binary patch
literal 21643
zcmeFZWmj9z8#andp%C1P7k4Y}?p_>$1bz1K=+&&++Cc}CKS4o3eU_DxP=kVkzJa`NK|+AM!bn)QLP3#1$x4W7
zcx0dFxMv#3TZn2}u(%%2)
zYLh<->;Lz@%zk!9l>bJQ^{4RxCdU6pDIFtL%l~dmFa7^7{QuVU5ZZr(#>KTaANeCM
z(2DUpEL<8vG-#e13e@O$cpl+!L1SZVtcue##CEs;7G#soWONj}vUj;xGfEx)C-GRlA7VaznN|XV?
zY%1Q(RX3*p2^ZYirFd+9wodJAGgTs&87G_{9d*z>NP1fmP)8-_@Xo30VB}+>2K>A64t-e};ZzxeV
z+KN6jAs^c{sGy@f(JEnn>X9_sN!LnIGXAxUn|k45*Ri*u1*7W$wPxQd|G=fGRm_pO
zM5{-J_#C@?qj#Ox&4;@oS0^+6oDvlBSkZ9IE=gF2I={*xgP-!aU?wqPX6RxGx8KHA
z4D6qJ9Si)?F0(fro&=EGuYw&du2g5|@X4swxedYIAjC4gjYw5^OTGZ?@)UlZ{8CsmeQJ2HP
z;^KG5l4$E&5Ajv}p2HLGmowcz9t{2LH#vYDem@cS2NMY+zv_|Yxh(>Ue00J$QnpL5
z)a5JrhUOE+>uE;5lDL-&ObqCw+oh}L+{^G|T$x;V)Ynv7PaWQoap@8;kX!qntZ%&Hou^uov+QV64ReIdEtyWC)lv&(#Ah0o#w4M{)Uc
z*m@d&-of?xX)CDb{qWrL2{Sd{P^Pk@`%-`5T(fK1m4oqt6!QVqz~S}H>Wd3?jXFz#
z>tmRM`<7)i(|1aebyQVMRUSe%P0~`)pMy7ibj?fq(eRp_(bNmEZUVg2f0>{Ez96nf
zHSeO#=LR|mN_3#l65>+=KzCp!wE8Bf6yyx91tdFP(ITOK8OjvrE-i*5h)
z$Y@P|maqG39c;xlcQOvH`P9siJAK6UVNl#PfdUsR)NHm%T*MOCD~jiX>IK|7ZEgSl
zo6?1}2kRq&-?8qE5H=0`%{R>#ZO3abi-^q2`g0v<_C>}Yf2Vzc5<~1xPG)fV*8emH
zm46IaKoTOWm%{m5HVJ_BR4PLt$`k#mT>*nUv1fd;bb3azmFYT@hvRT(Vk2%yC~UV2
zgiR=&BWXGf+XStx0GAqZWp=H#uJpbtl?|2><#A0ISgBWtlFtCl2<_eOuhz>q^_}Kn
zcD*YMIdC8_S2e{~Zvj><^%3Bmf3||z+T*r@tZ*;q@wMBJ&rGo>#t7^RwxUImoK^9}
zEOdX~kOX5;p=9+*oYl&w+gFw#Ofy=JYfTwXk*>?#g`kXKCC=eLqk@+5$f=Nq)rm2w
zP|9Q*l{#u;i29YJ)R>Qp@2E{3ET)GE($(daiTgh*0|Z>9AARJ$2YfOXldfsX@Acs@
zW+D);=!#xRU;IRMufogi)hTjn0|iim)rFZ2^0<~n=($^SAvGANX7NF{JiOe?AbCIF
z#^?f)l#yQOsq{$R+Ux)Q%0Z&rCo_My(xIIlRh&nWhsXCB9y`McCn=8;TVuE7_~@u#nj?{6_+3m
zJtY#nOJiuJ|GIpCa~##JTkV}*(rBx2JfVVzk1C~7&~;>2AtY%8dlH5Up0`YYdnjpj
zeyl7m=y?4VRED<)92c@s_pbgivubb3$kmXJn(z4!=3tzZru}J4MgV&oZ9mVCSP_A8
zf$KW5zIa-?Wf{L;6i33(Xtf2rNrao$@16IU!cnj<{r7JM`3YkO$;(on$rPzU%#4Y=
z7e(wbqh2{&wgvzzU?Oy)5FSQTVR3BB3_rGFBy^yO{)sDq?s>YjkCFfgqlsMa1aku7emafRDhAOKZFL;iRVJ*ie-s)2SD8A+6
z`y8a%J7o+3Pei48&ic|B*lcY5!Ji#70+$roI(zecg-k5-1~t~^YF54yFEAC>qO>GR
zcjYJ!N2EW2G$3P0#Slpv;LK@G;UFScv?v)WV=LMvB!~ZDbE0OnSnQY6JhH%AY9fru
zWiihlA1y37PU+)F4DJ$UZb>5Z*cUP@9@1SfdRaN}T{0{JWz5kQL0R?|_=0I{tSf?}
zVfe;trLDdn(%<W;Lr2MpKci+Bc3cRw{H474C^$
z?>CHj!a)jKucHkd0_)-TrP6!J)%3Ui^aW!?UKkMG2SyBRY-LFa+D>K|(jv2zhtlA#
z0j`h@K__iqn7$s1&G4&7RVeQK*qrSScSx-&nJ%l-(o+QgnsgU#e&fEE8RC~&)@tMv
z?ld;%$|FjwUuJSeseI)qRFZrscN$`^m$;kOn*qNg!J9+VBo&Ib^1zbZl;SPFKEz@6yz1L+;hJkxcPEJqVdR)EkrN(Do4~o2
z_}y@(OMEiJpId&y&y?KuY)i9DK(C725(A<=5Tl+K7NhPpvxasTm3nkE<>(y
zkwM6#Yb)qmCbQMh1BDR)^|O8^YQvJ4u59DZhh#~~g25Tr88#DECOlb3i^;EOz2Z;L
ziEF;PG=>Ac(tiF5_jo%jhT-Q>14snW&?5i>dGn$)Hg>cG$8v>%QGfPFalLZpT_>a_6Zg!>GI22!5SCSbfsFO~!X_Yj4&Y@xstl0pod8~oD
zT2j|vW;1>M+ftONMdfx&$l4V;8{uyNoGqo*H0+Y6p68kr{DR_thIXVWK~69B>aDd)
zn+r{)O(pjVoCUg|BeM$)o#E&ks*8wb>H9gaW+Twj0h`Xh{?`F_%#djzg+GsmAxEjW
z59?;B&x7idlI8gc-AS8C$va>83)7Znecx$pX6bA27P{FYAc)fST$0E6k#o&^hmJ4m
zp8C)?y
z#ss-=LyIr1&~YTfp=0H{oiL$6+q8Nd9_x55jKrF6=5Y38^%kh5{>_7HfO73vz=NYO
zWx}^mbdcRxXrTN{NA`O)lA>I*11b|s$FOW1?NRwJvx^@ozs687G+DLjU
zY#~l?xtp?Cv|i(<XgrX_s>jC!u2lO3}mqcxI>RRbnMZN)p9=;IqH?%q4
zF_=9Y=B1DL{`YV9kI~clwUfIoiKmD#WSq4LtDZn`@uJbMz>zBqG@crS3KWIp@FMC~
zjX_)!t^(gf^S#TuyI!UN
zJw#2q85kSIel-es;BpSXU4nm+uU^>fCOmZqi>n{)jR|z1m1fB^t2Ox
zxm#FlYAv)@!^^Y@_NKVrbaP?qs+ngoK0XyDC-EWJ@hl0b{<$-!5H~3Fc~ZG>mzaW-
z7sl7pKRF{0M3bG-p{k2B3^Q#0Xz$B{tgS$!R5SJ}#?;7*F`^JOw>nFp>csq}UTG1=HwudgY6uGl#
za*wnqoEVvYn8z8yt|E&rwU88KFJp;FLFXX;l2P#V1ZdGE0<{}B!f(*@0^IjA_AVPc
z&UFWPa=Rr&@V77h|KnJUIZv?yuva4-LyE((QhQVWme*H8C2Fx!5pXPr;S9f%S$GJN
zKEq_MG+Hs0*To-Bt;G@Kz0>P`T;la2_i_<<)(8WCq)xo1Ks)gaWN>6bJ~Vx0c@yyD
z+j`asoPfSda~%-IAZV+^bVN!w_5Vmdv>LsUv%{Q$+oNd$fE^|{K7moMjO(&7~MdG*+)!g
z*QVYQ+oOu8aR75W+vd*I0RQpwEMjX^VdFC&l88q|6N6)YJc^zqgLb6Ln}Pe2xZ|V1
zwqm}Y7lb3p29xzQ`$2}7~buq}bZP<4QMKDEilbvx*aGL!YLajW#I--r;47&h&lZiXDj
zU<03Uw8&NMgEC@Xb<~huZsehN;|Tv%xg+_pjkIL;uTPJy_?(W9qJ_r@<)HNJ@%^04?v@zvp?8xge@CYG0+_V>N0n2c4Q^5M+bHE%KdP&hg+r;6{9;I(X@chgo19>0ONC#l=c~^
zNGd&*NXS~_kD}eO1o)Z(T_{CNUkZsfeEE_pO*!I%a;{Z
z{Fl)lw&xlnk%4VaJ(&!NjnXJ5YQ&5RE3Z>UHZ?=EH%>IZT%Ei(%g(>U+|7slxHIqb
zddRujK_9&}aLP=SUarJ9k7@D7(zE-m;oTb!7MC#)#_JK5D{*%W-x`(^%`rtbXz+RG
zbr?BUp%N?`BO3R&pT1*;Z^yTYJ@~jO?OJOqc1Gc(Z3d6P;BjuI1Qmlr7pT->b}n&g
zf<)34cl@$2GeNl_fAE_teON;(*d^a}5$@ZgC(7UdR!F64OjKm+|8N4o&G(NAthIghK$Ht4KOOX;7oN^s=KoEB`Yc`xI3;1Rb02sFmnEj
z|G<50@66|q-p4CHp@d)!l^-Nyu{(XNhk9>%q%7>zgt69nZoG{`Pt!ckRSdv~-_vc8`Hg1Aw=cZKpMpr%
zOMUiqceP($fw2@O1Y$(GmYuw-!!vQIK+8>ks|Cl&X};s5s+iT>T*VN(XL37
z$+B=-&{9>R)FiQxxVN9{5vN8dW44dmOQFGs2fA=XuOC&i$k8Mk4aO?RudTuDUgW-i9!_~P_8MqkJ+Pt=usCQc78jqv
zu}do;`p8Yl>WN6k@FcGJnr2v6SDPolu2(t96E&7(KUR_3C51aou|2c(a+Y8l&eyZ^u0fic6L)A93_
z&6=T7@0|&dv=PHoS;dg+_-0-G4vh`d0>^&$k~*I@R(dONyR;r%ELS!%1wSKnp{5Dz
znV6tT%h!UZ{0L2saWN$Kfv2DE!pL?aEC>;DWSNQ`&LL
z++KA_t>2ODaqVh`6ayQV@A_I|PiUtO?_WQ*RC;2OiUX_ZNMyC8P;E2bGKKG3JI6je
zB~sK-Cy-uSXdxa7U`FHyXi`NSyU0(#urw^ky0w-^M)f~vUf`@%t9V4M`e1}E%kPpO
zdtd2f>uX344TH-i2xCelu{))9BXEKPoCbij0Ef(+!$%icZgiAfY{xzu+x*
zq=y4X-~1DU-P^2W$aI~^tK2sX5*`rKE_q(Jvv7pf#j3@S$Fb`>qP-eXyvhwp*@uQ1
zQTTn`cZ)D3<0_t&SYARM9$r!3_2Rjw1qB4fpTDQZgz
zCrw4yzCsF>lkZi5wC|T~N>BsjQ;cEXB?HT_XNMl(l-CV)8onuyb8w(Uj){H|IRlO-
z3U1qe<%*K~Z*s2F4AF@JD{gVBkA21EjMS=$mkiA=*sH?^^%ViRi59FM6FjBXFA=;#
zT}#JWhaKDz=l-5_Dl4If^;d>jR5*A28rxZd=Vm1>utV0P9SZ+35^i
z^@uRj*Qr-l4&kRsv#pZ~9RUb!ptiW>N6OVz06G%0t10MlidePHvOhXne4Y_HqD)d+
z%8I%CD@^WnLLiZ6$$B|quF=qZJT2@9D>=h=7R)MFAMbEM-*4$3X=NjtNoBV-8UoAV
zpo9;^j>D^C8EiR5)&2n6WdD;R5C*
zt`@WVqSd4OmKg+gJdr1ftxdr}0E67H*NeKkZIl<7ZGimp(tDQg;7IDqcGPu%*a6Xr
zI#*|;!RwLBd)YQxsOn8oV=mJ*liczLpLngyofY`yXLSU%-kbwl&+Hg|s1$z%RDx8L
z?bpyyl(#sohk5v`02g_bfpX-!Tx?=~-~cSKo%knwt$e8(`;@_K2GG(L?Y=Vx2Q8ts?8{-uTx
zDbcr~=^Ld3k`-hZU+?n(05SKDflBwFA_8QYwl$Kiwvv3*
z>ou-BfcVSjzNz;qE{*Il1E*S%+@C;Rk5nC$l@s-bsLVLAD1@eLsY3x5=R5Gl2N(WlNg9A4dNHWVnPGbOspjYT@`#7%1D(UP(j>6_#O
zO}0Va+rXp3>^}Cl=i4|HGf?FvoCLYk^-DvkY5^#C2-_67X2SvDkf1{g*`H_iKhU
z{qsb`J00biiYADQEDJVL9?Ry_9t0aA4oB1WE^nGw
z2_Dim!oT!8Kv(!FNEztbt4Tm#u5S#R3D%eY{%?(ewBB(+Y5utlsM(#pwd2?Q_J2Uq
z{?YT6uTE78=BK~RnUl#UUf!QHp%YrODQzE9IJbFR{BB{JeUG>cE>aZyy57wjh}iBp
zjLLiuaV-4REZVXM53HpN-bR#H{u77nec@++B^;)St?U~`1X0t3!E{pMvA&^f4Q@PL
z6N?q0`WCuYoz%Y4fh+lumzb$m+i{@EkP9;qwvcIOY&7cWm5k^IAl32B)Sk@9mro=k
z5>(PI`^}vfr;$DXXKJcin+)OGmq7RPwkE-npHoIYpV=i2ILCwPQc0*UcU$HoPW-oy
zjz6~Xq_uj=$U~xyhki93nJ#zPHaA!dnA=Qa|GXuR619g3o^gmAU}#=z0vkh5s!v
zh|cTZ5ywdX5??vtHndAJz`5zhK8eLFL%}l~ds*2bAH6yPDy_a4Fb?Oqf`X{`zd2aT
zq|f+s1K-B&f1GXk$&~mt5hBAb1>cPg>dNiOJ*4nR#LB!*f#5iV-{N>cjavY_o8~2?
zTtiU^qBs_64?liEjHi@a8-i`=d6!M0k2#RgvSEahAfM{&8q#q6*-okZgw!|hPA0(Z
z`KzntdLl#gayrGpD(77&8>}OE8SK%qT0bEhm54;eiXYukc&7$Mh2b&dw=}&s@za+XR-SnEk)U>jo1Kazm(S~-?b!*NEr#UvGGzN;R+eS(OzwEj6)j~)7q7B?>*
z8Zsvy>!<==J9O=FqO=|z|8EvxL#?v7SOvo;@o_11@kTg|!<74PG4~37+gsSrw=!i~
z4i}EC{1SSjF7`jlNsq|BW=I^uU>pP?Fcm-(o>dB>e>J+0>M6J%`=p4R4rkV9!u*O
z@S>U&@x}oiM}Z#0J!g}I{mjtg17-N&hBM88`2bU^P0j9>pR?hn5~O>Kj|tC&X&W+~
z8_IJHW+uOtCgX9;8A`}Lm)lS+B$Y-6qHjDaLUu!AC7KsyU4N-nIlxVBw#~YUSL?!J
z@irYqv{iCtkoN_TnEe=gVt+iMrK`66zSr(sLu=6eC_#x`)5!BFV~|EVZ5e8X_nyS~
z+d%7aZfv}0*c50fZ5(UK)B1inCb=LCW0Tx+hgj&<@5D|8lQ9V%I=T{+Z)ui_1xw#l?Vo#FIgrX&I?j;h5o&pd|j$`)wQOG7?
z%-YZ~0oiN`0pgdj;}6Q=*!d+~7PX||$D#f0DmW-R1CfgWjm>W2ZnQQ+>x1o>hDiC<
z(0;Eu_TLlPD2fPl##qfKh5vq8k00&C85cb3SNVjO={DTJjS6|rfIcjFWbSGSkI}==
zga2qZ(!RPjVnM)<(SksXs)AeLfeoS-bwE!4w{l7_aO{S}0iLFl+`_FWc<<^hBWh
z+*FO`b;Ze+q;nW5jCm%8KgV~#ZUI_!cd(c|TXDW0mUJe=qIQ<6K@5oTMlCr(^WNL<_)Cjq!+ioY2zUiU{Yj9z8zJwc&PNs{E=)v5(0hcH@w@mH-U_4o&XVh=t6qT
zj2nJb6m!sxWm-g@Yk%3Eu$s*j@l^LeaUDThNsToPipEg1`kr|S-?yp>7sn*!VH%bG
zy+VVFCN%%;8I#Z54}BJKh2*GWk!q~;II)7G%9fbC2*Bn|nmL>s?Ej%S!b)4`Ek@ST
zCFTA=5yT}Q(b8S&!VrkvfDvAhJ(2(
z1L!65)yaxA?|zqZ32(=6_#w3CQaA8)7-RbzyQ8^4c+0N=|L4>(ryR*MIh?Ozn%Mj&
zL2P!Ydn|2>NKvf2G%D~ZbGtMZ48?GQ%(J!u+;XGy(VnTcVQG~`1W!kUIhB?4i;rQr
zcN7(PxLiZJd|D2~W;evTfwTrta#1oR($N7ck)8?+eND=3_+<}=KaD#X`XI9=CIH0w
z*jWQ8Mu!?~sny@B%4%>GVX@%5>uT7v;~~TmTKx>7I5C{jLFy~5U7%Y;ZAgNe}#3HEt+b9MU-Ey2wklk
zqxUm?X4R>6PKw-eeol)_EW^4_ZSr(ngz?)Ot#_dfWpI|BHpL#QR(aY=+z_&!l
zj9r+SXoXH^!#;)uVs~`fSYM%m1y=^bMr+?$o}b>iXG=jTl}!z
z@z#cw`R|A5U|p1`Z^xA~Uc@Pb5txC>;Tq*CFx?3-Hs2Dbi)c~WG_9+s@KlUVG54~m
zeULJ6i{>7cM}Adrc5C}vtoR^@gYd7e;W^Pf&!ir&WFUvUA8txW8&9Km4wJF(rL+#UoR=%~ET{CQG-{Y+$!R%Ld~g4KJ}DWjy+i2f|dS
zPl7S_&1^_lza|H{5j^pJujTM01m}K963%;v;maYVctq3&dK(ox
zzz#uChgJ6N)RE`_f4TQO5xEPAq5-xJ>T&N1I}s_7$_&pRk02UZ(9-#ic47nD5($6~
z?sd{SI4mk=xn1e{tN!0C4{^1}nC3zsZ?5`s8nw{n0%(gHIqBpmN^Y_vOV8!*TqGUL
znbbK$miGxpZuzZPe}K5DVYwOUOw(DC929H=Cwi3kvKReFcN22w;VXeP=RV0G1AS97
zidM_36gaVC{)-03;b(1)zf-%|WUIIA8w>8q^H!J|F9YoUTNPI%?raerZ@BH~Tai{7
zr6;?H28q|OR^59(ggC0#?B{bjovd*#Ea{l8f%%_Gd@d6Y)i*zB8fiCdsijUto&=TI
z5^F{o%;upbn81}8Ds6@KXvn$~oE|#-O?r;oj2Bin5E(h1Io&N{iho^4ZanEmE=_SI
z1tZT^ojJaCj=}eM1+rw-GSpo_7q#b?dTPRRoeYnIT30y!ss8&)ZoDnAE#lo5CRI}Z
zHlWrXw-MzaB6ZMyFb7*UTX`-_UP#!$ql9Qex&p6b88g#`(tZGw%r+*UXLK30_$D7U
zFH+a00aJTEWL`D4d~lp=ALv*sQltF#CtTb9{NQZ;$|h6;i$$vbb`6y9Vw
zw@g-+={0P|2n~u}dR&bQI-kFDge2yvNg<)HTKczg*W+B{ec-nlTvRYK95cSEs81SU
z&y6>{1wpy@xX)<@$^W4qUTg5
zaatK!ekivZgzw&CdL2t57|KfGlk&Ji+GqXQtgy6DmQ2?d&Q=Sv)&TW$-50BH3lfAR
zlD{JRWF0~#hnExY3w65_8$<-s@HJYXggd(g4o&FUv$_V*TVB|YaL$rq{1pSbbKHD=
z7iJFOJH>U+w+cZ3`fU4m5P9#eO)SZ%d2+XKat(sz6Ifb@h$(CTmgr?VnNN-a2eyNukG?kOc0iv
zQ-B4vXdX%pf~`|PrW&76HOozyHM5kHt(JhxiF)~D>Bqh)ujnR(Vc8K+kLuDT3&&mj
zK|TA!o+nczwmcID2+|FNsv>|mu($~v&Qkp_V@e1%U52ZRBGoycg9V;lh
z8~OR?J!`bk${{FWIZ`IN-;4x!iVLgb8;kxIs{ym53Q$(VZ2tivw
zA$}2x0qN|e=_B4p)FConw46H5yZI7j*l$3M$-2U9oShK5;D#Dm0nt3q?w8lCw+!T2
zW412VdcI^_Q>pt~-FD@5>t72rP9LgN&a&^mHG9lo+>@Q|S5c_ueN(A5RSW3(mqHIQ
z@U|~~txhsM&ZPLz4@>vP273@$0_uUo)xI}6K1Uj5h00Gd46l7yxVc|1u|
zi2oFIf&g(12sYmADM-Fl*HUZhe<^v)L#g2yCQZ4lYt4CX(&~MXE1ll$Pk#%i3_rt@
z^dDpzAmT1pE2pcV+f($k*ZhRWH7FOkhx<~$E0zntX*EOOtxR3el#wBd)hO&3z~LO=
z_HEeI$ctaN3zNWDmsD=%ea96%3$%oQFe6dZ9?D^bU^niK5|k80MXUgu$(aE5vn*>p
zJ~=uAUQ4#2WJ9fgwGaLeM>=@3OwN%pdr|{Er5EGOoalmh_Uq6Ayi8zm_df?LEL5A#
z@UuV7`z4xi%4?66)HdB8eGcDu9ysIpTXr|=$yb4f$ZwM_n`83MDN#e^rev~_TR^K^
zcD9!2!TVsYGG%Hr1gjLBD-SS=M26^t#D+;@DAp-3)gT2bj&>$LzRiE@peq(Q;$$9Xt
zY0Gq;wuoLU*fFT=YKlp)iSq=Mb$Di?(S9RzYT;fmWbyitWJkr(V=o9>C8*_IH^Ioh+
z;Zo$+O7wi5uDaC9Xw81AN)ILJDotnBkRQKAhe1>hDa2Z#=+6_BbDvaJQ0F5QSHz1H
zt4u)6_ucgd_zpIdbzyW}b8gW5;$ZlJ<2!)E5PU9nmX6|hG*$OS{CZ-ek}PVz(jw9H
zwT9kg2MCyDWv~5#i5>D;#A<>CO9)e#id{xwC*p+fq6p^jn)13GIQ=4X(9|_!;Kej+
zo8^c|7%}^G;roLamG0C}S#PI?J24qEz%H@JT!;xN)Vn!103AM(WWzjgL_LTezj#Ml
zQE@AWjG?o{$S#={$JoyhW_0T`Lt|cBla(3=>NA7qBz_D97X}aP44<9J>?9b(UH|Z5
z7>jBm0S~*>NEBHSKo=4}GE?T*>p1Z;$JKg=o(o_?Fc`0s#;qJ(fJdcI@2hW9LAki|
z%Z)(7#GS|bZ+hNKxO)NNW_>J$>0U)bx=qTCchxsn^=DiDSU2D7h8y4pWv=KOEpkpa
zGg^c@d>^1C*vcB^_NwM#I5Z6a0w36VABP|$lj3HMsD$4oddQeD1KJ~S13B@F5oxS<
zTHU(yTIj2ZTS}oHJ$Po=>`q&87=}1q3#vy4Pz_?DSAnlQtl+x?K
zGK47i3pdkPQbpm&UJcQS(1W_fe6}J;k2Rw?X-P)r9DeKqd;7j6oL?NG0gTf4P259e
z9{dcWh`o;04d5`n+y{Q(LPWnLI0Cm50f*rF;AN}X<$%a^q3dKeyDF<@tXUnen$^x=
zB%Ak$-zU1CG*v9X1)On$bqxlVL+iw^J1^tEM9_xA!2&QXRwlJ${*$*3^PyT|Z|};x
zN+WRsY!Fp}#^W%TaZ<@L-8IzZw%k~=RxK=AESuNaI#U|xUo=^_5raCX@}M2
z;0gb--gq8X4h1Lz&>4-W}`Cs<%U?
zO0-sW?5FRfe(Ry#Sbo3czM8FEusTi0IS{V;n5}+yRr;gaDJezoB#a7y!qJBjdv#_{
zQrlb3IB)@w1eeE54ITblOx4-MZ7OEqeL>f@6QMT=51Uu2A)*lLwne6Uy_0^0Q?5m!
zVqFaEG5^c1^-!;I^|{4g$7}yR!`+
zG&us?lNZ`iMEA*W>bzfbT38`Ap|sS7=8TC+`Y)pkU|`QZpBbJ6ghnz))>bUAgD?=o
z{j6e)^#&=VE}x+rU<-Ss59oTAi6ii50~WFEBxVeJ(RZdv#5kQ5NB)Rm0|$3uQZDK)
z#n1kYJ0MsnBX2;>Zd3E2>*pPqq(wQ
zz9w>~ewx#bFrqNi?I1rJ9?g@^Nm2UlOB114NegF*^EoL8vxIC?D&OR@+MYuqc+T%%
z7oXyx_rcdmo;H#6DfI$v^sn$K)Y~LLe4?L`D_=$2n&&-LnEq6FqOl5-Sj)Y^RE*`4
z_=%dY%o~R1`X^3xZH3~J6`h;XA9S8#cEtmv)Z5GKEobBYEzWqkH2+R~Y3SdlGp}|N
z$rMRx;tslm<;Lo|)la3@?rJ?KuYr!YIo!a%`U9^!Sbqag0S{4#y!@Kx+HJT;&+5?mXljvj-zpGb(;~dD?PzccpP1afLKruk
z3#pOVeZMJB%uqRL8u^3t4Brh!ZTc^$ymD7-1=|r2d$}(5`M*f{uBTLc%pQ%6rq7u@=GS_8fe1Xm
z7`&ezlBEPw$t82lX}y1~9#wPb3%1VwlNf#D>}o3atTm
zeBcnX_1a$Sm)1h3c~!4|RVqLH^~-}_juUdfZCY*9GTWcSdsz|S4nb4!GSB*Ih5y{j
z(;vr&1sylR9PbaNsw5#@UIiH;AT2~Q5!vbx*5MN-xc*P?^`um4z%h&Tu~n0+MKG;b
zBpxFNZoQDpjXouXJ8akl(fpDED)h9FxFm}vS`V2+Gh^gakXmkbV^#A|hqu@b8F^Nz
zT4+8QolX=_Jw-w70@$`^R#PgyCCSCLd{g@TL5a6oh-4*3tmL+rKafvcM)u8&|8g=7
zGIPdSmY(nD^1QSx`_)Mv!IJ+!6}%N*3_8_$ojQz^%wj
z6%;>|CIy(992flxF2nS!kpbDi)@zP)ana&d3KN1>Y;OOV&ya7$m@!qbijLR@WQ5*{
zk!1L8qzF7PhcxuGU_}Vr1X@FDS}Qr#vmlS4q3YjPwZ26wTcrbb!>78ms1ojeoWtg3
za?d{ph>?B&6u6qXu;Lp>XUPZQE0kfXdVda2HN;q7@GE1O3Ff>_Nf9ydPkeXj2U=>FbG4nwr%ae%lEJ7yDGyMXQqXDXpm1EUowubCWtj
z7ptK$CgA{O5{6GEI3rG%$e^DLHd0x5h7y@_&3wQ~Uk%CC53OyH=DFh1z=~u`sJF=8db5JAk0)UURifC+4XJ
z=?t=Ck;*owGhP+OhoO*fqHKr$4bPx|Bu{k-_g~nPHISvzCJngy=Ukq_#0yP4ZSzUJ3P@tqg+kwS}$ycwn6Pt@NYS_37SV2kfq@H7J
z&^{1_L#*?!at1(fw)FFJ+(s@kP6f{Ji1Q+&kn6*^`4#m^^;WT8G*y~QJPhgvJeQ&fU;b?w1A49$N=V+s)ab@zx}&a
zT_f#&`KSj~3V$zAnfJDxGq?pOj;tgEEF$C0-T$MEyl^T?7s6L|#
zFAGD6m@RXc?pzvji49q8bc7P*hXDf5Wg`;KRWc<1k~x&E@}44)ZF|6xYYBSaEOG8D
z@qvBb;mwhoQb8_O0pA-#IqOX5P@;mO@
zkwQe=enZl&@bp5W4`1&3MXWWv58Np=(cJEqo#X!ok2t32ikV<)R;vf17rVJGq2Kl^7f
zIk7~2aoM3io*0EGP8Z+X5}3gKqk=*6bj#WNFmIAmjj5r7erpx!7gofHdv8(KHb`Bf
zDbb5Bs*Z}}OFzMNA|+kXBEt{K61McLf_NRWV)P3RVV<2+j~$3}puAa%`@#7`k-@Mq
z;a9h1W&m{gL`WA}FaOR4R-vh-q(EoNQjZVYO)B0ey^qIFB2|2GZc6r)wJ+X`fzG3z
zJ0i;vdl+{|Gfk&vjFOv?d8N?>Lou%J3WOHx08~2}gzDJ!s2bv0-0tf4pkGZ9O&i(_
zV>|lLN35y9YTv4an7WwTm+m}M?|aC3{zyAG?^}aG=51W2wELSk}1AG+45##2+d{CpkGF=BGXzwGc}h`4NjIzDD2UbloXGO{Tew}|2G71
zLF9-4)&WN%**#UAoqzZqnwo9ZLcR5P+f$pS`oQz^Fvbj2q&|do2{`Oy;iLOZ{)#S?~EOw
zgPajsvo&sEWy{%~D*fw1bj4}91>Eb-ZE*9tak<@wO4MUANzM90>>e##Mypc)>pZzS)F@I&9$NmcyycS4qfL$7c>zWS;hii
zzbjw^#N48_zSS|h!(QTcDKk`L+Sg_De(U0;RHK<;qqRX&I|
zYI-%l1s^+YeSSPBzfQAaE};z^!f1DBx=u8}iN+f>R6z4^+-D;FUk+SsFMrP}=LW^)
z5)6HxChXOf`8~zr6sYH-Rnx#D0tJQ5_uu~lY#_m8Lkpq{m^-Ns!9^`(e}&l%@PI>L
z1_^Kofw)-*p{e^$B}0V0k;+zRXx;gk+H+%_Y9y9jCPw
z&VHu6y0#M##~X*c_p((M|EjP1uU++73DSNB>40(D?IYL39#(xqLChTPO!IiN=s$ua
z8e(!4s3b2srMAxaG9xByFKqWIve5bpnW5@PR1VRFCml<8
zI=ccr3`F%aH@4OC^2aor^-vR4&69K~@6}fog{bP{x@9-M&_RzVl2k+jNQ_V3$vtqe
z_`l@yKy(}!dIJX~0ZhhTW6OLOhoK;BJG5N_he4isvKImLM_Fj$+&~o0-4i`;Z_`~mIyYK5g~L^Y
zZ8PhVun`YYvc-XjP~lQ^8fi_O?340XYsWdC
z_7nTLq*|~Q&t6<5AL+>*Lk~h@{t2$$Re08(0$-;jQ=2fz%@mAjGas`*YSL0Bhcbr>
zao*oE7dG*WHvMk2-Rz=QLmjo~_xL~m$awzRzwvZ|>T_C0@IE}feJ^b@E|Y*~M{5oD
zFYEGl&sw6rmi()Nfyh5(M~lm$^JyR3u?(X~t8s>BbR(m3;ySq+n4wQ;93nN?wqCUm
z71;+mrX`OL$BbbB1Kg#hnQE~_Pz1mcH4i<5(!_M$^wG66gmeZ7x?FZ3eC+6j8+s9%
zXb3)1&%l4>jPt>(aTXGL14cPw+VOgv`UP2DiF^E?ZqECWt;TKRMyb}US+%QH7cpwK
zvA3XBX^B;hYHeb#s8wpu3N=#{PepC=sJ&~pl$f<6)J{m=^L+n|_t*3DIrq8m>$*M{
zU^<$%v_x73-KOmRew`3D393g(}F{R8GAf?7v%M#Qn{VetxZc0IcL=
zaMNKqO+UugF=$qe%Q>1sr+(^3+jmD2e5&h3A+4ddt|N@e9A5eEweDM$vUrwr;}XWu
zy@WowG8GM_>;)m4z8Bi75pa8uAMpQ~_=F{pPDAowxVtg#7ovL%p*;OpdY0G_ru~D-
z*3i%BcZyHf57)nLNbUS2In4jg-BZwwA?=LCH@e68cX$LKXI|6Yu82tIzh30g8C&;V
z)GX3|1mRoQ!j@-YO{1rpEIv_VFa2Zwj>Np^bId^%V9AKPEEwK|Q%qcaRZ9&k^j5^7
z!G^2-GKm-A5litRuRVgs9^`6IhM}KU(zcg3TMDK!^%srwFROJYDtdS}_*3b6p8P6Y
zz%<B3Idr``$%EJ8)M9I+2Sd|+1MpqG)jv060*+DHHG$4VV=`l%jNt|rkJ!khvP%#h
zdkwYfbS^kv5fm1%LFb%zE|!p~q4^V0;sBpo`_H8^rmMf0{4dU6)h1mwSKUs*zME!q
zqm-pzTy?lW%O?S@x;^j1;j4DEL6z-5Ga$PdWnyucB3<*bGUH0;asPvzqGffNrwq;4
zu;W}n0=A?c5-I>m9x?guSA{N(P77?i8BqE=PR<#hyTkG}BxZj$)|DTQ<@xvpNlBGY
zn*9MLj+B>*t-P(h;r=YMx+#XN9Bg@9Q5>j22`SWBY<&{nddmLB&iU&kFe)S>_H7t0
zRti~E07UgXb15)J>cvs&tJYu+IScV?6x~l`i8<%F;pO=JWTS(AZ(mMm*9rNI6<`az
zp>>9`-TH^k>b5^pc2yT=1W2MY<3ghKgn%DosqUVeSGKR)Sn8iTa_Ud7IXQ<3tGLPuAk(tn$B+2
zwF{!h9c&ZjxPKiSrGHkLP%GtseHZY|Ao(QLmkX+KIQ8C@FPLf6TnfxR8M=mI
zfRc^R?$xL%h|?Aj#uAO`%&*vs^u3h-7a1-{EkIt}S}Gc)Y^NR%-G5Y^JtIhH
z)9?MO
zI^>=)MPz^umRwe{f3iL~74MW`X8jTxx7nkUq9MF}TT)`GD72ef78784_$X@W2UV`_
zHU!c|0F$Y8AK#j=mkw8>
zgS4hf-O8oGbJLhgai{2p49&8~-APm4zrmPu*^FP>^HL4+jvdF+0}Tt65#@P%zGe+f
z7OcXShO#Hqy__J0U;#to)IC_?r9;~_+KmB)Xz_l-v+Yn_1ce05TWPZ9p%V2#>r@oZ
zihOO^r)mpxA%E~efpPg*+^->Bi0{}}wf;OXst@1os_xfhJDXJAr{G-SU>cDlUwAUx
zkdp8p+tPQPo9%5NP4lJS%1@}!TvO!P^l`LgwNTi(;&-F5+l}smC+Tt>l*N?A#$(y{
zQ5KnpkRj7Kzx7w`FoY-1QWQdvA8UBJ{1E^#uh}e(DklP0evk6eom*E044g2HtGnlq
zqJJxAo6+*EynUYXT%Pp_nSFUq2S`Cen%ub$mL7SU21f_Gs+vM-?JOI1ADPf+ShI9#
z5uOzP0TJn~CRIom1@$;sG!H+D`0KdxbHY@?`-d=g5=1Coh|b)$@R4kCxB$)vtiO|S
zy42RGDlop=@&hzceI!DaTa__c_
zWv;V7?aMKo(41KLrP1$vQ)<6xvE*yG;+(Z$oSn77{$^+(@(5d+n0(aYv%06jqS6r^
z5Ws@67(I~ed1}s%7+^st2MYl40SLbhS@e_CRq3MxCZ#NZ9PH4$(*8}TG~;7rMO7)t
z=s(4u7IRMD->-88Bz;F7(JCIZt{`Ic+upn+17=uD>3tY9^7zjb`mf@#PGX`XU8V$6
z(d$J64azM$9;Josn|CWs~BFFanEq`_b>!e1J3nR{aOasDNBl8*^(kfk5=C7Y*u
z+z|r8e4Cj4$>FmpE6?>&0i5ZsXE#X-DFPm)noD?5-p$?>(L_HQp+PKt?^;L%<%!wK
zE-wsdBj87hiT4RbUiY1rIF2|UD1YlX*v(a>8>3_{0iphx;L5H2tc>CiAK(f;#wweK
zFs~U3jkqMQrkq3>Pf73pmq5Aa(UqI|tY|{j#9IjD^oyHKruv?XLqQ0nj<6MEp*024
z$-=Qgf@~-J^>vi^Ie1tz#iWomN@_1SVI2AaC7CF2`Hqo3V)WCbQDz-RqIF}U%_xTHzV+cegTpv8pqhgpCVPGN)-q^m(lvTmy?%+EfZf=jCDB6N#i>8I!
zrJe=;FEkvw-5EljVipU;4-YdT%2zseb5?P3y_M2cem;3LftK~QZq1be4YMJx!|md#
z+0hW3wM8{g3$d#1%bQ3SC);bE{02qhW+*s4fR#po8o21S+(RGFCRH_wTfXJmOmlDe
z#Mw^AEh2h$^VpQ39<~eTP11mTSAI=7B5d4;4ELN-C-;!kJ#qRi%nNF-{vb7XvTiWC
zTaX502*wH)Pae@MD5a!w0v5UQpp+Hyp1Vj;ARh$N01l*S9IaOXPXnK7@>0`@VD$H4<(^(}3tK>`o&z4l{;a3r~Uf)Gh)|O--YN
zP=*793~7TQY?Uh&lEZ-+-+7*GVqcf}-m{${#|`~%+p{+~C1=&(E0xmW%)4i{EaFm+
zkzPFxiSVV0#|TOtPT;!^Nzg+P=`+ll^dn0-7#j3-YbwK^aLQZvil>L&^&uMIHo|%O
zd?{^n)YB^0a$F=}t;G)5l1YzYjh-e0zXx?!dDZBFU4F)Amops@u5=I?XG1k34`yL$
zPd+8E^ld|PN!*nhtQL2hX-3<+JWrJv@c)*$@`g!cBXw4HL+Of5F|+=wORKKDAu5*w
z7q%SThewEL4a~5iVZP1ok?B;agGB_mtI*d&)
zUWh5RgYbLdl!L~)>w5viSS>Dd6o{sel6!@?k%1S_1l4M}z1`2~8^Rqzp|Rf_rL|7ADqi>`d+m%h
ziYNA{8Ls|A^XL=K2=IJM1OrZlE_B>=x>=IfQo+)fg{oRb!AwW^NM$$4dBsD3{bunf
z)ByBz1~^F#P}bvQqz)>d0=ntyo}X0Pp@yJSu@O&P0aOF1C;EPz%+^t#6>vBfcNMBi
z(CBy1ujaP?kqqR9tYA*TH^Zlo^{h937*?}F8nWp1vWWTC;4*?FWG(xRmv^UYqvr;n
zq0?gHDqjdyQkOB%K5@|0ic?-bzz2LDKR2iq!4htbMj#ldoVoJ38EsHdZQ^_~5U^PQ
zhzYE(jYt$}D4ZUEfNyq?1OS8?(&i_u*^`Dew_4$a!b|nT#+9(|ab+99=-%x;>2B4M
zQ_)+1BCjdw(TlsvUCC(ds3#$3@)X3CYm$CZHEB0wPme2KjBvn-Cu+$DT3s5sWEhY}
z<=sJZdW5Qb&8iN(em{R+K4NmF*FN4_sR+0^hq6^Fdzt!R@Ew?Sc1pN%3Oo
zdAHt1nm<2Bx2{I6JY*;6IBs%5YlZJ05?`Xbf=}dSavKU=96%%ArAAh~^U9{{ha^kk
zFGX;FZStzzTqPfrSqG$vX(E@wZzszeTT-#x+O!_V9zA*UzxCm#5Yfi)fdFEo@5e@I
zEJ-fC^>^;Y*IfUD*MwT*+I%c|tM#ZLSkYEl7fpWEG7jB3!3$&r9ofqX=@D?92$8&I
z=YMh@ulsEp&M_S=eug^-*LXZRJn`P
z3;Ky2-fth1CU>H?Jlg!QZ24YiMwJ8eJo0rHJxPi9`QgnC0qOHgmzIO0;)>X@a(}Vj
z(=|c)$uv21iRk2*n><_Py4wAgSS3ZiKb}k|cM+X!5I3s1?IP|JGvvHuxxRQQHL^4@
z?)A#*{i}{ZGFlMCGcik@*@bZ{r&Li|5k8p``<3*n@%&eIA^Z5OBCKki>z#cIWz!?&0_)
zcx$U-h@FGXP2T$p4ej*^hn8lCxn;+^=FTJjg{YGbveI*CSpGTu30UE0=w(TLSJ`0!
zCu-Z}x=&UaZIjd^tqb#4w&`oujpWrvSK6*4XnPpejPguglb0f4t}SP$n_?d1LWYk-+J4g*It`<`_m(S;+7WG1X7%@Fs
zfNFff=c@Gb7arg}&P)^7I()!eEP?`DBjyUoeb_R^U~_N@xx`RifZL6G>E50Uu44Wa
zf#q;fZ0Q^9De%-_88)B?kFg3XaR+NKTw%DQ*q;3Cz-zoiYc3T;vFh<$MDBi?__IP_
zEx1%qkqi@#L>zv~f+w50;9m?MUM$Q9X@#DH8a+f6v3^
zxPZm@A);5<%6=?CZ}Ehzg2>V=oWy}N?!^h*GX80@0*A3pHu~GCd_>^qA@v0oB<-pBGJ^?o4t2k;7CFjlQDy42*L8mBy
zyLg68;tZV>+^|U8ha!4Jw7Ret2SvlK!%UHj1EL*u8hci+O^f?Jp5tyA}&rU3}1+d
zy%8ZIMgk?ef_}|)xfFgrgRi1m0zQ|)*HA@t3!lm0>*#HacLVoj@J&ok=X466%HUf$
z+$nxCgYS+7cY>eD;Cq-d-u#Kc$1?anrnOqrE_^hDA7c9d*0lp4&frJw!0q6NP)p#)
zn9=T5wi-N`!A~%=UAPs#FN2?A_C(2L%_(i91j_<&50uNwLr*MjI
z&)`>>+YQ{nw`A~Z%nU+O2?9nJL)i%M)uBVa#`u&xvySdPz0
zz#nWVg$I`6V-hfgO{MU_V!TfR{$g7xJg^XNlYn9DEQJRa;7t-x!+}zGV4nJUp9UN$
zg@^h@@=S9bFNFtYsXsT;I$a76^#{^}EZ{6ECGfyh+|B~}dy3pR5rYx2IU;V1e%B)6
iWvM@JbQM>y8}SdHUzV+PnS~Gl0000?hpbj?h-6mfK3P*Eck~k0Tzeg5-hkABxtZea0_k$f-mlF
z0S@Qqtva`>x}TYzc}9LrO?P#qj+P1@HZ?W?0C;Muih9o&|G$cb@ocx1*PEUJ%~tM}
z901hB;rx4#{@jOHs_MN00ADr$2n+#$yJuJ64gh!x0KlF(07#?(0ENrf7G3D`0EUHz
zisCaq%dJ9dz%zhdRNuG*01nCjDhiPCl@b8xIMfv7^t~4jVRrSTGYyZUWqY@yW=)V_
z&3sUP1SK9v1f{4lDSN(agrKYULc;#EGDVeU*5b@#MOSY5JBn#QG8wqxQh+mdR638{mo5f>O
zLUdZIPSjFk0~F26zDrM3y_#P^P91oWtLlPaZrhnM$NR%qsbHHK#?fN?cX?EvAhY1Sr9A(1;Kw4@87~|;2QP~
z(kKOGvCdB}qr4m#)1DwQFlh^NdBZvNLkld&yg%&GU`+boBMsoj5o?8tVuY^b0?4;E
zsxoLxz8?S$y~a~x0{?dqk+6~Dd(EG7px_yH(X&NX&qEtHPUhu*JHD258=5$JS12rQ
zcN+7p>R>tbFJ3NzEcRIpS98?}YEYxBIA8}1Y8zH9wq0c{hx+EXY&ZQ!-Hvy03X
zLTMo4EZwtKfwb294-cY5XhQRxYJSybphcrNJWW2FY+b?|QB^?$5ZN=JlSs9Og(;8+
z*~-#CeeEOxt~F#aWn8wy-N_ilDDe_o+SwJD>4y?j5Lpj
z2&!EX)RNxnadPBAa?fOj5D1C{l1E0X?&G3+ckcVfk`?%2FTsoUf4@~eaS#th=zq7v
zMEJR@1T?Pi4;$xiPv`3)9rsrbVUH&b0e2{YTEG%;$GGzKUKEim;R6r>F@Q-}9JR-<
zOPpQI>W0Vt6&7d?~$d&}chKTr_rELu}
zWY;KTvtpJFr?P~ReHL4~2=ABn1`GN4Li%OI_1{mMRQi1Bf?+^Va?xdn4>h)Bq#ZRK
zYo%R_h5etrv|!$1QF8fu80fN?1oXe(Jx#e6H^$+>C}N{*i$bNbELsXDA>cxlh|iFq
zh~$yJ?1lTdcFd1Yv+Hr^PP!yupP!0H@Y6(wFcaVE+0?qjDJ1;*-Q8qL{NNPc{GAoi
z_kBH`kw^(^7ShmzArk^A-!3_$W%!M-pGaZC=K`p-ch&iT%CV0>ofS74aPd7oT&cRr
zXI30fVV6#PR*Z?c*orR0!$K6SUl9!H>hG+%`LdifNk`!Sw7Hon{Wn=|qV{a%v9nEq
zAdBW*5kq6il=yA}x8cZQt^c+RBS|TRn;!?$ue?@jIV~0w1dt1FJRYI-K5>z-^01)R
z)r}A&QXp^?-?}Uj`}ZPqB#}xO-?{0wrmi|eJOEjzdXbey4$rtKNHz)M*o?Ov+;S=K
z-l~`)xV`%7Gvzy5wfvwqc0|80K29k0G~1nuBO+y-6)w11Kz2{>yD{HTt-uybe2pe?
zUZK*Eij7TT4NwF1Jr@6R7gMuu^@qn#zPIgRtF?-SJL83LBDrh7k#{F^222EXPg}S0d4Lf0!|1
z|2k$^b~)^8$Z-yH{B-vo%7sVU@ZCvXN+Am)-fy$afZ_4HAUpK}j4p`UyXRel-+(VS
z#K>-=-oA1pH+Lo$&|!lYB|M7Y&&bF##Oi@y_G3p1X$0I{jS1!NEdTz#x0`H`d*l%X
z*8Y3>L*>j@ZQGOdPqwY(GzbA4nxqT(UAP<-tBf{_cb&Hn8hO5gEAotoV;tF6K4~wr2-M0v|2acQ!E@G*g$J
z)~&_lvwN%WW>@U_taX5YX@a~pnG7A~jGwQwd4)QKk|^d_x9j+3JYmI5H`a)XMKwDt
zk(nmso_I$Kc5m+8iVbIhY<4$34Oz!sg3oZF%UtS(sc6iq3?e8Z;P<{OFU9MACE6y(
zeVprnhr!P;oc8pbE%A~S<+NGI2ZT@4A|o9bByQ0er$rYB3(c)7;=)^?$%a${0@70N
zuiBVnAMd|qX7BE)8})+FAI&HM|BIb3e=e`b{Do8`J0jc$H>gl$zF26=haG31FDaep
zd~i}CHSn$#8|WtE06vcA%1yxiy_TH|RmZ5>pI5*8pJZk0X54JDQQZgIf1Pp3*6hepV_cXe)L2iW$Ov=RZ4T)SP^a_8V}
z+Nl?NJL7fAi<)Gt98U+LhE>x4W=bfo4F>5)qBx@^8&5-b>y*Wq19MyS(72ka8XFr2
zf*j(ExtQkjwN|4B?D
z7+WzS*h6e_Po+Iqc-2n)gTz|de%FcTd_i9n+Y5*Vb=E{8xj&|h`CcUC*(yeCf~#Mf
zzb-_ji&PNcctK6Xhe#gB0skjFFK5C4=k%tQQ}F|ZvEnPcH=#yH4n%z78?McMh!vek
zVzwC0*OpmW2*-A6xz0=pE#WdXHMNxSJ*qGY(RoV9)|eu)HSSi_+|)IgT|!7HRx~
zjM$zp%LEBY)1AKKNI?~*>9DE3Y2t5p#jeqeq`1
zsjA-8eQKC*!$%k#=&jm+JG?UD(}M!tI{wD*3FQFt8jgv2xrRUJ}t}rWx2>XWz9ndH*cxl()ZC
zoq?di!h6HY$fsglgay7|b6$cUG-f!U4blbj(rpP^1ZhHv@Oi~;BBvrv<+uC;%6QK!nyQ!bb3i3D~cvnpDAo3*3
zXRfZ@$J{FP?jf(NY7~-%Kem>jzZ2+LtbG!9I_fdJdD*;^T9gaiY>d+S$EdQrW9W62
z6w8M&v*8VWD_j)fmt?+bdavPn>oW8djd
zRnQ}{XsIlwYWPp;GWLXvbSZ8#w25z1T}!<{_~(dcR_i1U?hyAe+lL*(Y6c;j2q7l!
zMeN(nuA8Z9$#w2%ETSLjF{A#kE#WKus+%pal;-wx&tTsmFPOcbJtT?j&i(#-rB}l@
zXz|&%MXjD2YcYCZ3h4)?KnC*X$G%5N)1s!0!Ok!F9KLgV@wxMiFJIVH?E5JcwAnZF
zU8ZPDJ_U_l81@&npI5WS7Y@_gf3vTXa;511h_(@{y1q-O{&bzJ
z*8g>?c5=lUH6UfPj3=iuuHf4j?KJPq`x@en2Bp>#zIQjX5(C<9-X4X{a^S
znWF1zJ=7rEUwQ&cZgyV4L12f&2^eIc^dGIJP@ToOgrU_Qe=T)utR;W$_2Vb7NiZ+d
z$I0I>GFIutqOWiLmT~-Q<(?n5QaatHWj**>L8sxh1*pAkwG>siFMGEZYuZ)E!^Hfs
zYBj`sbMQ5MR;6=1^0W*qO*Zthx-svsYqrUbJW)!vTGhWKGEu8c+=Yc%xi}Rncu3ph
zTT1j_>={i3l#~$!rW!%ZtD9e6l6k-k8l{2w53!mmROAD^2yB^e)3f9_Qyf&C#zk`(
z|5RL%r&}#t(;vF4nO&n}`iZpIL=p9tYtYv3%r@GzLWJ6%y_D(icSF^swYM`e8-n43iwo$C~>G<)dd0ze@5}n(!^YD
zHf#OVbQ$Li@J}-qcOYn_iWF=_%)EXhrVuaYiai|B<1tXwNsow(m;XfL6^x~|Tr%L3~cs0@c)
zDvOFU-AYn1!A;RBM0S}*EhYK49H$mBAxus)CB*KW(87#!#_C0wDr<0*dZ+GN&(3wR
z6)cFLiDvOfs*-7Q75ekTAx)k!dtENUKHbP|2y4=tf*d_BeZ(9kR*m;dVzm&0fkKuD
zVw5y9N>pz9C_wR+&Ql&&y{4@2M2?fWx~+>f|F%8E@fIfvSM$Dsk26(UL32oNvTR;M
zE?F<7<;;jR4)ChzQaN((foV
z)XqautTdMYtv<=oo-3W-t|gN7Q43N~%fnClny|NNcW9bIPPP5KK7_N8g!LB8{mK#!
zH$74|$b4TAy@hAZ!;irT2?^B0kZ)7Dc?(7xawRUpO~AmA#}eX9A>+BA7{oDi)LA?F
ze&CT`Cu_2=;8CWI)e~I_65cUmMPw5fqY1^6v))pc_TBArvAw_5Y8v0+fFFT`T
zHP3&PYi2>CDO=a|@`asXnwe>W80%%<>JPo(DS}IQiBEBaNN0EF6HQ1L2i6GOPMOdN
zjf3EMN!E(ceXhpd8~<6;6k<57OFRs;mpFM6VviPN>p3?NxrpNs0>K&nH_s
ze)2#HhR9JHPAXf#viTkbc{-5C7U`N!`>J-$T!T6%=xo-)1_WO=+BG{J`iIk%tvxF39rJtK49Kj#ne;WG1JF1h7;~wauZ)nMvmBa2PPfrqREMKWX
z@v}$0&+|nJrAAfRY-%?hS4+$B%DNMzBb_=Hl*i%euVLI5Ts~UsBVi(QHyKQ2LMXf`
z0W+~Kz7$t#MuN|X2BJ(M=xZDRAyTLhPvC8i&9b=rS-T{k34X}|t+FMqf5gwQirD~N1!kK&^#+#8WvcfENOLA`Mcy@u~
zH10E=t+W=Q;gn}&;`R1D$n(8@Nd6f)9=F%l?A>?2w)H}O4avWOP@7IMVRjQ&aQDb)
zzj{)MTY~Nk78>B!^EbpT{&h
zy{wTABQlVVQG<4;UHY?;#Je#-E;cF3gVTx520^#XjvTlEX>+s{?KP#Rh@hM6R;~DE
zaQY16$Axm5ycukte}4FtY-VZHc>=Ps8mJDLx3mwVvcF<^`Y6)v5tF`RMXhW1kE-;!
z7~tpIQvz5a6~q-8@hTfF9`J;$QGQN%+VF#`>F4K3>h!tFU^L2jEagQ5Pk1U_I5&B>
z+i<8EMFGFO$f7Z?pzI(jT0QkKnV)gw=j74h4*jfkk3UsUT5PemxD`pO^Y#~;P2Cte
zzZ^pr>SQHC-576SI{p&FRy36<`&{Iej&&A&%>3-L{h(fUbGnb)*b&eaXj>i>gzllk
zLXjw`pp#|yQIQ@;?mS=O-1Tj+ZLzy+aqr7%QwWl?j=*6dw5&4}>!wXqh&j%NuF{1q
zzx$OXeWiAue+g#nkqQ#Uej@Zu;D+@z^VU*&HuNqqEm?V~(Z%7D`W5KSy^e|yF6kM7
z8Z9fEpcs^ElF9Vnolfs7^4b0fsNt+i?LwUX8Cv|iJeR|GOiFV!JyHdq+XQ&dER(KSqMxW{=M)lA?Exe&ZEB~6SmHg`zkcD7x#myq0h61+zhLr_NzEIjX
zr~NGX_Uh~gdcrvjGI(&5K_zaEf}1t*)v3uT>~Gi$r^}R;H+0FEE5El{y;&DniH2@A
z@!71_8mFHt1#V8MVsIYn={v&*0;3SWf4M$yLB^BdewOxz;Q=+gakk`S{_R_t!z2b|
z+0d^C?G&7U6$_-W9@eR6SH%+qLx_Tf&Gu5%pn*mOGU0~kv~^K
zhPeqYZMWWoA(Y+4GgQo9nNe6S#MZnyce_na@78ZnpwFenVafZC3N2lc5Jk-@V`{|l
zhaF`zAL)+($xq8mFm{7fXtHru+DANoGz-A^1*@lTnE;1?03lz8kAnD{zQU=Pb^3f`
zT5-g`z5|%qOa!WTBed-8`#AQ~wb9TrUZKU)H*O7!LtNnEd!r8!Oda)u!Gb5P`9(`b
z`lMP6CLh4OzvXC#CR|@uo$EcHAyGr=)LB7)>=s3
zvU;aR#cN3<5&CLMFU@keW^R-Tqyf4fdkOnwI(H$x#@I1D6#dkUo@YW#7MU0@=NV-4
zEh2K?O@+2e{qW^7r?B~QTO)j}>hR$q9*n$8M(4+DOZ00WXFonLlk^;os8*zI>YG#?
z9oq$CD~byz>;`--_NMy|iJRALZ#+qV8OXn=AmL^GL&|q1Qw-^*#~;WNNNbk(96Tnw
zGjjscNyIyM2CYwiJ2l-}u_7mUGcvM+puPF^F89eIBx27&$|p_NG)fOaafGv|_b9G$;1LzZ-1aIE?*R6kHg}dy%~K(Q5S2O6086
z{lN&8;0>!pq^f*Jlh=J%Rmaoed<=uf@$iKl+bieC83IT!09J&IF)9H)C?d!eW1UQ}BQwxaqQY47DpOk@`zZ
zo>#SM@oI^|nrWm~Ol7=r`!Bp9lQNbBCeHcfN&X$kjj0R(@?f$OHHt|fWe6jDrYg3(mdEd$8P2Yzjt9*EM
zLE|cp-Tzsdyt(dvLhU8}_IX&I?B=|yoZ!&<`9&H5PtApt=VUIB4l0a1NH
v0SQqt3DM`an1p};^>=lX|A*k@Y-MNT^ZzF}9G-1G696?OEyXH%^Pv9$0dR%J
literal 0
HcmV?d00001
diff --git a/PersonalCenter/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/PersonalCenter/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..bfa42f0e7b91d006d22352c9ff2f134e504e3c1d
GIT binary patch
literal 4842
zcmZ{oXE5C1x5t0WvTCfdv7&7fy$d2l*k#q|U5FAbL??P!61}%ovaIM)mL!5G(V|6J
zAtDH(OY|Du^}l!K&fFLG%sJ2JIp@rG=9y>Ci)Wq~U2RobsvA@Q0MM$dq4lq5{hy#9
zzgp+B{O(-=?1<7r0l>Q?>N6X%s~lmgrmqD6fjj_!c?AF`S0&6U06Z51fWOuNAe#jM
z%pSN#J-Mp}`ICpL=qp~?u~Jj$6(~K_%)9}Bn(;pY0&;M00H9x2N23h=CpR7kr8A9X
zU%oh4-E@i!Ac}P+&%vOPQ3warO9l!SCN)ixGW54Jsh!`>*aU)#&Mg7;#O_6xd5%I6
zneGSZL3Kn-4B^>#T7pVaIHs3^PY-N^v1!W=%gzfioIWosZ!BN?_M)OOux&6HCyyMf
z3ToZ@_h75A33KyC!T)-zYC-bp`@^1n;w3~N+vQ0#4V7!f|JPMlWWJ@+Tg~8>1$GzLlHGuxS)w&NAF*&Y;ef`T^w4HP7GK%6UA8(
z{&ALM(%!w2U7WFWwq8v4H3|0cOjdt7$JLh(;U8VcTG;R-vmR7?21nA?@@b+XPgJbD
z*Y@v&dTqo5Bcp-dIQQ4@?-m{=7>`LZ{g4jvo$CE&(+7(rp#WShT9&9y>V#ikmXFau03*^{&d(AId0Jg9G;tc7K_{ivzBjqHuJx08cx<8U`z2JjtOK3(
zvtuduBHha>D&iu#))5RKXm>(|$m=_;e?7ZveYy=J$3wjL>xPCte-MDcVW<;ng`nf=
z9);CVVZjI-&UcSAlhDB{%0v$wPd=w6MBwsVEaV!hw~8G(rs`lw@|#AAHbyA&(I-7Y
zFE&1iIGORsaskMqSYfX33U%&17oTszdHPjr&Sx(`IQzoccST*}!cU!ZnJ+~duBM6f
z{Lf8PITt%uWZ
zTY09Jm5t<2+Un~yC-%DYEP>c-7?=+|reXO4Cd^neCQ{&aP@yODLN8}TQAJ8ogsnkb
zM~O>~3&n6d+ee`V_m@$6V`^ltL&?uwt|-afgd7BQ9Kz|g{B@K#qQ#$o4ut`9lQsYfHofccNoqE+`V
zQ&UXP{X4=&Z16O_wCk9SFBQPKyu?<&B2zDVhI6%B$12c^SfcRYIIv!s1&r|8;xw5t
zF~*-cE@V$vaB;*+91`CiN~1l8w${?~3Uy#c|D{S$I?
zb!9y)DbLJ3pZ>!*+j=n@kOLTMr-T2>Hj^I~lml-a26UP1_?#!5S_a&v
zeZ86(21wU0)4(h&W0iE*HaDlw+-LngX=}es#X$u*1v9>qR&qUGfADc7yz6$WN`cx9
zzB#!5&F%AK=ed|-eV6kb;R>Atp2Rk=g3lU6(IVEP3!;0YNAmqz=x|-mE&8u5W+zo7
z-QfwS6uzp9K4wC-Te-1~u?zPb{RjjIVoL1bQ=-HK_a_muB>&3I
z*{e{sE_sI$CzyK-x>7abBc+uIZf?#e8;K_JtJexgpFEBMq92+Fm0j*DziUMras`o=
zTzby8_XjyCYHeE@q&Q_7x?i|V9XY?MnSK;cLV?k>vf?!N87)gFPc9#XB?p)bEWGs$
zH>f$8?U7In{9@vsd%#sY5u!I$)g^%ZyutkNBBJ0eHQeiR5!DlQbYZJ-@09;c?IP7A
zx>P=t*xm1rOqr@ec>|ziw@3e$ymK7YSXtafMk30i?>>1lC>LLK1~JV1n6EJUGJT{6
zWP4A(129xkvDP09j<3#1$T6j6$mZaZ@vqUBBM4Pi!H>U8xvy`bkdSNTGVcfkk&y8%
z=2nfA@3kEaubZ{1nwTV1gUReza>QX%_d}x&2`jE*6JZN{HZtXSr{{6v6`r47MoA~R
zejyMpeYbJ$F4*+?*=Fm7E`S_rUC0v+dHTlj{JnkW-_eRa#9V`9o!8yv_+|lB4*+p1
zUI-t)X$J{RRfSrvh80$OW_Wwp>`4*iBr|oodPt*&A9!SO(x|)UgtVvETLuLZ<-vRp
z&zAubgm&J8Pt647V?Qxh;`f6E#Zgx5^2XV($YMV7;Jn2kx6aJn8T>bo?5&;GM4O~|
zj>ksV0U}b}wDHW`pgO$L@Hjy2`a)T}s@(0#?y3n
zj;yjD76HU&*s!+k5!G4<3{hKah#gBz8HZ6v`bmURyDi(wJ!C7+F%bKnRD4=q{(Fl0
zOp*r}F`6~6HHBtq$afFuXsGAk58!e?O(W$*+3?R|cDO88<$~pg^|GRHN}yml3WkbL
zzSH*jmpY=`g#ZX?_XT`>-`INZ#d__BJ)Ho^&ww+h+3>y8Z&T*EI!mtgEqiofJ@5&E
z6M6a}b255hCw6SFJ4q(==QN6CUE3GYnfjFNE+x8T(+J!C!?v~Sbh`Sl_0CJ;vvXsP
z5oZRiPM-Vz{tK(sJM~GI&VRbBOd0JZmGzqDrr9|?iPT(qD#M*RYb$>gZi*i)xGMD`NbmZt;ky&FR_2+YqpmFb`8b`ry;}D+y&WpUNd%3cfuUsb8
z7)1$Zw?bm@O6J1CY9UMrle_BUM<$pL=YI^DCz~!@p25hE&g62n{j$?UsyYjf#LH~b
z_n!l6Z(J9daalVYSlA?%=mfp(!e+Hk%%oh`t%0`F`KR*b-Zb=7SdtDS4`&&S@A)f>bKC7vmRWwT2
zH}k+2Hd7@>jiHwz^GrOeU8Y#h?YK8>a*vJ#s|8-uX_IYp*$9Y=W_Edf%$V4>w;C3h
z&>ZDGavV7UA@0QIQV$&?Z_*)vj{Q%z&(IW!b-!MVDGytRb4DJJV)(@WG|MbhwCx!2
z6QJMkl^4ju9ou8Xjb*pv=Hm8DwYsw23wZqQFUI)4wCMjPB6o8yG7@Sn^5%fmaFnfD
zSxp8R-L({J{p&cR7)lY+PA9#8Bx87;mB$zXCW8VDh0&g#@Z@lktyArvzgOn&-zerA
zVEa9h{EYvWOukwVUGWUB5xr4{nh}a*$v^~OEasKj)~HyP`YqeLUdN~f!r;0dV7uho
zX)iSYE&VG67^NbcP5F*SIE@T#=NVjJ1=!Mn!^oeCg1L
z?lv_%(ZEe%z*pGM<(UG{eF1T(#PMw}$n0aihzGoJAP^UceQMiBuE8Y`lZ|sF2_h_6
zQw*b*=;2Ey_Flpfgsr4PimZ~8G~R(vU}^Zxmri5)l?N>M_dWyCsjZw<+a
zqjmL0l*}PXNGUOh)YxP>;ENiJTd|S^%BARx9D~%7x?F6u4K(Bx0`KK2mianotlX^9
z3z?MW7Coqy^ol0pH)Z3+GwU|Lyuj#7HCrqs#01ZF&KqEg!olHc$O#Wn>Ok_k2`zoD
z+LYbxxVMf<(d2OkPIm8Xn>bwFsF6m8@i7PA$sdK~ZA4|ic?k*q2j1YQ>&A
zjPO%H@H(h`t+irQqx+e)ll9LGmdvr1zXV;WTi}KCa>K82n90s|K
zi`X}C*Vb12p?C-sp5maVDP5{&5$E^k6~BuJ^UxZaM=o+@(LXBWChJUJ|KEckEJTZL
zI2K&Nd$U65YoF3_J6+&YU4uKGMq2W6ZQ%BG>4HnIM?V;;Ohes{`Ucs56ue^7@D7;4
z+EsFB)a_(%K6jhxND}n!UBTuF3wfrvll|mp7)3wi&2?LW$+PJ>2)2C-6c@O&lKAn
zOm=$x*dn&dI8!QCb(ul|t3oDY^MjHqxl~lp{p@#C%Od-U4y@NQ4=`U!YjK$7b=V}D
z%?E40*f8DVrvV2nV>`Z3f5yuz^??$#3qR#q6F($w>kmKK`x21VmX=9kb^+cPdBY2l
zGkIZSf%C+`2nj^)j
zo}g}v;5{nk<>%xj-2OqDbJ3S`7|tQWqdvJdgiL{1=w0!qS9$A`w9Qm7>N0Y*Ma%P_
zr@fR4>5u{mKwgZ33Xs$RD6(tcVH~Mas-87Fd^6M6iuV^_o$~ql+!eBIw$U)lzl`q9
z=L6zVsZzi0IIW=DT&ES9HajKhb5lz4yQxT-NRBLv_=2sn7WFX&Wp6Y!&}P+%`!A;s
zrCwXO3}jrdA7mB`h~N~HT64TM{R$lNj*~ekqSP^n9P~z;P
zWPlRPz0h6za8-P>!ARb+A1-r>8VF*xhrGa8W6J$p*wy`ULrD$CmYV7Gt^scLydQWbo7XN-o9X1i7;l+J_8Ncu
zc=EX&dg`GRo4==cz2d_Rz28oLS`Suf6OCp~f{0-aQ`t5YZ=!CAMc6-RZw#}A%;s44
znf2`6gcgm=0SezTH9h+JzeR3Lcm;8?*@+?FDfguK^9)z(Z`I!RKrSAI?H~4et6GTkz07Qgq4B6%Q*8Y0yPc4x
z8(^YwtZjYIeOvVLey#>@$UzIciJ#x0pJLFg=8UaZv%-&?Yzp7gWNIo_x^(d75=x2c
zv|LQ`HrKP(8TqFxTiP5gdT2>aTN0S7XW*pilASS$UkJ2*n+==D)0mgTGxv43t61fr
z47GkfMnD-zSH@|mZ26r*d3WEtr+l-xH@L}BM)~ThoMvKqGw=Ifc}BdkL$^wC}=(XSf4YpG;sA9#OSJf)V=rs#Wq$?Wj+nTlu$YXn
yn3SQon5>kvtkl(BT2@T#Mvca!|08g9w{vm``2PjZHg=b<1c17-HkzPl9sXa)&-Ts$
literal 0
HcmV?d00001
diff --git a/PersonalCenter/app/src/main/res/values-w820dp/dimens.xml b/PersonalCenter/app/src/main/res/values-w820dp/dimens.xml
new file mode 100644
index 0000000..63fc816
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/values-w820dp/dimens.xml
@@ -0,0 +1,6 @@
+
+
+ 64dp
+
diff --git a/PersonalCenter/app/src/main/res/values/colors.xml b/PersonalCenter/app/src/main/res/values/colors.xml
new file mode 100644
index 0000000..ad47fb9
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/values/colors.xml
@@ -0,0 +1,13 @@
+
+
+ #3F51B5
+ #303F9F
+ #FF4081
+ #ffffffff
+ #afafaf
+ #1cb8ff
+ #313131
+ #d4d4d4
+ #ED1c24
+ #1cb8ff
+
diff --git a/PersonalCenter/app/src/main/res/values/dimens.xml b/PersonalCenter/app/src/main/res/values/dimens.xml
new file mode 100644
index 0000000..47c8224
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/values/dimens.xml
@@ -0,0 +1,5 @@
+
+
+ 16dp
+ 16dp
+
diff --git a/PersonalCenter/app/src/main/res/values/strings.xml b/PersonalCenter/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000..9b1e3e1
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/values/strings.xml
@@ -0,0 +1,23 @@
+
+ PersonalCenter
+
+
+
+ //登录注册
+ 取 消
+ 确 定
+ 忘记密码
+ 修改密码
+ 填写注册信息
+ 用户名
+ 地区
+ 年级
+ 学校
+ 下一步
+ //电子保卡
+ 填写保卡信息
+ 修改保卡信息
+ 更换绑定
+
+
+
diff --git a/PersonalCenter/app/src/main/res/values/styles.xml b/PersonalCenter/app/src/main/res/values/styles.xml
new file mode 100644
index 0000000..5c39044
--- /dev/null
+++ b/PersonalCenter/app/src/main/res/values/styles.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/PersonalCenter/app/src/test/java/com/hjx/personalcenter/ExampleUnitTest.java b/PersonalCenter/app/src/test/java/com/hjx/personalcenter/ExampleUnitTest.java
new file mode 100644
index 0000000..a9275db
--- /dev/null
+++ b/PersonalCenter/app/src/test/java/com/hjx/personalcenter/ExampleUnitTest.java
@@ -0,0 +1,17 @@
+package com.hjx.personalcenter;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * @see Testing documentation
+ */
+public class ExampleUnitTest {
+ @Test
+ public void addition_isCorrect() throws Exception {
+ assertEquals(4, 2 + 2);
+ }
+}
\ No newline at end of file
diff --git a/PersonalCenter/build.gradle b/PersonalCenter/build.gradle
new file mode 100644
index 0000000..c20bca1
--- /dev/null
+++ b/PersonalCenter/build.gradle
@@ -0,0 +1,23 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+
+buildscript {
+ repositories {
+ jcenter()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:2.2.2'
+
+ // NOTE: Do not place your application dependencies here; they belong
+ // in the individual module build.gradle files
+ }
+}
+
+allprojects {
+ repositories {
+ jcenter()
+ }
+}
+
+task clean(type: Delete) {
+ delete rootProject.buildDir
+}
diff --git a/PersonalCenter/gradle.properties b/PersonalCenter/gradle.properties
new file mode 100644
index 0000000..aac7c9b
--- /dev/null
+++ b/PersonalCenter/gradle.properties
@@ -0,0 +1,17 @@
+# Project-wide Gradle settings.
+
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+org.gradle.jvmargs=-Xmx1536m
+
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
diff --git a/PersonalCenter/gradle/wrapper/gradle-wrapper.jar b/PersonalCenter/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000000000000000000000000000000000000..13372aef5e24af05341d49695ee84e5f9b594659
GIT binary patch
literal 53636
zcmafaW0a=B^559DjdyHo$F^PVt
zzd|cWgMz^T0YO0lQ8%TE1O06v|NZl~LH{LLQ58WtNjWhFP#}eWVO&eiP!jmdp!%24
z{&z-MK{-h=QDqf+S+Pgi=_wg$I{F28X*%lJ>A7Yl#$}fMhymMu?R9TEB?#6@|Q^e^AHhxcRL$z1gsc`-Q`3j+eYAd<4@z^{+?JM8bmu
zSVlrVZ5-)SzLn&LU9GhXYG{{I+u(+6ES+tAtQUanYC0^6kWkks8cG;C&r1KGs)Cq}WZSd3k1c?lkzwLySimkP5z)T2Ox3pNs;PdQ=8JPDkT7#0L!cV?
zzn${PZs;o7UjcCVd&DCDpFJvjI=h(KDmdByJuDYXQ|G@u4^Kf?7YkE67fWM97kj6F
z973tGtv!k$k{<>jd~D&c(x5hVbJa`bILdy(00%lY5}HZ2N>)a|))3UZ&fUa5@uB`H
z+LrYm@~t?g`9~@dFzW5l>=p0hG%rv0>(S}jEzqQg6-jImG%Pr%HPtqIV_Ym6yRydW
z4L+)NhcyYp*g#vLH{1lK-hQQSScfvNiNx|?nSn-?cc8}-9~Z_0oxlr~(b^EiD`Mx<
zlOLK)MH?nl4dD|hx!jBCIku-lI(&v~bCU#!L7d0{)h
z;k4y^X+=#XarKzK*)lv0d6?kE1<
zmCG^yDYrSwrKIn04tG)>>10%+
zEKzs$S*Zrl+GeE