From 036be14142a008e8c8198e5c3633cf8650427588 Mon Sep 17 00:00:00 2001
From: Sandy <1074472615@qq.com>
Date: Mon, 16 Oct 2017 14:56:02 +0800
Subject: [PATCH] =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=9B=B4=E6=96=B0=E5=8A=9F?=
 =?UTF-8?q?=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 HDMall.xcodeproj/project.pbxproj              | 409 ++++++++++++++++++
 .../ViewControllers/LoginViewController.m     |  13 +-
 HDMall/Supporting Files/URL.h                 |  11 +-
 HDMall/Tools/UpdateAlert/UpdateAlertView.h    |  27 ++
 HDMall/Tools/UpdateAlert/UpdateAlertView.m    | 175 ++++++++
 HDMall/Tools/UpdateAlert/UpdateAlertView.xib  | 131 ++++++
 HDMall/Tools/UpdateAlert/UpdateResponse.h     |  16 +
 HDMall/Tools/UpdateAlert/UpdateResponse.m     |   6 +
 Podfile                                       |   5 +-
 Podfile.lock                                  |   5 +-
 YI_DI_GANG_TEST.plist                         | Bin 0 -> 1694 bytes
 11 files changed, 792 insertions(+), 6 deletions(-)
 create mode 100644 HDMall/Tools/UpdateAlert/UpdateAlertView.h
 create mode 100644 HDMall/Tools/UpdateAlert/UpdateAlertView.m
 create mode 100644 HDMall/Tools/UpdateAlert/UpdateAlertView.xib
 create mode 100644 HDMall/Tools/UpdateAlert/UpdateResponse.h
 create mode 100644 HDMall/Tools/UpdateAlert/UpdateResponse.m
 create mode 100644 YI_DI_GANG_TEST.plist

diff --git a/HDMall.xcodeproj/project.pbxproj b/HDMall.xcodeproj/project.pbxproj
index 43a8fa0..2a1f0af 100644
--- a/HDMall.xcodeproj/project.pbxproj
+++ b/HDMall.xcodeproj/project.pbxproj
@@ -7,6 +7,7 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
+		1D35D2C97F6D618C9E9A574B /* libPods-hdmall_base-YI_DI_GANG_TEST.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 467754F21D6BD9E92D200F26 /* libPods-hdmall_base-YI_DI_GANG_TEST.a */; };
 		8F1040B91F25C8A000B4C16E /* MineTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F1040B71F25C8A000B4C16E /* MineTableViewController.m */; };
 		8F1040C71F25CA1800B4C16E /* BusinessCollectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F1040C51F25CA1800B4C16E /* BusinessCollectionViewController.m */; };
 		8F250D211F297DA80031B4BC /* UINavigationController+XWTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250CE11F297DA80031B4BC /* UINavigationController+XWTransition.m */; };
@@ -75,6 +76,12 @@
 		8F6C923E1F2AE3430060E983 /* HomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F6C923D1F2AE3430060E983 /* HomeViewController.m */; };
 		8F6C92421F2AE4AD0060E983 /* LocationHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F6C92411F2AE4AD0060E983 /* LocationHelper.m */; };
 		8F8ED4B71F29EEE600F48461 /* RootNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F8ED4B61F29EEE600F48461 /* RootNavigationController.m */; };
+		8F91A9D71F948B7A0032D201 /* UpdateAlertView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8F91A9D61F948B5E0032D201 /* UpdateAlertView.xib */; };
+		8F91A9D81F948B820032D201 /* UpdateAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F91A9D51F948B5E0032D201 /* UpdateAlertView.m */; };
+		8F91A9D91F948B880032D201 /* UpdateAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F91A9D51F948B5E0032D201 /* UpdateAlertView.m */; };
+		8F91A9DA1F948B8D0032D201 /* UpdateAlertView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8F91A9D61F948B5E0032D201 /* UpdateAlertView.xib */; };
+		8F91A9DE1F948C620032D201 /* UpdateResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F91A9DC1F948C610032D201 /* UpdateResponse.m */; };
+		8F91A9DF1F948C620032D201 /* UpdateResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F91A9DC1F948C610032D201 /* UpdateResponse.m */; };
 		8F973C1F1F21FD54003D3ADB /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F973C121F21FB77003D3ADB /* ViewController.m */; };
 		8F973C251F21FD54003D3ADB /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8F973BF51F21F6DD003D3ADB /* LaunchScreen.storyboard */; };
 		8F973C261F21FD54003D3ADB /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8F973C021F21FB67003D3ADB /* Assets.xcassets */; };
@@ -84,6 +91,119 @@
 		8FC2BE8F1F39AC270023FA6B /* SaleInputListViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FC2BE8E1F39AC270023FA6B /* SaleInputListViewModel.m */; };
 		8FC2BE941F39AC430023FA6B /* ico_make.png in Resources */ = {isa = PBXBuildFile; fileRef = 8FC2BE911F39AC430023FA6B /* ico_make.png */; };
 		8FC2BE951F39AC430023FA6B /* JSDropDownMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FC2BE931F39AC430023FA6B /* JSDropDownMenu.m */; };
+		8FDC89591F90CA5D00D0C442 /* ZJBaseModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E9C1F28612B001496E3 /* ZJBaseModel.m */; };
+		8FDC895A1F90CA5D00D0C442 /* SaleInputState.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FF9F6E21F347517006B0EC0 /* SaleInputState.m */; };
+		8FDC895B1F90CA5D00D0C442 /* UINavigationController+XWTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250CE11F297DA80031B4BC /* UINavigationController+XWTransition.m */; };
+		8FDC895C1F90CA5D00D0C442 /* ZJShowLogView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D671F2981200031B4BC /* ZJShowLogView.m */; };
+		8FDC895D1F90CA5D00D0C442 /* BaseChooseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E8E1F28612B001496E3 /* BaseChooseViewController.m */; };
+		8FDC895E1F90CA5D00D0C442 /* XWMagicMoveAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D1F1F297DA80031B4BC /* XWMagicMoveAnimator.m */; };
+		8FDC895F1F90CA5D00D0C442 /* XWFilterAnimator+XWMod.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D121F297DA80031B4BC /* XWFilterAnimator+XWMod.m */; };
+		8FDC89601F90CA5D00D0C442 /* NSData+EncodeAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E501F285E56001496E3 /* NSData+EncodeAdditions.m */; };
+		8FDC89611F90CA5D00D0C442 /* XWFilterAnimator+XWPageCurl.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D141F297DA80031B4BC /* XWFilterAnimator+XWPageCurl.m */; };
+		8FDC89621F90CA5D00D0C442 /* HomeWeatherBoard.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F6C92371F2ADF4F0060E983 /* HomeWeatherBoard.m */; };
+		8FDC89631F90CA5D00D0C442 /* ZJPermissionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D951F29D86E0031B4BC /* ZJPermissionManager.m */; };
+		8FDC89641F90CA5D00D0C442 /* GalleryCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFD011F2F3314003EA16B /* GalleryCollectionViewCell.m */; };
+		8FDC89651F90CA5D00D0C442 /* SaleInputListViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FC2BE8E1F39AC270023FA6B /* SaleInputListViewModel.m */; };
+		8FDC89661F90CA5D00D0C442 /* UserInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D911F29D4B40031B4BC /* UserInfo.m */; };
+		8FDC89671F90CA5D00D0C442 /* MineTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F1040B71F25C8A000B4C16E /* MineTableViewController.m */; };
+		8FDC89681F90CA5D00D0C442 /* WeatherModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F6C923A1F2ADFEC0060E983 /* WeatherModel.m */; };
+		8FDC89691F90CA5D00D0C442 /* LoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D7E1F29BDC40031B4BC /* LoginViewController.m */; };
+		8FDC896A1F90CA5D00D0C442 /* XWFilterAnimator+XWBoxBlur.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D0A1F297DA80031B4BC /* XWFilterAnimator+XWBoxBlur.m */; };
+		8FDC896B1F90CA5D00D0C442 /* XWCoolAnimator+XWScanning.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D001F297DA80031B4BC /* XWCoolAnimator+XWScanning.m */; };
+		8FDC896C1F90CA5D00D0C442 /* UILabel+Addtions.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E5A1F285E56001496E3 /* UILabel+Addtions.m */; };
+		8FDC896D1F90CA5D00D0C442 /* PicViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFCFD1F2F32E4003EA16B /* PicViewModel.m */; };
+		8FDC896E1F90CA5D00D0C442 /* XWCoolAnimator+XWFold.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250CF61F297DA80031B4BC /* XWCoolAnimator+XWFold.m */; };
+		8FDC896F1F90CA5D00D0C442 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F973C2F1F21FE32003D3ADB /* AppDelegate.m */; };
+		8FDC89701F90CA5D00D0C442 /* UIView+Snapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250CE31F297DA80031B4BC /* UIView+Snapshot.m */; };
+		8FDC89711F90CA5D00D0C442 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F973C301F21FE32003D3ADB /* main.m */; };
+		8FDC89721F90CA5D00D0C442 /* CustomMMSpreadsheetView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FF9F6F01F37FF6C006B0EC0 /* CustomMMSpreadsheetView.m */; };
+		8FDC89731F90CA5D00D0C442 /* BaseIQManagerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E901F28612B001496E3 /* BaseIQManagerView.m */; };
+		8FDC89741F90CA5D00D0C442 /* MMSpreadsheetView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FF9F6F41F37FF6C006B0EC0 /* MMSpreadsheetView.m */; };
+		8FDC89751F90CA5D00D0C442 /* SaleInputAmountCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFCED1F2F0F16003EA16B /* SaleInputAmountCollectionViewCell.m */; };
+		8FDC89761F90CA5D00D0C442 /* LoginRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D861F29C2420031B4BC /* LoginRequest.m */; };
+		8FDC89771F90CA5D00D0C442 /* LocationHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F6C92411F2AE4AD0060E983 /* LocationHelper.m */; };
+		8FDC89781F90CA5D00D0C442 /* XWFilterAnimator+XWFlash.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D0E1F297DA80031B4BC /* XWFilterAnimator+XWFlash.m */; };
+		8FDC89791F90CA5D00D0C442 /* BaseStateModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E961F28612B001496E3 /* BaseStateModel.m */; };
+		8FDC897A1F90CA5D00D0C442 /* ZJBaseFileModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E9A1F28612B001496E3 /* ZJBaseFileModel.m */; };
+		8FDC897B1F90CA5D00D0C442 /* BaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E981F28612B001496E3 /* BaseViewController.m */; };
+		8FDC897C1F90CA5D00D0C442 /* SaleInputListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFCD21F2EF543003EA16B /* SaleInputListViewController.m */; };
+		8FDC897D1F90CA5D00D0C442 /* XWCircleSpreadAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250CF11F297DA80031B4BC /* XWCircleSpreadAnimator.m */; };
+		8FDC897E1F90CA5D00D0C442 /* BusinessCollectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F1040C51F25CA1800B4C16E /* BusinessCollectionViewController.m */; };
+		8FDC897F1F90CA5D00D0C442 /* AboutTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FED0FB31F38602F004916CC /* AboutTableViewController.m */; };
+		8FDC89801F90CA5D00D0C442 /* XWCoolAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D021F297DA80031B4BC /* XWCoolAnimator.m */; };
+		8FDC89811F90CA5D00D0C442 /* SaleInputTopView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFCE11F2F02CB003EA16B /* SaleInputTopView.m */; };
+		8FDC89821F90CA5D00D0C442 /* NSString+Additions.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E561F285E56001496E3 /* NSString+Additions.m */; };
+		8FDC89831F90CA5D00D0C442 /* XWCoolAnimator+XWLines.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250CF81F297DA80031B4BC /* XWCoolAnimator+XWLines.m */; };
+		8FDC89841F90CA5D00D0C442 /* UIViewController+XWTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250CE51F297DA80031B4BC /* UIViewController+XWTransition.m */; };
+		8FDC89851F90CA5D00D0C442 /* NSIndexPath+MMSpreadsheetView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FF9F6F61F37FF6C006B0EC0 /* NSIndexPath+MMSpreadsheetView.m */; };
+		8FDC89861F90CA5D00D0C442 /* UIView+Category.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E601F285E56001496E3 /* UIView+Category.m */; };
+		8FDC89871F90CA5D00D0C442 /* ZJAppInstance.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D8E1F29CF190031B4BC /* ZJAppInstance.m */; };
+		8FDC89881F90CA5D00D0C442 /* GalleryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFD031F2F3314003EA16B /* GalleryViewController.m */; };
+		8FDC89891F90CA5D00D0C442 /* SaleInputViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFCE71F2F07C1003EA16B /* SaleInputViewModel.m */; };
+		8FDC898A1F90CA5D00D0C442 /* MMLeftColumnCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FF9F6EB1F37FF6C006B0EC0 /* MMLeftColumnCell.m */; };
+		8FDC898B1F90CA5D00D0C442 /* BaseChooseModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E8C1F28612B001496E3 /* BaseChooseModel.m */; };
+		8FDC898C1F90CA5D00D0C442 /* HistoryTopView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FF9F7061F37FF95006B0EC0 /* HistoryTopView.m */; };
+		8FDC898D1F90CA5D00D0C442 /* MMGridLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FF9F6F21F37FF6C006B0EC0 /* MMGridLayout.m */; };
+		8FDC898E1F90CA5D00D0C442 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F973C121F21FB77003D3ADB /* ViewController.m */; };
+		8FDC898F1F90CA5D00D0C442 /* BusinessFunctionModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFCC31F2EDCAF003EA16B /* BusinessFunctionModel.m */; };
+		8FDC89901F90CA5D00D0C442 /* XWFilterAnimator+XWBarSwipe.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D081F297DA80031B4BC /* XWFilterAnimator+XWBarSwipe.m */; };
+		8FDC89911F90CA5D00D0C442 /* SalesInputTotalVIew.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFD0C1F3019AC003EA16B /* SalesInputTotalVIew.m */; };
+		8FDC89921F90CA5D00D0C442 /* InspectRepairAddPicTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFCF71F2F32D5003EA16B /* InspectRepairAddPicTableViewCell.m */; };
+		8FDC89931F90CA5D00D0C442 /* LoginViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D831F29C14F0031B4BC /* LoginViewModel.m */; };
+		8FDC89941F90CA5D00D0C442 /* SaleInputDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FF9F6DD1F3450AC006B0EC0 /* SaleInputDetailViewController.m */; };
+		8FDC89951F90CA5D00D0C442 /* UIViewController+Additions.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E621F285E56001496E3 /* UIViewController+Additions.m */; };
+		8FDC89961F90CA5D00D0C442 /* XWCoolAnimator+XWPageFlip.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250CFC1F297DA80031B4BC /* XWCoolAnimator+XWPageFlip.m */; };
+		8FDC89971F90CA5D00D0C442 /* XWFilterAnimator+XWMask.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D101F297DA80031B4BC /* XWFilterAnimator+XWMask.m */; };
+		8FDC89981F90CA5D00D0C442 /* XWCoolAnimator+XWPortal.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250CFE1F297DA80031B4BC /* XWCoolAnimator+XWPortal.m */; };
+		8FDC89991F90CA5D00D0C442 /* HMSaleInputDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFCEA1F2F09D0003EA16B /* HMSaleInputDetail.m */; };
+		8FDC899A1F90CA5D00D0C442 /* UIImage+Helper.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E581F285E56001496E3 /* UIImage+Helper.m */; };
+		8FDC899B1F90CA5D00D0C442 /* SaleInputHistory.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FF9F7081F380286006B0EC0 /* SaleInputHistory.m */; };
+		8FDC899C1F90CA5D00D0C442 /* MBProgressHUD+Addtions.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E4E1F285E56001496E3 /* MBProgressHUD+Addtions.m */; };
+		8FDC899D1F90CA5D00D0C442 /* RepairAddPicCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFCF91F2F32D5003EA16B /* RepairAddPicCollectionViewCell.m */; };
+		8FDC899E1F90CA5D00D0C442 /* NSNumber+Addtions.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E541F285E56001496E3 /* NSNumber+Addtions.m */; };
+		8FDC899F1F90CA5D00D0C442 /* HMSaleInputQuery.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFCD81F2EF6CF003EA16B /* HMSaleInputQuery.m */; };
+		8FDC89A01F90CA5D00D0C442 /* MMTopRowCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FF9F6F81F37FF6C006B0EC0 /* MMTopRowCell.m */; };
+		8FDC89A11F90CA5D00D0C442 /* XWInteractiveTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250CE81F297DA80031B4BC /* XWInteractiveTransition.m */; };
+		8FDC89A21F90CA5D00D0C442 /* XWCoolAnimator+XWMiddlePageFlip.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250CFA1F297DA80031B4BC /* XWCoolAnimator+XWMiddlePageFlip.m */; };
+		8FDC89A31F90CA5D00D0C442 /* JSDropDownMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FC2BE931F39AC430023FA6B /* JSDropDownMenu.m */; };
+		8FDC89A41F90CA5D00D0C442 /* MMViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FF9F6FA1F37FF6C006B0EC0 /* MMViewController.m */; };
+		8FDC89A51F90CA5D00D0C442 /* XWFilterAnimator+XWRipple.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D161F297DA80031B4BC /* XWFilterAnimator+XWRipple.m */; };
+		8FDC89A61F90CA5D00D0C442 /* SaleInputListTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFCD51F2EF56A003EA16B /* SaleInputListTableViewCell.m */; };
+		8FDC89A71F90CA5D00D0C442 /* CalculateHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E821F285F4F001496E3 /* CalculateHelper.m */; };
+		8FDC89A81F90CA5D00D0C442 /* RootNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F8ED4B61F29EEE600F48461 /* RootNavigationController.m */; };
+		8FDC89A91F90CA5D00D0C442 /* ZJBaseHttpManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D621F2980E50031B4BC /* ZJBaseHttpManager.m */; };
+		8FDC89AA1F90CA5D00D0C442 /* CustomMMGridLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FF9F6EE1F37FF6C006B0EC0 /* CustomMMGridLayout.m */; };
+		8FDC89AB1F90CA5D00D0C442 /* BusinessFunction.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFCC11F2EDCAF003EA16B /* BusinessFunction.m */; };
+		8FDC89AC1F90CA5D00D0C442 /* SaleInputHistoryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FF9F6E51F37FF09006B0EC0 /* SaleInputHistoryViewController.m */; };
+		8FDC89AD1F90CA5D00D0C442 /* ChineseLogHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E4A1F285E56001496E3 /* ChineseLogHelper.m */; };
+		8FDC89AE1F90CA5D00D0C442 /* XWFilterTransitionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D1C1F297DA80031B4BC /* XWFilterTransitionView.m */; };
+		8FDC89AF1F90CA5D00D0C442 /* XWFilterAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D1A1F297DA80031B4BC /* XWFilterAnimator.m */; };
+		8FDC89B01F90CA5D00D0C442 /* SingleScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFD051F2F3314003EA16B /* SingleScrollView.m */; };
+		8FDC89B11F90CA5D00D0C442 /* HomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F6C923D1F2AE3430060E983 /* HomeViewController.m */; };
+		8FDC89B21F90CA5D00D0C442 /* BaseListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E921F28612B001496E3 /* BaseListViewController.m */; };
+		8FDC89B31F90CA5D00D0C442 /* XWFilterAnimator+XWSwipe.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D181F297DA80031B4BC /* XWFilterAnimator+XWSwipe.m */; };
+		8FDC89B41F90CA5D00D0C442 /* XWFilterAnimator+XWCopyMachine.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D0C1F297DA80031B4BC /* XWFilterAnimator+XWCopyMachine.m */; };
+		8FDC89B51F90CA5D00D0C442 /* MMGridCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FF9F6E91F37FF6C006B0EC0 /* MMGridCell.m */; };
+		8FDC89B61F90CA5D00D0C442 /* SaleInputAddAmountCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFCF31F2F2C0D003EA16B /* SaleInputAddAmountCell.m */; };
+		8FDC89B71F90CA5D00D0C442 /* NSDate+Additions.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFCE41F2F04CC003EA16B /* NSDate+Additions.m */; };
+		8FDC89B81F90CA5D00D0C442 /* XWCoolAnimator+XWExplode.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250CF41F297DA80031B4BC /* XWCoolAnimator+XWExplode.m */; };
+		8FDC89B91F90CA5D00D0C442 /* CALayer+Addtions.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E481F285E56001496E3 /* CALayer+Addtions.m */; };
+		8FDC89BA1F90CA5D00D0C442 /* BaseAlertCardViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E8A1F28612B001496E3 /* BaseAlertCardViewController.m */; };
+		8FDC89BB1F90CA5D00D0C442 /* XWTransitionAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250CEA1F297DA80031B4BC /* XWTransitionAnimator.m */; };
+		8FDC89BC1F90CA5D00D0C442 /* XWDrawerAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F250D051F297DA80031B4BC /* XWDrawerAnimator.m */; };
+		8FDC89BD1F90CA5D00D0C442 /* SaleInputAddViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4BFCDE1F2F0279003EA16B /* SaleInputAddViewController.m */; };
+		8FDC89BF1F90CA5D00D0C442 /* libPods-hdmall_base-HDMall_TEST.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3784BD616CA8AF0775D5526F /* libPods-hdmall_base-HDMall_TEST.a */; };
+		8FDC89C11F90CA5D00D0C442 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8F973BF51F21F6DD003D3ADB /* LaunchScreen.storyboard */; };
+		8FDC89C21F90CA5D00D0C442 /* ico_make.png in Resources */ = {isa = PBXBuildFile; fileRef = 8FC2BE911F39AC430023FA6B /* ico_make.png */; };
+		8FDC89C31F90CA5D00D0C442 /* restrictedshine.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 8F250CEE1F297DA80031B4BC /* restrictedshine.tiff */; };
+		8FDC89C41F90CA5D00D0C442 /* mask.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 8F250CED1F297DA80031B4BC /* mask.jpg */; };
+		8FDC89C51F90CA5D00D0C442 /* BusinessItems.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8F4BFCC61F2EDCD8003EA16B /* BusinessItems.plist */; };
+		8FDC89C61F90CA5D00D0C442 /* ZJShowLogView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8F250D681F2981200031B4BC /* ZJShowLogView.xib */; };
+		8FDC89C71F90CA5D00D0C442 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8F973C021F21FB67003D3ADB /* Assets.xcassets */; };
+		8FDC89C81F90CA5D00D0C442 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8F973BF01F21F6DD003D3ADB /* Main.storyboard */; };
+		8FDC89C91F90CA5D00D0C442 /* ZJPicture.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8F4BFD091F2F3596003EA16B /* ZJPicture.storyboard */; };
+		8FDC89CA1F90CA5D00D0C442 /* line.png in Resources */ = {isa = PBXBuildFile; fileRef = 8F250CEC1F297DA80031B4BC /* line.png */; };
+		8FDC89CB1F90CA5D00D0C442 /* SaleInput.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8F4BFCCF1F2EF527003EA16B /* SaleInput.storyboard */; };
 		8FED0FB41F38602F004916CC /* AboutTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FED0FB31F38602F004916CC /* AboutTableViewController.m */; };
 		8FEF5E641F285E56001496E3 /* CALayer+Addtions.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E481F285E56001496E3 /* CALayer+Addtions.m */; };
 		8FEF5E661F285E56001496E3 /* ChineseLogHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEF5E4A1F285E56001496E3 /* ChineseLogHelper.m */; };
@@ -125,7 +245,9 @@
 /* Begin PBXFileReference section */
 		1532C4741ABCEBBC970F7FC5 /* libPods-hdmall_base-HDMall.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-hdmall_base-HDMall.a"; sourceTree = BUILT_PRODUCTS_DIR; };
 		3784BD616CA8AF0775D5526F /* libPods-hdmall_base-HDMall_TEST.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-hdmall_base-HDMall_TEST.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+		421F6E9AAC6F450860C44791 /* Pods-hdmall_base-YI_DI_GANG_TEST.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-hdmall_base-YI_DI_GANG_TEST.release.xcconfig"; path = "Pods/Target Support Files/Pods-hdmall_base-YI_DI_GANG_TEST/Pods-hdmall_base-YI_DI_GANG_TEST.release.xcconfig"; sourceTree = "<group>"; };
 		46644CE95EC8A7A4892489B7 /* Pods-hdmall_base-HDMall_TEST.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-hdmall_base-HDMall_TEST.release.xcconfig"; path = "Pods/Target Support Files/Pods-hdmall_base-HDMall_TEST/Pods-hdmall_base-HDMall_TEST.release.xcconfig"; sourceTree = "<group>"; };
+		467754F21D6BD9E92D200F26 /* libPods-hdmall_base-YI_DI_GANG_TEST.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-hdmall_base-YI_DI_GANG_TEST.a"; sourceTree = BUILT_PRODUCTS_DIR; };
 		8F1040721F22002700B4C16E /* HDMall_TEST.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = HDMall_TEST.plist; sourceTree = "<group>"; };
 		8F1040B61F25C8A000B4C16E /* MineTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MineTableViewController.h; sourceTree = "<group>"; };
 		8F1040B71F25C8A000B4C16E /* MineTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MineTableViewController.m; sourceTree = "<group>"; };
@@ -260,6 +382,11 @@
 		8F6C92411F2AE4AD0060E983 /* LocationHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LocationHelper.m; sourceTree = "<group>"; };
 		8F8ED4B51F29EEE600F48461 /* RootNavigationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RootNavigationController.h; sourceTree = "<group>"; };
 		8F8ED4B61F29EEE600F48461 /* RootNavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RootNavigationController.m; sourceTree = "<group>"; };
+		8F91A9D41F948B5E0032D201 /* UpdateAlertView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UpdateAlertView.h; sourceTree = "<group>"; };
+		8F91A9D51F948B5E0032D201 /* UpdateAlertView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UpdateAlertView.m; sourceTree = "<group>"; };
+		8F91A9D61F948B5E0032D201 /* UpdateAlertView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UpdateAlertView.xib; sourceTree = "<group>"; };
+		8F91A9DC1F948C610032D201 /* UpdateResponse.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UpdateResponse.m; sourceTree = "<group>"; };
+		8F91A9DD1F948C620032D201 /* UpdateResponse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UpdateResponse.h; sourceTree = "<group>"; };
 		8F973BF11F21F6DD003D3ADB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
 		8F973BF61F21F6DD003D3ADB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
 		8F973C021F21FB67003D3ADB /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
@@ -275,6 +402,8 @@
 		8FC2BE911F39AC430023FA6B /* ico_make.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ico_make.png; sourceTree = "<group>"; };
 		8FC2BE921F39AC430023FA6B /* JSDropDownMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDropDownMenu.h; sourceTree = "<group>"; };
 		8FC2BE931F39AC430023FA6B /* JSDropDownMenu.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSDropDownMenu.m; sourceTree = "<group>"; };
+		8FDC89D11F90CA5D00D0C442 /* YI_DI_GANG_TEST.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = YI_DI_GANG_TEST.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		8FDC89D21F90CA5E00D0C442 /* YI_DI_GANG_TEST.plist */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = YI_DI_GANG_TEST.plist; path = "/Users/Javen/Documents/MyProject/HDMall-iOS/YI_DI_GANG_TEST.plist"; sourceTree = "<absolute>"; };
 		8FED0FB21F38602F004916CC /* AboutTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AboutTableViewController.h; sourceTree = "<group>"; };
 		8FED0FB31F38602F004916CC /* AboutTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AboutTableViewController.m; sourceTree = "<group>"; };
 		8FEF5E471F285E56001496E3 /* CALayer+Addtions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CALayer+Addtions.h"; sourceTree = "<group>"; };
@@ -349,6 +478,7 @@
 		B7647FC31ADEF96A4D33BB34 /* Pods-hdmall_base-HDMall.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-hdmall_base-HDMall.release.xcconfig"; path = "Pods/Target Support Files/Pods-hdmall_base-HDMall/Pods-hdmall_base-HDMall.release.xcconfig"; sourceTree = "<group>"; };
 		D3A3D2FD83D7ADD6AC921E3B /* Pods-hdmall_base-HDMall_TEST.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-hdmall_base-HDMall_TEST.debug.xcconfig"; path = "Pods/Target Support Files/Pods-hdmall_base-HDMall_TEST/Pods-hdmall_base-HDMall_TEST.debug.xcconfig"; sourceTree = "<group>"; };
 		DE3C94E5EBEB6D5CCA6E7916 /* Pods-hdmall_base-HDMall.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-hdmall_base-HDMall.debug.xcconfig"; path = "Pods/Target Support Files/Pods-hdmall_base-HDMall/Pods-hdmall_base-HDMall.debug.xcconfig"; sourceTree = "<group>"; };
+		E24F574AFDF2120FAF47AE59 /* Pods-hdmall_base-YI_DI_GANG_TEST.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-hdmall_base-YI_DI_GANG_TEST.debug.xcconfig"; path = "Pods/Target Support Files/Pods-hdmall_base-YI_DI_GANG_TEST/Pods-hdmall_base-YI_DI_GANG_TEST.debug.xcconfig"; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -360,6 +490,15 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		8FDC89BE1F90CA5D00D0C442 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				8FDC89BF1F90CA5D00D0C442 /* libPods-hdmall_base-HDMall_TEST.a in Frameworks */,
+				1D35D2C97F6D618C9E9A574B /* libPods-hdmall_base-YI_DI_GANG_TEST.a in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
@@ -370,6 +509,8 @@
 				B7647FC31ADEF96A4D33BB34 /* Pods-hdmall_base-HDMall.release.xcconfig */,
 				D3A3D2FD83D7ADD6AC921E3B /* Pods-hdmall_base-HDMall_TEST.debug.xcconfig */,
 				46644CE95EC8A7A4892489B7 /* Pods-hdmall_base-HDMall_TEST.release.xcconfig */,
+				E24F574AFDF2120FAF47AE59 /* Pods-hdmall_base-YI_DI_GANG_TEST.debug.xcconfig */,
+				421F6E9AAC6F450860C44791 /* Pods-hdmall_base-YI_DI_GANG_TEST.release.xcconfig */,
 			);
 			name = Pods;
 			sourceTree = "<group>";
@@ -750,6 +891,18 @@
 			path = LocationHelper;
 			sourceTree = "<group>";
 		};
+		8F91A9D31F948B5E0032D201 /* UpdateAlert */ = {
+			isa = PBXGroup;
+			children = (
+				8F91A9DD1F948C620032D201 /* UpdateResponse.h */,
+				8F91A9DC1F948C610032D201 /* UpdateResponse.m */,
+				8F91A9D41F948B5E0032D201 /* UpdateAlertView.h */,
+				8F91A9D51F948B5E0032D201 /* UpdateAlertView.m */,
+				8F91A9D61F948B5E0032D201 /* UpdateAlertView.xib */,
+			);
+			path = UpdateAlert;
+			sourceTree = "<group>";
+		};
 		8F973BDB1F21F6DD003D3ADB = {
 			isa = PBXGroup;
 			children = (
@@ -757,6 +910,7 @@
 				8F973BE51F21F6DD003D3ADB /* Products */,
 				1DF639B484F1CF884CB0BCC2 /* Pods */,
 				910BF16968E181D62593128E /* Frameworks */,
+				8FDC89D21F90CA5E00D0C442 /* YI_DI_GANG_TEST.plist */,
 			);
 			sourceTree = "<group>";
 		};
@@ -764,6 +918,7 @@
 			isa = PBXGroup;
 			children = (
 				8F973C2B1F21FD54003D3ADB /* HDMall_TEST.app */,
+				8FDC89D11F90CA5D00D0C442 /* YI_DI_GANG_TEST.app */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -798,6 +953,7 @@
 		8F973C041F21FB67003D3ADB /* Tools */ = {
 			isa = PBXGroup;
 			children = (
+				8F91A9D31F948B5E0032D201 /* UpdateAlert */,
 				8FC2BE901F39AC430023FA6B /* JSDropDownMenu */,
 				8FF9F6E71F37FF6C006B0EC0 /* CustomMMSpreadSheetView */,
 				8F4BFCF51F2F3238003EA16B /* PictureTableViewCell */,
@@ -1088,6 +1244,7 @@
 				8FEF5E7F1F285EDB001496E3 /* UIKit.framework */,
 				1532C4741ABCEBBC970F7FC5 /* libPods-hdmall_base-HDMall.a */,
 				3784BD616CA8AF0775D5526F /* libPods-hdmall_base-HDMall_TEST.a */,
+				467754F21D6BD9E92D200F26 /* libPods-hdmall_base-YI_DI_GANG_TEST.a */,
 			);
 			name = Frameworks;
 			sourceTree = "<group>";
@@ -1115,6 +1272,26 @@
 			productReference = 8F973C2B1F21FD54003D3ADB /* HDMall_TEST.app */;
 			productType = "com.apple.product-type.application";
 		};
+		8FDC89561F90CA5D00D0C442 /* YI_DI_GANG_TEST */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 8FDC89CE1F90CA5D00D0C442 /* Build configuration list for PBXNativeTarget "YI_DI_GANG_TEST" */;
+			buildPhases = (
+				8FDC89571F90CA5D00D0C442 /* [CP] Check Pods Manifest.lock */,
+				8FDC89581F90CA5D00D0C442 /* Sources */,
+				8FDC89BE1F90CA5D00D0C442 /* Frameworks */,
+				8FDC89C01F90CA5D00D0C442 /* Resources */,
+				8FDC89CC1F90CA5D00D0C442 /* [CP] Embed Pods Frameworks */,
+				8FDC89CD1F90CA5D00D0C442 /* [CP] Copy Pods Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = YI_DI_GANG_TEST;
+			productName = HDMall;
+			productReference = 8FDC89D11F90CA5D00D0C442 /* YI_DI_GANG_TEST.app */;
+			productType = "com.apple.product-type.application";
+		};
 /* End PBXNativeTarget section */
 
 /* Begin PBXProject section */
@@ -1127,6 +1304,9 @@
 					8F973C1D1F21FD54003D3ADB = {
 						DevelopmentTeam = W54V2VB863;
 					};
+					8FDC89561F90CA5D00D0C442 = {
+						DevelopmentTeam = W54V2VB863;
+					};
 				};
 			};
 			buildConfigurationList = 8F973BDF1F21F6DD003D3ADB /* Build configuration list for PBXProject "HDMall" */;
@@ -1143,6 +1323,7 @@
 			projectRoot = "";
 			targets = (
 				8F973C1D1F21FD54003D3ADB /* HDMall_TEST */,
+				8FDC89561F90CA5D00D0C442 /* YI_DI_GANG_TEST */,
 			);
 		};
 /* End PBXProject section */
@@ -1152,6 +1333,7 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				8F91A9DA1F948B8D0032D201 /* UpdateAlertView.xib in Resources */,
 				8F973C251F21FD54003D3ADB /* LaunchScreen.storyboard in Resources */,
 				8FC2BE941F39AC430023FA6B /* ico_make.png in Resources */,
 				8F250D2F1F297DA80031B4BC /* restrictedshine.tiff in Resources */,
@@ -1166,6 +1348,25 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		8FDC89C01F90CA5D00D0C442 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				8F91A9D71F948B7A0032D201 /* UpdateAlertView.xib in Resources */,
+				8FDC89C11F90CA5D00D0C442 /* LaunchScreen.storyboard in Resources */,
+				8FDC89C21F90CA5D00D0C442 /* ico_make.png in Resources */,
+				8FDC89C31F90CA5D00D0C442 /* restrictedshine.tiff in Resources */,
+				8FDC89C41F90CA5D00D0C442 /* mask.jpg in Resources */,
+				8FDC89C51F90CA5D00D0C442 /* BusinessItems.plist in Resources */,
+				8FDC89C61F90CA5D00D0C442 /* ZJShowLogView.xib in Resources */,
+				8FDC89C71F90CA5D00D0C442 /* Assets.xcassets in Resources */,
+				8FDC89C81F90CA5D00D0C442 /* Main.storyboard in Resources */,
+				8FDC89C91F90CA5D00D0C442 /* ZJPicture.storyboard in Resources */,
+				8FDC89CA1F90CA5D00D0C442 /* line.png in Resources */,
+				8FDC89CB1F90CA5D00D0C442 /* SaleInput.storyboard in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXShellScriptBuildPhase section */
@@ -1199,6 +1400,51 @@
 			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-hdmall_base-HDMall_TEST/Pods-hdmall_base-HDMall_TEST-resources.sh\"\n";
 			showEnvVarsInLog = 0;
 		};
+		8FDC89571F90CA5D00D0C442 /* [CP] Check Pods Manifest.lock */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			name = "[CP] Check Pods Manifest.lock";
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n";
+			showEnvVarsInLog = 0;
+		};
+		8FDC89CC1F90CA5D00D0C442 /* [CP] Embed Pods Frameworks */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			name = "[CP] Embed Pods Frameworks";
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-hdmall_base-YI_DI_GANG_TEST/Pods-hdmall_base-YI_DI_GANG_TEST-frameworks.sh\"\n";
+			showEnvVarsInLog = 0;
+		};
+		8FDC89CD1F90CA5D00D0C442 /* [CP] Copy Pods Resources */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			name = "[CP] Copy Pods Resources";
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-hdmall_base-YI_DI_GANG_TEST/Pods-hdmall_base-YI_DI_GANG_TEST-resources.sh\"\n";
+			showEnvVarsInLog = 0;
+		};
 		A09724C38233FE8002201CEC /* [CP] Check Pods Manifest.lock */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
@@ -1221,6 +1467,7 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				8F91A9D91F948B880032D201 /* UpdateAlertView.m in Sources */,
 				8FEF5EB21F28612B001496E3 /* ZJBaseModel.m in Sources */,
 				8FF9F6E31F347517006B0EC0 /* SaleInputState.m in Sources */,
 				8F250D211F297DA80031B4BC /* UINavigationController+XWTransition.m in Sources */,
@@ -1305,6 +1552,7 @@
 				8FF9F6FD1F37FF6C006B0EC0 /* CustomMMGridLayout.m in Sources */,
 				8F4BFCC41F2EDCAF003EA16B /* BusinessFunction.m in Sources */,
 				8FF9F6E61F37FF09006B0EC0 /* SaleInputHistoryViewController.m in Sources */,
+				8F91A9DF1F948C620032D201 /* UpdateResponse.m in Sources */,
 				8FEF5E661F285E56001496E3 /* ChineseLogHelper.m in Sources */,
 				8F250D591F297DA80031B4BC /* XWFilterTransitionView.m in Sources */,
 				8F250D571F297DA80031B4BC /* XWFilterAnimator.m in Sources */,
@@ -1325,6 +1573,116 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		8FDC89581F90CA5D00D0C442 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				8F91A9D81F948B820032D201 /* UpdateAlertView.m in Sources */,
+				8FDC89591F90CA5D00D0C442 /* ZJBaseModel.m in Sources */,
+				8FDC895A1F90CA5D00D0C442 /* SaleInputState.m in Sources */,
+				8FDC895B1F90CA5D00D0C442 /* UINavigationController+XWTransition.m in Sources */,
+				8FDC895C1F90CA5D00D0C442 /* ZJShowLogView.m in Sources */,
+				8FDC895D1F90CA5D00D0C442 /* BaseChooseViewController.m in Sources */,
+				8FDC895E1F90CA5D00D0C442 /* XWMagicMoveAnimator.m in Sources */,
+				8FDC895F1F90CA5D00D0C442 /* XWFilterAnimator+XWMod.m in Sources */,
+				8FDC89601F90CA5D00D0C442 /* NSData+EncodeAdditions.m in Sources */,
+				8FDC89611F90CA5D00D0C442 /* XWFilterAnimator+XWPageCurl.m in Sources */,
+				8FDC89621F90CA5D00D0C442 /* HomeWeatherBoard.m in Sources */,
+				8FDC89631F90CA5D00D0C442 /* ZJPermissionManager.m in Sources */,
+				8FDC89641F90CA5D00D0C442 /* GalleryCollectionViewCell.m in Sources */,
+				8FDC89651F90CA5D00D0C442 /* SaleInputListViewModel.m in Sources */,
+				8FDC89661F90CA5D00D0C442 /* UserInfo.m in Sources */,
+				8FDC89671F90CA5D00D0C442 /* MineTableViewController.m in Sources */,
+				8FDC89681F90CA5D00D0C442 /* WeatherModel.m in Sources */,
+				8FDC89691F90CA5D00D0C442 /* LoginViewController.m in Sources */,
+				8FDC896A1F90CA5D00D0C442 /* XWFilterAnimator+XWBoxBlur.m in Sources */,
+				8FDC896B1F90CA5D00D0C442 /* XWCoolAnimator+XWScanning.m in Sources */,
+				8FDC896C1F90CA5D00D0C442 /* UILabel+Addtions.m in Sources */,
+				8FDC896D1F90CA5D00D0C442 /* PicViewModel.m in Sources */,
+				8FDC896E1F90CA5D00D0C442 /* XWCoolAnimator+XWFold.m in Sources */,
+				8FDC896F1F90CA5D00D0C442 /* AppDelegate.m in Sources */,
+				8FDC89701F90CA5D00D0C442 /* UIView+Snapshot.m in Sources */,
+				8FDC89711F90CA5D00D0C442 /* main.m in Sources */,
+				8FDC89721F90CA5D00D0C442 /* CustomMMSpreadsheetView.m in Sources */,
+				8FDC89731F90CA5D00D0C442 /* BaseIQManagerView.m in Sources */,
+				8FDC89741F90CA5D00D0C442 /* MMSpreadsheetView.m in Sources */,
+				8FDC89751F90CA5D00D0C442 /* SaleInputAmountCollectionViewCell.m in Sources */,
+				8FDC89761F90CA5D00D0C442 /* LoginRequest.m in Sources */,
+				8FDC89771F90CA5D00D0C442 /* LocationHelper.m in Sources */,
+				8FDC89781F90CA5D00D0C442 /* XWFilterAnimator+XWFlash.m in Sources */,
+				8FDC89791F90CA5D00D0C442 /* BaseStateModel.m in Sources */,
+				8FDC897A1F90CA5D00D0C442 /* ZJBaseFileModel.m in Sources */,
+				8FDC897B1F90CA5D00D0C442 /* BaseViewController.m in Sources */,
+				8FDC897C1F90CA5D00D0C442 /* SaleInputListViewController.m in Sources */,
+				8FDC897D1F90CA5D00D0C442 /* XWCircleSpreadAnimator.m in Sources */,
+				8FDC897E1F90CA5D00D0C442 /* BusinessCollectionViewController.m in Sources */,
+				8FDC897F1F90CA5D00D0C442 /* AboutTableViewController.m in Sources */,
+				8FDC89801F90CA5D00D0C442 /* XWCoolAnimator.m in Sources */,
+				8FDC89811F90CA5D00D0C442 /* SaleInputTopView.m in Sources */,
+				8FDC89821F90CA5D00D0C442 /* NSString+Additions.m in Sources */,
+				8FDC89831F90CA5D00D0C442 /* XWCoolAnimator+XWLines.m in Sources */,
+				8FDC89841F90CA5D00D0C442 /* UIViewController+XWTransition.m in Sources */,
+				8FDC89851F90CA5D00D0C442 /* NSIndexPath+MMSpreadsheetView.m in Sources */,
+				8FDC89861F90CA5D00D0C442 /* UIView+Category.m in Sources */,
+				8FDC89871F90CA5D00D0C442 /* ZJAppInstance.m in Sources */,
+				8FDC89881F90CA5D00D0C442 /* GalleryViewController.m in Sources */,
+				8FDC89891F90CA5D00D0C442 /* SaleInputViewModel.m in Sources */,
+				8FDC898A1F90CA5D00D0C442 /* MMLeftColumnCell.m in Sources */,
+				8FDC898B1F90CA5D00D0C442 /* BaseChooseModel.m in Sources */,
+				8FDC898C1F90CA5D00D0C442 /* HistoryTopView.m in Sources */,
+				8FDC898D1F90CA5D00D0C442 /* MMGridLayout.m in Sources */,
+				8FDC898E1F90CA5D00D0C442 /* ViewController.m in Sources */,
+				8FDC898F1F90CA5D00D0C442 /* BusinessFunctionModel.m in Sources */,
+				8FDC89901F90CA5D00D0C442 /* XWFilterAnimator+XWBarSwipe.m in Sources */,
+				8FDC89911F90CA5D00D0C442 /* SalesInputTotalVIew.m in Sources */,
+				8FDC89921F90CA5D00D0C442 /* InspectRepairAddPicTableViewCell.m in Sources */,
+				8FDC89931F90CA5D00D0C442 /* LoginViewModel.m in Sources */,
+				8FDC89941F90CA5D00D0C442 /* SaleInputDetailViewController.m in Sources */,
+				8FDC89951F90CA5D00D0C442 /* UIViewController+Additions.m in Sources */,
+				8FDC89961F90CA5D00D0C442 /* XWCoolAnimator+XWPageFlip.m in Sources */,
+				8FDC89971F90CA5D00D0C442 /* XWFilterAnimator+XWMask.m in Sources */,
+				8FDC89981F90CA5D00D0C442 /* XWCoolAnimator+XWPortal.m in Sources */,
+				8FDC89991F90CA5D00D0C442 /* HMSaleInputDetail.m in Sources */,
+				8FDC899A1F90CA5D00D0C442 /* UIImage+Helper.m in Sources */,
+				8FDC899B1F90CA5D00D0C442 /* SaleInputHistory.m in Sources */,
+				8FDC899C1F90CA5D00D0C442 /* MBProgressHUD+Addtions.m in Sources */,
+				8FDC899D1F90CA5D00D0C442 /* RepairAddPicCollectionViewCell.m in Sources */,
+				8FDC899E1F90CA5D00D0C442 /* NSNumber+Addtions.m in Sources */,
+				8FDC899F1F90CA5D00D0C442 /* HMSaleInputQuery.m in Sources */,
+				8FDC89A01F90CA5D00D0C442 /* MMTopRowCell.m in Sources */,
+				8FDC89A11F90CA5D00D0C442 /* XWInteractiveTransition.m in Sources */,
+				8FDC89A21F90CA5D00D0C442 /* XWCoolAnimator+XWMiddlePageFlip.m in Sources */,
+				8FDC89A31F90CA5D00D0C442 /* JSDropDownMenu.m in Sources */,
+				8FDC89A41F90CA5D00D0C442 /* MMViewController.m in Sources */,
+				8FDC89A51F90CA5D00D0C442 /* XWFilterAnimator+XWRipple.m in Sources */,
+				8FDC89A61F90CA5D00D0C442 /* SaleInputListTableViewCell.m in Sources */,
+				8FDC89A71F90CA5D00D0C442 /* CalculateHelper.m in Sources */,
+				8FDC89A81F90CA5D00D0C442 /* RootNavigationController.m in Sources */,
+				8FDC89A91F90CA5D00D0C442 /* ZJBaseHttpManager.m in Sources */,
+				8FDC89AA1F90CA5D00D0C442 /* CustomMMGridLayout.m in Sources */,
+				8FDC89AB1F90CA5D00D0C442 /* BusinessFunction.m in Sources */,
+				8FDC89AC1F90CA5D00D0C442 /* SaleInputHistoryViewController.m in Sources */,
+				8F91A9DE1F948C620032D201 /* UpdateResponse.m in Sources */,
+				8FDC89AD1F90CA5D00D0C442 /* ChineseLogHelper.m in Sources */,
+				8FDC89AE1F90CA5D00D0C442 /* XWFilterTransitionView.m in Sources */,
+				8FDC89AF1F90CA5D00D0C442 /* XWFilterAnimator.m in Sources */,
+				8FDC89B01F90CA5D00D0C442 /* SingleScrollView.m in Sources */,
+				8FDC89B11F90CA5D00D0C442 /* HomeViewController.m in Sources */,
+				8FDC89B21F90CA5D00D0C442 /* BaseListViewController.m in Sources */,
+				8FDC89B31F90CA5D00D0C442 /* XWFilterAnimator+XWSwipe.m in Sources */,
+				8FDC89B41F90CA5D00D0C442 /* XWFilterAnimator+XWCopyMachine.m in Sources */,
+				8FDC89B51F90CA5D00D0C442 /* MMGridCell.m in Sources */,
+				8FDC89B61F90CA5D00D0C442 /* SaleInputAddAmountCell.m in Sources */,
+				8FDC89B71F90CA5D00D0C442 /* NSDate+Additions.m in Sources */,
+				8FDC89B81F90CA5D00D0C442 /* XWCoolAnimator+XWExplode.m in Sources */,
+				8FDC89B91F90CA5D00D0C442 /* CALayer+Addtions.m in Sources */,
+				8FDC89BA1F90CA5D00D0C442 /* BaseAlertCardViewController.m in Sources */,
+				8FDC89BB1F90CA5D00D0C442 /* XWTransitionAnimator.m in Sources */,
+				8FDC89BC1F90CA5D00D0C442 /* XWDrawerAnimator.m in Sources */,
+				8FDC89BD1F90CA5D00D0C442 /* SaleInputAddViewController.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 /* End PBXSourcesBuildPhase section */
 
 /* Begin PBXVariantGroup section */
@@ -1479,6 +1837,48 @@
 			};
 			name = Release;
 		};
+		8FDC89CF1F90CA5D00D0C442 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = E24F574AFDF2120FAF47AE59 /* Pods-hdmall_base-YI_DI_GANG_TEST.debug.xcconfig */;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-test";
+				CLANG_WARN_DOCUMENTATION_COMMENTS = NO;
+				DEVELOPMENT_TEAM = W54V2VB863;
+				GCC_PREFIX_HEADER = "$(SRCROOT)/HDMall/Supporting Files/PrefixHeader.pch";
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					YI_DI_GANG_TEST,
+					"$(inherited)",
+				);
+				INFOPLIST_FILE = "$(SRCROOT)/YI_DI_GANG_TEST.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+				PRODUCT_BUNDLE_IDENTIFIER = com.gomore.hdmall;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				USER_HEADER_SEARCH_PATHS = "\"${PODS_ROOT}/**";
+			};
+			name = Debug;
+		};
+		8FDC89D01F90CA5D00D0C442 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 421F6E9AAC6F450860C44791 /* Pods-hdmall_base-YI_DI_GANG_TEST.release.xcconfig */;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-test";
+				CLANG_WARN_DOCUMENTATION_COMMENTS = NO;
+				DEVELOPMENT_TEAM = W54V2VB863;
+				GCC_PREFIX_HEADER = "$(SRCROOT)/HDMall/Supporting Files/PrefixHeader.pch";
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					YI_DI_GANG_TEST,
+					"$(inherited)",
+				);
+				INFOPLIST_FILE = "$(SRCROOT)/YI_DI_GANG_TEST.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+				PRODUCT_BUNDLE_IDENTIFIER = com.gomore.hdmall;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				USER_HEADER_SEARCH_PATHS = "\"${PODS_ROOT}/**";
+			};
+			name = Release;
+		};
 /* End XCBuildConfiguration section */
 
 /* Begin XCConfigurationList section */
@@ -1500,6 +1900,15 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
+		8FDC89CE1F90CA5D00D0C442 /* Build configuration list for PBXNativeTarget "YI_DI_GANG_TEST" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				8FDC89CF1F90CA5D00D0C442 /* Debug */,
+				8FDC89D01F90CA5D00D0C442 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
 /* End XCConfigurationList section */
 	};
 	rootObject = 8F973BDC1F21F6DD003D3ADB /* Project object */;
diff --git a/HDMall/CodeClass/Login/ViewControllers/LoginViewController.m b/HDMall/CodeClass/Login/ViewControllers/LoginViewController.m
index 51bf6c6..e3f85e9 100644
--- a/HDMall/CodeClass/Login/ViewControllers/LoginViewController.m
+++ b/HDMall/CodeClass/Login/ViewControllers/LoginViewController.m
@@ -10,6 +10,7 @@
 #import "IQUITextFieldView+Additions.h"
 #import "LoginViewModel.h"
 #import "RootNavigationController.h"
+#import "UpdateAlertView.h"
 @interface LoginViewController () <UITextFieldDelegate>
 @property (weak, nonatomic) IBOutlet UITextField *textFieldName;
 @property (weak, nonatomic) IBOutlet UITextField *textFieldPWD;
@@ -19,6 +20,7 @@
 @property (weak, nonatomic) IBOutlet UIImageView *imgBg;
 @property (weak, nonatomic) IBOutlet UILabel *bottomInfo;
 @property (strong, nonatomic) LoginViewModel *viewModel;
+@property (strong, nonatomic) ZJUpdateManager *update;
 @end
 
 @implementation LoginViewController
@@ -51,12 +53,18 @@
 }
 
 - (void)checkUpdate {
-//    WS(weakSelf);
-//    MBProgressHUD *hud = [MBProgressHUD j_loadingOnView:self.view text:@"检查版本更新中…"];
+    [self.update checkOnVC:self complete:^(BOOL isLatest) {
+        if (self.textFieldName.text.length > 0 && self.textFieldPWD.text.length >0) {
+            [self ActionLogin:nil];
+        }
+    }];
 }
 
 //登录
 - (IBAction)ActionLogin:(UIButton *)sender {
+    kCanNotBeNil(self.textFieldName.text, @"请输入用户名!");
+    kCanNotBeNil(self.textFieldPWD.text, @"请输入密码!");
+    
     [MBProgressHUD j_loading:@"登陆中…"];
     self.viewModel.loginRequest.principal = self.textFieldName.text;
     self.viewModel.loginRequest.password = self.textFieldPWD.text;
@@ -83,5 +91,6 @@
 }
 
 ZJLazy(LoginViewModel, viewModel);
+ZJLazy(ZJUpdateManager, update);
 
 @end
diff --git a/HDMall/Supporting Files/URL.h b/HDMall/Supporting Files/URL.h
index a65c876..d182272 100644
--- a/HDMall/Supporting Files/URL.h	
+++ b/HDMall/Supporting Files/URL.h	
@@ -11,10 +11,19 @@
 
 #if defined(HDMall_TEST)
 static NSString *const VERSION_NAME = @"商地开发版";
-static NSString *const BASE_IP = @"http://gomoredev.natapp4.cc";
+static NSString *const BASE_IP = @"http://dev.gomoretech.com";
+//蒲公英appid
+static NSString *const PGYER_APPID = @"";
 #elif defined(HDMall)
 static NSString *const VERSION_NAME = @"商地开发版";
 static NSString *const BASE_IP = @"http://gomoredev.natapp4.cc";
+//蒲公英appid
+static NSString *const PGYER_APPID = @"";
+#elif defined(YI_DI_GANG_TEST)
+static NSString *const VERSION_NAME = @"颐堤港测试版";
+static NSString *const BASE_IP = @"http://210.12.159.69:8280";
+//蒲公英appid
+static NSString *const PGYER_APPID = @"";
 
 #else
 
diff --git a/HDMall/Tools/UpdateAlert/UpdateAlertView.h b/HDMall/Tools/UpdateAlert/UpdateAlertView.h
new file mode 100644
index 0000000..d83d1ba
--- /dev/null
+++ b/HDMall/Tools/UpdateAlert/UpdateAlertView.h
@@ -0,0 +1,27 @@
+//
+//  UpdateAlertView.h
+//  RealEstateManagement
+//
+//  Created by Javen on 2017/3/24.
+//  Copyright © 2017年 上海勾芒信息科技. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface UpdateAlertView : UIView
+
++ (UpdateAlertView *)alertWithNew:(NSString *)newVersion Content:(NSString *)content isForce:(BOOL)isForce url:(NSString *)url;
+
++ (instancetype)updateWithVersion:(NSString *)newVersion
+                           webUrl:(NSString *)webUrl
+                          itemUrl:(NSString *)itemUrl
+                          content:(NSString *)content
+                          isForce:(BOOL)isForce
+                         complete:(void (^)(BOOL isLatest))complete;
+
+@end
+
+@interface ZJUpdateManager : NSObject
+- (void)checkOnVC:(UIViewController *)vc complete:(void (^)(BOOL isLatest))complete;
+
+@end
diff --git a/HDMall/Tools/UpdateAlert/UpdateAlertView.m b/HDMall/Tools/UpdateAlert/UpdateAlertView.m
new file mode 100644
index 0000000..4a16487
--- /dev/null
+++ b/HDMall/Tools/UpdateAlert/UpdateAlertView.m
@@ -0,0 +1,175 @@
+//
+//  UpdateAlertView.m
+//  RealEstateManagement
+//
+//  Created by Javen on 2017/3/24.
+//  Copyright © 2017年 上海勾芒信息科技. All rights reserved.
+//
+
+#import "UpdateAlertView.h"
+#import "UpdateResponse.h"
+#import "PgyUpdateManager.h"
+@interface UpdateAlertView ()
+@property (weak, nonatomic) IBOutlet UITextView *textViewContent;
+@property (weak, nonatomic) IBOutlet UIButton *btnCancel;
+@property (weak, nonatomic) IBOutlet UIButton *btnUpdate;
+@property (weak, nonatomic) IBOutlet UILabel *labelNewVersion;
+@property (strong, nonatomic) UIView *shadow;
+@property (copy, nonatomic) void (^blockUpdate)(void);
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *constraintCancelWidth;
+@property (strong, nonatomic) NSString *updateUrl;
+@end
+@implementation UpdateAlertView
+
+- (void)awakeFromNib {
+    [super awakeFromNib];
+    self.shadow = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kWidth, kHeight)];
+    self.shadow.backgroundColor = [UIColor colorWithWhite:0.3 alpha:0.0];
+
+    self.cornerRadius = 7;
+    self.clipsToBounds = YES;
+}
+
++ (UpdateAlertView *)alertWithNew:(NSString *)newVersion Content:(NSString *)content isForce:(BOOL)isForce url:(NSString *)url {
+    UpdateAlertView *alertView = [UpdateAlertView viewFromNib];
+    alertView.frame = CGRectMake(0, 0, 280, 220);
+    alertView.center = kWindow.center;
+    alertView.transform = CGAffineTransformMakeScale(0.01, 0.01);
+    alertView.labelNewVersion.text = [NSString stringWithFormat:@"(%@)",newVersion];
+    //如果没有更新内容就使用默认的内容
+    if (content != nil) {
+        alertView.textViewContent.text = content;
+    }
+    
+    if (isForce) {
+        alertView.btnCancel.hidden = YES;
+        alertView.constraintCancelWidth.constant = 280 - 32;
+    }
+    alertView.updateUrl = url;
+    [alertView alert];
+    
+    return alertView;
+}
+
+
++ (instancetype)updateWithVersion:(NSString *)newVersion
+                           webUrl:(NSString *)webUrl
+                          itemUrl:(NSString *)itemUrl
+                          content:(NSString *)content
+                          isForce:(BOOL)isForce
+                         complete:(void (^)(BOOL isLatest))complete {
+    
+    if ([APP_VERSION compare:newVersion options:NSNumericSearch] != NSOrderedAscending) {
+        CLog(@"已经是最新版本");
+        complete(YES);
+        return nil;
+    }
+    complete(NO);
+    
+    UpdateAlertView *alertView = [UpdateAlertView viewFromNib];
+    alertView.frame = CGRectMake(0, 0, 280, 220);
+    alertView.center = kWindow.center;
+    alertView.transform = CGAffineTransformMakeScale(0.01, 0.01);
+    alertView.labelNewVersion.text = [NSString stringWithFormat:@"(%@)",newVersion];
+    //如果没有更新内容就使用默认的内容
+    if (content != nil) {
+        alertView.textViewContent.text = content;
+    }
+    
+    if (isForce) {
+        alertView.btnCancel.hidden = YES;
+        alertView.constraintCancelWidth.constant = 280 - 32;
+    }
+    
+    alertView.updateUrl = itemUrl ? itemUrl : webUrl;
+    [alertView alert];
+    
+    return alertView;
+}
+
+- (void)alert {
+    [kWindow addSubview:self.shadow];
+    [kWindow addSubview:self];
+    [UIView animateWithDuration:0.5
+                          delay:0
+         usingSpringWithDamping:0.7
+          initialSpringVelocity:1.0
+                        options:UIViewAnimationOptionCurveEaseOut
+                     animations:^{
+                         self.shadow.backgroundColor = [UIColor colorWithWhite:0.3 alpha:0.3];
+                         self.transform = CGAffineTransformMakeScale(1, 1);
+                     }
+                     completion:nil];
+}
+
+- (void)cancel {
+    [UIView animateWithDuration:0.5
+        delay:0
+        usingSpringWithDamping:0.9
+        initialSpringVelocity:1.0
+        options:UIViewAnimationOptionCurveEaseOut
+        animations:^{
+            self.transform = CGAffineTransformMakeScale(0.01, 0.01);
+            self.shadow.backgroundColor = [UIColor colorWithWhite:0.3 alpha:0.0];
+        }
+        completion:^(BOOL finished) {
+            [self.shadow removeFromSuperview];
+            [self removeFromSuperview];
+        }];
+}
+
+#pragma mark - 点击事件
+
+- (IBAction)actionCancel:(id)sender {
+    [self cancel];
+}
+- (IBAction)actionUpdate:(id)sender {
+    [MBProgressHUD j_loading];
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        [MBProgressHUD j_hideLoadingView];
+    });
+    
+    [[UIApplication sharedApplication]
+     openURL:[NSURL URLWithString:self.updateUrl]];
+}
+
+@end
+
+@interface ZJUpdateManager ()
+@property (nonatomic, strong) UpdateResponse *updateInfo;
+@property (assign, nonatomic) UIViewController *superVC;
+//@property (strong, nonatomic) MBProgressHUD *hud;
+@property (copy, nonatomic) void (^blockComplete)(BOOL);
+@end
+@implementation ZJUpdateManager
+
+- (void)checkOnVC:(UIViewController *)vc complete:(void (^)(BOOL isLatest))complete {
+    self.superVC = vc;
+    self.blockComplete = complete;
+    WS(weakSelf);
+//    self.hud = [MBProgressHUD j_loadingOnView:vc.view text:@"检查版本更新中…"];
+    [ZJHttpManager GET:@"ipapk?type=ipa" parameters:nil complete:^(id responseObject, NSError *error) {
+        if (kIsResponse) {
+            weakSelf.updateInfo = [UpdateResponse modelWithDic:responseObject[@"data"]];
+            [weakSelf pgyerUpdate];
+        }else{
+//            [weakSelf.hud hideAnimated:YES];
+            kFalseHttpTips;
+        }
+    }];
+}
+
+- (void)pgyerUpdate {
+    [[PgyUpdateManager sharedPgyManager] startManagerWithAppId:PGYER_APPID];
+    [[PgyUpdateManager sharedPgyManager] checkUpdateWithDelegete:self selector:@selector(updateMethod:)];
+}
+
+- (void)updateMethod:(NSDictionary *)response {
+//    [self.hud hideAnimated:YES];
+    NSString *url = response[@"downloadURL"];
+    [UpdateAlertView updateWithVersion:self.updateInfo.version webUrl:self.updateInfo.url itemUrl:url content:nil isForce:self.updateInfo.forceUpdate complete:self.blockComplete];
+    
+}
+
+@end
+
diff --git a/HDMall/Tools/UpdateAlert/UpdateAlertView.xib b/HDMall/Tools/UpdateAlert/UpdateAlertView.xib
new file mode 100644
index 0000000..65086a0
--- /dev/null
+++ b/HDMall/Tools/UpdateAlert/UpdateAlertView.xib
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11762" systemVersion="16C67" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+    <device id="retina4_7" orientation="portrait">
+        <adaptation id="fullscreen"/>
+    </device>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="UpdateAlertView">
+            <rect key="frame" x="0.0" y="0.0" width="277" height="187"/>
+            <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
+            <subviews>
+                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="版本更新" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6Jr-SM-tzH">
+                    <rect key="frame" x="16" y="16" width="82" height="24"/>
+                    <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="20"/>
+                    <nil key="textColor"/>
+                    <nil key="highlightedColor"/>
+                </label>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="v26-Cb-KWY">
+                    <rect key="frame" x="16" y="44" width="42" height="6"/>
+                    <color key="backgroundColor" red="0.41176470588235292" green="0.70980392156862748" blue="0.94117647058823528" alpha="1" colorSpace="calibratedRGB"/>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="6" id="1mW-Zm-9FG"/>
+                        <constraint firstAttribute="width" constant="42" id="Wa7-V7-fdo"/>
+                    </constraints>
+                </view>
+                <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yAI-qd-Nka">
+                    <rect key="frame" x="16" y="50" width="245" height="97"/>
+                    <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+                    <string key="text">更新内容:
+1.性能优化
+2.修复若干bug</string>
+                    <fontDescription key="fontDescription" name=".AppleSystemUIFont" family=".AppleSystemUIFont" pointSize="17"/>
+                    <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
+                </textView>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="URr-qs-mnA">
+                    <rect key="frame" x="0.0" y="147" width="277" height="40"/>
+                    <subviews>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eAJ-rL-uEs">
+                            <rect key="frame" x="16" y="0.0" width="33" height="40"/>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
+                            <state key="normal" title="取消">
+                                <color key="titleColor" red="0.50196081400000003" green="0.50196081400000003" blue="0.50196081400000003" alpha="1" colorSpace="calibratedRGB"/>
+                            </state>
+                            <connections>
+                                <action selector="actionCancel:" destination="iN0-l3-epB" eventType="touchUpInside" id="1Fh-RS-tGw"/>
+                            </connections>
+                        </button>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="vTX-6X-dKB">
+                            <rect key="frame" x="195" y="0.0" width="66" height="40"/>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="66" id="DWw-wo-cNq"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
+                            <state key="normal" title="立即更新">
+                                <color key="titleColor" red="0.41176470590000003" green="0.70980392160000005" blue="0.94117647059999998" alpha="1" colorSpace="calibratedRGB"/>
+                            </state>
+                            <connections>
+                                <action selector="actionUpdate:" destination="iN0-l3-epB" eventType="touchUpInside" id="Nen-n3-fRU"/>
+                            </connections>
+                        </button>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xVp-5p-Wch">
+                            <rect key="frame" x="0.0" y="0.0" width="277" height="1"/>
+                            <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="1" id="ViP-qw-55Z"/>
+                            </constraints>
+                        </view>
+                    </subviews>
+                    <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+                    <constraints>
+                        <constraint firstItem="eAJ-rL-uEs" firstAttribute="top" secondItem="URr-qs-mnA" secondAttribute="top" id="7b6-H8-5bA"/>
+                        <constraint firstAttribute="trailing" secondItem="vTX-6X-dKB" secondAttribute="trailing" constant="16" id="K8S-7r-fh0"/>
+                        <constraint firstItem="xVp-5p-Wch" firstAttribute="leading" secondItem="URr-qs-mnA" secondAttribute="leading" id="LQR-uy-YXa"/>
+                        <constraint firstAttribute="height" constant="40" id="NXL-BV-AIn"/>
+                        <constraint firstAttribute="bottom" secondItem="vTX-6X-dKB" secondAttribute="bottom" id="QX4-ci-DZG"/>
+                        <constraint firstAttribute="bottom" secondItem="eAJ-rL-uEs" secondAttribute="bottom" id="Xif-gD-JCb"/>
+                        <constraint firstItem="vTX-6X-dKB" firstAttribute="top" secondItem="URr-qs-mnA" secondAttribute="top" id="aVd-1U-9Oy"/>
+                        <constraint firstItem="eAJ-rL-uEs" firstAttribute="leading" secondItem="URr-qs-mnA" secondAttribute="leading" constant="16" id="jLg-31-VhC"/>
+                        <constraint firstItem="xVp-5p-Wch" firstAttribute="top" secondItem="URr-qs-mnA" secondAttribute="top" id="jjP-Zq-axP"/>
+                        <constraint firstAttribute="trailing" secondItem="xVp-5p-Wch" secondAttribute="trailing" id="mPy-Hv-Kh5"/>
+                    </constraints>
+                </view>
+                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VDe-QB-1wR">
+                    <rect key="frame" x="16" y="66" width="0.0" height="0.0"/>
+                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                    <nil key="textColor"/>
+                    <nil key="highlightedColor"/>
+                </label>
+                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="(v1.6.28)" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ynq-5e-Gxx">
+                    <rect key="frame" x="100" y="18.5" width="70" height="22"/>
+                    <fontDescription key="fontDescription" type="system" pointSize="18"/>
+                    <color key="textColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                    <nil key="highlightedColor"/>
+                </label>
+            </subviews>
+            <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+            <constraints>
+                <constraint firstItem="yAI-qd-Nka" firstAttribute="top" secondItem="v26-Cb-KWY" secondAttribute="bottom" id="2SZ-mw-dln"/>
+                <constraint firstItem="URr-qs-mnA" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="8oC-HV-TSo"/>
+                <constraint firstItem="v26-Cb-KWY" firstAttribute="leading" secondItem="6Jr-SM-tzH" secondAttribute="leading" id="FXv-LY-kfN"/>
+                <constraint firstAttribute="trailing" secondItem="URr-qs-mnA" secondAttribute="trailing" id="FYd-Ju-VRt"/>
+                <constraint firstItem="yAI-qd-Nka" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="16" id="Fo3-sd-DPI"/>
+                <constraint firstItem="6Jr-SM-tzH" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="16" id="KVo-pz-pVL"/>
+                <constraint firstItem="6Jr-SM-tzH" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" constant="16" id="Pzk-ME-iFI"/>
+                <constraint firstItem="Ynq-5e-Gxx" firstAttribute="bottom" secondItem="6Jr-SM-tzH" secondAttribute="bottom" id="SK3-Hs-YOG"/>
+                <constraint firstItem="v26-Cb-KWY" firstAttribute="top" secondItem="6Jr-SM-tzH" secondAttribute="bottom" constant="4" id="X4h-8B-Ss0"/>
+                <constraint firstItem="VDe-QB-1wR" firstAttribute="top" secondItem="v26-Cb-KWY" secondAttribute="bottom" constant="16" id="av7-vg-9oL"/>
+                <constraint firstAttribute="bottom" secondItem="URr-qs-mnA" secondAttribute="bottom" id="fqz-9N-O49"/>
+                <constraint firstItem="Ynq-5e-Gxx" firstAttribute="leading" secondItem="6Jr-SM-tzH" secondAttribute="trailing" constant="2" id="n0M-yB-lpg"/>
+                <constraint firstItem="URr-qs-mnA" firstAttribute="top" secondItem="yAI-qd-Nka" secondAttribute="bottom" id="oOd-7e-8hX"/>
+                <constraint firstItem="VDe-QB-1wR" firstAttribute="leading" secondItem="6Jr-SM-tzH" secondAttribute="leading" id="pAl-K6-Fgj"/>
+                <constraint firstAttribute="trailing" secondItem="yAI-qd-Nka" secondAttribute="trailing" constant="16" id="vtd-mw-tMt"/>
+            </constraints>
+            <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
+            <connections>
+                <outlet property="btnCancel" destination="eAJ-rL-uEs" id="XSv-oX-xc0"/>
+                <outlet property="btnUpdate" destination="vTX-6X-dKB" id="gZP-IU-ATD"/>
+                <outlet property="constraintCancelWidth" destination="DWw-wo-cNq" id="qIn-yt-c6c"/>
+                <outlet property="labelNewVersion" destination="Ynq-5e-Gxx" id="tww-7t-j1v"/>
+                <outlet property="textViewContent" destination="yAI-qd-Nka" id="qZ7-C0-e5T"/>
+            </connections>
+            <point key="canvasLocation" x="-153.5" y="-219.5"/>
+        </view>
+    </objects>
+</document>
diff --git a/HDMall/Tools/UpdateAlert/UpdateResponse.h b/HDMall/Tools/UpdateAlert/UpdateResponse.h
new file mode 100644
index 0000000..ec0b01b
--- /dev/null
+++ b/HDMall/Tools/UpdateAlert/UpdateResponse.h
@@ -0,0 +1,16 @@
+
+
+@interface UpdateResponse : ZJBaseModel
+
+@property (nonatomic, strong)  NSString <Optional>  * url;
+
+@property (nonatomic, strong)  NSString <Optional>  * version;
+
+@property (nonatomic, strong)  NSString <Optional>  * type;
+
+@property (nonatomic, assign)  BOOL forceUpdate;
+
+@property (nonatomic, strong)  NSString <Optional>  * uuid;
+
+@end 
+
diff --git a/HDMall/Tools/UpdateAlert/UpdateResponse.m b/HDMall/Tools/UpdateAlert/UpdateResponse.m
new file mode 100644
index 0000000..3971b1f
--- /dev/null
+++ b/HDMall/Tools/UpdateAlert/UpdateResponse.m
@@ -0,0 +1,6 @@
+#import "UpdateResponse.h"
+
+@implementation UpdateResponse
+
+@end 
+
diff --git a/Podfile b/Podfile
index 261e743..d6bb99f 100644
--- a/Podfile
+++ b/Podfile
@@ -17,8 +17,9 @@ abstract_target 'hdmall_base' do
     pod 'RadioButton'
     pod 'TZImagePickerController', '~> 1.8.4'
     pod 'DatePickerTextField', '~> 1.0.2'
-#  target 'HDMall' do
-#  end
+    pod 'PgyUpdate', '~> 1.3'
+  target 'YI_DI_GANG_TEST' do
+  end
   target 'HDMall_TEST' do
   end
 end
diff --git a/Podfile.lock b/Podfile.lock
index 9f76b69..22fe668 100644
--- a/Podfile.lock
+++ b/Podfile.lock
@@ -22,6 +22,7 @@ PODS:
   - JSONModel (1.7.0)
   - MBProgressHUD (1.0.0)
   - MJRefresh (3.1.12)
+  - PgyUpdate (1.5)
   - RadioButton (1.0)
   - SDWebImage (3.7.6):
     - SDWebImage/Core (= 3.7.6)
@@ -39,6 +40,7 @@ DEPENDENCIES:
   - JSONModel (~> 1.7.0)
   - MBProgressHUD (~> 1.0.0)
   - MJRefresh (~> 3.1.2)
+  - PgyUpdate (~> 1.3)
   - RadioButton
   - SDWebImage (~> 3.7.4)
   - TZImagePickerController (~> 1.8.4)
@@ -54,11 +56,12 @@ SPEC CHECKSUMS:
   JSONModel: 840bc0fcffb24b8454d2c026bf26fea454b8e98d
   MBProgressHUD: 4890f671c94e8a0f3cf959aa731e9de2f036d71a
   MJRefresh: b96cdb21c4aa75a7b07654311ab2f315c497e806
+  PgyUpdate: bad71685b91bba4aa520b7fe29356a476700fdf2
   RadioButton: 7ef053baf6ff0e7f9e777016c28e9ba4e330edba
   SDWebImage: c325cf02c30337336b95beff20a13df489ec0ec9
   TZImagePickerController: 612c79b572efd0363c7a966daad7a974c2d6b458
   UMengAnalytics-NO-IDFA: 16666e32edce5be44ae5b14aaaa7f3582e09d6ab
 
-PODFILE CHECKSUM: c1276e98223591bc2e638bb9b75d4116e596b88a
+PODFILE CHECKSUM: 83258bebe74e593eb0e5038dcb7ae3bb688b19d1
 
 COCOAPODS: 1.2.1
diff --git a/YI_DI_GANG_TEST.plist b/YI_DI_GANG_TEST.plist
new file mode 100644
index 0000000000000000000000000000000000000000..8ee833d2c128dc3ff1780145736fb2ae82139ccb
GIT binary patch
literal 1694
zcmah|TWl0n7@lhdsdQ*dh2E&r;#Q$-K|$-&c6S>l?9L85I~EKwoS8Y@IWjwEJTtqv
z4~k8QiNQ-KK`}8#5@Sg4f%w9Um-uGVXz-1g5FQNifrKX>cro$JURaYUyZdq`|M#8m
z`~UxZYx*t<!er8{o2c<QKbO2Kjk6pth<#6O+WhpE{%5uhNZSU7hPRJAyJP3**!aZc
zuBqpq-#tA&v*(4x?29k$-8Z*CIe*~b%dZ?dY)CuPON&*{c3}qApo{$q^ui)6BkUQ{
z&|?e*z6<IKs6ay+Y*(}ILaQ1A)BS%@wy6MGL68{IM4KslD>#F!kg5Vwe*=<$ew}Qi
zP1(n0DzMIgGAz}7syo^yX$~e~>!ubG<dqF+pbfU_w6~mAgzr=lfq|?#*n<VlkVX_O
z<@+T9yuha-8ts~(ux?1>4Zwx@YJe;~pr#oZSOob|qlPr2Xp3$Yh8TyA3TfGa1h{eD
zn4+bD3q2c<Adc>c&<ed7hb9#52n25EXbvDSj!(96-M2xw0bxqfa@Yb<yD9f9sBd6D
z+M&b^c6Y#K2YRxn2OGH1HRX{-upccnE<y*)<EVu=L<gX+5aJv%34QoDfv&CyE6B5H
zB;x3ZF6Thivm7nNq;6tB>}FPmbvX}^*C{WdD1_s>+<JYRrWsi<4SZlC7ljB0hBT$i
zTGfvt0BzX|Az1+yED%Hk+gM>xgx>Oz%)UHuT^gn7MD}<#t(Q`ZxvZh2^4VGHFr83~
zg^Zpq8H>7-p@5vpDkXVI&K762Lvu+Q$_}M*sgzRHoKF9ybMu@3e08Q7N7uz?gA_4Q
z80{s8fgNCJh)FR%<A1??w0inl?R=>p3^04m{0IMD_~r70H`fZ<CmHzVsY_Urx)IOc
zAt!oJ;63fb9+cXn@&c9yyBVqQ)Xid_a=l065pCrmyunO$(L1sJ{%_Hgh5R|MM`umS
z_9u0=oG6^DCd#`mKkVpjdlEUKeEr?AqgVduF~n!Lir18_D*TjA+jaZ3N5?+yGG}CH
z-MYA@T)0v{*~+#>AoNO6p0B>915&9SzPeyYle)Z7Mpc?#0#L{dGX>@hv&wwVTxZsq
z+sp%Y3p>FcV2`qIvuo@PcAdS?^>h2V97ni|-1pq?+<ji)$M^;QE&ep`@bB?o@!#-2
z@HhFN_@DW|1YX!9$bu_e5`Gl^7W>45;&E|R{8n5SZ;N-td;G8BUGX2L@#EO$$-Le=
JTSwof{{VlKN|^uv

literal 0
HcmV?d00001

-- 
2.18.1