From 8b9ce384b26c414db32f98e94e088f5334869c2d Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期三, 13 十一月 2019 15:36:28 +0800
Subject: [PATCH] 全部合并了代码,安卓和 IOS 都测试通过了

---
 ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessApGatewaySearching.png                         |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/lib/net462/System.Runtime.dll                               |    0 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs                                  |  317 
 ZigbeeApp/Shared/Common/ResponseEntity/ResidenceRes.cs                                              |    8 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs                             |  136 
 ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs                                       |   17 
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs                                 |  145 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/ja/System.Runtime.xml                         |    0 
 ZigbeeApp/GateWay.Ios/Entitlements.plist                                                            |    4 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/de/System.Runtime.xml                    |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameLayoutControl.cs     |   24 
 ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs                                                   |   48 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/15.png                                                |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/portable-net45+win8+wp80+wpa81/_._                      |    0 
 ZigbeeApp/GateWay.sln                                                                               |   10 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterColor.cs                              |   11 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/7.png                                                  |    0 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs                                     |  221 
 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_2.png                                                |    0 
 ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs                                        |    2 
 ZigbeeApp/Elian.iOS/libLibElian.a                                                                   |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/32.png                                                 |    0 
 ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs                                                    |  108 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/System.Runtime.xml                       |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/11.png                                                |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/8.png                                                 |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/wpa81/_._                                               |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/3.png                                                  |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Residence/FloorListRoomForm.cs                                    |   20 
 ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordAddNewForm.cs                                      |    2 
 ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_Auto.png                                              |    0 
 ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs                          |   27 
 ZigbeeApp/Shared/Phone/ZigBee/Device/AC.cs                                                          |  129 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/23.png                                                |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/lib/xamarinwatchos10/_._                                    |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ThirdPartyNotices.txt                                       |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/System.Runtime.xml                       |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/20.png                                                 |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs                              |  137 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs                           |    2 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/16.png                                                 |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/GatewayRowControl.cs           |    6 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/ko/System.Runtime.xml                    |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelFourNotPower.png                         |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessApDirection.png                                |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection2Form.cs                           |   98 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswSecondarySecurityForm.cs                       |    1 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs                             |   58 
 ZigbeeApp/Elian.iOS/Structs.cs                                                                      |    5 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/NewGateWayMenuSelectForm.cs                           |   18 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/18.png                                                |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Gateway/WirelessApDirection.png                               |    0 
 ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlBackupListForm.cs                                    |  253 
 ZigbeeApp/DroidLib/Jars/HDLElianZigBee20190917.aar                                                  |    0 
 ZigbeeApp/DroidLib/Jars/jcore-android-1.2.7.jar                                                     |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceCurtainLogic.cs                         |    4 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/it/System.Runtime.xml                    |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/SwingBackground.png                                        |    0 
 ZigbeeApp/GateWay.Droid/packages.config                                                             |  117 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs                                       |  241 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/24.png                                                 |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_Auto.png                                             |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_5.png                                                |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs                                    |    6 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomMenuSelectForm.cs                           |  144 
 ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs                                               |    4 
 ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_3.png                                                 |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/xamarinios10/_._                                        |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/4.png                                                 |    0 
 ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs                                         |   30 
 ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddNewForm.cs                                     |    2 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/26.png                                                |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceGeneralInformationForm.cs                            |    6 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/zh-hans/System.Runtime.xml               |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs                             |   48 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs       |    6 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/ru/System.Runtime.xml                         |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayAddSuccessForm.cs                           |    2 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/13.png                                                 |    0 
 ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs                                                     |   37 
 ZigbeeApp/Shared/Phone/ZigBee/Device/BindObj.cs                                                     |    5 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs                            |   32 
 ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs                                    |   56 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/5.png                                                 |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/zh-hans/System.Runtime.xml               |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_2.png                                                 |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/lib/win8/_._                                                |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/ja/System.Runtime.xml                    |    0 
 ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj                                                        |  191 
 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_1.png                                                |    0 
 ZigbeeApp/Shared/Common/CommonPage.cs                                                               |    2 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs |   35 
 ZigbeeApp/Shared/Phone/Device/Logic/Send.cs                                                         |  351 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs                          |   96 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/12.png                                                |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpDirectionForm.cs                           |    5 
 ZigbeeApp/packages/System.Runtime.4.3.0/lib/xamarintvos10/_._                                       |    0 
 ZigbeeApp/GateWay.Droid/Application.cs                                                              |   60 
 ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs                                                       | 1003 +
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/zh-hans/System.Runtime.xml                    |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/23.png                                                 |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayProductInfoForm.cs                          |    2 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/xamarintvos10/_._                                       |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/ru/System.Runtime.xml                    |    0 
 ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml                                              |    2 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/16.png                                                |    0 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorlockDialog.cs                                        |   10 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/28.png                                                 |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelFour.png                                 |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSearchForm.cs                              |  421 
 ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGatewayData.cs                                               |    4 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/System.Runtime.xml                       |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/es/System.Runtime.xml                    |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/System.Runtime.xml                       |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/it/System.Runtime.xml                    |    0 
 ZigbeeApp/Shared/Phone/ZigBee/Device/Safeguard.cs                                                   |   63 
 ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/ButtonPanelTwo.png                                 |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayBackupLogic.cs                         |  346 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/win8/_._                                                |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/4.png                                                  |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/fr/System.Runtime.xml                    |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/ja/System.Runtime.xml                    |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/LoadingControl.cs              |   45 
 ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswEditorForm.cs                                     |   23 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/22.png                                                |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/it/System.Runtime.xml                    |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs                                    |    2 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayBackUpListForm.cs                           |  385 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs                                      |  694 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs                                    |   74 
 ZigbeeApp/packages/System.Runtime.4.3.0/lib/MonoTouch10/_._                                         |    0 
 ZigbeeApp/Shared/Phone/Device/AirSwitch/AirSwitchControl.cs                                         |    2 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/es/System.Runtime.xml                    |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/27.png                                                |    0 
 ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockAddScene.cs                                   |    6 
 ZigbeeApp/Shared/R.cs                                                                               |  191 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/net45/_._                                               |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/17.png                                                 |    0 
 ZigbeeApp/Shared/Phone/Device/Logic/AddScenePage.cs                                                 |    7 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/zh-hant/System.Runtime.xml               |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelTwo.png                                  |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/dotnet_library_license.txt                                  |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayCoordinatorInfoForm.cs                      |    2 
 ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs                                   |   77 
 ZigbeeApp/DroidLib/DroidLib.csproj                                                                  |    3 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/zh-hant/System.Runtime.xml               |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/ko/System.Runtime.xml                    |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/1.png                                                 |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/27.png                                                 |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAirConditionerLogic.cs                  |    4 
 ZigbeeApp/packages/System.Runtime.4.3.0/lib/xamarinmac20/_._                                        |    0 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs                                  |   20 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs                                    |  186 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs                                       |   38 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/System.Runtime.xml                            |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs                                          |  145 
 ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs                            |   27 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/SiphonateDirectionAndLimitSettionForm.cs           |    2 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/fr/System.Runtime.xml                    |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/9.png                                                  |    0 
 ZigbeeApp/Elian.iOS/ApiDefinition.cs                                                                |   31 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/de/System.Runtime.xml                    |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs                                  |   22 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/12.png                                                 |    0 
 ZigbeeApp/GateWay.Ios/packages.config                                                               |    1 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs                          |    2 
 ZigbeeApp/Shared/Common/House.cs                                                                    |   18 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection3Form.cs                           |   98 
 ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectCurtainForm.cs                       |    6 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Gateway/WirelessApGatewaySearching.png                        |    0 
 ZigbeeApp/GateWay.Droid/Assets/Language.ini                                                         |   70 
 ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs                                              | 12043 ++++++++++++++--------------
 ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs                                          |    6 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/13.png                                                |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/5.png                                                  |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_1.png                                                 |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/21.png                                                |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/30.png                                                 |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/ButtonPanelFourNotPower.png                        |    0 
 ZigbeeApp/Shared/Common/DeviceUI.cs                                                                 |   28 
 ZigbeeApp/Shared/Phone/Device/Category/Category.cs                                                  |  144 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/de/System.Runtime.xml                    |    0 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs                                       |   57 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/GatewayBackupEnum.cs                            |   14 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/it/System.Runtime.xml                         |    0 
 ZigbeeApp/GateWay.Ios/GateWay.Ios.csproj                                                            |  310 
 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelThree.png                                |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/22.png                                                 |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/MonoAndroid10/_._                                       |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/6.png                                                 |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/DialogInputForm.cs                                |   42 
 ZigbeeApp/Shared/Phone/ZigBee/Device/Rollershade.cs                                                 |   16 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/DirectoryFileNameResourse.cs                  |    4 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/System.Runtime.dll                       |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/14.png                                                 |    0 
 ZigbeeApp/Shared/Phone/UserView/UserPage.cs                                                         |   49 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/zh-hans/System.Runtime.xml               |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/fr/System.Runtime.xml                         |    0 
 ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs                                                   |   69 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/de/System.Runtime.xml                    |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_4Selected.png                                         |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_5Selected.png                                         |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_1Selected.png                                        |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/zh-hant/System.Runtime.xml                    |    0 
 ZigbeeApp/Shared/Phone/ZigBee/Common/Config.cs                                                      |    1 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/wp80/_._                                                |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/17.png                                                |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/ko/System.Runtime.xml                         |    0 
 ZigbeeApp/Elian.iOS/Properties/AssemblyInfo.cs                                                      |   34 
 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_4Selected.png                                        |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_1Selected.png                                         |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_5Selected.png                                        |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_2Selected.png                                         |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/lib/wpa81/_._                                               |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_2Selected.png                                        |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_3Selected.png                                         |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/29.png                                                 |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_3Selected.png                                        |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs                               |  377 
 ZigbeeApp/packages/System.Runtime.4.3.0/lib/wp80/_._                                                |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/26.png                                                 |    0 
 ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs                                            |   10 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/1.png                                                  |    0 
 ZigbeeApp/DroidLib/Jars/jpush-android-3.2.0.jar                                                     |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/ko/System.Runtime.xml                    |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_5.png                                                 |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/9.png                                                 |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/2.png                                                 |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/28.png                                                |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs                                  |  121 
 ZigbeeApp/packages/System.Runtime.4.3.0/lib/portable-net45+win8+wp80+wpa81/_._                      |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/ja/System.Runtime.xml                    |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/System.Runtime.dll                       |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/ja/System.Runtime.xml                    |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/System.Runtime.dll                       |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs                                      |   20 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/18.png                                                 |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/PswNumberInputControl.cs     |   18 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs                                        |   15 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomItemSelectForm.cs                           |    4 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/zh-hant/System.Runtime.xml               |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/8.png                                                  |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/ko/System.Runtime.xml                    |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs            |   14 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs                               |   24 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs                                      |   53 
 ZigbeeApp/Shared/Phone/Device/AC/ACControlBase.cs                                                   |  126 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs                            |   48 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/11.png                                                 |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/32.png                                                |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/zh-hans/System.Runtime.xml               |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSearchForm.cs                               |  419 
 ZigbeeApp/Shared/Shared.projitems                                                                   |   41 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/net462/System.Runtime.dll                               |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/ru/System.Runtime.xml                    |    0 
 ZigbeeApp/GateWay.Ios/AppDelegate.cs                                                                |   55 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs                                       |    1 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs                                      |   17 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/NumberPswInputDialogForm.cs                       |  105 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/zh-hant/System.Runtime.xml               |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection1Form.cs                           |   79 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/30.png                                                |    0 
 ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs                                              |    4 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/ru/System.Runtime.xml                    |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/it/System.Runtime.xml                    |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/21.png                                                 |    0 
 ZigbeeApp/GateWay.Ios/Resources/Language.ini                                                        |   70 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs                                    |   25 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/6.png                                                  |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/14.png                                                |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/lib/xamarinios10/_._                                        |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/ru/System.Runtime.xml                    |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_3.png                                                |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/System.Runtime.dll                       |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/31.png                                                 |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/ButtonPanelThree.png                               |    0 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs                                          |   97 
 ZigbeeApp/Shared/Phone/UserCenter/UserMain/QRCodeForm.cs                                            |    2 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/MonoTouch10/_._                                         |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_AutoSelected.png                                      |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceSearchForm.cs                                        |    3 
 ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs                                        |  244 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/fr/System.Runtime.xml                    |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_AutoSelected.png                                     |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/20.png                                                |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressFormBar.cs           |  246 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/CommonForm/DirectionCommonForm.cs                |    1 
 ZigbeeApp/packages/System.Runtime.4.3.0/lib/net45/_._                                               |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/29.png                                                |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/24.png                                                |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayUploadAndDownLoadForm.cs                    |  130 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/10.png                                                |    0 
 ZigbeeApp/Elian.iOS/Elian.iOS.csproj                                                                |   55 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/15.png                                                 |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs                             |    2 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs                                  |  314 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/xamarinwatchos10/_._                                    |    0 
 ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs                                   |  107 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/7.png                                                 |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/es/System.Runtime.xml                    |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSelectNetworkForm.cs                       |   32 
 ZigbeeApp/Shared/Phone/ZigBee/Device/Enum.cs                                                        |    8 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/fr/System.Runtime.xml                    |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Password/EditorGesturePasswordForm.cs                             |   62 
 ZigbeeApp/packages/System.Runtime.4.3.0/lib/MonoAndroid10/_._                                       |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/es/System.Runtime.xml                         |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/System.Runtime.dll                            |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddContactForm.cs                                 |   15 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/19.png                                                 |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectLightForm.cs                         |    5 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/2.png                                                  |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSelectNetworkForm.cs                        |  115 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayVirtualDriveInfoForm.cs                     |    2 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/19.png                                                |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/AC/SwingBackground.png                                         |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/10.png                                                 |    0 
 ZigbeeApp/Shared/Common/Device.cs                                                                   |   26 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/3.png                                                 |    0 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/es/System.Runtime.xml                    |    0 
 ZigbeeApp/Elian.iOS/libstdc++.6.0.9.tbd                                                             | 1980 ++++
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs                               |    8 
 ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_4.png                                                 |    0 
 ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs                                                 |   95 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/xamarinmac20/_._                                        |    0 
 ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/ButtonPanelFour.png                                |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs                               |    2 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/25.png                                                |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceListForm.cs                                    |   33 
 /dev/null                                                                                           |   39 
 ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/31.png                                                |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewaySearchListForm.cs                           |    8 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/25.png                                                 |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs                           |   62 
 ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/de/System.Runtime.xml                         |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayRebindForm.cs                               |   13 
 ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs                                                |    2 
 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_4.png                                                |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayGeneralInformationForm.cs                   |   64 
 338 files changed, 16,972 insertions(+), 8,582 deletions(-)

diff --git a/ZigbeeApp/DroidLib/DroidLib.csproj b/ZigbeeApp/DroidLib/DroidLib.csproj
old mode 100644
new mode 100755
index fe831b5..80f8210
--- a/ZigbeeApp/DroidLib/DroidLib.csproj
+++ b/ZigbeeApp/DroidLib/DroidLib.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+锘�<?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -46,6 +46,7 @@
   <ItemGroup>
     <None Include="Additions\AboutAdditions.txt" />
     <None Include="Jars\AboutJars.txt" />
+    <LibraryProjectZip Include="Jars\HDLElianZigBee20190917.aar" />
   </ItemGroup>
   <ItemGroup>
     <TransformFile Include="Transforms\EnumFields.xml" />
diff --git a/ZigbeeApp/DroidLib/Jars/ElianZigBee.Droid20181116.jar b/ZigbeeApp/DroidLib/Jars/ElianZigBee.Droid20181116.jar
deleted file mode 100755
index 59e8375..0000000
--- a/ZigbeeApp/DroidLib/Jars/ElianZigBee.Droid20181116.jar
+++ /dev/null
Binary files differ
diff --git a/ZigbeeApp/DroidLib/Jars/HDLElianZigBee20190917.aar b/ZigbeeApp/DroidLib/Jars/HDLElianZigBee20190917.aar
new file mode 100755
index 0000000..8a2637d
--- /dev/null
+++ b/ZigbeeApp/DroidLib/Jars/HDLElianZigBee20190917.aar
Binary files differ
diff --git a/ZigbeeApp/DroidLib/Jars/jcore-android-1.2.7.jar b/ZigbeeApp/DroidLib/Jars/jcore-android-1.2.7.jar
old mode 100644
new mode 100755
Binary files differ
diff --git a/ZigbeeApp/DroidLib/Jars/jpush-android-3.2.0.jar b/ZigbeeApp/DroidLib/Jars/jpush-android-3.2.0.jar
old mode 100644
new mode 100755
Binary files differ
diff --git a/ZigbeeApp/DroidLib/mono_crash.46018.0.json b/ZigbeeApp/DroidLib/mono_crash.46018.0.json
deleted file mode 100755
index a0a493c..0000000
--- a/ZigbeeApp/DroidLib/mono_crash.46018.0.json
+++ /dev/null
@@ -1,161 +0,0 @@
-{
-  "protocol_version" : "0.0.1",
-  "configuration" : {
-    "version" : "5.16.0.112 (2018-06/b59ae60011a Wed Aug 15 08:53:32 EDT 2018)",
-    "tlc" : "normal",
-    "sigsgev" : "altstack",
-    "notifications" : "kqueue",
-    "architecture" : "x86",
-    "disabled_features" : "none",
-    "smallconfig" : "disabled",
-    "bigarrays" : "disabled",
-    "softdebug" : "enabled",
-    "interpreter" : "enabled",
-    "llvm_support" : "3.6.0svn-mono-master/0b3cb8ac12c"
-  },
-  "memory" : {
-    "Resident Size" : "53493760",
-    "Virtual Size" : "706621440",
-    "minor_gc_time" : "144287",
-    "major_gc_time" : "49955",
-    "minor_gc_count" : "2",
-    "major_gc_count" : "1",
-    "major_gc_time_concurrent" : "0"
-  },
-  "threads" : [
-    {
-      "is_managed" : false,
-      "managed_thread_ptr" : "0x7923bc3c",
-      "thread_info_addr" : "0x7aa52600",
-      "native_thread_id" : "0xa983a1c0",
-      "ctx" : {
-        "IP" : "0xa73ba476",
-        "SP" : "0xbffd724c",
-        "BP" : "0xbffd72a8"
-      },
-      "unmanaged_frames" : [
-        {
-          "native_address" : "0xbcf3b"
-        },
-        {
-          "native_address" : "0x221bb7"
-        },
-        {
-          "native_address" : "0x11087c"
-        },
-        {
-          "native_address" : "outside mono-sgen"
-        },
-        {
-          "native_address" : "outside mono-sgen"
-        },
-        {
-          "native_address" : "0x2734c8"
-        },
-        {
-          "native_address" : "0x15125"
-        },
-        {
-          "native_address" : "0x82fa0"
-        },
-        {
-          "native_address" : "0x2367"
-        },
-        {
-          "native_address" : "0x2195"
-        }
-      ]
-    },
-    {
-      "is_managed" : false,
-      "managed_thread_ptr" : "0x79a5e63c",
-      "thread_info_addr" : "0x79a5c200",
-      "thread_name" : "Finalizer",
-      "native_thread_id" : "0xb01d7000",
-      "ctx" : {
-        "IP" : "0x2ade78",
-        "SP" : "0xb01d6ab0",
-        "BP" : "0xb01d6ab8"
-      },
-      "managed_frames" : [
-        {
-          "native_address" : "0x284e78"
-        },
-        {
-          "native_address" : "outside mono-sgen",
-          "unmanaged_name" : "(wrapper managed-to-native) System.Runtime.InteropServices.GCHandle:CheckCurrentDomain (int)"
-        },
-        {
-          "is_managed" : "true",
-          "guid" : "0242286E-FC4A-47B6-9B5A-84E828F56EF8",
-          "token" : "0x600474e",
-          "native_offset" : "0x23",
-          "il_offset" : "0x00018"
-        },
-        {
-          "is_managed" : "true",
-          "guid" : "0242286E-FC4A-47B6-9B5A-84E828F56EF8",
-          "token" : "0x6004758",
-          "native_offset" : "0x17",
-          "il_offset" : "0x00000"
-        },
-        {
-          "is_managed" : "true",
-          "guid" : "3B90849D-1D31-4DAA-9771-88BE11026E8B",
-          "token" : "0x6002ea7",
-          "native_offset" : "0x23",
-          "il_offset" : "0x00000"
-        },
-        {
-          "native_address" : "outside mono-sgen",
-          "unmanaged_name" : "(wrapper native-to-managed) System.IO.Compression.DeflateStreamNative:UnmanagedWrite (intptr,int,intptr)"
-        },
-        {
-          "native_address" : "outside mono-sgen"
-        },
-        {
-          "native_address" : "outside mono-sgen",
-          "unmanaged_name" : "(wrapper managed-to-native) System.IO.Compression.DeflateStreamNative:CloseZStream (intptr)"
-        },
-        {
-          "is_managed" : "true",
-          "guid" : "3B90849D-1D31-4DAA-9771-88BE11026E8B",
-          "token" : "0x60041fe",
-          "native_offset" : "0x13",
-          "il_offset" : "0x00000"
-        },
-        {
-          "is_managed" : "true",
-          "guid" : "0242286E-FC4A-47B6-9B5A-84E828F56EF8",
-          "token" : "0x6004717",
-          "native_offset" : "0x1b8",
-          "il_offset" : "0x000a3"
-        },
-        {
-          "is_managed" : "true",
-          "guid" : "0242286E-FC4A-47B6-9B5A-84E828F56EF8",
-          "token" : "0x6004716",
-          "native_offset" : "0x23",
-          "il_offset" : "0x00008"
-        },
-        {
-          "is_managed" : "true",
-          "guid" : "0242286E-FC4A-47B6-9B5A-84E828F56EF8",
-          "token" : "0x6004710",
-          "native_offset" : "0x2b",
-          "il_offset" : "0x0000a"
-        },
-        {
-          "is_managed" : "true",
-          "guid" : "0242286E-FC4A-47B6-9B5A-84E828F56EF8",
-          "token" : "0x6004709",
-          "native_offset" : "0x18",
-          "il_offset" : "0x00000"
-        },
-        {
-          "native_address" : "outside mono-sgen",
-          "unmanaged_name" : "(wrapper runtime-invoke) object:runtime_invoke_virtual_void__this__ (object,intptr,intptr,intptr)"
-        }
-      ]
-    }
-  ]}
\ No newline at end of file
diff --git a/ZigbeeApp/Elian.iOS/ApiDefinition.cs b/ZigbeeApp/Elian.iOS/ApiDefinition.cs
new file mode 100755
index 0000000..4bb0279
--- /dev/null
+++ b/ZigbeeApp/Elian.iOS/ApiDefinition.cs
@@ -0,0 +1,31 @@
+锘縰sing System;
+
+using UIKit;
+using Foundation;
+using ObjCRuntime;
+using CoreGraphics;
+
+namespace Com.Mediatek.Elian
+{
+    // @interface HDLElian : NSObject
+    [BaseType(typeof(NSObject))]
+    interface ElianNative
+    {
+        // +(int)InitSmartConnection:(NSString * _Nonnull)Target sendV1:(int)sendV1 sendV4:(int)sendV4;
+        [Static]
+        [Export("InitSmartConnection:sendV1:sendV4:")]
+        int InitSmartConnection(string Target, int sendV1, int sendV4);
+
+        // +(int)StartSmartConnection:(NSString * _Nonnull)SSID Password:(NSString * _Nonnull)Password Custom:(NSString * _Nonnull)Custom;
+        [Static]
+        [Export("StartSmartConnection:Password:Custom:")]
+        int StartSmartConnection(string SSID, string Password, string Custom);
+
+        // +(int)StopSmartConnection;
+        [Static]
+        [Export("StopSmartConnection")]
+        //[Verify(MethodToProperty)]
+        int StopSmartConnection();
+    }
+
+}
diff --git a/ZigbeeApp/Elian.iOS/Elian.iOS.csproj b/ZigbeeApp/Elian.iOS/Elian.iOS.csproj
new file mode 100644
index 0000000..0c847c5
--- /dev/null
+++ b/ZigbeeApp/Elian.iOS/Elian.iOS.csproj
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{85F1AF50-75A6-4011-B811-56B32DA77568}</ProjectGuid>
+    <ProjectTypeGuids>{8FFB629D-F513-41CE-95D2-7ECE97B6EEEC};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <OutputType>Library</OutputType>
+    <RootNamespace>Elian.iOS</RootNamespace>
+    <AssemblyName>Elian.iOS</AssemblyName>
+    <IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release</OutputPath>
+    <DefineConstants></DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="Xamarin.iOS" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ObjcBindingApiDefinition Include="ApiDefinition.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ObjcBindingCoreSource Include="Structs.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <NativeReference Include="libstdc++.6.0.9.tbd">
+      <Kind>Static</Kind>
+      <SmartLink>False</SmartLink>
+    </NativeReference>
+    <NativeReference Include="libLibElian.a">
+      <Kind>Static</Kind>
+      <IsCxx>True</IsCxx>
+    </NativeReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.ObjCBinding.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/ZigbeeApp/Elian.iOS/Properties/AssemblyInfo.cs b/ZigbeeApp/Elian.iOS/Properties/AssemblyInfo.cs
new file mode 100755
index 0000000..53d897d
--- /dev/null
+++ b/ZigbeeApp/Elian.iOS/Properties/AssemblyInfo.cs
@@ -0,0 +1,34 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+
+using Foundation;
+
+// This attribute allows you to mark your assemblies as 鈥渟afe to link鈥�. 
+// When the attribute is present, the linker鈥攊f enabled鈥攚ill process the assembly 
+// even if you鈥檙e using the 鈥淟ink SDK assemblies only鈥� option, which is the default for device builds.
+
+[assembly: LinkerSafe]
+
+// Information about this assembly is defined by the following attributes. 
+// Change them to the values specific to your project.
+
+[assembly: AssemblyTitle("Elian.iOS")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("")]
+[assembly: AssemblyCopyright("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
+// The form "{Major}.{Minor}.*" will automatically update the build and revision,
+// and "{Major}.{Minor}.{Build}.*" will update just the revision.
+
+[assembly: AssemblyVersion("1.0.*")]
+
+// The following attributes are used to specify the signing key for the assembly, 
+// if desired. See the Mono documentation for more information about signing.
+
+//[assembly: AssemblyDelaySign(false)]
+//[assembly: AssemblyKeyFile("")]
diff --git a/ZigbeeApp/Elian.iOS/Structs.cs b/ZigbeeApp/Elian.iOS/Structs.cs
new file mode 100755
index 0000000..6cc9300
--- /dev/null
+++ b/ZigbeeApp/Elian.iOS/Structs.cs
@@ -0,0 +1,5 @@
+锘縰sing System;
+
+namespace Elian.iOS
+{
+}
diff --git a/ZigbeeApp/Elian.iOS/libLibElian.a b/ZigbeeApp/Elian.iOS/libLibElian.a
new file mode 100755
index 0000000..c2dc332
--- /dev/null
+++ b/ZigbeeApp/Elian.iOS/libLibElian.a
Binary files differ
diff --git a/ZigbeeApp/Elian.iOS/libstdc++.6.0.9.tbd b/ZigbeeApp/Elian.iOS/libstdc++.6.0.9.tbd
new file mode 100755
index 0000000..018197c
--- /dev/null
+++ b/ZigbeeApp/Elian.iOS/libstdc++.6.0.9.tbd
@@ -0,0 +1,1980 @@
+--- !tapi-tbd-v2
+archs:           [ armv7, armv7s, arm64 ]
+uuids:           [ 'armv7: E3EF8E7B-1082-3CA6-A25B-F04E5313B51B', 'armv7s: 589871E0-A5F8-3B7D-86EA-89621B96006A', 
+                   'arm64: F6C7B25F-EC39-3751-94F4-2477F5723739' ]
+platform:        ios
+install-name:    '/usr/lib/libstdc++.6.dylib'
+current-version: 104.2
+compatibility-version: 7
+objc-constraint: none
+exports:         
+  - archs:           [ armv7, armv7s ]
+    symbols:         [ __ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED0Ev, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED0Ev, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED1Ev, 
+                       __ZN9__gnu_cxx8__detail12_Ffit_finderIPNS_16bitmap_allocatorIcE12_Alloc_blockEEclESt4pairIS5_S5_E, 
+                       __ZN9__gnu_cxx8__detail12_Ffit_finderIPNS_16bitmap_allocatorIwE12_Alloc_blockEEclESt4pairIS5_S5_E, 
+                       __ZNKSt11__use_cacheISt16__numpunct_cacheIcEEclERKSt6locale, 
+                       __ZNKSt11__use_cacheISt16__numpunct_cacheIwEEclERKSt6locale, 
+                       __ZNKSt11__use_cacheISt18__moneypunct_cacheIcLb0EEEclERKSt6locale, 
+                       __ZNKSt11__use_cacheISt18__moneypunct_cacheIcLb1EEEclERKSt6locale, 
+                       __ZNKSt11__use_cacheISt18__moneypunct_cacheIwLb0EEEclERKSt6locale, 
+                       __ZNKSt11__use_cacheISt18__moneypunct_cacheIwLb1EEEclERKSt6locale, 
+                       __ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE5equalERKS2_, 
+                       __ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv, 
+                       __ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE5equalERKS2_, 
+                       __ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv, 
+                       __ZNKSt5ctypeIcE13_M_widen_initEv, __ZNKSt5ctypeIcE5widenEPKcS2_Pc, 
+                       __ZNKSt5ctypeIcE5widenEc, __ZNKSt5ctypeIcE6narrowEcc, __ZNKSt5ctypeIcE8do_widenEPKcS2_Pc, 
+                       __ZNKSt5ctypeIcE8do_widenEc, __ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc, 
+                       __ZNKSt5ctypeIcE9do_narrowEcc, __ZNKSt5ctypeIwE10do_scan_isEmPKwS2_, 
+                       __ZNKSt5ctypeIwE11do_scan_notEmPKwS2_, __ZNKSt5ctypeIwE5do_isEPKwS2_Pm, 
+                       __ZNKSt5ctypeIwE5do_isEmw, __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi, 
+                       __ZNSi3getEPci, __ZNSi3getEPcic, __ZNSi4readEPci, __ZNSi6ignoreEi, 
+                       __ZNSi6ignoreEii, __ZNSi7getlineEPci, __ZNSi7getlineEPcic, 
+                       __ZNSi8readsomeEPci, __ZNSo5writeEPKci, __ZNSo8_M_writeEPKci, 
+                       __ZNSt10istrstreamC1EPKci, __ZNSt10istrstreamC1EPci, __ZNSt10istrstreamC2EPKci, 
+                       __ZNSt10istrstreamC2EPci, __ZNSt12__basic_fileIcE6xsgetnEPci, 
+                       __ZNSt12__basic_fileIcE6xsputnEPKci, __ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i, 
+                       __ZNSt12strstreambuf6setbufEPci, __ZNSt12strstreambuf8_M_setupEPcS0_i, 
+                       __ZNSt12strstreambufC1EPKai, __ZNSt12strstreambufC1EPKci, 
+                       __ZNSt12strstreambufC1EPKhi, __ZNSt12strstreambufC1EPaiS0_, 
+                       __ZNSt12strstreambufC1EPciS0_, __ZNSt12strstreambufC1EPhiS0_, 
+                       __ZNSt12strstreambufC1Ei, __ZNSt12strstreambufC2EPKai, __ZNSt12strstreambufC2EPKci, 
+                       __ZNSt12strstreambufC2EPKhi, __ZNSt12strstreambufC2EPaiS0_, 
+                       __ZNSt12strstreambufC2EPciS0_, __ZNSt12strstreambufC2EPhiS0_, 
+                       __ZNSt12strstreambufC2Ei, __ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci, __ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci, __ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi, __ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi, __ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw, __ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi, __ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEii, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi, __ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi, __ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci, __ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci, __ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi, __ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi, __ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev, __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED2Ev, __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi, 
+                       __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev, __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev, 
+                       __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED2Ev, __ZNSt4fposI11__mbstate_tE5stateES0_, 
+                       __ZNSt5__padIcSt11char_traitsIcEE6_S_padERSt8ios_basecPcPKciib, 
+                       __ZNSt5__padIwSt11char_traitsIwEE6_S_padERSt8ios_basewPwPKwiib, 
+                       __ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i, 
+                       __ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i, 
+                       __ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_, 
+                       __ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_, 
+                       __ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb, 
+                       __ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb, 
+                       __ZTCSd8_So, __ZTCSt13basic_fstreamIcSt11char_traitsIcEE8_So, 
+                       __ZTCSt13basic_fstreamIwSt11char_traitsIwEE8_St13basic_ostreamIwS1_E, 
+                       __ZTCSt14basic_iostreamIwSt11char_traitsIwEE8_St13basic_ostreamIwS1_E, 
+                       __ZTCSt18basic_stringstreamIcSt11char_traitsIcESaIcEE8_So, 
+                       __ZTCSt18basic_stringstreamIwSt11char_traitsIwESaIwEE8_St13basic_ostreamIwS1_E, 
+                       __ZTCSt9strstream8_So, __ZThn8_NSt9strstreamD0Ev, __ZThn8_NSt9strstreamD1Ev, 
+                       __ZTv0_n12_NSt10istrstreamD0Ev, __ZTv0_n12_NSt10istrstreamD1Ev, 
+                       __ZTv0_n12_NSt10ostrstreamD0Ev, __ZTv0_n12_NSt10ostrstreamD1Ev, 
+                       __ZTv0_n12_NSt9strstreamD0Ev, __ZTv0_n12_NSt9strstreamD1Ev, 
+                       ___gxx_personality_sj0 ]
+    weak-def-symbols: [ __ZTISt10ctype_base, __ZTISt10money_base, __ZTISt12codecvt_base, 
+                        __ZTISt13messages_base, __ZTISt9time_base, __ZTSSt10ctype_base, 
+                        __ZTSSt10money_base, __ZTSSt12codecvt_base, __ZTSSt13messages_base, 
+                        __ZTSSt9time_base, __ZThn8_NSdD0Ev, __ZThn8_NSdD1Ev, __ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev, 
+                        __ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev, __ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev, 
+                        __ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev, __ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev, 
+                        __ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev, __ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev, 
+                        __ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev, 
+                        __ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev, 
+                        __ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev, 
+                        __ZTv0_n12_NSdD0Ev, __ZTv0_n12_NSdD1Ev, __ZTv0_n12_NSiD0Ev, 
+                        __ZTv0_n12_NSiD1Ev, __ZTv0_n12_NSoD0Ev, __ZTv0_n12_NSoD1Ev, 
+                        __ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev, __ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev, 
+                        __ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev, __ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev, 
+                        __ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev, __ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev, 
+                        __ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev, __ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev, 
+                        __ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev, 
+                        __ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev, 
+                        __ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev, 
+                        __ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev, 
+                        __ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev, 
+                        __ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev, 
+                        __ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev, 
+                        __ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev, 
+                        __ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev, 
+                        __ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev, 
+                        __ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev, 
+                        __ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev, 
+                        __ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev, 
+                        __ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev, 
+                        __ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev, 
+                        __ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev, 
+                        __ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev, 
+                        __ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev, 
+                        __ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev, 
+                        __ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev, 
+                        __ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev, 
+                        __ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev ]
+  - archs:           [ arm64 ]
+    symbols:         [ __ZN10__gnu_norm15_List_node_base4hookEPS0_, __ZN10__gnu_norm15_List_node_base4swapERS0_S1_, 
+                       __ZN10__gnu_norm15_List_node_base6unhookEv, __ZN10__gnu_norm15_List_node_base7reverseEv, 
+                       __ZN10__gnu_norm15_List_node_base8transferEPS0_S1_, __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi, 
+                       __ZNSi3getEPcl, __ZNSi3getEPclc, __ZNSi4readEPcl, __ZNSi6ignoreEl, 
+                       __ZNSi6ignoreEli, __ZNSi7getlineEPcl, __ZNSi7getlineEPclc, 
+                       __ZNSi8readsomeEPcl, __ZNSo5writeEPKcl, __ZNSo8_M_writeEPKcl, 
+                       __ZNSt10istrstreamC1EPKcl, __ZNSt10istrstreamC1EPcl, __ZNSt10istrstreamC2EPKcl, 
+                       __ZNSt10istrstreamC2EPcl, __ZNSt12__basic_fileIcE6xsgetnEPcl, 
+                       __ZNSt12__basic_fileIcE6xsputnEPKcl, __ZNSt12__basic_fileIcE8xsputn_2EPKclS2_l, 
+                       __ZNSt12strstreambuf6setbufEPcl, __ZNSt12strstreambuf8_M_setupEPcS0_l, 
+                       __ZNSt12strstreambufC1EPKal, __ZNSt12strstreambufC1EPKcl, 
+                       __ZNSt12strstreambufC1EPKhl, __ZNSt12strstreambufC1EPalS0_, 
+                       __ZNSt12strstreambufC1EPclS0_, __ZNSt12strstreambufC1EPhlS0_, 
+                       __ZNSt12strstreambufC1El, __ZNSt12strstreambufC2EPKal, __ZNSt12strstreambufC2EPKcl, 
+                       __ZNSt12strstreambufC2EPKhl, __ZNSt12strstreambufC2EPalS0_, 
+                       __ZNSt12strstreambufC2EPclS0_, __ZNSt12strstreambufC2EPhlS0_, 
+                       __ZNSt12strstreambufC2El, __ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEl, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPcl, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl, __ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl, __ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEl, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwl, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl, __ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl, __ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw, __ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl, __ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEli, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl, __ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl, __ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwl, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl, __ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl, __ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl, __ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl, __ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl, 
+                       __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl, 
+                       __ZNSt5__padIcSt11char_traitsIcEE6_S_padERSt8ios_basecPcPKcllb, 
+                       __ZNSt5__padIwSt11char_traitsIwEE6_S_padERSt8ios_basewPwPKwllb, 
+                       __ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l, 
+                       __ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_l, 
+                       __ZSt17__copy_streambufsIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_, 
+                       __ZSt17__copy_streambufsIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_, 
+                       __ZSt21__copy_streambufs_eofIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_Rb, 
+                       __ZSt21__copy_streambufs_eofIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_Rb, 
+                       __ZSt7__writeIcESt19ostreambuf_iteratorIT_St11char_traitsIS1_EES4_PKS1_i, 
+                       __ZSt7__writeIwESt19ostreambuf_iteratorIT_St11char_traitsIS1_EES4_PKS1_i, 
+                       __ZTCSd16_So, __ZTCSt13basic_fstreamIcSt11char_traitsIcEE16_So, 
+                       __ZTCSt13basic_fstreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E, 
+                       __ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E, 
+                       __ZTCSt18basic_stringstreamIcSt11char_traitsIcESaIcEE16_So, 
+                       __ZTCSt18basic_stringstreamIwSt11char_traitsIwESaIwEE16_St13basic_ostreamIwS1_E, 
+                       __ZTCSt9strstream16_So, __ZThn16_NSt9strstreamD0Ev, __ZThn16_NSt9strstreamD1Ev, 
+                       __ZTv0_n24_NSt10istrstreamD0Ev, __ZTv0_n24_NSt10istrstreamD1Ev, 
+                       __ZTv0_n24_NSt10ostrstreamD0Ev, __ZTv0_n24_NSt10ostrstreamD1Ev, 
+                       __ZTv0_n24_NSt9strstreamD0Ev, __ZTv0_n24_NSt9strstreamD1Ev, 
+                       ___gxx_personality_v0 ]
+    weak-def-symbols: [ __ZThn16_NSdD0Ev, __ZThn16_NSdD1Ev, __ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev, 
+                        __ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev, __ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev, 
+                        __ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev, __ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev, 
+                        __ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev, __ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev, 
+                        __ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev, 
+                        __ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev, 
+                        __ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev, 
+                        __ZTv0_n24_NSdD0Ev, __ZTv0_n24_NSdD1Ev, __ZTv0_n24_NSiD0Ev, 
+                        __ZTv0_n24_NSiD1Ev, __ZTv0_n24_NSoD0Ev, __ZTv0_n24_NSoD1Ev, 
+                        __ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev, __ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev, 
+                        __ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev, __ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev, 
+                        __ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev, __ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev, 
+                        __ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev, __ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev, 
+                        __ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev, 
+                        __ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev, 
+                        __ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev, 
+                        __ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev, 
+                        __ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev, 
+                        __ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev, 
+                        __ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev, 
+                        __ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev, 
+                        __ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev, 
+                        __ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev, 
+                        __ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev, 
+                        __ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev, 
+                        __ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev, 
+                        __ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev, 
+                        __ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev, 
+                        __ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev, 
+                        __ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev, 
+                        __ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev, 
+                        __ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev, 
+                        __ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev, 
+                        __ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev, 
+                        __ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev ]
+  - archs:           [ armv7, armv7s, arm64 ]
+    symbols:         [ __ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv, __ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb, 
+                       __ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv, 
+                       __ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb, 
+                       __ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv, __ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv, 
+                       __ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv, __ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv, 
+                       __ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv, 
+                       __ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_, __ZN9__gnu_cxx12__atomic_addEPVii, 
+                       __ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEE2fdEv, __ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEE4fileEv, 
+                       __ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC1EP7__sFILESt13_Ios_Openmodem, 
+                       __ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC1EiSt13_Ios_Openmodem, 
+                       __ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC1Ev, __ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC2EP7__sFILESt13_Ios_Openmodem, 
+                       __ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC2EiSt13_Ios_Openmodem, 
+                       __ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC2Ev, __ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED0Ev, 
+                       __ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED1Ev, __ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED2Ev, 
+                       __ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEE2fdEv, __ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEE4fileEv, 
+                       __ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEC1EP7__sFILESt13_Ios_Openmodem, 
+                       __ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEC1EiSt13_Ios_Openmodem, 
+                       __ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEC1Ev, __ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEC2EP7__sFILESt13_Ios_Openmodem, 
+                       __ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEC2EiSt13_Ios_Openmodem, 
+                       __ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEC2Ev, __ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEED0Ev, 
+                       __ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEED1Ev, __ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEED2Ev, 
+                       __ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv, __ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm, 
+                       __ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm, __ZN9__gnu_cxx18__exchange_and_addEPVii, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9pbackfailEi, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9underflowEv, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EP7__sFILE, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EP7__sFILE, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEi, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEi, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEv, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EP7__sFILE, 
+                       __ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EP7__sFILE, 
+                       __ZN9__gnu_cxx19__function_requiresINS_22_OutputIteratorConceptISt19ostreambuf_iteratorIcSt11char_traitsIcEEcEEEEvv, 
+                       __ZN9__gnu_cxx19__function_requiresINS_22_OutputIteratorConceptISt19ostreambuf_iteratorIwSt11char_traitsIwEEwEEEEvv, 
+                       __ZN9__gnu_cxx19__function_requiresINS_28_RandomAccessIteratorConceptINS_17__normal_iteratorIPKcSsEEEEEEvv, 
+                       __ZN9__gnu_cxx19__function_requiresINS_28_RandomAccessIteratorConceptINS_17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEEEEvv, 
+                       __ZN9__gnu_cxx19__function_requiresINS_28_RandomAccessIteratorConceptINS_17__normal_iteratorIPcSsEEEEEEvv, 
+                       __ZN9__gnu_cxx19__function_requiresINS_28_RandomAccessIteratorConceptINS_17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEEEEEEvv, 
+                       __ZN9__gnu_cxx27__verbose_terminate_handlerEv, __ZN9__gnu_cxx4ropeIcSaIcEE10_S_min_lenE, 
+                       __ZN9__gnu_cxx4ropeIcSaIcEE8_S_fetchEPNS_13_Rope_RopeRepIcS1_EEm, 
+                       __ZN9__gnu_cxx4ropeIwSaIwEE10_S_min_lenE, __ZN9__gnu_cxx4ropeIwSaIwEE8_S_fetchEPNS_13_Rope_RopeRepIwS1_EEm, 
+                       __ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv, __ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv, 
+                       __ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm, __ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm, 
+                       __ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv, __ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE, 
+                       __ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv, __ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv, 
+                       __ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm, __ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm, 
+                       __ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv, __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIcE12_Alloc_blockES6_EE10deallocateEPS7_m, 
+                       __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIcE12_Alloc_blockES6_EE5clearEv, 
+                       __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIcE12_Alloc_blockES6_EE5eraseEPS7_, 
+                       __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIcE12_Alloc_blockES6_EE6insertEPS7_RKS7_, 
+                       __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIcE12_Alloc_blockES6_EE8allocateEm, 
+                       __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIcE12_Alloc_blockES6_EE8pop_backEv, 
+                       __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIcE12_Alloc_blockES6_EE9push_backERKS7_, 
+                       __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIcE12_Alloc_blockES6_EEC1Ev, 
+                       __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIcE12_Alloc_blockES6_EEC2Ev, 
+                       __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIwE12_Alloc_blockES6_EE10deallocateEPS7_m, 
+                       __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIwE12_Alloc_blockES6_EE5clearEv, 
+                       __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIwE12_Alloc_blockES6_EE5eraseEPS7_, 
+                       __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIwE12_Alloc_blockES6_EE6insertEPS7_RKS7_, 
+                       __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIwE12_Alloc_blockES6_EE8allocateEm, 
+                       __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIwE12_Alloc_blockES6_EE8pop_backEv, 
+                       __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIwE12_Alloc_blockES6_EE9push_backERKS7_, 
+                       __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIwE12_Alloc_blockES6_EEC1Ev, 
+                       __ZN9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIwE12_Alloc_blockES6_EEC2Ev, 
+                       __ZN9__gnu_cxx9free_list6_M_getEm, __ZN9__gnu_cxx9free_list8_M_clearEv, 
+                       __ZN9__gnu_cxxeqIPKcSsEEbRKNS_17__normal_iteratorIT_T0_EES8_, 
+                       __ZN9__gnu_cxxeqIPKwSbIwSt11char_traitsIwESaIwEEEEbRKNS_17__normal_iteratorIT_T0_EESC_, 
+                       __ZN9__gnu_cxxeqIPcSsEEbRKNS_17__normal_iteratorIT_T0_EES7_, 
+                       __ZN9__gnu_cxxeqIPwSbIwSt11char_traitsIwESaIwEEEEbRKNS_17__normal_iteratorIT_T0_EESB_, 
+                       __ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE, 
+                       __ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc, 
+                       __ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_, 
+                       __ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc, __ZNK11__gnu_debug16_Error_formatter14_M_format_wordIPKcEEvPciS3_T_, 
+                       __ZNK11__gnu_debug16_Error_formatter14_M_format_wordIPKvEEvPciPKcT_, 
+                       __ZNK11__gnu_debug16_Error_formatter14_M_format_wordIlEEvPciPKcT_, 
+                       __ZNK11__gnu_debug16_Error_formatter14_M_format_wordImEEvPciPKcT_, 
+                       __ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc, 
+                       __ZNK11__gnu_debug16_Error_formatter8_M_errorEv, __ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv, 
+                       __ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_, 
+                       __ZNK9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIcE12_Alloc_blockES6_EE13_M_space_leftEv, 
+                       __ZNK9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIcE12_Alloc_blockES6_EE3endEv, 
+                       __ZNK9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIcE12_Alloc_blockES6_EE4backEv, 
+                       __ZNK9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIcE12_Alloc_blockES6_EE4sizeEv, 
+                       __ZNK9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIcE12_Alloc_blockES6_EE5beginEv, 
+                       __ZNK9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIcE12_Alloc_blockES6_EEixEm, 
+                       __ZNK9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIwE12_Alloc_blockES6_EE13_M_space_leftEv, 
+                       __ZNK9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIwE12_Alloc_blockES6_EE3endEv, 
+                       __ZNK9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIwE12_Alloc_blockES6_EE4backEv, 
+                       __ZNK9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIwE12_Alloc_blockES6_EE4sizeEv, 
+                       __ZNK9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIwE12_Alloc_blockES6_EE5beginEv, 
+                       __ZNK9__gnu_cxx8__detail13__mini_vectorISt4pairIPNS_16bitmap_allocatorIwE12_Alloc_blockES6_EEixEm, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw, __ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm, __ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm, __ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm, __ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm, __ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm, __ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm, __ZNKSbIwSt11char_traitsIwESaIwEE2atEm, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE3endEv, __ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv, __ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE4dataEv, __ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm, __ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE4findEwm, __ZNKSbIwSt11char_traitsIwESaIwEE4rendEv, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv, __ZNKSbIwSt11char_traitsIwESaIwEE5beginEv, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv, __ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm, __ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m, __ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv, __ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv, __ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv, __ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw, __ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw, __ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_, __ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc, __ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv, __ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv, 
+                       __ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv, __ZNKSbIwSt11char_traitsIwESaIwEEixEm, 
+                       __ZNKSi6gcountEv, __ZNKSi6sentrycvbEv, __ZNKSo6sentrycvbEv, 
+                       __ZNKSs11_M_disjunctEPKc, __ZNKSs12find_last_ofEPKcm, __ZNKSs12find_last_ofEPKcmm, 
+                       __ZNKSs12find_last_ofERKSsm, __ZNKSs12find_last_ofEcm, __ZNKSs13find_first_ofEPKcm, 
+                       __ZNKSs13find_first_ofEPKcmm, __ZNKSs13find_first_ofERKSsm, 
+                       __ZNKSs13find_first_ofEcm, __ZNKSs13get_allocatorEv, __ZNKSs15_M_check_lengthEmmPKc, 
+                       __ZNKSs16find_last_not_ofEPKcm, __ZNKSs16find_last_not_ofEPKcmm, 
+                       __ZNKSs16find_last_not_ofERKSsm, __ZNKSs16find_last_not_ofEcm, 
+                       __ZNKSs17find_first_not_ofEPKcm, __ZNKSs17find_first_not_ofEPKcmm, 
+                       __ZNKSs17find_first_not_ofERKSsm, __ZNKSs17find_first_not_ofEcm, 
+                       __ZNKSs2atEm, __ZNKSs3endEv, __ZNKSs4_Rep12_M_is_leakedEv, 
+                       __ZNKSs4_Rep12_M_is_sharedEv, __ZNKSs4copyEPcmm, __ZNKSs4dataEv, 
+                       __ZNKSs4findEPKcm, __ZNKSs4findEPKcmm, __ZNKSs4findERKSsm, 
+                       __ZNKSs4findEcm, __ZNKSs4rendEv, __ZNKSs4sizeEv, __ZNKSs5beginEv, 
+                       __ZNKSs5c_strEv, __ZNKSs5emptyEv, __ZNKSs5rfindEPKcm, __ZNKSs5rfindEPKcmm, 
+                       __ZNKSs5rfindERKSsm, __ZNKSs5rfindEcm, __ZNKSs6_M_repEv, __ZNKSs6lengthEv, 
+                       __ZNKSs6rbeginEv, __ZNKSs6substrEmm, __ZNKSs7_M_dataEv, __ZNKSs7_M_iendEv, 
+                       __ZNKSs7compareEPKc, __ZNKSs7compareERKSs, __ZNKSs7compareEmmPKc, 
+                       __ZNKSs7compareEmmPKcm, __ZNKSs7compareEmmRKSs, __ZNKSs7compareEmmRKSsmm, 
+                       __ZNKSs8_M_checkEmPKc, __ZNKSs8_M_limitEmm, __ZNKSs8capacityEv, 
+                       __ZNKSs8max_sizeEv, __ZNKSs9_M_ibeginEv, __ZNKSsixEm, __ZNKSt10bad_typeid4whatEv, 
+                       __ZNKSt10istrstream5rdbufEv, __ZNKSt10moneypunctIcLb0EE10neg_formatEv, 
+                       __ZNKSt10moneypunctIcLb0EE10pos_formatEv, __ZNKSt10moneypunctIcLb0EE11curr_symbolEv, 
+                       __ZNKSt10moneypunctIcLb0EE11do_groupingEv, __ZNKSt10moneypunctIcLb0EE11frac_digitsEv, 
+                       __ZNKSt10moneypunctIcLb0EE13decimal_pointEv, __ZNKSt10moneypunctIcLb0EE13do_neg_formatEv, 
+                       __ZNKSt10moneypunctIcLb0EE13do_pos_formatEv, __ZNKSt10moneypunctIcLb0EE13negative_signEv, 
+                       __ZNKSt10moneypunctIcLb0EE13positive_signEv, __ZNKSt10moneypunctIcLb0EE13thousands_sepEv, 
+                       __ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv, __ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv, 
+                       __ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv, __ZNKSt10moneypunctIcLb0EE16do_negative_signEv, 
+                       __ZNKSt10moneypunctIcLb0EE16do_positive_signEv, __ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv, 
+                       __ZNKSt10moneypunctIcLb0EE8groupingEv, __ZNKSt10moneypunctIcLb1EE10neg_formatEv, 
+                       __ZNKSt10moneypunctIcLb1EE10pos_formatEv, __ZNKSt10moneypunctIcLb1EE11curr_symbolEv, 
+                       __ZNKSt10moneypunctIcLb1EE11do_groupingEv, __ZNKSt10moneypunctIcLb1EE11frac_digitsEv, 
+                       __ZNKSt10moneypunctIcLb1EE13decimal_pointEv, __ZNKSt10moneypunctIcLb1EE13do_neg_formatEv, 
+                       __ZNKSt10moneypunctIcLb1EE13do_pos_formatEv, __ZNKSt10moneypunctIcLb1EE13negative_signEv, 
+                       __ZNKSt10moneypunctIcLb1EE13positive_signEv, __ZNKSt10moneypunctIcLb1EE13thousands_sepEv, 
+                       __ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv, __ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv, 
+                       __ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv, __ZNKSt10moneypunctIcLb1EE16do_negative_signEv, 
+                       __ZNKSt10moneypunctIcLb1EE16do_positive_signEv, __ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv, 
+                       __ZNKSt10moneypunctIcLb1EE8groupingEv, __ZNKSt10moneypunctIwLb0EE10neg_formatEv, 
+                       __ZNKSt10moneypunctIwLb0EE10pos_formatEv, __ZNKSt10moneypunctIwLb0EE11curr_symbolEv, 
+                       __ZNKSt10moneypunctIwLb0EE11do_groupingEv, __ZNKSt10moneypunctIwLb0EE11frac_digitsEv, 
+                       __ZNKSt10moneypunctIwLb0EE13decimal_pointEv, __ZNKSt10moneypunctIwLb0EE13do_neg_formatEv, 
+                       __ZNKSt10moneypunctIwLb0EE13do_pos_formatEv, __ZNKSt10moneypunctIwLb0EE13negative_signEv, 
+                       __ZNKSt10moneypunctIwLb0EE13positive_signEv, __ZNKSt10moneypunctIwLb0EE13thousands_sepEv, 
+                       __ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv, __ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv, 
+                       __ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv, __ZNKSt10moneypunctIwLb0EE16do_negative_signEv, 
+                       __ZNKSt10moneypunctIwLb0EE16do_positive_signEv, __ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv, 
+                       __ZNKSt10moneypunctIwLb0EE8groupingEv, __ZNKSt10moneypunctIwLb1EE10neg_formatEv, 
+                       __ZNKSt10moneypunctIwLb1EE10pos_formatEv, __ZNKSt10moneypunctIwLb1EE11curr_symbolEv, 
+                       __ZNKSt10moneypunctIwLb1EE11do_groupingEv, __ZNKSt10moneypunctIwLb1EE11frac_digitsEv, 
+                       __ZNKSt10moneypunctIwLb1EE13decimal_pointEv, __ZNKSt10moneypunctIwLb1EE13do_neg_formatEv, 
+                       __ZNKSt10moneypunctIwLb1EE13do_pos_formatEv, __ZNKSt10moneypunctIwLb1EE13negative_signEv, 
+                       __ZNKSt10moneypunctIwLb1EE13positive_signEv, __ZNKSt10moneypunctIwLb1EE13thousands_sepEv, 
+                       __ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv, __ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv, 
+                       __ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv, __ZNKSt10moneypunctIwLb1EE16do_negative_signEv, 
+                       __ZNKSt10moneypunctIwLb1EE16do_positive_signEv, __ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv, 
+                       __ZNKSt10moneypunctIwLb1EE8groupingEv, __ZNKSt10ostrstream5rdbufEv, 
+                       __ZNKSt10ostrstream6pcountEv, __ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc, 
+                       __ZNKSt11__timepunctIcE15_M_date_formatsEPPKc, __ZNKSt11__timepunctIcE15_M_time_formatsEPPKc, 
+                       __ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc, __ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc, 
+                       __ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc, __ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm, 
+                       __ZNKSt11__timepunctIcE7_M_daysEPPKc, __ZNKSt11__timepunctIcE8_M_am_pmEPPKc, 
+                       __ZNKSt11__timepunctIcE9_M_monthsEPPKc, __ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw, 
+                       __ZNKSt11__timepunctIwE15_M_date_formatsEPPKw, __ZNKSt11__timepunctIwE15_M_time_formatsEPPKw, 
+                       __ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw, __ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw, 
+                       __ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw, __ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm, 
+                       __ZNKSt11__timepunctIwE7_M_daysEPPKw, __ZNKSt11__timepunctIwE8_M_am_pmEPPKw, 
+                       __ZNKSt11__timepunctIwE9_M_monthsEPPKw, __ZNKSt11logic_error4whatEv, 
+                       __ZNKSt12__basic_fileIcE7is_openEv, __ZNKSt12strstreambuf6pcountEv, 
+                       __ZNKSt13bad_exception4whatEv, __ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv, 
+                       __ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv, __ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv, 
+                       __ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv, __ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv, 
+                       __ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv, __ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv, 
+                       __ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv, __ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv, 
+                       __ZNKSt13runtime_error4whatEv, __ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv, 
+                       __ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv, __ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv, 
+                       __ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv, __ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv, 
+                       __ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv, __ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv, 
+                       __ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv, __ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv, 
+                       __ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv, __ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv, 
+                       __ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv, __ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv, 
+                       __ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv, __ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv, 
+                       __ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv, __ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv, 
+                       __ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv, __ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv, 
+                       __ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv, __ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv, 
+                       __ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv, __ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv, 
+                       __ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv, 
+                       __ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv, 
+                       __ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv, 
+                       __ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv, 
+                       __ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv, 
+                       __ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv, 
+                       __ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv, 
+                       __ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv, 
+                       __ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv, 
+                       __ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv, 
+                       __ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv, 
+                       __ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv, 
+                       __ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv, 
+                       __ZNKSt5ctypeIcE10do_tolowerEPcPKc, __ZNKSt5ctypeIcE10do_tolowerEc, 
+                       __ZNKSt5ctypeIcE10do_toupperEPcPKc, __ZNKSt5ctypeIcE10do_toupperEc, 
+                       __ZNKSt5ctypeIwE10do_tolowerEPwPKw, __ZNKSt5ctypeIwE10do_tolowerEw, 
+                       __ZNKSt5ctypeIwE10do_toupperEPwPKw, __ZNKSt5ctypeIwE10do_toupperEw, 
+                       __ZNKSt5ctypeIwE19_M_convert_to_wmaskEm, __ZNKSt5ctypeIwE8do_widenEPKcS2_Pw, 
+                       __ZNKSt5ctypeIwE8do_widenEc, __ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc, 
+                       __ZNKSt5ctypeIwE9do_narrowEwc, __ZNKSt6locale2id5_M_idEv, 
+                       __ZNKSt6locale4nameEv, __ZNKSt6localeeqERKS_, __ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_, 
+                       __ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv, __ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv, 
+                       __ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv, __ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_, 
+                       __ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_, 
+                       __ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m, __ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_, 
+                       __ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv, __ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv, 
+                       __ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv, __ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_, 
+                       __ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_, 
+                       __ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m, __ZNKSt7collateIcE10_M_compareEPKcS2_, 
+                       __ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_, __ZNKSt7collateIcE12_M_transformEPcPKcm, 
+                       __ZNKSt7collateIcE12do_transformEPKcS2_, __ZNKSt7collateIcE4hashEPKcS2_, 
+                       __ZNKSt7collateIcE7compareEPKcS2_S2_S2_, __ZNKSt7collateIcE7do_hashEPKcS2_, 
+                       __ZNKSt7collateIcE9transformEPKcS2_, __ZNKSt7collateIwE10_M_compareEPKwS2_, 
+                       __ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_, __ZNKSt7collateIwE12_M_transformEPwPKwm, 
+                       __ZNKSt7collateIwE12do_transformEPKwS2_, __ZNKSt7collateIwE4hashEPKwS2_, 
+                       __ZNKSt7collateIwE7compareEPKwS2_S2_S2_, __ZNKSt7collateIwE7do_hashEPKwS2_, 
+                       __ZNKSt7collateIwE9transformEPKwS2_, __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx, 
+                       __ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx, 
+                       __ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx, 
+                       __ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx, 
+                       __ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy, 
+                       __ZNKSt8bad_cast4whatEv, __ZNKSt8ios_base7failure4whatEv, 
+                       __ZNKSt8messagesIcE18_M_convert_to_charERKSs, __ZNKSt8messagesIcE20_M_convert_from_charEPc, 
+                       __ZNKSt8messagesIcE3getEiiiRKSs, __ZNKSt8messagesIcE4openERKSsRKSt6locale, 
+                       __ZNKSt8messagesIcE4openERKSsRKSt6localePKc, __ZNKSt8messagesIcE5closeEi, 
+                       __ZNKSt8messagesIcE6do_getEiiiRKSs, __ZNKSt8messagesIcE7do_openERKSsRKSt6locale, 
+                       __ZNKSt8messagesIcE8do_closeEi, __ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE, 
+                       __ZNKSt8messagesIwE20_M_convert_from_charEPc, __ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE, 
+                       __ZNKSt8messagesIwE4openERKSsRKSt6locale, __ZNKSt8messagesIwE4openERKSsRKSt6localePKc, 
+                       __ZNKSt8messagesIwE5closeEi, __ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE, 
+                       __ZNKSt8messagesIwE7do_openERKSsRKSt6locale, __ZNKSt8messagesIwE8do_closeEi, 
+                       __ZNKSt8numpunctIcE11do_groupingEv, __ZNKSt8numpunctIcE11do_truenameEv, 
+                       __ZNKSt8numpunctIcE12do_falsenameEv, __ZNKSt8numpunctIcE13decimal_pointEv, 
+                       __ZNKSt8numpunctIcE13thousands_sepEv, __ZNKSt8numpunctIcE16do_decimal_pointEv, 
+                       __ZNKSt8numpunctIcE16do_thousands_sepEv, __ZNKSt8numpunctIcE8groupingEv, 
+                       __ZNKSt8numpunctIcE8truenameEv, __ZNKSt8numpunctIcE9falsenameEv, 
+                       __ZNKSt8numpunctIwE11do_groupingEv, __ZNKSt8numpunctIwE11do_truenameEv, 
+                       __ZNKSt8numpunctIwE12do_falsenameEv, __ZNKSt8numpunctIwE13decimal_pointEv, 
+                       __ZNKSt8numpunctIwE13thousands_sepEv, __ZNKSt8numpunctIwE16do_decimal_pointEv, 
+                       __ZNKSt8numpunctIwE16do_thousands_sepEv, __ZNKSt8numpunctIwE8groupingEv, 
+                       __ZNKSt8numpunctIwE8truenameEv, __ZNKSt8numpunctIwE9falsenameEv, 
+                       __ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv, 
+                       __ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv, 
+                       __ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate, 
+                       __ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate, 
+                       __ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc, 
+                       __ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv, 
+                       __ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv, 
+                       __ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate, 
+                       __ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate, 
+                       __ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw, 
+                       __ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm, 
+                       __ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_, 
+                       __ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc, 
+                       __ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc, 
+                       __ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_, 
+                       __ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc, 
+                       __ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc, 
+                       __ZNKSt8valarrayImE4sizeEv, __ZNKSt9bad_alloc4whatEv, __ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv, 
+                       __ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv, __ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv, 
+                       __ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv, __ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv, 
+                       __ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv, __ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv, 
+                       __ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv, __ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc, 
+                       __ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc, __ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv, 
+                       __ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv, __ZNKSt9basic_iosIcSt11char_traitsIcEEntEv, 
+                       __ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv, __ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv, 
+                       __ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv, __ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv, 
+                       __ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv, __ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv, 
+                       __ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv, __ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv, 
+                       __ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc, __ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc, 
+                       __ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv, __ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv, 
+                       __ZNKSt9basic_iosIwSt11char_traitsIwEEntEv, __ZNKSt9exception4whatEv, 
+                       __ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs, 
+                       __ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs, 
+                       __ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs, 
+                       __ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe, 
+                       __ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs, 
+                       __ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe, 
+                       __ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs, 
+                       __ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs, 
+                       __ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE, 
+                       __ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe, 
+                       __ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE, 
+                       __ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe, 
+                       __ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs, 
+                       __ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece, 
+                       __ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs, 
+                       __ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece, 
+                       __ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs, 
+                       __ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs, 
+                       __ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE, 
+                       __ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe, 
+                       __ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE, 
+                       __ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe, 
+                       __ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE, 
+                       __ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE, 
+                       __ZNKSt9strstream5rdbufEv, __ZNKSt9strstream6pcountEv, __ZNSaIcEC1ERKS_, 
+                       __ZNSaIcEC1Ev, __ZNSaIcEC2ERKS_, __ZNSaIcEC2Ev, __ZNSaIcED1Ev, 
+                       __ZNSaIcED2Ev, __ZNSaIwEC1ERKS_, __ZNSaIwEC1Ev, __ZNSaIwEC2ERKS_, 
+                       __ZNSaIwEC2Ev, __ZNSaIwED1Ev, __ZNSaIwED2Ev, __ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEmm, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv, __ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIN9__gnu_cxx17__normal_iteratorIPwS2_EEEES6_T_S8_RKS1_St20forward_iterator_tag, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPKwEEPwT_S7_RKS1_St20forward_iterator_tag, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPwEES4_T_S5_RKS1_St20forward_iterator_tag, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv, __ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw, __ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE2atEm, __ZNSbIwSt11char_traitsIwESaIwEE3endEv, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_, __ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv, __ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE, __ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv, __ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_, __ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1_, __ZNSbIwSt11char_traitsIwESaIwEE4nposE, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE4rendEv, __ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE5beginEv, __ZNSbIwSt11char_traitsIwESaIwEE5clearEv, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm, __ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm, __ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm, __ZNSbIwSt11char_traitsIwESaIwEE6appendEmw, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw, __ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_, __ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE6assignEmw, __ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw, __ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_, __ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw, __ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE6resizeEm, __ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm, __ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv, __ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw, __ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_, __ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw, __ZNSbIwSt11char_traitsIwESaIwEE7reserveEm, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw, __ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm, 
+                       __ZNSbIwSt11char_traitsIwESaIwEE9push_backEw, __ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_, __ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_, __ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm, 
+                       __ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_, __ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEEC1Ev, __ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_, __ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_, __ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_, __ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm, __ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_, __ZNSbIwSt11char_traitsIwESaIwEEC2Ev, 
+                       __ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_, __ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEED1Ev, __ZNSbIwSt11char_traitsIwESaIwEED2Ev, 
+                       __ZNSbIwSt11char_traitsIwESaIwEEaSEPKw, __ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEEaSEw, __ZNSbIwSt11char_traitsIwESaIwEEixEm, 
+                       __ZNSbIwSt11char_traitsIwESaIwEEpLEPKw, __ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_, 
+                       __ZNSbIwSt11char_traitsIwESaIwEEpLEw, __ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE, 
+                       __ZNSdC1Ev, __ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE, 
+                       __ZNSdC2Ev, __ZNSdD0Ev, __ZNSdD1Ev, __ZNSdD2Ev, __ZNSi10_M_extractIPvEERSiRT_, 
+                       __ZNSi10_M_extractIbEERSiRT_, __ZNSi10_M_extractIdEERSiRT_, 
+                       __ZNSi10_M_extractIeEERSiRT_, __ZNSi10_M_extractIfEERSiRT_, 
+                       __ZNSi10_M_extractIjEERSiRT_, __ZNSi10_M_extractIlEERSiRT_, 
+                       __ZNSi10_M_extractImEERSiRT_, __ZNSi10_M_extractItEERSiRT_, 
+                       __ZNSi10_M_extractIxEERSiRT_, __ZNSi10_M_extractIyEERSiRT_, 
+                       __ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE, __ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc, 
+                       __ZNSi3getERc, __ZNSi3getEv, __ZNSi4peekEv, __ZNSi4syncEv, 
+                       __ZNSi5seekgESt4fposI11__mbstate_tE, __ZNSi5seekgExSt12_Ios_Seekdir, 
+                       __ZNSi5tellgEv, __ZNSi5ungetEv, __ZNSi6ignoreEv, __ZNSi6sentryC1ERSib, 
+                       __ZNSi6sentryC2ERSib, __ZNSi7putbackEc, __ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE, 
+                       __ZNSiC1Ev, __ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE, 
+                       __ZNSiC2Ev, __ZNSiD0Ev, __ZNSiD1Ev, __ZNSiD2Ev, __ZNSirsEPFRSiS_E, 
+                       __ZNSirsEPFRSt8ios_baseS0_E, __ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E, 
+                       __ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE, __ZNSirsERPv, 
+                       __ZNSirsERb, __ZNSirsERd, __ZNSirsERe, __ZNSirsERf, __ZNSirsERi, 
+                       __ZNSirsERj, __ZNSirsERl, __ZNSirsERm, __ZNSirsERs, __ZNSirsERt, 
+                       __ZNSirsERx, __ZNSirsERy, __ZNSo3putEc, __ZNSo5flushEv, __ZNSo5seekpESt4fposI11__mbstate_tE, 
+                       __ZNSo5seekpExSt12_Ios_Seekdir, __ZNSo5tellpEv, __ZNSo6sentryC1ERSo, 
+                       __ZNSo6sentryC2ERSo, __ZNSo6sentryD1Ev, __ZNSo6sentryD2Ev, 
+                       __ZNSo9_M_insertIPKvEERSoT_, __ZNSo9_M_insertIbEERSoT_, __ZNSo9_M_insertIdEERSoT_, 
+                       __ZNSo9_M_insertIeEERSoT_, __ZNSo9_M_insertIlEERSoT_, __ZNSo9_M_insertImEERSoT_, 
+                       __ZNSo9_M_insertIxEERSoT_, __ZNSo9_M_insertIyEERSoT_, __ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE, 
+                       __ZNSoC1Ev, __ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE, 
+                       __ZNSoC2Ev, __ZNSoD0Ev, __ZNSoD1Ev, __ZNSoD2Ev, __ZNSolsEPFRSoS_E, 
+                       __ZNSolsEPFRSt8ios_baseS0_E, __ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E, 
+                       __ZNSolsEPKv, __ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE, 
+                       __ZNSolsEb, __ZNSolsEd, __ZNSolsEe, __ZNSolsEf, __ZNSolsEi, 
+                       __ZNSolsEj, __ZNSolsEl, __ZNSolsEm, __ZNSolsEs, __ZNSolsEt, 
+                       __ZNSolsEx, __ZNSolsEy, __ZNSs10_S_compareEmm, __ZNSs12_Alloc_hiderC1EPcRKSaIcE, 
+                       __ZNSs12_Alloc_hiderC2EPcRKSaIcE, __ZNSs12_M_leak_hardEv, 
+                       __ZNSs12_S_constructEmcRKSaIcE, __ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag, 
+                       __ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag, 
+                       __ZNSs12_S_constructIPcEES0_T_S1_RKSaIcESt20forward_iterator_tag, 
+                       __ZNSs12_S_empty_repEv, __ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_, 
+                       __ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_, 
+                       __ZNSs13_S_copy_charsEPcPKcS1_, __ZNSs13_S_copy_charsEPcS_S_, 
+                       __ZNSs14_M_replace_auxEmmmc, __ZNSs15_M_replace_safeEmmPKcm, 
+                       __ZNSs2atEm, __ZNSs3endEv, __ZNSs4_Rep10_M_destroyERKSaIcE, 
+                       __ZNSs4_Rep10_M_disposeERKSaIcE, __ZNSs4_Rep10_M_refcopyEv, 
+                       __ZNSs4_Rep10_M_refdataEv, __ZNSs4_Rep11_S_max_sizeE, __ZNSs4_Rep11_S_terminalE, 
+                       __ZNSs4_Rep12_S_empty_repEv, __ZNSs4_Rep13_M_set_leakedEv, 
+                       __ZNSs4_Rep15_M_set_sharableEv, __ZNSs4_Rep20_S_empty_rep_storageE, 
+                       __ZNSs4_Rep26_M_set_length_and_sharableEm, __ZNSs4_Rep7_M_grabERKSaIcES2_, 
+                       __ZNSs4_Rep8_M_cloneERKSaIcEm, __ZNSs4_Rep9_S_createEmmRKSaIcE, 
+                       __ZNSs4nposE, __ZNSs4rendEv, __ZNSs4swapERSs, __ZNSs5beginEv, 
+                       __ZNSs5clearEv, __ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE, 
+                       __ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_, __ZNSs5eraseEmm, 
+                       __ZNSs6appendEPKc, __ZNSs6appendEPKcm, __ZNSs6appendERKSs, 
+                       __ZNSs6appendERKSsmm, __ZNSs6appendEmc, __ZNSs6assignEPKc, 
+                       __ZNSs6assignEPKcm, __ZNSs6assignERKSs, __ZNSs6assignERKSsmm, 
+                       __ZNSs6assignEmc, __ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc, 
+                       __ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc, __ZNSs6insertEmPKc, 
+                       __ZNSs6insertEmPKcm, __ZNSs6insertEmRKSs, __ZNSs6insertEmRKSsmm, 
+                       __ZNSs6insertEmmc, __ZNSs6rbeginEv, __ZNSs6resizeEm, __ZNSs6resizeEmc, 
+                       __ZNSs7_M_copyEPcPKcm, __ZNSs7_M_dataEPc, __ZNSs7_M_leakEv, 
+                       __ZNSs7_M_moveEPcPKcm, __ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_, 
+                       __ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc, 
+                       __ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_, 
+                       __ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm, 
+                       __ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs, 
+                       __ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_, 
+                       __ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_, 
+                       __ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc, 
+                       __ZNSs7replaceEmmPKc, __ZNSs7replaceEmmPKcm, __ZNSs7replaceEmmRKSs, 
+                       __ZNSs7replaceEmmRKSsmm, __ZNSs7replaceEmmmc, __ZNSs7reserveEm, 
+                       __ZNSs9_M_assignEPcmc, __ZNSs9_M_mutateEmmm, __ZNSs9push_backEc, 
+                       __ZNSsC1EPKcRKSaIcE, __ZNSsC1EPKcmRKSaIcE, __ZNSsC1ERKSaIcE, 
+                       __ZNSsC1ERKSs, __ZNSsC1ERKSsmm, __ZNSsC1ERKSsmmRKSaIcE, __ZNSsC1EmcRKSaIcE, 
+                       __ZNSsC1Ev, __ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE, 
+                       __ZNSsC1IPKcEET_S2_RKSaIcE, __ZNSsC1IPcEET_S1_RKSaIcE, __ZNSsC2EPKcRKSaIcE, 
+                       __ZNSsC2EPKcmRKSaIcE, __ZNSsC2ERKSaIcE, __ZNSsC2ERKSs, __ZNSsC2ERKSsmm, 
+                       __ZNSsC2ERKSsmmRKSaIcE, __ZNSsC2EmcRKSaIcE, __ZNSsC2Ev, __ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE, 
+                       __ZNSsC2IPKcEET_S2_RKSaIcE, __ZNSsC2IPcEET_S1_RKSaIcE, __ZNSsD1Ev, 
+                       __ZNSsD2Ev, __ZNSsaSEPKc, __ZNSsaSERKSs, __ZNSsaSEc, __ZNSsixEm, 
+                       __ZNSspLEPKc, __ZNSspLERKSs, __ZNSspLEc, __ZNSt10__num_base11_S_atoms_inE, 
+                       __ZNSt10__num_base12_S_atoms_outE, __ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc, 
+                       __ZNSt10bad_typeidD0Ev, __ZNSt10bad_typeidD1Ev, __ZNSt10bad_typeidD2Ev, 
+                       __ZNSt10ctype_base5alnumE, __ZNSt10ctype_base5alphaE, __ZNSt10ctype_base5cntrlE, 
+                       __ZNSt10ctype_base5digitE, __ZNSt10ctype_base5graphE, __ZNSt10ctype_base5lowerE, 
+                       __ZNSt10ctype_base5printE, __ZNSt10ctype_base5punctE, __ZNSt10ctype_base5spaceE, 
+                       __ZNSt10ctype_base5upperE, __ZNSt10ctype_base6xdigitE, __ZNSt10istrstream3strEv, 
+                       __ZNSt10istrstreamC1EPKc, __ZNSt10istrstreamC1EPc, __ZNSt10istrstreamC2EPKc, 
+                       __ZNSt10istrstreamC2EPc, __ZNSt10istrstreamD0Ev, __ZNSt10istrstreamD1Ev, 
+                       __ZNSt10istrstreamD2Ev, __ZNSt10money_base18_S_default_patternE, 
+                       __ZNSt10money_base20_S_construct_patternEccc, __ZNSt10money_base8_S_atomsE, 
+                       __ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEPiPKc, 
+                       __ZNSt10moneypunctIcLb0EE2idE, __ZNSt10moneypunctIcLb0EE4intlE, 
+                       __ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm, 
+                       __ZNSt10moneypunctIcLb0EEC1EPiPKcm, __ZNSt10moneypunctIcLb0EEC1Em, 
+                       __ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm, 
+                       __ZNSt10moneypunctIcLb0EEC2EPiPKcm, __ZNSt10moneypunctIcLb0EEC2Em, 
+                       __ZNSt10moneypunctIcLb0EED0Ev, __ZNSt10moneypunctIcLb0EED1Ev, 
+                       __ZNSt10moneypunctIcLb0EED2Ev, __ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEPiPKc, 
+                       __ZNSt10moneypunctIcLb1EE2idE, __ZNSt10moneypunctIcLb1EE4intlE, 
+                       __ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm, 
+                       __ZNSt10moneypunctIcLb1EEC1EPiPKcm, __ZNSt10moneypunctIcLb1EEC1Em, 
+                       __ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm, 
+                       __ZNSt10moneypunctIcLb1EEC2EPiPKcm, __ZNSt10moneypunctIcLb1EEC2Em, 
+                       __ZNSt10moneypunctIcLb1EED0Ev, __ZNSt10moneypunctIcLb1EED1Ev, 
+                       __ZNSt10moneypunctIcLb1EED2Ev, __ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEPiPKc, 
+                       __ZNSt10moneypunctIwLb0EE2idE, __ZNSt10moneypunctIwLb0EE4intlE, 
+                       __ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm, 
+                       __ZNSt10moneypunctIwLb0EEC1EPiPKcm, __ZNSt10moneypunctIwLb0EEC1Em, 
+                       __ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm, 
+                       __ZNSt10moneypunctIwLb0EEC2EPiPKcm, __ZNSt10moneypunctIwLb0EEC2Em, 
+                       __ZNSt10moneypunctIwLb0EED0Ev, __ZNSt10moneypunctIwLb0EED1Ev, 
+                       __ZNSt10moneypunctIwLb0EED2Ev, __ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEPiPKc, 
+                       __ZNSt10moneypunctIwLb1EE2idE, __ZNSt10moneypunctIwLb1EE4intlE, 
+                       __ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm, 
+                       __ZNSt10moneypunctIwLb1EEC1EPiPKcm, __ZNSt10moneypunctIwLb1EEC1Em, 
+                       __ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm, 
+                       __ZNSt10moneypunctIwLb1EEC2EPiPKcm, __ZNSt10moneypunctIwLb1EEC2Em, 
+                       __ZNSt10moneypunctIwLb1EED0Ev, __ZNSt10moneypunctIwLb1EED1Ev, 
+                       __ZNSt10moneypunctIwLb1EED2Ev, __ZNSt10ostrstream3strEv, __ZNSt10ostrstream6freezeEb, 
+                       __ZNSt10ostrstreamC1EPciSt13_Ios_Openmode, __ZNSt10ostrstreamC1Ev, 
+                       __ZNSt10ostrstreamC2EPciSt13_Ios_Openmode, __ZNSt10ostrstreamC2Ev, 
+                       __ZNSt10ostrstreamD0Ev, __ZNSt10ostrstreamD1Ev, __ZNSt10ostrstreamD2Ev, 
+                       __ZNSt11__timepunctIcE23_M_initialize_timepunctEPi, __ZNSt11__timepunctIcE2idE, 
+                       __ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm, __ZNSt11__timepunctIcEC1EPiPKcm, 
+                       __ZNSt11__timepunctIcEC1Em, __ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm, 
+                       __ZNSt11__timepunctIcEC2EPiPKcm, __ZNSt11__timepunctIcEC2Em, 
+                       __ZNSt11__timepunctIcED0Ev, __ZNSt11__timepunctIcED1Ev, __ZNSt11__timepunctIcED2Ev, 
+                       __ZNSt11__timepunctIwE23_M_initialize_timepunctEPi, __ZNSt11__timepunctIwE2idE, 
+                       __ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm, __ZNSt11__timepunctIwEC1EPiPKcm, 
+                       __ZNSt11__timepunctIwEC1Em, __ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm, 
+                       __ZNSt11__timepunctIwEC2EPiPKcm, __ZNSt11__timepunctIwEC2Em, 
+                       __ZNSt11__timepunctIwED0Ev, __ZNSt11__timepunctIwED1Ev, __ZNSt11__timepunctIwED2Ev, 
+                       __ZNSt11logic_errorC1ERKSs, __ZNSt11logic_errorC2ERKSs, __ZNSt11logic_errorD0Ev, 
+                       __ZNSt11logic_errorD1Ev, __ZNSt11logic_errorD2Ev, __ZNSt11range_errorC1ERKSs, 
+                       __ZNSt11range_errorC2ERKSs, __ZNSt11range_errorD0Ev, __ZNSt11range_errorD1Ev, 
+                       __ZNSt11range_errorD2Ev, __ZNSt12__basic_fileIcE2fdEv, __ZNSt12__basic_fileIcE4fileEv, 
+                       __ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei, __ZNSt12__basic_fileIcE4syncEv, 
+                       __ZNSt12__basic_fileIcE5closeEv, __ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir, 
+                       __ZNSt12__basic_fileIcE8sys_openEP7__sFILESt13_Ios_Openmode, 
+                       __ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode, __ZNSt12__basic_fileIcE9showmanycEv, 
+                       __ZNSt12__basic_fileIcEC1EP23_opaque_pthread_mutex_t, __ZNSt12__basic_fileIcEC2EP23_opaque_pthread_mutex_t, 
+                       __ZNSt12__basic_fileIcED1Ev, __ZNSt12__basic_fileIcED2Ev, 
+                       __ZNSt12ctype_bynameIcEC1EPKcm, __ZNSt12ctype_bynameIcEC2EPKcm, 
+                       __ZNSt12ctype_bynameIcED0Ev, __ZNSt12ctype_bynameIcED1Ev, 
+                       __ZNSt12ctype_bynameIcED2Ev, __ZNSt12ctype_bynameIwEC1EPKcm, 
+                       __ZNSt12ctype_bynameIwEC2EPKcm, __ZNSt12ctype_bynameIwED0Ev, 
+                       __ZNSt12ctype_bynameIwED1Ev, __ZNSt12ctype_bynameIwED2Ev, 
+                       __ZNSt12domain_errorC1ERKSs, __ZNSt12domain_errorC2ERKSs, 
+                       __ZNSt12domain_errorD0Ev, __ZNSt12domain_errorD1Ev, __ZNSt12domain_errorD2Ev, 
+                       __ZNSt12length_errorC1ERKSs, __ZNSt12length_errorC2ERKSs, 
+                       __ZNSt12length_errorD0Ev, __ZNSt12length_errorD1Ev, __ZNSt12length_errorD2Ev, 
+                       __ZNSt12out_of_rangeC1ERKSs, __ZNSt12out_of_rangeC2ERKSs, 
+                       __ZNSt12out_of_rangeD0Ev, __ZNSt12out_of_rangeD1Ev, __ZNSt12out_of_rangeD2Ev, 
+                       __ZNSt12strstreambuf3strEv, __ZNSt12strstreambuf6freezeEb, 
+                       __ZNSt12strstreambuf7_M_freeEPc, __ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode, 
+                       __ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode, 
+                       __ZNSt12strstreambuf8_M_allocEm, __ZNSt12strstreambuf8overflowEi, 
+                       __ZNSt12strstreambuf9pbackfailEi, __ZNSt12strstreambuf9underflowEv, 
+                       __ZNSt12strstreambufC1EPFPvmEPFvS0_E, __ZNSt12strstreambufC2EPFPvmEPFvS0_E, 
+                       __ZNSt12strstreambufD0Ev, __ZNSt12strstreambufD1Ev, __ZNSt12strstreambufD2Ev, 
+                       __ZNSt13bad_exceptionD0Ev, __ZNSt13bad_exceptionD1Ev, __ZNSt13bad_exceptionD2Ev, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv, __ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi, __ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv, __ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev, __ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev, __ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev, 
+                       __ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev, __ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv, __ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEi, __ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEi, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv, __ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev, __ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev, __ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev, 
+                       __ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev, __ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode, 
+                       __ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv, __ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv, 
+                       __ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode, 
+                       __ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev, __ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode, 
+                       __ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev, __ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev, 
+                       __ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev, __ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev, 
+                       __ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode, 
+                       __ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv, __ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv, 
+                       __ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode, 
+                       __ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev, __ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode, 
+                       __ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev, __ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev, 
+                       __ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev, __ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIPvEERS2_RT_, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIbEERS2_RT_, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT_, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIeEERS2_RT_, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIfEERS2_RT_, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIjEERS2_RT_, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIlEERS2_RT_, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractImEERS2_RT_, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractItEERS2_RT_, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIxEERS2_RT_, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIyEERS2_RT_, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw, __ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv, __ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv, __ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv, __ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw, __ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev, __ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev, __ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev, __ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E, __ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv, __ZNSt13basic_istreamIwSt11char_traitsIwEErsERb, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEErsERd, __ZNSt13basic_istreamIwSt11char_traitsIwEErsERe, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEErsERf, __ZNSt13basic_istreamIwSt11char_traitsIwEErsERi, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEErsERj, __ZNSt13basic_istreamIwSt11char_traitsIwEErsERl, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEErsERm, __ZNSt13basic_istreamIwSt11char_traitsIwEErsERs, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEErsERt, __ZNSt13basic_istreamIwSt11char_traitsIwEErsERx, 
+                       __ZNSt13basic_istreamIwSt11char_traitsIwEErsERy, __ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv, __ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv, __ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev, __ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIPKvEERS2_T_, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIbEERS2_T_, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T_, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T_, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T_, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T_, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T_, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev, __ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev, __ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev, __ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E, __ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv, __ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb, __ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe, __ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi, __ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl, __ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs, __ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt, 
+                       __ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx, __ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy, 
+                       __ZNSt13runtime_errorC1ERKSs, __ZNSt13runtime_errorC2ERKSs, 
+                       __ZNSt13runtime_errorD0Ev, __ZNSt13runtime_errorD1Ev, __ZNSt13runtime_errorD2Ev, 
+                       __ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode, 
+                       __ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv, __ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv, 
+                       __ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode, 
+                       __ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev, __ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode, 
+                       __ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev, __ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev, 
+                       __ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev, __ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev, 
+                       __ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode, 
+                       __ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv, __ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv, 
+                       __ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode, 
+                       __ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev, __ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode, 
+                       __ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev, __ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev, 
+                       __ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev, __ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev, 
+                       __ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E, 
+                       __ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev, __ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E, 
+                       __ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev, __ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev, 
+                       __ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev, __ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev, 
+                       __ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode, 
+                       __ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv, __ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv, 
+                       __ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode, 
+                       __ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev, __ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode, 
+                       __ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev, __ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev, 
+                       __ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev, __ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev, 
+                       __ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode, 
+                       __ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv, __ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv, 
+                       __ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode, 
+                       __ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev, __ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode, 
+                       __ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev, __ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev, 
+                       __ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev, __ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev, 
+                       __ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm, __ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm, 
+                       __ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev, __ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev, 
+                       __ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev, __ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm, 
+                       __ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm, __ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev, 
+                       __ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev, __ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev, 
+                       __ZNSt14collate_bynameIcEC1EPKcm, __ZNSt14collate_bynameIcEC2EPKcm, 
+                       __ZNSt14collate_bynameIcED0Ev, __ZNSt14collate_bynameIcED1Ev, 
+                       __ZNSt14collate_bynameIcED2Ev, __ZNSt14collate_bynameIwEC1EPKcm, 
+                       __ZNSt14collate_bynameIwEC2EPKcm, __ZNSt14collate_bynameIwED0Ev, 
+                       __ZNSt14collate_bynameIwED1Ev, __ZNSt14collate_bynameIwED2Ev, 
+                       __ZNSt14numeric_limitsIaE10has_denormE, __ZNSt14numeric_limitsIaE10is_boundedE, 
+                       __ZNSt14numeric_limitsIaE10is_integerE, __ZNSt14numeric_limitsIaE11round_styleE, 
+                       __ZNSt14numeric_limitsIaE12has_infinityE, __ZNSt14numeric_limitsIaE12max_exponentE, 
+                       __ZNSt14numeric_limitsIaE12min_exponentE, __ZNSt14numeric_limitsIaE13has_quiet_NaNE, 
+                       __ZNSt14numeric_limitsIaE14is_specializedE, __ZNSt14numeric_limitsIaE14max_exponent10E, 
+                       __ZNSt14numeric_limitsIaE14min_exponent10E, __ZNSt14numeric_limitsIaE15has_denorm_lossE, 
+                       __ZNSt14numeric_limitsIaE15tinyness_beforeE, __ZNSt14numeric_limitsIaE17has_signaling_NaNE, 
+                       __ZNSt14numeric_limitsIaE5radixE, __ZNSt14numeric_limitsIaE5trapsE, 
+                       __ZNSt14numeric_limitsIaE6digitsE, __ZNSt14numeric_limitsIaE8digits10E, 
+                       __ZNSt14numeric_limitsIaE8is_exactE, __ZNSt14numeric_limitsIaE9is_iec559E, 
+                       __ZNSt14numeric_limitsIaE9is_moduloE, __ZNSt14numeric_limitsIaE9is_signedE, 
+                       __ZNSt14numeric_limitsIbE10has_denormE, __ZNSt14numeric_limitsIbE10is_boundedE, 
+                       __ZNSt14numeric_limitsIbE10is_integerE, __ZNSt14numeric_limitsIbE11round_styleE, 
+                       __ZNSt14numeric_limitsIbE12has_infinityE, __ZNSt14numeric_limitsIbE12max_exponentE, 
+                       __ZNSt14numeric_limitsIbE12min_exponentE, __ZNSt14numeric_limitsIbE13has_quiet_NaNE, 
+                       __ZNSt14numeric_limitsIbE14is_specializedE, __ZNSt14numeric_limitsIbE14max_exponent10E, 
+                       __ZNSt14numeric_limitsIbE14min_exponent10E, __ZNSt14numeric_limitsIbE15has_denorm_lossE, 
+                       __ZNSt14numeric_limitsIbE15tinyness_beforeE, __ZNSt14numeric_limitsIbE17has_signaling_NaNE, 
+                       __ZNSt14numeric_limitsIbE5radixE, __ZNSt14numeric_limitsIbE5trapsE, 
+                       __ZNSt14numeric_limitsIbE6digitsE, __ZNSt14numeric_limitsIbE8digits10E, 
+                       __ZNSt14numeric_limitsIbE8is_exactE, __ZNSt14numeric_limitsIbE9is_iec559E, 
+                       __ZNSt14numeric_limitsIbE9is_moduloE, __ZNSt14numeric_limitsIbE9is_signedE, 
+                       __ZNSt14numeric_limitsIcE10has_denormE, __ZNSt14numeric_limitsIcE10is_boundedE, 
+                       __ZNSt14numeric_limitsIcE10is_integerE, __ZNSt14numeric_limitsIcE11round_styleE, 
+                       __ZNSt14numeric_limitsIcE12has_infinityE, __ZNSt14numeric_limitsIcE12max_exponentE, 
+                       __ZNSt14numeric_limitsIcE12min_exponentE, __ZNSt14numeric_limitsIcE13has_quiet_NaNE, 
+                       __ZNSt14numeric_limitsIcE14is_specializedE, __ZNSt14numeric_limitsIcE14max_exponent10E, 
+                       __ZNSt14numeric_limitsIcE14min_exponent10E, __ZNSt14numeric_limitsIcE15has_denorm_lossE, 
+                       __ZNSt14numeric_limitsIcE15tinyness_beforeE, __ZNSt14numeric_limitsIcE17has_signaling_NaNE, 
+                       __ZNSt14numeric_limitsIcE5radixE, __ZNSt14numeric_limitsIcE5trapsE, 
+                       __ZNSt14numeric_limitsIcE6digitsE, __ZNSt14numeric_limitsIcE8digits10E, 
+                       __ZNSt14numeric_limitsIcE8is_exactE, __ZNSt14numeric_limitsIcE9is_iec559E, 
+                       __ZNSt14numeric_limitsIcE9is_moduloE, __ZNSt14numeric_limitsIcE9is_signedE, 
+                       __ZNSt14numeric_limitsIdE10has_denormE, __ZNSt14numeric_limitsIdE10is_boundedE, 
+                       __ZNSt14numeric_limitsIdE10is_integerE, __ZNSt14numeric_limitsIdE11round_styleE, 
+                       __ZNSt14numeric_limitsIdE12has_infinityE, __ZNSt14numeric_limitsIdE12max_exponentE, 
+                       __ZNSt14numeric_limitsIdE12min_exponentE, __ZNSt14numeric_limitsIdE13has_quiet_NaNE, 
+                       __ZNSt14numeric_limitsIdE14is_specializedE, __ZNSt14numeric_limitsIdE14max_exponent10E, 
+                       __ZNSt14numeric_limitsIdE14min_exponent10E, __ZNSt14numeric_limitsIdE15has_denorm_lossE, 
+                       __ZNSt14numeric_limitsIdE15tinyness_beforeE, __ZNSt14numeric_limitsIdE17has_signaling_NaNE, 
+                       __ZNSt14numeric_limitsIdE5radixE, __ZNSt14numeric_limitsIdE5trapsE, 
+                       __ZNSt14numeric_limitsIdE6digitsE, __ZNSt14numeric_limitsIdE8digits10E, 
+                       __ZNSt14numeric_limitsIdE8is_exactE, __ZNSt14numeric_limitsIdE9is_iec559E, 
+                       __ZNSt14numeric_limitsIdE9is_moduloE, __ZNSt14numeric_limitsIdE9is_signedE, 
+                       __ZNSt14numeric_limitsIeE10has_denormE, __ZNSt14numeric_limitsIeE10is_boundedE, 
+                       __ZNSt14numeric_limitsIeE10is_integerE, __ZNSt14numeric_limitsIeE11round_styleE, 
+                       __ZNSt14numeric_limitsIeE12has_infinityE, __ZNSt14numeric_limitsIeE12max_exponentE, 
+                       __ZNSt14numeric_limitsIeE12min_exponentE, __ZNSt14numeric_limitsIeE13has_quiet_NaNE, 
+                       __ZNSt14numeric_limitsIeE14is_specializedE, __ZNSt14numeric_limitsIeE14max_exponent10E, 
+                       __ZNSt14numeric_limitsIeE14min_exponent10E, __ZNSt14numeric_limitsIeE15has_denorm_lossE, 
+                       __ZNSt14numeric_limitsIeE15tinyness_beforeE, __ZNSt14numeric_limitsIeE17has_signaling_NaNE, 
+                       __ZNSt14numeric_limitsIeE5radixE, __ZNSt14numeric_limitsIeE5trapsE, 
+                       __ZNSt14numeric_limitsIeE6digitsE, __ZNSt14numeric_limitsIeE8digits10E, 
+                       __ZNSt14numeric_limitsIeE8is_exactE, __ZNSt14numeric_limitsIeE9is_iec559E, 
+                       __ZNSt14numeric_limitsIeE9is_moduloE, __ZNSt14numeric_limitsIeE9is_signedE, 
+                       __ZNSt14numeric_limitsIfE10has_denormE, __ZNSt14numeric_limitsIfE10is_boundedE, 
+                       __ZNSt14numeric_limitsIfE10is_integerE, __ZNSt14numeric_limitsIfE11round_styleE, 
+                       __ZNSt14numeric_limitsIfE12has_infinityE, __ZNSt14numeric_limitsIfE12max_exponentE, 
+                       __ZNSt14numeric_limitsIfE12min_exponentE, __ZNSt14numeric_limitsIfE13has_quiet_NaNE, 
+                       __ZNSt14numeric_limitsIfE14is_specializedE, __ZNSt14numeric_limitsIfE14max_exponent10E, 
+                       __ZNSt14numeric_limitsIfE14min_exponent10E, __ZNSt14numeric_limitsIfE15has_denorm_lossE, 
+                       __ZNSt14numeric_limitsIfE15tinyness_beforeE, __ZNSt14numeric_limitsIfE17has_signaling_NaNE, 
+                       __ZNSt14numeric_limitsIfE5radixE, __ZNSt14numeric_limitsIfE5trapsE, 
+                       __ZNSt14numeric_limitsIfE6digitsE, __ZNSt14numeric_limitsIfE8digits10E, 
+                       __ZNSt14numeric_limitsIfE8is_exactE, __ZNSt14numeric_limitsIfE9is_iec559E, 
+                       __ZNSt14numeric_limitsIfE9is_moduloE, __ZNSt14numeric_limitsIfE9is_signedE, 
+                       __ZNSt14numeric_limitsIhE10has_denormE, __ZNSt14numeric_limitsIhE10is_boundedE, 
+                       __ZNSt14numeric_limitsIhE10is_integerE, __ZNSt14numeric_limitsIhE11round_styleE, 
+                       __ZNSt14numeric_limitsIhE12has_infinityE, __ZNSt14numeric_limitsIhE12max_exponentE, 
+                       __ZNSt14numeric_limitsIhE12min_exponentE, __ZNSt14numeric_limitsIhE13has_quiet_NaNE, 
+                       __ZNSt14numeric_limitsIhE14is_specializedE, __ZNSt14numeric_limitsIhE14max_exponent10E, 
+                       __ZNSt14numeric_limitsIhE14min_exponent10E, __ZNSt14numeric_limitsIhE15has_denorm_lossE, 
+                       __ZNSt14numeric_limitsIhE15tinyness_beforeE, __ZNSt14numeric_limitsIhE17has_signaling_NaNE, 
+                       __ZNSt14numeric_limitsIhE5radixE, __ZNSt14numeric_limitsIhE5trapsE, 
+                       __ZNSt14numeric_limitsIhE6digitsE, __ZNSt14numeric_limitsIhE8digits10E, 
+                       __ZNSt14numeric_limitsIhE8is_exactE, __ZNSt14numeric_limitsIhE9is_iec559E, 
+                       __ZNSt14numeric_limitsIhE9is_moduloE, __ZNSt14numeric_limitsIhE9is_signedE, 
+                       __ZNSt14numeric_limitsIiE10has_denormE, __ZNSt14numeric_limitsIiE10is_boundedE, 
+                       __ZNSt14numeric_limitsIiE10is_integerE, __ZNSt14numeric_limitsIiE11round_styleE, 
+                       __ZNSt14numeric_limitsIiE12has_infinityE, __ZNSt14numeric_limitsIiE12max_exponentE, 
+                       __ZNSt14numeric_limitsIiE12min_exponentE, __ZNSt14numeric_limitsIiE13has_quiet_NaNE, 
+                       __ZNSt14numeric_limitsIiE14is_specializedE, __ZNSt14numeric_limitsIiE14max_exponent10E, 
+                       __ZNSt14numeric_limitsIiE14min_exponent10E, __ZNSt14numeric_limitsIiE15has_denorm_lossE, 
+                       __ZNSt14numeric_limitsIiE15tinyness_beforeE, __ZNSt14numeric_limitsIiE17has_signaling_NaNE, 
+                       __ZNSt14numeric_limitsIiE5radixE, __ZNSt14numeric_limitsIiE5trapsE, 
+                       __ZNSt14numeric_limitsIiE6digitsE, __ZNSt14numeric_limitsIiE8digits10E, 
+                       __ZNSt14numeric_limitsIiE8is_exactE, __ZNSt14numeric_limitsIiE9is_iec559E, 
+                       __ZNSt14numeric_limitsIiE9is_moduloE, __ZNSt14numeric_limitsIiE9is_signedE, 
+                       __ZNSt14numeric_limitsIjE10has_denormE, __ZNSt14numeric_limitsIjE10is_boundedE, 
+                       __ZNSt14numeric_limitsIjE10is_integerE, __ZNSt14numeric_limitsIjE11round_styleE, 
+                       __ZNSt14numeric_limitsIjE12has_infinityE, __ZNSt14numeric_limitsIjE12max_exponentE, 
+                       __ZNSt14numeric_limitsIjE12min_exponentE, __ZNSt14numeric_limitsIjE13has_quiet_NaNE, 
+                       __ZNSt14numeric_limitsIjE14is_specializedE, __ZNSt14numeric_limitsIjE14max_exponent10E, 
+                       __ZNSt14numeric_limitsIjE14min_exponent10E, __ZNSt14numeric_limitsIjE15has_denorm_lossE, 
+                       __ZNSt14numeric_limitsIjE15tinyness_beforeE, __ZNSt14numeric_limitsIjE17has_signaling_NaNE, 
+                       __ZNSt14numeric_limitsIjE5radixE, __ZNSt14numeric_limitsIjE5trapsE, 
+                       __ZNSt14numeric_limitsIjE6digitsE, __ZNSt14numeric_limitsIjE8digits10E, 
+                       __ZNSt14numeric_limitsIjE8is_exactE, __ZNSt14numeric_limitsIjE9is_iec559E, 
+                       __ZNSt14numeric_limitsIjE9is_moduloE, __ZNSt14numeric_limitsIjE9is_signedE, 
+                       __ZNSt14numeric_limitsIlE10has_denormE, __ZNSt14numeric_limitsIlE10is_boundedE, 
+                       __ZNSt14numeric_limitsIlE10is_integerE, __ZNSt14numeric_limitsIlE11round_styleE, 
+                       __ZNSt14numeric_limitsIlE12has_infinityE, __ZNSt14numeric_limitsIlE12max_exponentE, 
+                       __ZNSt14numeric_limitsIlE12min_exponentE, __ZNSt14numeric_limitsIlE13has_quiet_NaNE, 
+                       __ZNSt14numeric_limitsIlE14is_specializedE, __ZNSt14numeric_limitsIlE14max_exponent10E, 
+                       __ZNSt14numeric_limitsIlE14min_exponent10E, __ZNSt14numeric_limitsIlE15has_denorm_lossE, 
+                       __ZNSt14numeric_limitsIlE15tinyness_beforeE, __ZNSt14numeric_limitsIlE17has_signaling_NaNE, 
+                       __ZNSt14numeric_limitsIlE5radixE, __ZNSt14numeric_limitsIlE5trapsE, 
+                       __ZNSt14numeric_limitsIlE6digitsE, __ZNSt14numeric_limitsIlE8digits10E, 
+                       __ZNSt14numeric_limitsIlE8is_exactE, __ZNSt14numeric_limitsIlE9is_iec559E, 
+                       __ZNSt14numeric_limitsIlE9is_moduloE, __ZNSt14numeric_limitsIlE9is_signedE, 
+                       __ZNSt14numeric_limitsImE10has_denormE, __ZNSt14numeric_limitsImE10is_boundedE, 
+                       __ZNSt14numeric_limitsImE10is_integerE, __ZNSt14numeric_limitsImE11round_styleE, 
+                       __ZNSt14numeric_limitsImE12has_infinityE, __ZNSt14numeric_limitsImE12max_exponentE, 
+                       __ZNSt14numeric_limitsImE12min_exponentE, __ZNSt14numeric_limitsImE13has_quiet_NaNE, 
+                       __ZNSt14numeric_limitsImE14is_specializedE, __ZNSt14numeric_limitsImE14max_exponent10E, 
+                       __ZNSt14numeric_limitsImE14min_exponent10E, __ZNSt14numeric_limitsImE15has_denorm_lossE, 
+                       __ZNSt14numeric_limitsImE15tinyness_beforeE, __ZNSt14numeric_limitsImE17has_signaling_NaNE, 
+                       __ZNSt14numeric_limitsImE5radixE, __ZNSt14numeric_limitsImE5trapsE, 
+                       __ZNSt14numeric_limitsImE6digitsE, __ZNSt14numeric_limitsImE8digits10E, 
+                       __ZNSt14numeric_limitsImE8is_exactE, __ZNSt14numeric_limitsImE9is_iec559E, 
+                       __ZNSt14numeric_limitsImE9is_moduloE, __ZNSt14numeric_limitsImE9is_signedE, 
+                       __ZNSt14numeric_limitsIsE10has_denormE, __ZNSt14numeric_limitsIsE10is_boundedE, 
+                       __ZNSt14numeric_limitsIsE10is_integerE, __ZNSt14numeric_limitsIsE11round_styleE, 
+                       __ZNSt14numeric_limitsIsE12has_infinityE, __ZNSt14numeric_limitsIsE12max_exponentE, 
+                       __ZNSt14numeric_limitsIsE12min_exponentE, __ZNSt14numeric_limitsIsE13has_quiet_NaNE, 
+                       __ZNSt14numeric_limitsIsE14is_specializedE, __ZNSt14numeric_limitsIsE14max_exponent10E, 
+                       __ZNSt14numeric_limitsIsE14min_exponent10E, __ZNSt14numeric_limitsIsE15has_denorm_lossE, 
+                       __ZNSt14numeric_limitsIsE15tinyness_beforeE, __ZNSt14numeric_limitsIsE17has_signaling_NaNE, 
+                       __ZNSt14numeric_limitsIsE5radixE, __ZNSt14numeric_limitsIsE5trapsE, 
+                       __ZNSt14numeric_limitsIsE6digitsE, __ZNSt14numeric_limitsIsE8digits10E, 
+                       __ZNSt14numeric_limitsIsE8is_exactE, __ZNSt14numeric_limitsIsE9is_iec559E, 
+                       __ZNSt14numeric_limitsIsE9is_moduloE, __ZNSt14numeric_limitsIsE9is_signedE, 
+                       __ZNSt14numeric_limitsItE10has_denormE, __ZNSt14numeric_limitsItE10is_boundedE, 
+                       __ZNSt14numeric_limitsItE10is_integerE, __ZNSt14numeric_limitsItE11round_styleE, 
+                       __ZNSt14numeric_limitsItE12has_infinityE, __ZNSt14numeric_limitsItE12max_exponentE, 
+                       __ZNSt14numeric_limitsItE12min_exponentE, __ZNSt14numeric_limitsItE13has_quiet_NaNE, 
+                       __ZNSt14numeric_limitsItE14is_specializedE, __ZNSt14numeric_limitsItE14max_exponent10E, 
+                       __ZNSt14numeric_limitsItE14min_exponent10E, __ZNSt14numeric_limitsItE15has_denorm_lossE, 
+                       __ZNSt14numeric_limitsItE15tinyness_beforeE, __ZNSt14numeric_limitsItE17has_signaling_NaNE, 
+                       __ZNSt14numeric_limitsItE5radixE, __ZNSt14numeric_limitsItE5trapsE, 
+                       __ZNSt14numeric_limitsItE6digitsE, __ZNSt14numeric_limitsItE8digits10E, 
+                       __ZNSt14numeric_limitsItE8is_exactE, __ZNSt14numeric_limitsItE9is_iec559E, 
+                       __ZNSt14numeric_limitsItE9is_moduloE, __ZNSt14numeric_limitsItE9is_signedE, 
+                       __ZNSt14numeric_limitsIwE10has_denormE, __ZNSt14numeric_limitsIwE10is_boundedE, 
+                       __ZNSt14numeric_limitsIwE10is_integerE, __ZNSt14numeric_limitsIwE11round_styleE, 
+                       __ZNSt14numeric_limitsIwE12has_infinityE, __ZNSt14numeric_limitsIwE12max_exponentE, 
+                       __ZNSt14numeric_limitsIwE12min_exponentE, __ZNSt14numeric_limitsIwE13has_quiet_NaNE, 
+                       __ZNSt14numeric_limitsIwE14is_specializedE, __ZNSt14numeric_limitsIwE14max_exponent10E, 
+                       __ZNSt14numeric_limitsIwE14min_exponent10E, __ZNSt14numeric_limitsIwE15has_denorm_lossE, 
+                       __ZNSt14numeric_limitsIwE15tinyness_beforeE, __ZNSt14numeric_limitsIwE17has_signaling_NaNE, 
+                       __ZNSt14numeric_limitsIwE5radixE, __ZNSt14numeric_limitsIwE5trapsE, 
+                       __ZNSt14numeric_limitsIwE6digitsE, __ZNSt14numeric_limitsIwE8digits10E, 
+                       __ZNSt14numeric_limitsIwE8is_exactE, __ZNSt14numeric_limitsIwE9is_iec559E, 
+                       __ZNSt14numeric_limitsIwE9is_moduloE, __ZNSt14numeric_limitsIwE9is_signedE, 
+                       __ZNSt14numeric_limitsIxE10has_denormE, __ZNSt14numeric_limitsIxE10is_boundedE, 
+                       __ZNSt14numeric_limitsIxE10is_integerE, __ZNSt14numeric_limitsIxE11round_styleE, 
+                       __ZNSt14numeric_limitsIxE12has_infinityE, __ZNSt14numeric_limitsIxE12max_exponentE, 
+                       __ZNSt14numeric_limitsIxE12min_exponentE, __ZNSt14numeric_limitsIxE13has_quiet_NaNE, 
+                       __ZNSt14numeric_limitsIxE14is_specializedE, __ZNSt14numeric_limitsIxE14max_exponent10E, 
+                       __ZNSt14numeric_limitsIxE14min_exponent10E, __ZNSt14numeric_limitsIxE15has_denorm_lossE, 
+                       __ZNSt14numeric_limitsIxE15tinyness_beforeE, __ZNSt14numeric_limitsIxE17has_signaling_NaNE, 
+                       __ZNSt14numeric_limitsIxE5radixE, __ZNSt14numeric_limitsIxE5trapsE, 
+                       __ZNSt14numeric_limitsIxE6digitsE, __ZNSt14numeric_limitsIxE8digits10E, 
+                       __ZNSt14numeric_limitsIxE8is_exactE, __ZNSt14numeric_limitsIxE9is_iec559E, 
+                       __ZNSt14numeric_limitsIxE9is_moduloE, __ZNSt14numeric_limitsIxE9is_signedE, 
+                       __ZNSt14numeric_limitsIyE10has_denormE, __ZNSt14numeric_limitsIyE10is_boundedE, 
+                       __ZNSt14numeric_limitsIyE10is_integerE, __ZNSt14numeric_limitsIyE11round_styleE, 
+                       __ZNSt14numeric_limitsIyE12has_infinityE, __ZNSt14numeric_limitsIyE12max_exponentE, 
+                       __ZNSt14numeric_limitsIyE12min_exponentE, __ZNSt14numeric_limitsIyE13has_quiet_NaNE, 
+                       __ZNSt14numeric_limitsIyE14is_specializedE, __ZNSt14numeric_limitsIyE14max_exponent10E, 
+                       __ZNSt14numeric_limitsIyE14min_exponent10E, __ZNSt14numeric_limitsIyE15has_denorm_lossE, 
+                       __ZNSt14numeric_limitsIyE15tinyness_beforeE, __ZNSt14numeric_limitsIyE17has_signaling_NaNE, 
+                       __ZNSt14numeric_limitsIyE5radixE, __ZNSt14numeric_limitsIyE5trapsE, 
+                       __ZNSt14numeric_limitsIyE6digitsE, __ZNSt14numeric_limitsIyE8digits10E, 
+                       __ZNSt14numeric_limitsIyE8is_exactE, __ZNSt14numeric_limitsIyE9is_iec559E, 
+                       __ZNSt14numeric_limitsIyE9is_moduloE, __ZNSt14numeric_limitsIyE9is_signedE, 
+                       __ZNSt14overflow_errorC1ERKSs, __ZNSt14overflow_errorC2ERKSs, 
+                       __ZNSt14overflow_errorD0Ev, __ZNSt14overflow_errorD1Ev, __ZNSt14overflow_errorD2Ev, 
+                       __ZNSt15_List_node_base4hookEPS_, __ZNSt15_List_node_base4swapERS_S0_, 
+                       __ZNSt15_List_node_base6unhookEv, __ZNSt15_List_node_base7reverseEv, 
+                       __ZNSt15_List_node_base8transferEPS_S0_, __ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_, __ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi, __ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi, __ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc, __ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv, __ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv, __ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv, __ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi, __ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_, __ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_, __ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev, __ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev, 
+                       __ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev, __ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_, __ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi, __ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi, __ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw, __ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv, __ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv, __ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv, __ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEi, __ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEi, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_, __ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_, __ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev, __ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev, 
+                       __ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev, __ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode, 
+                       __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode, 
+                       __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv, 
+                       __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode, 
+                       __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E, 
+                       __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm, 
+                       __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode, 
+                       __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode, 
+                       __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEi, 
+                       __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEi, 
+                       __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv, 
+                       __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv, 
+                       __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode, 
+                       __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode, 
+                       __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode, 
+                       __ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode, 
+                       __ZNSt15messages_bynameIcEC1EPKcm, __ZNSt15messages_bynameIcEC2EPKcm, 
+                       __ZNSt15messages_bynameIcED0Ev, __ZNSt15messages_bynameIcED1Ev, 
+                       __ZNSt15messages_bynameIcED2Ev, __ZNSt15messages_bynameIwEC1EPKcm, 
+                       __ZNSt15messages_bynameIwEC2EPKcm, __ZNSt15messages_bynameIwED0Ev, 
+                       __ZNSt15messages_bynameIwED1Ev, __ZNSt15messages_bynameIwED2Ev, 
+                       __ZNSt15numpunct_bynameIcEC1EPKcm, __ZNSt15numpunct_bynameIcEC2EPKcm, 
+                       __ZNSt15numpunct_bynameIcED0Ev, __ZNSt15numpunct_bynameIcED1Ev, 
+                       __ZNSt15numpunct_bynameIcED2Ev, __ZNSt15numpunct_bynameIwEC1EPKcm, 
+                       __ZNSt15numpunct_bynameIwEC2EPKcm, __ZNSt15numpunct_bynameIwED0Ev, 
+                       __ZNSt15numpunct_bynameIwED1Ev, __ZNSt15numpunct_bynameIwED2Ev, 
+                       __ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm, 
+                       __ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm, 
+                       __ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev, 
+                       __ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev, 
+                       __ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev, 
+                       __ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm, 
+                       __ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm, 
+                       __ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev, 
+                       __ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev, 
+                       __ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev, 
+                       __ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm, 
+                       __ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm, 
+                       __ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev, 
+                       __ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev, 
+                       __ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev, 
+                       __ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm, 
+                       __ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm, 
+                       __ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev, 
+                       __ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev, 
+                       __ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev, 
+                       __ZNSt15underflow_errorC1ERKSs, __ZNSt15underflow_errorC2ERKSs, 
+                       __ZNSt15underflow_errorD0Ev, __ZNSt15underflow_errorD1Ev, 
+                       __ZNSt15underflow_errorD2Ev, __ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale, 
+                       __ZNSt16__numpunct_cacheIcEC1Em, __ZNSt16__numpunct_cacheIcEC2Em, 
+                       __ZNSt16__numpunct_cacheIcED0Ev, __ZNSt16__numpunct_cacheIcED1Ev, 
+                       __ZNSt16__numpunct_cacheIcED2Ev, __ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale, 
+                       __ZNSt16__numpunct_cacheIwEC1Em, __ZNSt16__numpunct_cacheIwEC2Em, 
+                       __ZNSt16__numpunct_cacheIwED0Ev, __ZNSt16__numpunct_cacheIwED1Ev, 
+                       __ZNSt16__numpunct_cacheIwED2Ev, __ZNSt16invalid_argumentC1ERKSs, 
+                       __ZNSt16invalid_argumentC2ERKSs, __ZNSt16invalid_argumentD0Ev, 
+                       __ZNSt16invalid_argumentD1Ev, __ZNSt16invalid_argumentD2Ev, 
+                       __ZNSt17__timepunct_cacheIcE12_S_timezonesE, __ZNSt17__timepunct_cacheIcEC1Em, 
+                       __ZNSt17__timepunct_cacheIcEC2Em, __ZNSt17__timepunct_cacheIcED0Ev, 
+                       __ZNSt17__timepunct_cacheIcED1Ev, __ZNSt17__timepunct_cacheIcED2Ev, 
+                       __ZNSt17__timepunct_cacheIwE12_S_timezonesE, __ZNSt17__timepunct_cacheIwEC1Em, 
+                       __ZNSt17__timepunct_cacheIwEC2Em, __ZNSt17__timepunct_cacheIwED0Ev, 
+                       __ZNSt17__timepunct_cacheIwED1Ev, __ZNSt17__timepunct_cacheIwED2Ev, 
+                       __ZNSt17moneypunct_bynameIcLb0EE4intlE, __ZNSt17moneypunct_bynameIcLb0EEC1EPKcm, 
+                       __ZNSt17moneypunct_bynameIcLb0EEC2EPKcm, __ZNSt17moneypunct_bynameIcLb0EED0Ev, 
+                       __ZNSt17moneypunct_bynameIcLb0EED1Ev, __ZNSt17moneypunct_bynameIcLb0EED2Ev, 
+                       __ZNSt17moneypunct_bynameIcLb1EE4intlE, __ZNSt17moneypunct_bynameIcLb1EEC1EPKcm, 
+                       __ZNSt17moneypunct_bynameIcLb1EEC2EPKcm, __ZNSt17moneypunct_bynameIcLb1EED0Ev, 
+                       __ZNSt17moneypunct_bynameIcLb1EED1Ev, __ZNSt17moneypunct_bynameIcLb1EED2Ev, 
+                       __ZNSt17moneypunct_bynameIwLb0EE4intlE, __ZNSt17moneypunct_bynameIwLb0EEC1EPKcm, 
+                       __ZNSt17moneypunct_bynameIwLb0EEC2EPKcm, __ZNSt17moneypunct_bynameIwLb0EED0Ev, 
+                       __ZNSt17moneypunct_bynameIwLb0EED1Ev, __ZNSt17moneypunct_bynameIwLb0EED2Ev, 
+                       __ZNSt17moneypunct_bynameIwLb1EE4intlE, __ZNSt17moneypunct_bynameIwLb1EEC1EPKcm, 
+                       __ZNSt17moneypunct_bynameIwLb1EEC2EPKcm, __ZNSt17moneypunct_bynameIwLb1EED0Ev, 
+                       __ZNSt17moneypunct_bynameIwLb1EED1Ev, __ZNSt17moneypunct_bynameIwLb1EED2Ev, 
+                       __ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale, __ZNSt18__moneypunct_cacheIcLb0EEC1Em, 
+                       __ZNSt18__moneypunct_cacheIcLb0EEC2Em, __ZNSt18__moneypunct_cacheIcLb0EED0Ev, 
+                       __ZNSt18__moneypunct_cacheIcLb0EED1Ev, __ZNSt18__moneypunct_cacheIcLb0EED2Ev, 
+                       __ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale, __ZNSt18__moneypunct_cacheIcLb1EEC1Em, 
+                       __ZNSt18__moneypunct_cacheIcLb1EEC2Em, __ZNSt18__moneypunct_cacheIcLb1EED0Ev, 
+                       __ZNSt18__moneypunct_cacheIcLb1EED1Ev, __ZNSt18__moneypunct_cacheIcLb1EED2Ev, 
+                       __ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale, __ZNSt18__moneypunct_cacheIwLb0EEC1Em, 
+                       __ZNSt18__moneypunct_cacheIwLb0EEC2Em, __ZNSt18__moneypunct_cacheIwLb0EED0Ev, 
+                       __ZNSt18__moneypunct_cacheIwLb0EED1Ev, __ZNSt18__moneypunct_cacheIwLb0EED2Ev, 
+                       __ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale, __ZNSt18__moneypunct_cacheIwLb1EEC1Em, 
+                       __ZNSt18__moneypunct_cacheIwLb1EEC2Em, __ZNSt18__moneypunct_cacheIwLb1EED0Ev, 
+                       __ZNSt18__moneypunct_cacheIwLb1EED1Ev, __ZNSt18__moneypunct_cacheIwLb1EED2Ev, 
+                       __ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs, 
+                       __ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode, 
+                       __ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode, 
+                       __ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode, 
+                       __ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode, 
+                       __ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev, 
+                       __ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev, 
+                       __ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev, 
+                       __ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E, 
+                       __ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode, 
+                       __ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode, 
+                       __ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode, 
+                       __ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode, 
+                       __ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev, 
+                       __ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev, 
+                       __ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev, 
+                       __ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs, 
+                       __ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode, 
+                       __ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode, 
+                       __ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode, 
+                       __ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode, 
+                       __ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev, 
+                       __ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev, 
+                       __ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev, 
+                       __ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E, 
+                       __ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode, 
+                       __ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode, 
+                       __ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode, 
+                       __ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode, 
+                       __ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev, 
+                       __ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev, 
+                       __ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev, 
+                       __ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs, 
+                       __ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode, 
+                       __ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode, 
+                       __ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode, 
+                       __ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode, 
+                       __ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev, 
+                       __ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev, 
+                       __ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev, 
+                       __ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E, 
+                       __ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode, 
+                       __ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode, 
+                       __ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode, 
+                       __ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode, 
+                       __ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev, 
+                       __ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev, 
+                       __ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev, 
+                       __ZNSt21__numeric_limits_base10has_denormE, __ZNSt21__numeric_limits_base10is_boundedE, 
+                       __ZNSt21__numeric_limits_base10is_integerE, __ZNSt21__numeric_limits_base11round_styleE, 
+                       __ZNSt21__numeric_limits_base12has_infinityE, __ZNSt21__numeric_limits_base12max_exponentE, 
+                       __ZNSt21__numeric_limits_base12min_exponentE, __ZNSt21__numeric_limits_base13has_quiet_NaNE, 
+                       __ZNSt21__numeric_limits_base14is_specializedE, __ZNSt21__numeric_limits_base14max_exponent10E, 
+                       __ZNSt21__numeric_limits_base14min_exponent10E, __ZNSt21__numeric_limits_base15has_denorm_lossE, 
+                       __ZNSt21__numeric_limits_base15tinyness_beforeE, __ZNSt21__numeric_limits_base17has_signaling_NaNE, 
+                       __ZNSt21__numeric_limits_base5radixE, __ZNSt21__numeric_limits_base5trapsE, 
+                       __ZNSt21__numeric_limits_base6digitsE, __ZNSt21__numeric_limits_base8digits10E, 
+                       __ZNSt21__numeric_limits_base8is_exactE, __ZNSt21__numeric_limits_base9is_iec559E, 
+                       __ZNSt21__numeric_limits_base9is_moduloE, __ZNSt21__numeric_limits_base9is_signedE, 
+                       __ZNSt5ctypeIcE10table_sizeE, __ZNSt5ctypeIcE13classic_tableEv, 
+                       __ZNSt5ctypeIcE2idE, __ZNSt5ctypeIcEC1EPKmbm, __ZNSt5ctypeIcEC1EPiPKmbm, 
+                       __ZNSt5ctypeIcEC2EPKmbm, __ZNSt5ctypeIcEC2EPiPKmbm, __ZNSt5ctypeIcED0Ev, 
+                       __ZNSt5ctypeIcED1Ev, __ZNSt5ctypeIcED2Ev, __ZNSt5ctypeIwE19_M_initialize_ctypeEv, 
+                       __ZNSt5ctypeIwE2idE, __ZNSt5ctypeIwEC1EPim, __ZNSt5ctypeIwEC1Em, 
+                       __ZNSt5ctypeIwEC2EPim, __ZNSt5ctypeIwEC2Em, __ZNSt5ctypeIwED0Ev, 
+                       __ZNSt5ctypeIwED1Ev, __ZNSt5ctypeIwED2Ev, __ZNSt6__norm15_List_node_base4hookEPS0_, 
+                       __ZNSt6__norm15_List_node_base4swapERS0_S1_, __ZNSt6__norm15_List_node_base6unhookEv, 
+                       __ZNSt6__norm15_List_node_base7reverseEv, __ZNSt6__norm15_List_node_base8transferEPS0_S1_, 
+                       __ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_, __ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_, 
+                       __ZNSt6locale11_M_coalesceERKS_S1_i, __ZNSt6locale21_S_normalize_categoryEi, 
+                       __ZNSt6locale3allE, __ZNSt6locale4noneE, __ZNSt6locale4timeE, 
+                       __ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEm, __ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE, 
+                       __ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE, __ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE, 
+                       __ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i, __ZNSt6locale5_ImplC1EPKcm, 
+                       __ZNSt6locale5_ImplC1ERKS0_m, __ZNSt6locale5_ImplC1Em, __ZNSt6locale5_ImplC2EPKcm, 
+                       __ZNSt6locale5_ImplC2ERKS0_m, __ZNSt6locale5_ImplC2Em, __ZNSt6locale5_ImplD1Ev, 
+                       __ZNSt6locale5_ImplD2Ev, __ZNSt6locale5ctypeE, __ZNSt6locale5facet13_S_get_c_nameEv, 
+                       __ZNSt6locale5facet15_S_get_c_localeEv, __ZNSt6locale5facet17_S_clone_c_localeERPi, 
+                       __ZNSt6locale5facet18_S_create_c_localeERPiPKcS1_, __ZNSt6locale5facet19_S_destroy_c_localeERPi, 
+                       __ZNSt6locale5facetD0Ev, __ZNSt6locale5facetD1Ev, __ZNSt6locale5facetD2Ev, 
+                       __ZNSt6locale6globalERKS_, __ZNSt6locale7classicEv, __ZNSt6locale7collateE, 
+                       __ZNSt6locale7numericE, __ZNSt6locale8messagesE, __ZNSt6locale8monetaryE, 
+                       __ZNSt6localeC1EPKc, __ZNSt6localeC1EPNS_5_ImplE, __ZNSt6localeC1ERKS_, 
+                       __ZNSt6localeC1ERKS_PKci, __ZNSt6localeC1ERKS_S1_i, __ZNSt6localeC1Ev, 
+                       __ZNSt6localeC2EPKc, __ZNSt6localeC2EPNS_5_ImplE, __ZNSt6localeC2ERKS_, 
+                       __ZNSt6localeC2ERKS_PKci, __ZNSt6localeC2ERKS_S1_i, __ZNSt6localeC2Ev, 
+                       __ZNSt6localeD1Ev, __ZNSt6localeD2Ev, __ZNSt6localeaSERKS_, 
+                       __ZNSt7codecvtIcc11__mbstate_tE2idE, __ZNSt7codecvtIcc11__mbstate_tEC1EPim, 
+                       __ZNSt7codecvtIcc11__mbstate_tEC1Em, __ZNSt7codecvtIcc11__mbstate_tEC2EPim, 
+                       __ZNSt7codecvtIcc11__mbstate_tEC2Em, __ZNSt7codecvtIcc11__mbstate_tED0Ev, 
+                       __ZNSt7codecvtIcc11__mbstate_tED1Ev, __ZNSt7codecvtIcc11__mbstate_tED2Ev, 
+                       __ZNSt7codecvtIwc11__mbstate_tE2idE, __ZNSt7codecvtIwc11__mbstate_tEC1EPim, 
+                       __ZNSt7codecvtIwc11__mbstate_tEC1Em, __ZNSt7codecvtIwc11__mbstate_tEC2EPim, 
+                       __ZNSt7codecvtIwc11__mbstate_tEC2Em, __ZNSt7codecvtIwc11__mbstate_tED0Ev, 
+                       __ZNSt7codecvtIwc11__mbstate_tED1Ev, __ZNSt7codecvtIwc11__mbstate_tED2Ev, 
+                       __ZNSt7collateIcE2idE, __ZNSt7collateIcEC1EPim, __ZNSt7collateIcEC1Em, 
+                       __ZNSt7collateIcEC2EPim, __ZNSt7collateIcEC2Em, __ZNSt7collateIcED0Ev, 
+                       __ZNSt7collateIcED1Ev, __ZNSt7collateIcED2Ev, __ZNSt7collateIwE2idE, 
+                       __ZNSt7collateIwEC1EPim, __ZNSt7collateIwEC1Em, __ZNSt7collateIwEC2EPim, 
+                       __ZNSt7collateIwEC2Em, __ZNSt7collateIwED0Ev, __ZNSt7collateIwED1Ev, 
+                       __ZNSt7collateIwED2Ev, __ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE, 
+                       __ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em, 
+                       __ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em, 
+                       __ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev, 
+                       __ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev, 
+                       __ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev, 
+                       __ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE, 
+                       __ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em, 
+                       __ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em, 
+                       __ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev, 
+                       __ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev, 
+                       __ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev, 
+                       __ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE, 
+                       __ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em, 
+                       __ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em, 
+                       __ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev, 
+                       __ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev, 
+                       __ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev, 
+                       __ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE, 
+                       __ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em, 
+                       __ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em, 
+                       __ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev, 
+                       __ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev, 
+                       __ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev, 
+                       __ZNSt8bad_castD0Ev, __ZNSt8bad_castD1Ev, __ZNSt8bad_castD2Ev, 
+                       __ZNSt8ios_base10floatfieldE, __ZNSt8ios_base10scientificE, 
+                       __ZNSt8ios_base11adjustfieldE, __ZNSt8ios_base13_M_grow_wordsEib, 
+                       __ZNSt8ios_base15sync_with_stdioEb, __ZNSt8ios_base17_M_call_callbacksENS_5eventE, 
+                       __ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi, __ZNSt8ios_base20_M_dispose_callbacksEv, 
+                       __ZNSt8ios_base2inE, __ZNSt8ios_base3appE, __ZNSt8ios_base3ateE, 
+                       __ZNSt8ios_base3begE, __ZNSt8ios_base3curE, __ZNSt8ios_base3decE, 
+                       __ZNSt8ios_base3endE, __ZNSt8ios_base3hexE, __ZNSt8ios_base3octE, 
+                       __ZNSt8ios_base3outE, __ZNSt8ios_base4InitC1Ev, __ZNSt8ios_base4InitC2Ev, 
+                       __ZNSt8ios_base4InitD1Ev, __ZNSt8ios_base4InitD2Ev, __ZNSt8ios_base4leftE, 
+                       __ZNSt8ios_base5fixedE, __ZNSt8ios_base5imbueERKSt6locale, 
+                       __ZNSt8ios_base5rightE, __ZNSt8ios_base5truncE, __ZNSt8ios_base6badbitE, 
+                       __ZNSt8ios_base6binaryE, __ZNSt8ios_base6eofbitE, __ZNSt8ios_base6skipwsE, 
+                       __ZNSt8ios_base6xallocEv, __ZNSt8ios_base7_M_initEv, __ZNSt8ios_base7failbitE, 
+                       __ZNSt8ios_base7failureC1ERKSs, __ZNSt8ios_base7failureC2ERKSs, 
+                       __ZNSt8ios_base7failureD0Ev, __ZNSt8ios_base7failureD1Ev, 
+                       __ZNSt8ios_base7failureD2Ev, __ZNSt8ios_base7goodbitE, __ZNSt8ios_base7showposE, 
+                       __ZNSt8ios_base7unitbufE, __ZNSt8ios_base8internalE, __ZNSt8ios_base8showbaseE, 
+                       __ZNSt8ios_base9basefieldE, __ZNSt8ios_base9boolalphaE, __ZNSt8ios_base9showpointE, 
+                       __ZNSt8ios_base9uppercaseE, __ZNSt8ios_baseC1Ev, __ZNSt8ios_baseC2Ev, 
+                       __ZNSt8ios_baseD0Ev, __ZNSt8ios_baseD1Ev, __ZNSt8ios_baseD2Ev, 
+                       __ZNSt8messagesIcE2idE, __ZNSt8messagesIcEC1EPiPKcm, __ZNSt8messagesIcEC1Em, 
+                       __ZNSt8messagesIcEC2EPiPKcm, __ZNSt8messagesIcEC2Em, __ZNSt8messagesIcED0Ev, 
+                       __ZNSt8messagesIcED1Ev, __ZNSt8messagesIcED2Ev, __ZNSt8messagesIwE2idE, 
+                       __ZNSt8messagesIwEC1EPiPKcm, __ZNSt8messagesIwEC1Em, __ZNSt8messagesIwEC2EPiPKcm, 
+                       __ZNSt8messagesIwEC2Em, __ZNSt8messagesIwED0Ev, __ZNSt8messagesIwED1Ev, 
+                       __ZNSt8messagesIwED2Ev, __ZNSt8numpunctIcE22_M_initialize_numpunctEPi, 
+                       __ZNSt8numpunctIcE2idE, __ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm, 
+                       __ZNSt8numpunctIcEC1EPim, __ZNSt8numpunctIcEC1Em, __ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm, 
+                       __ZNSt8numpunctIcEC2EPim, __ZNSt8numpunctIcEC2Em, __ZNSt8numpunctIcED0Ev, 
+                       __ZNSt8numpunctIcED1Ev, __ZNSt8numpunctIcED2Ev, __ZNSt8numpunctIwE22_M_initialize_numpunctEPi, 
+                       __ZNSt8numpunctIwE2idE, __ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm, 
+                       __ZNSt8numpunctIwEC1EPim, __ZNSt8numpunctIwEC1Em, __ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm, 
+                       __ZNSt8numpunctIwEC2EPim, __ZNSt8numpunctIwEC2Em, __ZNSt8numpunctIwED0Ev, 
+                       __ZNSt8numpunctIwED1Ev, __ZNSt8numpunctIwED2Ev, __ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE, 
+                       __ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em, 
+                       __ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em, 
+                       __ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev, 
+                       __ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev, 
+                       __ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev, 
+                       __ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE, 
+                       __ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em, 
+                       __ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em, 
+                       __ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev, 
+                       __ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev, 
+                       __ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev, 
+                       __ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE, 
+                       __ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em, 
+                       __ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em, 
+                       __ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev, 
+                       __ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev, 
+                       __ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev, 
+                       __ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE, 
+                       __ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em, 
+                       __ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em, 
+                       __ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev, 
+                       __ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev, 
+                       __ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev, 
+                       __ZNSt8valarrayImEC1ERKS0_, __ZNSt8valarrayImEC1Em, __ZNSt8valarrayImEC2ERKS0_, 
+                       __ZNSt8valarrayImEC2Em, __ZNSt8valarrayImED1Ev, __ZNSt8valarrayImED2Ev, 
+                       __ZNSt8valarrayImEixEm, __ZNSt9bad_allocD0Ev, __ZNSt9bad_allocD1Ev, 
+                       __ZNSt9bad_allocD2Ev, __ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate, 
+                       __ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate, 
+                       __ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale, 
+                       __ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo, __ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc, 
+                       __ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E, 
+                       __ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate, 
+                       __ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale, __ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E, 
+                       __ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_, __ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate, 
+                       __ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E, 
+                       __ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev, __ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E, 
+                       __ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev, __ZNSt9basic_iosIcSt11char_traitsIcEED0Ev, 
+                       __ZNSt9basic_iosIcSt11char_traitsIcEED1Ev, __ZNSt9basic_iosIcSt11char_traitsIcEED2Ev, 
+                       __ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate, 
+                       __ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate, 
+                       __ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale, 
+                       __ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E, 
+                       __ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw, __ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E, 
+                       __ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate, 
+                       __ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale, __ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E, 
+                       __ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_, __ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate, 
+                       __ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E, 
+                       __ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev, __ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E, 
+                       __ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev, __ZNSt9basic_iosIwSt11char_traitsIwEED0Ev, 
+                       __ZNSt9basic_iosIwSt11char_traitsIwEED1Ev, __ZNSt9basic_iosIwSt11char_traitsIwEED2Ev, 
+                       __ZNSt9exceptionD0Ev, __ZNSt9exceptionD1Ev, __ZNSt9exceptionD2Ev, 
+                       __ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE, 
+                       __ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em, 
+                       __ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em, 
+                       __ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev, 
+                       __ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev, 
+                       __ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev, 
+                       __ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE, 
+                       __ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em, 
+                       __ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em, 
+                       __ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev, 
+                       __ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev, 
+                       __ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev, 
+                       __ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE, 
+                       __ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em, 
+                       __ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em, 
+                       __ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev, 
+                       __ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev, 
+                       __ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev, 
+                       __ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE, 
+                       __ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em, 
+                       __ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em, 
+                       __ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev, 
+                       __ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev, 
+                       __ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev, 
+                       __ZNSt9strstream3strEv, __ZNSt9strstream6freezeEb, __ZNSt9strstreamC1EPciSt13_Ios_Openmode, 
+                       __ZNSt9strstreamC1Ev, __ZNSt9strstreamC2EPciSt13_Ios_Openmode, 
+                       __ZNSt9strstreamC2Ev, __ZNSt9strstreamD0Ev, __ZNSt9strstreamD1Ev, 
+                       __ZNSt9strstreamD2Ev, __ZNSt9type_infoD0Ev, __ZNSt9type_infoD1Ev, 
+                       __ZNSt9type_infoD2Ev, __ZSt10unexpectedv, __ZSt13set_terminatePFvvE, 
+                       __ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPi, __ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPi, 
+                       __ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKPi, __ZSt14set_unexpectedPFvvE, 
+                       __ZSt15set_new_handlerPFvvE, __ZSt16__throw_bad_castv, __ZSt17__gslice_to_indexmRKSt8valarrayImES2_RS0_, 
+                       __ZSt17__throw_bad_allocv, __ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base, 
+                       __ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base, __ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base, 
+                       __ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base, __ZSt18__throw_bad_typeidv, 
+                       __ZSt18uncaught_exceptionv, __ZSt19__throw_ios_failurePKc, 
+                       __ZSt19__throw_logic_errorPKc, __ZSt19__throw_range_errorPKc, 
+                       __ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_, __ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_, 
+                       __ZSt20__throw_domain_errorPKc, __ZSt20__throw_length_errorPKc, 
+                       __ZSt20__throw_out_of_rangePKc, __ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_, 
+                       __ZSt21__throw_bad_exceptionv, __ZSt21__throw_runtime_errorPKc, 
+                       __ZSt22__throw_overflow_errorPKc, __ZSt23__throw_underflow_errorPKc, 
+                       __ZSt24__throw_invalid_argumentPKc, __ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_, 
+                       __ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_, 
+                       __ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_, 
+                       __ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_, 
+                       __ZSt3cin, __ZSt4cerr, __ZSt4clog, __ZSt4cout, __ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, 
+                       __ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_, 
+                       __ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, 
+                       __ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_, 
+                       __ZSt4wcin, __ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, 
+                       __ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_, 
+                       __ZSt5wcerr, __ZSt5wclog, __ZSt5wcout, __ZSt6searchIPKcS1_PFbRS0_S2_EET_S5_S5_T0_S6_T1_, 
+                       __ZSt6searchIPKwS1_PFbRS0_S2_EET_S5_S5_T0_S6_T1_, __ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E, 
+                       __ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_, 
+                       __ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E, 
+                       __ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_, 
+                       __ZSt7nothrow, __ZSt7setfillIcESt8_SetfillIT_ES1_, __ZSt7setfillIwESt8_SetfillIT_ES1_, 
+                       __ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale, __ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale, 
+                       __ZSt9has_facetISt11__timepunctIcEEbRKSt6locale, __ZSt9has_facetISt11__timepunctIwEEbRKSt6locale, 
+                       __ZSt9has_facetISt5ctypeIcEEbRKSt6locale, __ZSt9has_facetISt5ctypeIwEEbRKSt6locale, 
+                       __ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale, 
+                       __ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale, 
+                       __ZSt9has_facetISt7collateIcEEbRKSt6locale, __ZSt9has_facetISt7collateIwEEbRKSt6locale, 
+                       __ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale, 
+                       __ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale, 
+                       __ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale, 
+                       __ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale, 
+                       __ZSt9has_facetISt8messagesIcEEbRKSt6locale, __ZSt9has_facetISt8messagesIwEEbRKSt6locale, 
+                       __ZSt9has_facetISt8numpunctIcEEbRKSt6locale, __ZSt9has_facetISt8numpunctIwEEbRKSt6locale, 
+                       __ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale, 
+                       __ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale, 
+                       __ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale, 
+                       __ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale, 
+                       __ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale, 
+                       __ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale, 
+                       __ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale, 
+                       __ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale, 
+                       __ZSt9terminatev, __ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale, __ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale, __ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale, __ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale, __ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt7collateIcEERKT_RKSt6locale, __ZSt9use_facetISt7collateIwEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt8messagesIcEERKT_RKSt6locale, __ZSt9use_facetISt8messagesIwEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale, __ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale, 
+                       __ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale, 
+                       __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa, 
+                       __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc, 
+                       __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh, 
+                       __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a, __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c, 
+                       __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h, __ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags, 
+                       __ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision, 
+                       __ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags, 
+                       __ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw, 
+                       __ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase, 
+                       __ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E, 
+                       __ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E, 
+                       __ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E, 
+                       __ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E, 
+                       __ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E, 
+                       __ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E, 
+                       __ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E, 
+                       __ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E, 
+                       __ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_, 
+                       __ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc, 
+                       __ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_, 
+                       __ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags, 
+                       __ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision, 
+                       __ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags, 
+                       __ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw, 
+                       __ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase, 
+                       __ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E, 
+                       __ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c, 
+                       __ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E, 
+                       __ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_, __ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_, 
+                       __ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_, __ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_, 
+                       __ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_, __ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_, 
+                       __ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa, __ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph, 
+                       __ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra, __ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh, 
+                       __ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_, 
+                       __ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_, 
+                       __ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags, 
+                       __ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision, 
+                       __ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags, 
+                       __ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw, 
+                       __ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase, 
+                       __ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E, 
+                       __ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E, 
+                       __ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E, 
+                       __ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E, 
+                       __ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E, 
+                       __ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E, 
+                       __ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E, 
+                       __ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E, 
+                       __ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_, 
+                       __ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_, 
+                       __ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags, 
+                       __ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision, 
+                       __ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags, 
+                       __ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw, 
+                       __ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase, 
+                       __ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E, 
+                       __ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E, 
+                       __ZTCSd0_Si, __ZTCSt10istrstream0_Si, __ZTCSt10ostrstream0_So, 
+                       __ZTCSt13basic_fstreamIcSt11char_traitsIcEE0_Sd, __ZTCSt13basic_fstreamIcSt11char_traitsIcEE0_Si, 
+                       __ZTCSt13basic_fstreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E, 
+                       __ZTCSt13basic_fstreamIwSt11char_traitsIwEE0_St14basic_iostreamIwS1_E, 
+                       __ZTCSt14basic_ifstreamIcSt11char_traitsIcEE0_Si, __ZTCSt14basic_ifstreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E, 
+                       __ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E, 
+                       __ZTCSt14basic_ofstreamIcSt11char_traitsIcEE0_So, __ZTCSt14basic_ofstreamIwSt11char_traitsIwEE0_St13basic_ostreamIwS1_E, 
+                       __ZTCSt18basic_stringstreamIcSt11char_traitsIcESaIcEE0_Sd, 
+                       __ZTCSt18basic_stringstreamIcSt11char_traitsIcESaIcEE0_Si, 
+                       __ZTCSt18basic_stringstreamIwSt11char_traitsIwESaIwEE0_St13basic_istreamIwS1_E, 
+                       __ZTCSt18basic_stringstreamIwSt11char_traitsIwESaIwEE0_St14basic_iostreamIwS1_E, 
+                       __ZTCSt19basic_istringstreamIcSt11char_traitsIcESaIcEE0_Si, 
+                       __ZTCSt19basic_istringstreamIwSt11char_traitsIwESaIwEE0_St13basic_istreamIwS1_E, 
+                       __ZTCSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE0_So, 
+                       __ZTCSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE0_St13basic_ostreamIwS1_E, 
+                       __ZTCSt9strstream0_Sd, __ZTCSt9strstream0_Si, __ZTINSt6locale5facetE, 
+                       __ZTINSt8ios_base7failureE, __ZTIPKa, __ZTIPKb, __ZTIPKc, 
+                       __ZTIPKd, __ZTIPKe, __ZTIPKf, __ZTIPKh, __ZTIPKi, __ZTIPKj, 
+                       __ZTIPKl, __ZTIPKm, __ZTIPKs, __ZTIPKt, __ZTIPKv, __ZTIPKw, 
+                       __ZTIPKx, __ZTIPKy, __ZTIPa, __ZTIPb, __ZTIPc, __ZTIPd, __ZTIPe, 
+                       __ZTIPf, __ZTIPh, __ZTIPi, __ZTIPj, __ZTIPl, __ZTIPm, __ZTIPs, 
+                       __ZTIPt, __ZTIPv, __ZTIPw, __ZTIPx, __ZTIPy, __ZTISt10bad_typeid, 
+                       __ZTISt10istrstream, __ZTISt10ostrstream, __ZTISt11logic_error, 
+                       __ZTISt12strstreambuf, __ZTISt13bad_exception, __ZTISt13runtime_error, 
+                       __ZTISt5ctypeIcE, __ZTISt5ctypeIwE, __ZTISt7codecvtIcc11__mbstate_tE, 
+                       __ZTISt7codecvtIwc11__mbstate_tE, __ZTISt8bad_cast, __ZTISt8ios_base, 
+                       __ZTISt9bad_alloc, __ZTISt9exception, __ZTISt9strstream, __ZTISt9type_info, 
+                       __ZTIa, __ZTIb, __ZTIc, __ZTId, __ZTIe, __ZTIf, __ZTIh, __ZTIi, 
+                       __ZTIj, __ZTIl, __ZTIm, __ZTIs, __ZTIt, __ZTIv, __ZTIw, __ZTIx, 
+                       __ZTIy, __ZTSN10__cxxabiv116__enum_type_infoE, __ZTSN10__cxxabiv117__array_type_infoE, 
+                       __ZTSN10__cxxabiv117__class_type_infoE, __ZTSN10__cxxabiv117__pbase_type_infoE, 
+                       __ZTSN10__cxxabiv119__pointer_type_infoE, __ZTSN10__cxxabiv120__function_type_infoE, 
+                       __ZTSN10__cxxabiv120__si_class_type_infoE, __ZTSN10__cxxabiv121__vmi_class_type_infoE, 
+                       __ZTSN10__cxxabiv123__fundamental_type_infoE, __ZTSN10__cxxabiv129__pointer_to_member_type_infoE, 
+                       __ZTSNSt6locale5facetE, __ZTSNSt8ios_base7failureE, __ZTSPKa, 
+                       __ZTSPKb, __ZTSPKc, __ZTSPKd, __ZTSPKe, __ZTSPKf, __ZTSPKh, 
+                       __ZTSPKi, __ZTSPKj, __ZTSPKl, __ZTSPKm, __ZTSPKs, __ZTSPKt, 
+                       __ZTSPKv, __ZTSPKw, __ZTSPKx, __ZTSPKy, __ZTSPa, __ZTSPb, 
+                       __ZTSPc, __ZTSPd, __ZTSPe, __ZTSPf, __ZTSPh, __ZTSPi, __ZTSPj, 
+                       __ZTSPl, __ZTSPm, __ZTSPs, __ZTSPt, __ZTSPv, __ZTSPw, __ZTSPx, 
+                       __ZTSPy, __ZTSSt10bad_typeid, __ZTSSt10istrstream, __ZTSSt10ostrstream, 
+                       __ZTSSt11logic_error, __ZTSSt11range_error, __ZTSSt12domain_error, 
+                       __ZTSSt12length_error, __ZTSSt12out_of_range, __ZTSSt12strstreambuf, 
+                       __ZTSSt13bad_exception, __ZTSSt13runtime_error, __ZTSSt14overflow_error, 
+                       __ZTSSt15underflow_error, __ZTSSt16invalid_argument, __ZTSSt5ctypeIcE, 
+                       __ZTSSt5ctypeIwE, __ZTSSt7codecvtIcc11__mbstate_tE, __ZTSSt7codecvtIwc11__mbstate_tE, 
+                       __ZTSSt8bad_cast, __ZTSSt8ios_base, __ZTSSt9bad_alloc, __ZTSSt9exception, 
+                       __ZTSSt9strstream, __ZTSSt9type_info, __ZTSa, __ZTSb, __ZTSc, 
+                       __ZTSd, __ZTSe, __ZTSf, __ZTSh, __ZTSi, __ZTSj, __ZTSl, __ZTSm, 
+                       __ZTSs, __ZTSt, __ZTSv, __ZTSw, __ZTSx, __ZTSy, __ZTTSd, __ZTTSi, 
+                       __ZTTSo, __ZTTSt10istrstream, __ZTTSt10ostrstream, __ZTTSt13basic_fstreamIcSt11char_traitsIcEE, 
+                       __ZTTSt13basic_fstreamIwSt11char_traitsIwEE, __ZTTSt13basic_istreamIwSt11char_traitsIwEE, 
+                       __ZTTSt13basic_ostreamIwSt11char_traitsIwEE, __ZTTSt14basic_ifstreamIcSt11char_traitsIcEE, 
+                       __ZTTSt14basic_ifstreamIwSt11char_traitsIwEE, __ZTTSt14basic_iostreamIwSt11char_traitsIwEE, 
+                       __ZTTSt14basic_ofstreamIcSt11char_traitsIcEE, __ZTTSt14basic_ofstreamIwSt11char_traitsIwEE, 
+                       __ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE, __ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE, 
+                       __ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE, __ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE, 
+                       __ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE, __ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE, 
+                       __ZTTSt9strstream, __ZTVN10__cxxabiv116__enum_type_infoE, 
+                       __ZTVN10__cxxabiv117__array_type_infoE, __ZTVN10__cxxabiv117__class_type_infoE, 
+                       __ZTVN10__cxxabiv117__pbase_type_infoE, __ZTVN10__cxxabiv119__pointer_type_infoE, 
+                       __ZTVN10__cxxabiv120__function_type_infoE, __ZTVN10__cxxabiv120__si_class_type_infoE, 
+                       __ZTVN10__cxxabiv121__vmi_class_type_infoE, __ZTVN10__cxxabiv123__fundamental_type_infoE, 
+                       __ZTVN10__cxxabiv129__pointer_to_member_type_infoE, __ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE, 
+                       __ZTVN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE, __ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE, 
+                       __ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE, 
+                       __ZTVNSt6locale5facetE, __ZTVNSt8ios_base7failureE, __ZTVSd, 
+                       __ZTVSi, __ZTVSo, __ZTVSt10bad_typeid, __ZTVSt10istrstream, 
+                       __ZTVSt10moneypunctIcLb0EE, __ZTVSt10moneypunctIcLb1EE, __ZTVSt10moneypunctIwLb0EE, 
+                       __ZTVSt10moneypunctIwLb1EE, __ZTVSt10ostrstream, __ZTVSt11__timepunctIcE, 
+                       __ZTVSt11__timepunctIwE, __ZTVSt11logic_error, __ZTVSt11range_error, 
+                       __ZTVSt12ctype_bynameIcE, __ZTVSt12ctype_bynameIwE, __ZTVSt12domain_error, 
+                       __ZTVSt12length_error, __ZTVSt12out_of_range, __ZTVSt12strstreambuf, 
+                       __ZTVSt13bad_exception, __ZTVSt13basic_filebufIcSt11char_traitsIcEE, 
+                       __ZTVSt13basic_filebufIwSt11char_traitsIwEE, __ZTVSt13basic_fstreamIcSt11char_traitsIcEE, 
+                       __ZTVSt13basic_fstreamIwSt11char_traitsIwEE, __ZTVSt13basic_istreamIwSt11char_traitsIwEE, 
+                       __ZTVSt13basic_ostreamIwSt11char_traitsIwEE, __ZTVSt13runtime_error, 
+                       __ZTVSt14basic_ifstreamIcSt11char_traitsIcEE, __ZTVSt14basic_ifstreamIwSt11char_traitsIwEE, 
+                       __ZTVSt14basic_iostreamIwSt11char_traitsIwEE, __ZTVSt14basic_ofstreamIcSt11char_traitsIcEE, 
+                       __ZTVSt14basic_ofstreamIwSt11char_traitsIwEE, __ZTVSt14codecvt_bynameIcc11__mbstate_tE, 
+                       __ZTVSt14codecvt_bynameIwc11__mbstate_tE, __ZTVSt14collate_bynameIcE, 
+                       __ZTVSt14collate_bynameIwE, __ZTVSt14overflow_error, __ZTVSt15basic_streambufIcSt11char_traitsIcEE, 
+                       __ZTVSt15basic_streambufIwSt11char_traitsIwEE, __ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE, 
+                       __ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE, __ZTVSt15messages_bynameIcE, 
+                       __ZTVSt15messages_bynameIwE, __ZTVSt15numpunct_bynameIcE, 
+                       __ZTVSt15numpunct_bynameIwE, __ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE, 
+                       __ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE, 
+                       __ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE, 
+                       __ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE, 
+                       __ZTVSt15underflow_error, __ZTVSt16__numpunct_cacheIcE, __ZTVSt16__numpunct_cacheIwE, 
+                       __ZTVSt16invalid_argument, __ZTVSt17__timepunct_cacheIcE, 
+                       __ZTVSt17__timepunct_cacheIwE, __ZTVSt17moneypunct_bynameIcLb0EE, 
+                       __ZTVSt17moneypunct_bynameIcLb1EE, __ZTVSt17moneypunct_bynameIwLb0EE, 
+                       __ZTVSt17moneypunct_bynameIwLb1EE, __ZTVSt18__moneypunct_cacheIcLb0EE, 
+                       __ZTVSt18__moneypunct_cacheIcLb1EE, __ZTVSt18__moneypunct_cacheIwLb0EE, 
+                       __ZTVSt18__moneypunct_cacheIwLb1EE, __ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE, 
+                       __ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE, __ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE, 
+                       __ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE, __ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE, 
+                       __ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE, __ZTVSt21__ctype_abstract_baseIcE, 
+                       __ZTVSt21__ctype_abstract_baseIwE, __ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE, 
+                       __ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE, __ZTVSt5ctypeIcE, 
+                       __ZTVSt5ctypeIwE, __ZTVSt7codecvtIcc11__mbstate_tE, __ZTVSt7codecvtIwc11__mbstate_tE, 
+                       __ZTVSt7collateIcE, __ZTVSt7collateIwE, __ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE, 
+                       __ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE, 
+                       __ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE, 
+                       __ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE, 
+                       __ZTVSt8bad_cast, __ZTVSt8ios_base, __ZTVSt8messagesIcE, __ZTVSt8messagesIwE, 
+                       __ZTVSt8numpunctIcE, __ZTVSt8numpunctIwE, __ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE, 
+                       __ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE, 
+                       __ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE, 
+                       __ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE, 
+                       __ZTVSt9bad_alloc, __ZTVSt9basic_iosIcSt11char_traitsIcEE, 
+                       __ZTVSt9basic_iosIwSt11char_traitsIwEE, __ZTVSt9exception, 
+                       __ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE, 
+                       __ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE, 
+                       __ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE, 
+                       __ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE, 
+                       __ZTVSt9strstream, __ZTVSt9type_info, ___cxa_allocate_exception, 
+                       ___cxa_bad_cast, ___cxa_bad_typeid, ___cxa_begin_catch, ___cxa_call_unexpected, 
+                       ___cxa_current_exception_type, ___cxa_demangle, ___cxa_end_catch, 
+                       ___cxa_free_exception, ___cxa_get_exception_ptr, ___cxa_get_globals, 
+                       ___cxa_get_globals_fast, ___cxa_guard_abort, ___cxa_guard_acquire, 
+                       ___cxa_guard_release, ___cxa_pure_virtual, ___cxa_rethrow, 
+                       ___cxa_throw, ___cxa_vec_cctor, ___cxa_vec_cleanup, ___cxa_vec_ctor, 
+                       ___cxa_vec_delete, ___cxa_vec_delete2, ___cxa_vec_delete3, 
+                       ___cxa_vec_dtor, ___cxa_vec_new, ___cxa_vec_new2, ___cxa_vec_new3, 
+                       ___dynamic_cast ]
+    weak-def-symbols: [ __ZGVNSt10moneypunctIcLb0EE2idE, __ZGVNSt10moneypunctIcLb1EE2idE, 
+                        __ZGVNSt10moneypunctIwLb0EE2idE, __ZGVNSt10moneypunctIwLb1EE2idE, 
+                        __ZGVNSt11__timepunctIcE2idE, __ZGVNSt11__timepunctIwE2idE, 
+                        __ZGVNSt7collateIcE2idE, __ZGVNSt7collateIwE2idE, __ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE, 
+                        __ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE, 
+                        __ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE, 
+                        __ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE, 
+                        __ZGVNSt8messagesIcE2idE, __ZGVNSt8messagesIwE2idE, __ZGVNSt8numpunctIcE2idE, 
+                        __ZGVNSt8numpunctIwE2idE, __ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE, 
+                        __ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE, 
+                        __ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE, 
+                        __ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE, 
+                        __ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE, 
+                        __ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE, 
+                        __ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE, 
+                        __ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE, 
+                        __ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE, __ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE, 
+                        __ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE, 
+                        __ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE, 
+                        __ZTISd, __ZTISi, __ZTISo, __ZTISt10moneypunctIcLb0EE, __ZTISt10moneypunctIcLb1EE, 
+                        __ZTISt10moneypunctIwLb0EE, __ZTISt10moneypunctIwLb1EE, __ZTISt11__timepunctIcE, 
+                        __ZTISt11__timepunctIwE, __ZTISt11range_error, __ZTISt12ctype_bynameIcE, 
+                        __ZTISt12ctype_bynameIwE, __ZTISt12domain_error, __ZTISt12length_error, 
+                        __ZTISt12out_of_range, __ZTISt13basic_filebufIcSt11char_traitsIcEE, 
+                        __ZTISt13basic_filebufIwSt11char_traitsIwEE, __ZTISt13basic_fstreamIcSt11char_traitsIcEE, 
+                        __ZTISt13basic_fstreamIwSt11char_traitsIwEE, __ZTISt13basic_istreamIwSt11char_traitsIwEE, 
+                        __ZTISt13basic_ostreamIwSt11char_traitsIwEE, __ZTISt14basic_ifstreamIcSt11char_traitsIcEE, 
+                        __ZTISt14basic_ifstreamIwSt11char_traitsIwEE, __ZTISt14basic_iostreamIwSt11char_traitsIwEE, 
+                        __ZTISt14basic_ofstreamIcSt11char_traitsIcEE, __ZTISt14basic_ofstreamIwSt11char_traitsIwEE, 
+                        __ZTISt14codecvt_bynameIcc11__mbstate_tE, __ZTISt14codecvt_bynameIwc11__mbstate_tE, 
+                        __ZTISt14collate_bynameIcE, __ZTISt14collate_bynameIwE, __ZTISt14overflow_error, 
+                        __ZTISt15basic_streambufIcSt11char_traitsIcEE, __ZTISt15basic_streambufIwSt11char_traitsIwEE, 
+                        __ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE, __ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE, 
+                        __ZTISt15messages_bynameIcE, __ZTISt15messages_bynameIwE, 
+                        __ZTISt15numpunct_bynameIcE, __ZTISt15numpunct_bynameIwE, 
+                        __ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE, 
+                        __ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE, 
+                        __ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE, 
+                        __ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE, 
+                        __ZTISt15underflow_error, __ZTISt16__numpunct_cacheIcE, __ZTISt16__numpunct_cacheIwE, 
+                        __ZTISt16invalid_argument, __ZTISt17__timepunct_cacheIcE, 
+                        __ZTISt17__timepunct_cacheIwE, __ZTISt17moneypunct_bynameIcLb0EE, 
+                        __ZTISt17moneypunct_bynameIcLb1EE, __ZTISt17moneypunct_bynameIwLb0EE, 
+                        __ZTISt17moneypunct_bynameIwLb1EE, __ZTISt18__moneypunct_cacheIcLb0EE, 
+                        __ZTISt18__moneypunct_cacheIcLb1EE, __ZTISt18__moneypunct_cacheIwLb0EE, 
+                        __ZTISt18__moneypunct_cacheIwLb1EE, __ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE, 
+                        __ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE, __ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE, 
+                        __ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE, __ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE, 
+                        __ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE, __ZTISt21__ctype_abstract_baseIcE, 
+                        __ZTISt21__ctype_abstract_baseIwE, __ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE, 
+                        __ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE, __ZTISt7collateIcE, 
+                        __ZTISt7collateIwE, __ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE, 
+                        __ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE, 
+                        __ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE, 
+                        __ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE, 
+                        __ZTISt8messagesIcE, __ZTISt8messagesIwE, __ZTISt8numpunctIcE, 
+                        __ZTISt8numpunctIwE, __ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE, 
+                        __ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE, 
+                        __ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE, 
+                        __ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE, 
+                        __ZTISt9basic_iosIcSt11char_traitsIcEE, __ZTISt9basic_iosIwSt11char_traitsIwEE, 
+                        __ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE, 
+                        __ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE, 
+                        __ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE, 
+                        __ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE, 
+                        __ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE, __ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE, 
+                        __ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE, 
+                        __ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE, 
+                        __ZTSSd, __ZTSSi, __ZTSSo, __ZTSSt10moneypunctIcLb0EE, __ZTSSt10moneypunctIcLb1EE, 
+                        __ZTSSt10moneypunctIwLb0EE, __ZTSSt10moneypunctIwLb1EE, __ZTSSt11__timepunctIcE, 
+                        __ZTSSt11__timepunctIwE, __ZTSSt12ctype_bynameIcE, __ZTSSt12ctype_bynameIwE, 
+                        __ZTSSt13basic_filebufIcSt11char_traitsIcEE, __ZTSSt13basic_filebufIwSt11char_traitsIwEE, 
+                        __ZTSSt13basic_fstreamIcSt11char_traitsIcEE, __ZTSSt13basic_fstreamIwSt11char_traitsIwEE, 
+                        __ZTSSt13basic_istreamIwSt11char_traitsIwEE, __ZTSSt13basic_ostreamIwSt11char_traitsIwEE, 
+                        __ZTSSt14basic_ifstreamIcSt11char_traitsIcEE, __ZTSSt14basic_ifstreamIwSt11char_traitsIwEE, 
+                        __ZTSSt14basic_iostreamIwSt11char_traitsIwEE, __ZTSSt14basic_ofstreamIcSt11char_traitsIcEE, 
+                        __ZTSSt14basic_ofstreamIwSt11char_traitsIwEE, __ZTSSt14codecvt_bynameIcc11__mbstate_tE, 
+                        __ZTSSt14codecvt_bynameIwc11__mbstate_tE, __ZTSSt14collate_bynameIcE, 
+                        __ZTSSt14collate_bynameIwE, __ZTSSt15basic_streambufIcSt11char_traitsIcEE, 
+                        __ZTSSt15basic_streambufIwSt11char_traitsIwEE, __ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE, 
+                        __ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE, __ZTSSt15messages_bynameIcE, 
+                        __ZTSSt15messages_bynameIwE, __ZTSSt15numpunct_bynameIcE, 
+                        __ZTSSt15numpunct_bynameIwE, __ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE, 
+                        __ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE, 
+                        __ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE, 
+                        __ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE, 
+                        __ZTSSt16__numpunct_cacheIcE, __ZTSSt16__numpunct_cacheIwE, 
+                        __ZTSSt17__timepunct_cacheIcE, __ZTSSt17__timepunct_cacheIwE, 
+                        __ZTSSt17moneypunct_bynameIcLb0EE, __ZTSSt17moneypunct_bynameIcLb1EE, 
+                        __ZTSSt17moneypunct_bynameIwLb0EE, __ZTSSt17moneypunct_bynameIwLb1EE, 
+                        __ZTSSt18__moneypunct_cacheIcLb0EE, __ZTSSt18__moneypunct_cacheIcLb1EE, 
+                        __ZTSSt18__moneypunct_cacheIwLb0EE, __ZTSSt18__moneypunct_cacheIwLb1EE, 
+                        __ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE, __ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE, 
+                        __ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE, __ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE, 
+                        __ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE, __ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE, 
+                        __ZTSSt21__ctype_abstract_baseIcE, __ZTSSt21__ctype_abstract_baseIwE, 
+                        __ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE, __ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE, 
+                        __ZTSSt7collateIcE, __ZTSSt7collateIwE, __ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE, 
+                        __ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE, 
+                        __ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE, 
+                        __ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE, 
+                        __ZTSSt8messagesIcE, __ZTSSt8messagesIwE, __ZTSSt8numpunctIcE, 
+                        __ZTSSt8numpunctIwE, __ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE, 
+                        __ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE, 
+                        __ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE, 
+                        __ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE, 
+                        __ZTSSt9basic_iosIcSt11char_traitsIcEE, __ZTSSt9basic_iosIwSt11char_traitsIwEE, 
+                        __ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE, 
+                        __ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE, 
+                        __ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE, 
+                        __ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE, 
+                        __ZdaPv, __ZdaPvRKSt9nothrow_t, __ZdlPv, __ZdlPvRKSt9nothrow_t, 
+                        __Znam, __ZnamRKSt9nothrow_t, __Znwm, __ZnwmRKSt9nothrow_t ]
+...
diff --git a/ZigbeeApp/GateWay.Droid/Application.cs b/ZigbeeApp/GateWay.Droid/Application.cs
index b200e36..0a7f5d4 100755
--- a/ZigbeeApp/GateWay.Droid/Application.cs
+++ b/ZigbeeApp/GateWay.Droid/Application.cs
@@ -15,7 +15,9 @@
 using Microsoft.AppCenter.Analytics;
 using Microsoft.AppCenter.Crashes;
 using Com.Tencent.MM.Sdk.Openapi;
-
+using ZXing.Mobile;
+using System.IO;
+
 namespace com.hdl.home
 {
 
@@ -273,3 +275,59 @@
         }
     }
 }
+
+namespace Shared
+{
+    public static class QRCode
+    {
+        static ZXing.Mobile.MobileBarcodeScanner scanner;
+        public static void ScanQRcode(Action<string> action)
+        {
+            ((BaseActivity)Shared.Application.Activity).SetCamera(async (obj) => {
+                if (obj)
+                {
+                    if (scanner == null)
+                    {
+                        MobileBarcodeScanner.Initialize(Shared.Application.Activity.Application);
+                        scanner = new ZXing.Mobile.MobileBarcodeScanner();
+                    }
+
+                    var result = await scanner.Scan();
+
+                    if (result != null)
+                        action?.Invoke(result.Text);
+                    else
+                        action?.Invoke(null);
+
+                }
+                else
+                {
+                    action?.Invoke(null);
+                }
+            });
+        }
+
+        public static byte[] BytesFromText(string text, int width = 300, int height = 300)
+        {
+            var barcodeWriter = new ZXing.Mobile.BarcodeWriter
+            {
+                Format = ZXing.BarcodeFormat.QR_CODE,
+                Options = new ZXing.Common.EncodingOptions
+                {
+                    Width = width,
+                    Height = height,
+                    Margin = 0
+                }
+            };
+
+            barcodeWriter.Renderer = new ZXing.Mobile.BitmapRenderer();
+            var bitmap = barcodeWriter.Write(text);
+            using (var stream = new MemoryStream())
+            {
+                bitmap.Compress(Android.Graphics.Bitmap.CompressFormat.Png, 100, stream);  // this is the diff between iOS and Android
+                stream.Position = 0;
+                return stream.ToArray();
+            }
+        }
+    }
+}
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Language.ini b/ZigbeeApp/GateWay.Droid/Assets/Language.ini
index c8a6407..20bf98f 100755
--- a/ZigbeeApp/GateWay.Droid/Assets/Language.ini
+++ b/ZigbeeApp/GateWay.Droid/Assets/Language.ini
@@ -186,18 +186,18 @@
 180=杩滅▼寮�閿佺粦瀹氭垚鍔�
 181=璇疯缃簩娆″畨鍏ㄩ獙璇佹柟寮�
 182=鍏抽棴
-183=姝e湪寮�閿�
+183=寮�閿佷腑
 184=鎵撳紑
 185=骞�
 186=鐭鎴愬姛
 187=鐭澶辫触
-188=璇疯缃敓鏁堟椂闂�
+188=鏃犳晥鐨勬椂闂磋缃�
 189=璇疯缃敓鏁堟棩鏈�
 190=璇疯缃け鏁堟椂闂�
 191=璇疯缃け鏁堟棩鏈�
 192=璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜
 193=涓嬩竴姝�
-194=璁惧澶囨敞
+194=璁惧鍚嶇О
 195=璁剧疆鎴愬姛
 196=璁剧疆澶辫触
 197=璁剧疆澶辫触,璇烽噸鏂板皾璇�
@@ -214,11 +214,17 @@
 208=鍏变韩
 209=寮�閿佹柟寮忎笉鍖归厤锛岃褰曞叆褰撳墠鐣岄潰鐨勫紑閿佹柟寮忋��
 210=纭畾鎺堟潈璇ユ垚鍛樻嫢鏈夎繙绋嬪紑閿佹潈闄�
-211=鎺堟潈鎴愬姛
+211=鍏抽棴鏉冮檺澶辫触
 212=鎺堟潈澶辫触
-213=璇ユ垚鍛樿鍐荤粨锛屼笉鑳芥坊鍔犲紑閿佹柟寮�
+213=璇ユ垚鍛樿鍐荤粨
 214=鏈巿鏉�
-
+215=杩樻湭绛夊埌15绉掞紝璇峰啀绛変竴浼氬効
+216=楠岃瘉澶辫触
+217=寮�閿佹垚鍔�
+218=娣诲姞澶辫触
+219=寮�閿佸け璐�
+220=瀵嗙爜鍙兘涓嶅瓨鍦紝灏濊瘯閲嶆柊楠岃瘉杩滅▼寮�閿佸瘑鐮�
+221=缁戝畾澶辫触锛岀粦瀹氬嚭鐜版湭鐭ラ敊璇�
 
 548=鎻愰啋璁剧疆
 550=鏂板鐢ㄦ埛
@@ -731,6 +737,19 @@
 13147=鎷嶇収
 13148=鎴戠殑鐩稿唽
 
+13500=閫夋嫨鎽嗛
+13501=鑷姩
+13502=1鎸�
+13503=2鎸�
+13504=3鎸�
+13505=4鎸�
+13506=5鎸�
+
+
+
+
+
+
 
 15000=瀵嗙爜闀垮害涓簕0}涓瓧绗�
 15001=1涓皬鍐欏瓧姣�
@@ -935,7 +954,7 @@
 15206=瀹夐槻瀵嗙爜杈撳叆閿欒
 15220=澶囦唤杩樺師
 15221=鏄惁瑕佷笅杞藉苟鎭㈠鏁版嵁锛�
-15222=纭畾瑕佸垹闄ゆ枃浠跺悧?
+15222=纭鍒犻櫎璇ュ浠芥暟鎹�?
 15223=娣诲姞澶囦唤
 15224=缂栬緫澶囦唤
 15225=澶囨敞
@@ -1571,7 +1590,42 @@
 15904=AP妯″紡
 15905=璺宠浆鍒扮Щ鍔ㄨ澶�
 15906=WLAN璁剧疆杩炴帴瀹跺涵WiFi
-
+15907=闀挎寜缃戝叧HID/WCFG鎸夐敭20绉抺0}绯荤粺鐏揩闂�60绉掑垯杩涘叆閰嶇綉鐘舵�亄0}绯荤粺鐏瘡绉掗棯鐑佷竴娆0}鍒欒繛鎺ユ垚鍔�
+15908=闀挎寜缃戝叧HID/WCFG鎸夐敭5绉抺0}绯荤粺鐏父浜�60绉掑悗鍒欒繘鍏ラ厤缃戠姸鎬�
+15909=璺宠浆鍒扮Щ鍔ㄨ澶嘩LAN璁剧疆{0}閫夋嫨hdlZigbeeGW-xxxx缃戠粶
+15910=璇疯緭鍏ュ搴璚IFI璐﹀彿
+15911=璇峰墠寰�绉诲姩璁惧WLAN璁剧疆{0}閲嶆柊杩炴帴瀹跺涵wiFi
+15912=绯荤粺鐏瘡绉掗棯鐑佷竴娆0}鍒欒繛鎺ユ垚鍔�
+15915=閫夋嫨鍦扮偣
+15916=鎮ㄧ殑鍙嶉鍜屾剰瑙佷細璁╂垜浠彉寰楁洿濂�
+15917=鍙嶉绫诲瀷
+15918=浼樺寲
+15919=鏂伴渶姹�
+15920=閭鍦板潃
+15921=璇疯緭鍏ユ偍鐨勯偖绠卞湴鍧�
+15922=鎻愪氦
+15923=鎻愪氦鎴愬姛,鎰熻阿鎮ㄧ殑鎰忚
+15924=涓婁紶
+15925=鑷姩澶囦唤
+15926=浠婃棩鎻愪氦娆℃暟宸蹭笂闄�
+15927=鑾峰彇缃戝叧淇¢亾澶辫触
+15928=鑾峰彇鍗忚皟鍣∕ac澶辫触
+15929=鑾峰彇鍗忚皟鍣≒anID澶辫触
+15930=涓婁紶鏁版嵁鑷充簯绔�
+15931=浠庝簯绔笅杞芥暟鎹�
+15932=涓婁紶鏁版嵁
+15933=涓婁紶鏁版嵁鎴愬姛
+15934=涓嬭浇鏁版嵁
+15935=涓嬭浇
+15936=璁剧疆缃戝叧缁忕含搴﹀け璐�
+15937=姝e湪淇濆瓨鍗忚皟鍣ㄧ殑nv鍒嗗尯缁勭綉淇℃伅
+15938=淇濆瓨鍗忚皟鍣ㄧ殑nv鍒嗗尯缁勭綉淇℃伅澶辫触
+15939=鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳藉け璐�
+15940=缃戝叧鏁版嵁澶囦唤澶辫触
+15941=寮�濮嬪浠界綉鍏虫暟鎹�
+15942=鍝嶅簲瓒呮椂,缃戝叧鏁版嵁澶囦唤澶辫触
+15943=鍒涘缓澶囦唤鏂囦欢
+15944=姝e湪鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳�
 
 ;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄帴鍙g殑杩斿洖淇℃伅缈昏瘧,浠�18000寮�濮嬧槄鈽呪槄鈽�
 18004=鎸囧畾缃戝叧宸茬粡琚粦瀹�
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/SwingBackground.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/SwingBackground.png
new file mode 100755
index 0000000..a3073d5
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/SwingBackground.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_1.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_1.png
new file mode 100755
index 0000000..d4d0493
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_1.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_1Selected.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_1Selected.png
new file mode 100755
index 0000000..e794a92
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_1Selected.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_2.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_2.png
new file mode 100755
index 0000000..e2daeca
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_2.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_2Selected.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_2Selected.png
new file mode 100755
index 0000000..bb5c206
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_2Selected.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_3.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_3.png
new file mode 100755
index 0000000..8ff9f38
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_3.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_3Selected.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_3Selected.png
new file mode 100755
index 0000000..971c20d
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_3Selected.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_4.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_4.png
new file mode 100755
index 0000000..77c1efa
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_4.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_4Selected.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_4Selected.png
new file mode 100755
index 0000000..3f6966f
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_4Selected.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_5.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_5.png
new file mode 100755
index 0000000..4a9139c
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_5.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_5Selected.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_5Selected.png
new file mode 100755
index 0000000..e794a92
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_5Selected.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_Auto.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_Auto.png
new file mode 100755
index 0000000..a7d3e34
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_Auto.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_AutoSelected.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_AutoSelected.png
new file mode 100755
index 0000000..987e6be
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_AutoSelected.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessApDirection.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessApDirection.png
new file mode 100755
index 0000000..0849722
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessApDirection.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessApGatewaySearching.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessApGatewaySearching.png
new file mode 100755
index 0000000..f59511b
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessApGatewaySearching.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessGatewayImage.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessGatewayImage.png
deleted file mode 100755
index d88d043..0000000
--- a/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessGatewayImage.png
+++ /dev/null
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessGatewayInstruct.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessGatewayInstruct.png
deleted file mode 100755
index a0c1835..0000000
--- a/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessGatewayInstruct.png
+++ /dev/null
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/1.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/1.png
new file mode 100755
index 0000000..ecaa079
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/1.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/10.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/10.png
new file mode 100755
index 0000000..cf31381
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/10.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/11.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/11.png
new file mode 100755
index 0000000..d38e280
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/11.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/12.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/12.png
new file mode 100755
index 0000000..7778a1e
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/12.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/13.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/13.png
new file mode 100755
index 0000000..1102d4f
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/13.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/14.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/14.png
new file mode 100755
index 0000000..705b1bd
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/14.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/15.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/15.png
new file mode 100755
index 0000000..112da35
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/15.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/16.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/16.png
new file mode 100755
index 0000000..76d5e34
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/16.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/17.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/17.png
new file mode 100755
index 0000000..ff09126
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/17.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/18.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/18.png
new file mode 100755
index 0000000..84f6119
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/18.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/19.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/19.png
new file mode 100755
index 0000000..a2e73a7
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/19.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/2.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/2.png
new file mode 100755
index 0000000..1a09501
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/2.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/20.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/20.png
new file mode 100755
index 0000000..48ebb0c
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/20.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/21.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/21.png
new file mode 100755
index 0000000..cd5d4d7
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/21.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/22.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/22.png
new file mode 100755
index 0000000..ac78e88
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/22.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/23.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/23.png
new file mode 100755
index 0000000..4f500c3
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/23.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/24.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/24.png
new file mode 100755
index 0000000..485bad6
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/24.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/25.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/25.png
new file mode 100755
index 0000000..40fc3c6
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/25.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/26.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/26.png
new file mode 100755
index 0000000..cb5b685
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/26.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/27.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/27.png
new file mode 100755
index 0000000..732a2f7
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/27.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/28.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/28.png
new file mode 100755
index 0000000..3b9f229
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/28.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/29.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/29.png
new file mode 100755
index 0000000..c87e395
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/29.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/3.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/3.png
new file mode 100755
index 0000000..384e308
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/3.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/30.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/30.png
new file mode 100755
index 0000000..a680fa6
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/30.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/31.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/31.png
new file mode 100755
index 0000000..4f958ce
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/31.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/32.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/32.png
new file mode 100755
index 0000000..661ffed
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/32.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/4.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/4.png
new file mode 100755
index 0000000..05a9a6e
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/4.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/5.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/5.png
new file mode 100755
index 0000000..eda077f
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/5.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/6.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/6.png
new file mode 100755
index 0000000..9e37d79
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/6.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/7.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/7.png
new file mode 100755
index 0000000..f2188b5
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/7.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/8.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/8.png
new file mode 100755
index 0000000..3850e1f
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/8.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/9.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/9.png
new file mode 100755
index 0000000..a1d0d76
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Loading/9.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelFourButton.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelFour.png
similarity index 100%
rename from ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelFourButton.png
rename to ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelFour.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelFourButton.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelFourNotPower.png
similarity index 100%
copy from ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelFourButton.png
copy to ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelFourNotPower.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelThreeButton.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelThree.png
similarity index 100%
rename from ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelThreeButton.png
rename to ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelThree.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelTwoButton.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelTwo.png
similarity index 100%
rename from ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelTwoButton.png
rename to ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelTwo.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelFourNotPowerButton.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelFourNotPowerButton.png
deleted file mode 100755
index 0d9f429..0000000
--- a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelFourNotPowerButton.png
+++ /dev/null
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj b/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj
old mode 100755
new mode 100644
index 334a2af..5279e81
--- a/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj
+++ b/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj
@@ -33,12 +33,8 @@
     <AndroidTlsProvider>btls</AndroidTlsProvider>
     <AndroidEnableSGenConcurrent>true</AndroidEnableSGenConcurrent>
     <EmbedAssembliesIntoApk>true</EmbedAssembliesIntoApk>
-    <AndroidSupportedAbis />
     <AndroidDexTool>d8</AndroidDexTool>
-    <AotAssemblies>false</AotAssemblies>
-    <EnableLLVM>false</EnableLLVM>
     <AndroidEnableProfiledAot>false</AndroidEnableProfiledAot>
-    <BundleAssemblies>false</BundleAssemblies>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
@@ -52,16 +48,16 @@
     <MandroidI18n>cjk</MandroidI18n>
     <DefineConstants>Android,Release</DefineConstants>
     <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
-    <AotAssemblies>false</AotAssemblies>
-    <EnableLLVM>false</EnableLLVM>
     <AndroidEnableProfiledAot>false</AndroidEnableProfiledAot>
-    <BundleAssemblies>false</BundleAssemblies>
     <AndroidDexTool>d8</AndroidDexTool>
     <AndroidUseAapt2>false</AndroidUseAapt2>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="BouncyCastle.Crypto, Version=1.8.1.0, Culture=neutral, PublicKeyToken=0e99375e54769942">
       <HintPath>..\packages\BouncyCastle.Crypto.dll.1.8.1\lib\BouncyCastle.Crypto.dll</HintPath>
+    </Reference>
+    <Reference Include="FastAndroidCamera, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\FastAndroidCamera.2.0.0\lib\MonoAndroid403\FastAndroidCamera.dll</HintPath>
     </Reference>
     <Reference Include="M2Mqtt.Net, Version=4.2.0.0, Culture=neutral, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
@@ -181,6 +177,15 @@
     </Reference>
     <Reference Include="Xamarin.Android.Support.Vector.Drawable">
       <HintPath>..\Shared\DLL\Android\Xamarin.Android.Support.Vector.Drawable.dll</HintPath>
+    </Reference>
+    <Reference Include="ZXing.Net.Mobile.Core, Version=2.4.1.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\ZXing.Net.Mobile.2.4.1\lib\MonoAndroid71\ZXing.Net.Mobile.Core.dll</HintPath>
+    </Reference>
+    <Reference Include="zxing.portable, Version=0.16.2.0, Culture=neutral, PublicKeyToken=830ae994e36ac27d, processorArchitecture=MSIL">
+      <HintPath>..\packages\ZXing.Net.Mobile.2.4.1\lib\MonoAndroid71\zxing.portable.dll</HintPath>
+    </Reference>
+    <Reference Include="ZXingNetMobile, Version=2.4.1.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\ZXing.Net.Mobile.2.4.1\lib\MonoAndroid71\ZXingNetMobile.dll</HintPath>
     </Reference>
   </ItemGroup>
   <ItemGroup>
@@ -420,9 +425,6 @@
     <AndroidAsset Include="Assets\Phone\Gateway\RealGateway6.png" />
     <AndroidAsset Include="Assets\Phone\Gateway\WiredGateway.png" />
     <AndroidAsset Include="Assets\Phone\Gateway\WiredGatewayInstruct.png" />
-    <AndroidAsset Include="Assets\Phone\Gateway\WirelessGateway.png" />
-    <AndroidAsset Include="Assets\Phone\Gateway\WirelessGatewayImage.png" />
-    <AndroidAsset Include="Assets\Phone\Gateway\WirelessGatewayInstruct.png" />
     <AndroidAsset Include="Assets\Phone\Instruct\DeviceSearch.png" />
     <AndroidAsset Include="Assets\Phone\Instruct\DimmableLightOneLoad.png" />
     <AndroidAsset Include="Assets\Phone\Instruct\IntelligentLocksH06C.png" />
@@ -515,10 +517,10 @@
     <AndroidAsset Include="Assets\Phone\RealDevice\CommonDevice.png" />
     <AndroidAsset Include="Assets\Phone\RealDevice\CurtainAutoOpen.png" />
     <AndroidAsset Include="Assets\Phone\RealDevice\CurtainSiphonate.png" />
-    <AndroidAsset Include="Assets\Phone\RealDevice\PanelFourButton.png" />
-    <AndroidAsset Include="Assets\Phone\RealDevice\PanelFourNotPowerButton.png" />
-    <AndroidAsset Include="Assets\Phone\RealDevice\PanelThreeButton.png" />
-    <AndroidAsset Include="Assets\Phone\RealDevice\PanelTwoButton.png" />
+    <AndroidAsset Include="Assets\Phone\RealDevice\ButtonPanelFour.png" />
+    <AndroidAsset Include="Assets\Phone\RealDevice\ButtonPanelFourNotPower.png" />
+    <AndroidAsset Include="Assets\Phone\RealDevice\ButtonPanelThree.png" />
+    <AndroidAsset Include="Assets\Phone\RealDevice\ButtonPanelTwo.png" />
     <AndroidAsset Include="Assets\Phone\RealDevice\SensorCarbonMonoxide.png" />
     <AndroidAsset Include="Assets\Phone\RealDevice\SensorDoorWindow.png" />
     <AndroidAsset Include="Assets\Phone\RealDevice\SensorEmergencyButton.png" />
@@ -1054,6 +1056,150 @@
   <ItemGroup>
     <AndroidAsset Include="Assets\Phone\Light\PlugSelected.png" />
   </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Gateway\WirelessApDirection.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Gateway\WirelessApGatewaySearching.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Gateway\WirelessGateway.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\1.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\10.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\11.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\12.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\13.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\14.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\15.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\16.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\17.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\18.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\19.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\2.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\20.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\21.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\22.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\23.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\24.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\25.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\26.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\27.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\28.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\29.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\3.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\30.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\31.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\32.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\4.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\5.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\6.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\7.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\8.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Loading\9.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\AC\Swing_1.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\AC\Swing_1Selected.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\AC\Swing_2.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\AC\Swing_2Selected.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\AC\Swing_3.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\AC\Swing_3Selected.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\AC\Swing_4.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\AC\Swing_4Selected.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\AC\Swing_5.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\AC\Swing_5Selected.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\AC\Swing_Auto.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\AC\Swing_AutoSelected.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\AC\SwingBackground.png" />
+  </ItemGroup>
   <Import Project="..\Shared\Shared.projitems" Label="Shared" Condition="Exists('..\Shared\Shared.projitems')" />
   <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
   <Import Project="..\packages\Xamarin.Android.Support.Annotations.26.0.2\build\MonoAndroid80\Xamarin.Android.Support.Annotations.targets" Condition="Exists('..\packages\Xamarin.Android.Support.Annotations.26.0.2\build\MonoAndroid80\Xamarin.Android.Support.Annotations.targets')" />
@@ -1065,4 +1211,21 @@
   <Import Project="..\packages\Xamarin.Android.Support.v4.26.0.2\build\MonoAndroid80\Xamarin.Android.Support.v4.targets" Condition="Exists('..\packages\Xamarin.Android.Support.v4.26.0.2\build\MonoAndroid80\Xamarin.Android.Support.v4.targets')" />
   <Import Project="..\packages\Xamarin.Android.Support.Vector.Drawable.26.0.2\build\MonoAndroid80\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\packages\Xamarin.Android.Support.Vector.Drawable.26.0.2\build\MonoAndroid80\Xamarin.Android.Support.Vector.Drawable.targets')" />
   <Import Project="..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.26.0.2\build\MonoAndroid80\Xamarin.Android.Support.Animated.Vector.Drawable.targets" Condition="Exists('..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.26.0.2\build\MonoAndroid80\Xamarin.Android.Support.Animated.Vector.Drawable.targets')" />
+  <Import Project="..\packages\Xamarin.Android.Support.Compat.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Compat.targets" Condition="Exists('..\packages\Xamarin.Android.Support.Compat.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Compat.targets')" />
+  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+    <PropertyGroup>
+      <ErrorText>杩欏彴璁$畻鏈轰笂缂哄皯姝ら」鐩紩鐢ㄧ殑 NuGet 绋嬪簭鍖呫�備娇鐢ㄢ�淣uGet 绋嬪簭鍖呰繕鍘熲�濆彲涓嬭浇杩欎簺绋嬪簭鍖呫�傛湁鍏虫洿澶氫俊鎭紝璇峰弬瑙� http://go.microsoft.com/fwlink/?LinkID=322105銆傜己灏戠殑鏂囦欢鏄� {0}銆�</ErrorText>
+    </PropertyGroup>
+    <Error Condition="!Exists('..\packages\Xamarin.Android.Support.Compat.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Compat.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Xamarin.Android.Support.Compat.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Compat.targets'))" />
+    <Error Condition="!Exists('..\packages\Xamarin.Android.Support.Core.UI.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Core.UI.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Xamarin.Android.Support.Core.UI.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Core.UI.targets'))" />
+    <Error Condition="!Exists('..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Core.Utils.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Core.Utils.targets'))" />
+    <Error Condition="!Exists('..\packages\Xamarin.Android.Support.Media.Compat.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Media.Compat.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Xamarin.Android.Support.Media.Compat.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Media.Compat.targets'))" />
+    <Error Condition="!Exists('..\packages\Xamarin.Android.Support.Fragment.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Fragment.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Xamarin.Android.Support.Fragment.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Fragment.targets'))" />
+    <Error Condition="!Exists('..\packages\Xamarin.Android.Support.v4.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.v4.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Xamarin.Android.Support.v4.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.v4.targets'))" />
+  </Target>
+  <Import Project="..\packages\Xamarin.Android.Support.Core.UI.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Core.UI.targets" Condition="Exists('..\packages\Xamarin.Android.Support.Core.UI.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Core.UI.targets')" />
+  <Import Project="..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Core.Utils.targets" Condition="Exists('..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Core.Utils.targets')" />
+  <Import Project="..\packages\Xamarin.Android.Support.Media.Compat.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Media.Compat.targets" Condition="Exists('..\packages\Xamarin.Android.Support.Media.Compat.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Media.Compat.targets')" />
+  <Import Project="..\packages\Xamarin.Android.Support.Fragment.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Fragment.targets" Condition="Exists('..\packages\Xamarin.Android.Support.Fragment.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.Fragment.targets')" />
+  <Import Project="..\packages\Xamarin.Android.Support.v4.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.v4.targets" Condition="Exists('..\packages\Xamarin.Android.Support.v4.25.4.0.1\build\MonoAndroid70\Xamarin.Android.Support.v4.targets')" />
 </Project>
\ No newline at end of file
diff --git a/ZigbeeApp/GateWay.Droid/GateWay.Droid.sln b/ZigbeeApp/GateWay.Droid/GateWay.Droid.sln
deleted file mode 100755
index f0f5692..0000000
--- a/ZigbeeApp/GateWay.Droid/GateWay.Droid.sln
+++ /dev/null
@@ -1,17 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GateWay.Droid", "GateWay.Droid.csproj", "{28EDE1FF-20EF-476B-8AF8-24A3EEB69F45}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Any CPU = Debug|Any CPU
-		Release|Any CPU = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{28EDE1FF-20EF-476B-8AF8-24A3EEB69F45}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{28EDE1FF-20EF-476B-8AF8-24A3EEB69F45}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{28EDE1FF-20EF-476B-8AF8-24A3EEB69F45}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{28EDE1FF-20EF-476B-8AF8-24A3EEB69F45}.Release|Any CPU.Build.0 = Release|Any CPU
-	EndGlobalSection
-EndGlobal
diff --git a/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml b/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml
old mode 100755
new mode 100644
index 03c961d..c4e6f4f
--- a/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml
+++ b/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hdl.home" android:versionCode="2019110701" android:installLocation="auto" android:versionName="1.0.19110701">
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hdl.home" android:versionCode="2019111201" android:installLocation="auto" android:versionName="1.0.19111201">
 	<uses-sdk android:minSdkVersion="26" android:targetSdkVersion="26" />
 	<permission android:name="com.hdl.home.permission.JPUSH_MESSAGE" android:protectionLevel="signature" />
 	<uses-permission android:name="android.permission.WAKE_LOCK" />
diff --git a/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs b/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs
old mode 100755
new mode 100644
index cdf3536..b331463
--- a/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs
+++ b/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs
@@ -1,5993 +1,6050 @@
-#pragma warning disable 1591
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     姝や唬鐮佺敱宸ュ叿鐢熸垚銆�
-//     杩愯鏃剁増鏈�:4.0.30319.42000
-//
-//     瀵规鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆纭殑琛屼负锛屽苟涓斿鏋�
-//     閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便��
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-[assembly: global::Android.Runtime.ResourceDesignerAttribute("GateWay.Droid.Resource", IsApplication=true)]
-
-namespace GateWay.Droid
-{
-	
-	
-	[System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")]
-	public partial class Resource
-	{
-		
-		static Resource()
-		{
-			global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-		}
-		
-		public static void UpdateIdValues()
-		{
-		}
-		
-		public partial class Animation
-		{
-			
-			// aapt resource value: 0x7f050000
-			public const int abc_fade_in = 2131034112;
-			
-			// aapt resource value: 0x7f050001
-			public const int abc_fade_out = 2131034113;
-			
-			// aapt resource value: 0x7f050002
-			public const int abc_grow_fade_in_from_bottom = 2131034114;
-			
-			// aapt resource value: 0x7f050003
-			public const int abc_popup_enter = 2131034115;
-			
-			// aapt resource value: 0x7f050004
-			public const int abc_popup_exit = 2131034116;
-			
-			// aapt resource value: 0x7f050005
-			public const int abc_shrink_fade_out_from_bottom = 2131034117;
-			
-			// aapt resource value: 0x7f050006
-			public const int abc_slide_in_bottom = 2131034118;
-			
-			// aapt resource value: 0x7f050007
-			public const int abc_slide_in_top = 2131034119;
-			
-			// aapt resource value: 0x7f050008
-			public const int abc_slide_out_bottom = 2131034120;
-			
-			// aapt resource value: 0x7f050009
-			public const int abc_slide_out_top = 2131034121;
-			
-			// aapt resource value: 0x7f05000a
-			public const int fingerprint_draw_off_animation_interpolator_0 = 2131034122;
-			
-			// aapt resource value: 0x7f05000b
-			public const int fingerprint_draw_off_animation_interpolator_1 = 2131034123;
-			
-			// aapt resource value: 0x7f05000c
-			public const int fingerprint_draw_off_ridge_1_path_animation = 2131034124;
-			
-			// aapt resource value: 0x7f05000d
-			public const int fingerprint_draw_off_ridge_2_path_animation = 2131034125;
-			
-			// aapt resource value: 0x7f05000e
-			public const int fingerprint_draw_off_ridge_5_path_animation = 2131034126;
-			
-			// aapt resource value: 0x7f05000f
-			public const int fingerprint_draw_off_ridge_6_path_animation = 2131034127;
-			
-			// aapt resource value: 0x7f050010
-			public const int fingerprint_draw_off_ridge_7_path_animation = 2131034128;
-			
-			// aapt resource value: 0x7f050011
-			public const int fingerprint_draw_on_animation_interpolator_0 = 2131034129;
-			
-			// aapt resource value: 0x7f050012
-			public const int fingerprint_draw_on_animation_interpolator_1 = 2131034130;
-			
-			// aapt resource value: 0x7f050013
-			public const int fingerprint_draw_on_ridge_1_path_animation = 2131034131;
-			
-			// aapt resource value: 0x7f050014
-			public const int fingerprint_draw_on_ridge_2_path_animation = 2131034132;
-			
-			// aapt resource value: 0x7f050015
-			public const int fingerprint_draw_on_ridge_5_path_animation = 2131034133;
-			
-			// aapt resource value: 0x7f050016
-			public const int fingerprint_draw_on_ridge_6_path_animation = 2131034134;
-			
-			// aapt resource value: 0x7f050017
-			public const int fingerprint_draw_on_ridge_7_path_animation = 2131034135;
-			
-			// aapt resource value: 0x7f050018
-			public const int fingerprint_error_state_to_fp_animation_interpolator_0 = 2131034136;
-			
-			// aapt resource value: 0x7f050019
-			public const int fingerprint_error_state_to_fp_animation_interpolator_1 = 2131034137;
-			
-			// aapt resource value: 0x7f05001a
-			public const int fingerprint_error_state_to_fp_animation_interpolator_2 = 2131034138;
-			
-			// aapt resource value: 0x7f05001b
-			public const int fingerprint_error_state_to_fp_animation_interpolator_3 = 2131034139;
-			
-			// aapt resource value: 0x7f05001c
-			public const int fingerprint_error_state_to_fp_animation_interpolator_4 = 2131034140;
-			
-			// aapt resource value: 0x7f05001d
-			public const int fingerprint_error_state_to_fp_animation_interpolator_5 = 2131034141;
-			
-			// aapt resource value: 0x7f05001e
-			public const int fingerprint_error_state_to_fp_group_1_animation = 2131034142;
-			
-			// aapt resource value: 0x7f05001f
-			public const int fingerprint_error_state_to_fp_group_2_animation = 2131034143;
-			
-			// aapt resource value: 0x7f050020
-			public const int fingerprint_error_state_to_fp_path_1_animation = 2131034144;
-			
-			// aapt resource value: 0x7f050021
-			public const int fingerprint_error_state_to_fp_path_2_animation = 2131034145;
-			
-			// aapt resource value: 0x7f050022
-			public const int fingerprint_error_state_to_fp_path_3_animation = 2131034146;
-			
-			// aapt resource value: 0x7f050023
-			public const int fingerprint_error_state_to_fp_ridge_1_path_animation = 2131034147;
-			
-			// aapt resource value: 0x7f050024
-			public const int fingerprint_error_state_to_fp_ridge_2_path_animation = 2131034148;
-			
-			// aapt resource value: 0x7f050025
-			public const int fingerprint_error_state_to_fp_ridge_5_path_animation = 2131034149;
-			
-			// aapt resource value: 0x7f050026
-			public const int fingerprint_error_state_to_fp_ridge_6_path_animation = 2131034150;
-			
-			// aapt resource value: 0x7f050027
-			public const int fingerprint_error_state_to_fp_ridge_7_path_animation = 2131034151;
-			
-			// aapt resource value: 0x7f050028
-			public const int fingerprint_error_state_to_fp_white_fingerprint_ridges_animation = 2131034152;
-			
-			// aapt resource value: 0x7f050029
-			public const int fingerprint_fp_to_error_state_animation_interpolator_0 = 2131034153;
-			
-			// aapt resource value: 0x7f05002a
-			public const int fingerprint_fp_to_error_state_animation_interpolator_1 = 2131034154;
-			
-			// aapt resource value: 0x7f05002b
-			public const int fingerprint_fp_to_error_state_animation_interpolator_2 = 2131034155;
-			
-			// aapt resource value: 0x7f05002c
-			public const int fingerprint_fp_to_error_state_animation_interpolator_3 = 2131034156;
-			
-			// aapt resource value: 0x7f05002d
-			public const int fingerprint_fp_to_error_state_animation_interpolator_4 = 2131034157;
-			
-			// aapt resource value: 0x7f05002e
-			public const int fingerprint_fp_to_error_state_animation_interpolator_5 = 2131034158;
-			
-			// aapt resource value: 0x7f05002f
-			public const int fingerprint_fp_to_error_state_fingerprint_ridges_animation = 2131034159;
-			
-			// aapt resource value: 0x7f050030
-			public const int fingerprint_fp_to_error_state_group_1_animation = 2131034160;
-			
-			// aapt resource value: 0x7f050031
-			public const int fingerprint_fp_to_error_state_group_2_animation = 2131034161;
-			
-			// aapt resource value: 0x7f050032
-			public const int fingerprint_fp_to_error_state_path_1_animation = 2131034162;
-			
-			// aapt resource value: 0x7f050033
-			public const int fingerprint_fp_to_error_state_path_2_animation = 2131034163;
-			
-			// aapt resource value: 0x7f050034
-			public const int fingerprint_fp_to_error_state_path_3_animation = 2131034164;
-			
-			// aapt resource value: 0x7f050035
-			public const int fingerprint_fp_to_error_state_ridge_1_path_0_animation = 2131034165;
-			
-			// aapt resource value: 0x7f050036
-			public const int fingerprint_fp_to_error_state_ridge_1_path_animation = 2131034166;
-			
-			// aapt resource value: 0x7f050037
-			public const int fingerprint_fp_to_error_state_ridge_2_path_0_animation = 2131034167;
-			
-			// aapt resource value: 0x7f050038
-			public const int fingerprint_fp_to_error_state_ridge_2_path_animation = 2131034168;
-			
-			// aapt resource value: 0x7f050039
-			public const int fingerprint_fp_to_error_state_ridge_5_path_0_animation = 2131034169;
-			
-			// aapt resource value: 0x7f05003a
-			public const int fingerprint_fp_to_error_state_ridge_5_path_animation = 2131034170;
-			
-			// aapt resource value: 0x7f05003b
-			public const int fingerprint_fp_to_error_state_ridge_6_path_0_animation = 2131034171;
-			
-			// aapt resource value: 0x7f05003c
-			public const int fingerprint_fp_to_error_state_ridge_6_path_animation = 2131034172;
-			
-			// aapt resource value: 0x7f05003d
-			public const int fingerprint_fp_to_error_state_ridge_7_path_0_animation = 2131034173;
-			
-			// aapt resource value: 0x7f05003e
-			public const int fingerprint_fp_to_error_state_ridge_7_path_animation = 2131034174;
-			
-			// aapt resource value: 0x7f05003f
-			public const int fingerprint_fp_to_error_state_white_fingerprint_ridges_animation = 2131034175;
-			
-			// aapt resource value: 0x7f050040
-			public const int move_in = 2131034176;
-			
-			// aapt resource value: 0x7f050041
-			public const int move_out = 2131034177;
-			
-			// aapt resource value: 0x7f050042
-			public const int pickerview_dialog_scale_in = 2131034178;
-			
-			// aapt resource value: 0x7f050043
-			public const int pickerview_dialog_scale_out = 2131034179;
-			
-			// aapt resource value: 0x7f050044
-			public const int pickerview_slide_in_bottom = 2131034180;
-			
-			// aapt resource value: 0x7f050045
-			public const int pickerview_slide_out_bottom = 2131034181;
-			
-			// aapt resource value: 0x7f050046
-			public const int tooltip_enter = 2131034182;
-			
-			// aapt resource value: 0x7f050047
-			public const int tooltip_exit = 2131034183;
-			
-			static Animation()
-			{
-				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-			}
-			
-			private Animation()
-			{
-			}
-		}
-		
-		public partial class Array
-		{
-			
-			// aapt resource value: 0x7f0e0000
-			public const int arc_colors_default = 2131623936;
-			
-			static Array()
-			{
-				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-			}
-			
-			private Array()
-			{
-			}
-		}
-		
-		public partial class Attribute
-		{
-			
-			// aapt resource value: 0x7f010049
-			public const int actionBarDivider = 2130772041;
-			
-			// aapt resource value: 0x7f01004a
-			public const int actionBarItemBackground = 2130772042;
-			
-			// aapt resource value: 0x7f010043
-			public const int actionBarPopupTheme = 2130772035;
-			
-			// aapt resource value: 0x7f010048
-			public const int actionBarSize = 2130772040;
-			
-			// aapt resource value: 0x7f010045
-			public const int actionBarSplitStyle = 2130772037;
-			
-			// aapt resource value: 0x7f010044
-			public const int actionBarStyle = 2130772036;
-			
-			// aapt resource value: 0x7f01003f
-			public const int actionBarTabBarStyle = 2130772031;
-			
-			// aapt resource value: 0x7f01003e
-			public const int actionBarTabStyle = 2130772030;
-			
-			// aapt resource value: 0x7f010040
-			public const int actionBarTabTextStyle = 2130772032;
-			
-			// aapt resource value: 0x7f010046
-			public const int actionBarTheme = 2130772038;
-			
-			// aapt resource value: 0x7f010047
-			public const int actionBarWidgetTheme = 2130772039;
-			
-			// aapt resource value: 0x7f010064
-			public const int actionButtonStyle = 2130772068;
-			
-			// aapt resource value: 0x7f010060
-			public const int actionDropDownStyle = 2130772064;
-			
-			// aapt resource value: 0x7f0100bb
-			public const int actionLayout = 2130772155;
-			
-			// aapt resource value: 0x7f01004b
-			public const int actionMenuTextAppearance = 2130772043;
-			
-			// aapt resource value: 0x7f01004c
-			public const int actionMenuTextColor = 2130772044;
-			
-			// aapt resource value: 0x7f01004f
-			public const int actionModeBackground = 2130772047;
-			
-			// aapt resource value: 0x7f01004e
-			public const int actionModeCloseButtonStyle = 2130772046;
-			
-			// aapt resource value: 0x7f010051
-			public const int actionModeCloseDrawable = 2130772049;
-			
-			// aapt resource value: 0x7f010053
-			public const int actionModeCopyDrawable = 2130772051;
-			
-			// aapt resource value: 0x7f010052
-			public const int actionModeCutDrawable = 2130772050;
-			
-			// aapt resource value: 0x7f010057
-			public const int actionModeFindDrawable = 2130772055;
-			
-			// aapt resource value: 0x7f010054
-			public const int actionModePasteDrawable = 2130772052;
-			
-			// aapt resource value: 0x7f010059
-			public const int actionModePopupWindowStyle = 2130772057;
-			
-			// aapt resource value: 0x7f010055
-			public const int actionModeSelectAllDrawable = 2130772053;
-			
-			// aapt resource value: 0x7f010056
-			public const int actionModeShareDrawable = 2130772054;
-			
-			// aapt resource value: 0x7f010050
-			public const int actionModeSplitBackground = 2130772048;
-			
-			// aapt resource value: 0x7f01004d
-			public const int actionModeStyle = 2130772045;
-			
-			// aapt resource value: 0x7f010058
-			public const int actionModeWebSearchDrawable = 2130772056;
-			
-			// aapt resource value: 0x7f010041
-			public const int actionOverflowButtonStyle = 2130772033;
-			
-			// aapt resource value: 0x7f010042
-			public const int actionOverflowMenuStyle = 2130772034;
-			
-			// aapt resource value: 0x7f0100bd
-			public const int actionProviderClass = 2130772157;
-			
-			// aapt resource value: 0x7f0100bc
-			public const int actionViewClass = 2130772156;
-			
-			// aapt resource value: 0x7f01006c
-			public const int activityChooserViewStyle = 2130772076;
-			
-			// aapt resource value: 0x7f010091
-			public const int alertDialogButtonGroupStyle = 2130772113;
-			
-			// aapt resource value: 0x7f010092
-			public const int alertDialogCenterButtons = 2130772114;
-			
-			// aapt resource value: 0x7f010090
-			public const int alertDialogStyle = 2130772112;
-			
-			// aapt resource value: 0x7f010093
-			public const int alertDialogTheme = 2130772115;
-			
-			// aapt resource value: 0x7f0100a9
-			public const int allowStacking = 2130772137;
-			
-			// aapt resource value: 0x7f0100aa
-			public const int alpha = 2130772138;
-			
-			// aapt resource value: 0x7f0100b8
-			public const int alphabeticModifiers = 2130772152;
-			
-			// aapt resource value: 0x7f010105
-			public const int arc_border_color = 2130772229;
-			
-			// aapt resource value: 0x7f010104
-			public const int arc_border_width = 2130772228;
-			
-			// aapt resource value: 0x7f010103
-			public const int arc_colors = 2130772227;
-			
-			// aapt resource value: 0x7f010106
-			public const int arc_max = 2130772230;
-			
-			// aapt resource value: 0x7f010107
-			public const int arc_min = 2130772231;
-			
-			// aapt resource value: 0x7f010101
-			public const int arc_open_angle = 2130772225;
-			
-			// aapt resource value: 0x7f010108
-			public const int arc_progress = 2130772232;
-			
-			// aapt resource value: 0x7f010110
-			public const int arc_progress_bar_color = 2130772240;
-			
-			// aapt resource value: 0x7f010111
-			public const int arc_progress_bar_text_unit = 2130772241;
-			
-			// aapt resource value: 0x7f010102
-			public const int arc_rotate_angle = 2130772226;
-			
-			// aapt resource value: 0x7f01010f
-			public const int arc_shadow_radius = 2130772239;
-			
-			// aapt resource value: 0x7f01010a
-			public const int arc_thumb_color = 2130772234;
-			
-			// aapt resource value: 0x7f01010b
-			public const int arc_thumb_radius = 2130772235;
-			
-			// aapt resource value: 0x7f01010d
-			public const int arc_thumb_shadow_color = 2130772237;
-			
-			// aapt resource value: 0x7f01010c
-			public const int arc_thumb_shadow_radius = 2130772236;
-			
-			// aapt resource value: 0x7f010109
-			public const int arc_thumb_width = 2130772233;
-			
-			// aapt resource value: 0x7f010100
-			public const int arc_width = 2130772224;
-			
-			// aapt resource value: 0x7f0100b1
-			public const int arrowHeadLength = 2130772145;
-			
-			// aapt resource value: 0x7f0100b2
-			public const int arrowShaftLength = 2130772146;
-			
-			// aapt resource value: 0x7f010098
-			public const int autoCompleteTextViewStyle = 2130772120;
-			
-			// aapt resource value: 0x7f010032
-			public const int autoSizeMaxTextSize = 2130772018;
-			
-			// aapt resource value: 0x7f010031
-			public const int autoSizeMinTextSize = 2130772017;
-			
-			// aapt resource value: 0x7f010030
-			public const int autoSizePresetSizes = 2130772016;
-			
-			// aapt resource value: 0x7f01002f
-			public const int autoSizeStepGranularity = 2130772015;
-			
-			// aapt resource value: 0x7f01002e
-			public const int autoSizeTextType = 2130772014;
-			
-			// aapt resource value: 0x7f01000c
-			public const int background = 2130771980;
-			
-			// aapt resource value: 0x7f01000e
-			public const int backgroundSplit = 2130771982;
-			
-			// aapt resource value: 0x7f01000d
-			public const int backgroundStacked = 2130771981;
-			
-			// aapt resource value: 0x7f0100f4
-			public const int backgroundTint = 2130772212;
-			
-			// aapt resource value: 0x7f0100f5
-			public const int backgroundTintMode = 2130772213;
-			
-			// aapt resource value: 0x7f0100b3
-			public const int barLength = 2130772147;
-			
-			// aapt resource value: 0x7f0100ff
-			public const int biometricPromptDialogTheme = 2130772223;
-			
-			// aapt resource value: 0x7f010069
-			public const int borderlessButtonStyle = 2130772073;
-			
-			// aapt resource value: 0x7f010066
-			public const int buttonBarButtonStyle = 2130772070;
-			
-			// aapt resource value: 0x7f010096
-			public const int buttonBarNegativeButtonStyle = 2130772118;
-			
-			// aapt resource value: 0x7f010097
-			public const int buttonBarNeutralButtonStyle = 2130772119;
-			
-			// aapt resource value: 0x7f010095
-			public const int buttonBarPositiveButtonStyle = 2130772117;
-			
-			// aapt resource value: 0x7f010065
-			public const int buttonBarStyle = 2130772069;
-			
-			// aapt resource value: 0x7f0100e9
-			public const int buttonGravity = 2130772201;
-			
-			// aapt resource value: 0x7f010021
-			public const int buttonPanelSideLayout = 2130772001;
-			
-			// aapt resource value: 0x7f010099
-			public const int buttonStyle = 2130772121;
-			
-			// aapt resource value: 0x7f01009a
-			public const int buttonStyleSmall = 2130772122;
-			
-			// aapt resource value: 0x7f0100ab
-			public const int buttonTint = 2130772139;
-			
-			// aapt resource value: 0x7f0100ac
-			public const int buttonTintMode = 2130772140;
-			
-			// aapt resource value: 0x7f01009b
-			public const int checkboxStyle = 2130772123;
-			
-			// aapt resource value: 0x7f01009c
-			public const int checkedTextViewStyle = 2130772124;
-			
-			// aapt resource value: 0x7f0100cc
-			public const int closeIcon = 2130772172;
-			
-			// aapt resource value: 0x7f01001e
-			public const int closeItemLayout = 2130771998;
-			
-			// aapt resource value: 0x7f0100eb
-			public const int collapseContentDescription = 2130772203;
-			
-			// aapt resource value: 0x7f0100ea
-			public const int collapseIcon = 2130772202;
-			
-			// aapt resource value: 0x7f0100ad
-			public const int color = 2130772141;
-			
-			// aapt resource value: 0x7f010088
-			public const int colorAccent = 2130772104;
-			
-			// aapt resource value: 0x7f01008f
-			public const int colorBackgroundFloating = 2130772111;
-			
-			// aapt resource value: 0x7f01008c
-			public const int colorButtonNormal = 2130772108;
-			
-			// aapt resource value: 0x7f01008a
-			public const int colorControlActivated = 2130772106;
-			
-			// aapt resource value: 0x7f01008b
-			public const int colorControlHighlight = 2130772107;
-			
-			// aapt resource value: 0x7f010089
-			public const int colorControlNormal = 2130772105;
-			
-			// aapt resource value: 0x7f0100a8
-			public const int colorError = 2130772136;
-			
-			// aapt resource value: 0x7f010086
-			public const int colorPrimary = 2130772102;
-			
-			// aapt resource value: 0x7f010087
-			public const int colorPrimaryDark = 2130772103;
-			
-			// aapt resource value: 0x7f01008d
-			public const int colorSwitchThumbNormal = 2130772109;
-			
-			// aapt resource value: 0x7f0100d1
-			public const int commitIcon = 2130772177;
-			
-			// aapt resource value: 0x7f0100be
-			public const int contentDescription = 2130772158;
-			
-			// aapt resource value: 0x7f010017
-			public const int contentInsetEnd = 2130771991;
-			
-			// aapt resource value: 0x7f01001b
-			public const int contentInsetEndWithActions = 2130771995;
-			
-			// aapt resource value: 0x7f010018
-			public const int contentInsetLeft = 2130771992;
-			
-			// aapt resource value: 0x7f010019
-			public const int contentInsetRight = 2130771993;
-			
-			// aapt resource value: 0x7f010016
-			public const int contentInsetStart = 2130771990;
-			
-			// aapt resource value: 0x7f01001a
-			public const int contentInsetStartWithNavigation = 2130771994;
-			
-			// aapt resource value: 0x7f01008e
-			public const int controlBackground = 2130772110;
-			
-			// aapt resource value: 0x7f010114
-			public const int curtain_bar_bg_color = 2130772244;
-			
-			// aapt resource value: 0x7f010115
-			public const int curtain_bar_border_color = 2130772245;
-			
-			// aapt resource value: 0x7f010112
-			public const int curtain_bar_color = 2130772242;
-			
-			// aapt resource value: 0x7f010117
-			public const int curtain_bar_height = 2130772247;
-			
-			// aapt resource value: 0x7f010116
-			public const int curtain_bar_width = 2130772246;
-			
-			// aapt resource value: 0x7f01000f
-			public const int customNavigationLayout = 2130771983;
-			
-			// aapt resource value: 0x7f0100cb
-			public const int defaultQueryHint = 2130772171;
-			
-			// aapt resource value: 0x7f01005e
-			public const int dialogPreferredPadding = 2130772062;
-			
-			// aapt resource value: 0x7f01005d
-			public const int dialogTheme = 2130772061;
-			
-			// aapt resource value: 0x7f010005
-			public const int displayOptions = 2130771973;
-			
-			// aapt resource value: 0x7f01000b
-			public const int divider = 2130771979;
-			
-			// aapt resource value: 0x7f01006b
-			public const int dividerHorizontal = 2130772075;
-			
-			// aapt resource value: 0x7f0100b7
-			public const int dividerPadding = 2130772151;
-			
-			// aapt resource value: 0x7f01006a
-			public const int dividerVertical = 2130772074;
-			
-			// aapt resource value: 0x7f0100af
-			public const int drawableSize = 2130772143;
-			
-			// aapt resource value: 0x7f010000
-			public const int drawerArrowStyle = 2130771968;
-			
-			// aapt resource value: 0x7f01007d
-			public const int dropDownListViewStyle = 2130772093;
-			
-			// aapt resource value: 0x7f010061
-			public const int dropdownListPreferredItemHeight = 2130772065;
-			
-			// aapt resource value: 0x7f010072
-			public const int editTextBackground = 2130772082;
-			
-			// aapt resource value: 0x7f010071
-			public const int editTextColor = 2130772081;
-			
-			// aapt resource value: 0x7f01009d
-			public const int editTextStyle = 2130772125;
-			
-			// aapt resource value: 0x7f01001c
-			public const int elevation = 2130771996;
-			
-			// aapt resource value: 0x7f010020
-			public const int expandActivityOverflowButtonDrawable = 2130772000;
-			
-			// aapt resource value: 0x7f0100fd
-			public const int font = 2130772221;
-			
-			// aapt resource value: 0x7f010033
-			public const int fontFamily = 2130772019;
-			
-			// aapt resource value: 0x7f0100f6
-			public const int fontProviderAuthority = 2130772214;
-			
-			// aapt resource value: 0x7f0100f9
-			public const int fontProviderCerts = 2130772217;
-			
-			// aapt resource value: 0x7f0100fa
-			public const int fontProviderFetchStrategy = 2130772218;
-			
-			// aapt resource value: 0x7f0100fb
-			public const int fontProviderFetchTimeout = 2130772219;
-			
-			// aapt resource value: 0x7f0100f7
-			public const int fontProviderPackage = 2130772215;
-			
-			// aapt resource value: 0x7f0100f8
-			public const int fontProviderQuery = 2130772216;
-			
-			// aapt resource value: 0x7f0100fc
-			public const int fontStyle = 2130772220;
-			
-			// aapt resource value: 0x7f0100fe
-			public const int fontWeight = 2130772222;
-			
-			// aapt resource value: 0x7f0100b0
-			public const int gapBetweenBars = 2130772144;
-			
-			// aapt resource value: 0x7f0100cd
-			public const int goIcon = 2130772173;
-			
-			// aapt resource value: 0x7f01010e
-			public const int hdl_arc_thumb_mode = 2130772238;
-			
-			// aapt resource value: 0x7f010001
-			public const int height = 2130771969;
-			
-			// aapt resource value: 0x7f010015
-			public const int hideOnContentScroll = 2130771989;
-			
-			// aapt resource value: 0x7f010063
-			public const int homeAsUpIndicator = 2130772067;
-			
-			// aapt resource value: 0x7f010010
-			public const int homeLayout = 2130771984;
-			
-			// aapt resource value: 0x7f010009
-			public const int icon = 2130771977;
-			
-			// aapt resource value: 0x7f0100c0
-			public const int iconTint = 2130772160;
-			
-			// aapt resource value: 0x7f0100c1
-			public const int iconTintMode = 2130772161;
-			
-			// aapt resource value: 0x7f0100c9
-			public const int iconifiedByDefault = 2130772169;
-			
-			// aapt resource value: 0x7f010073
-			public const int imageButtonStyle = 2130772083;
-			
-			// aapt resource value: 0x7f010012
-			public const int indeterminateProgressStyle = 2130771986;
-			
-			// aapt resource value: 0x7f01001f
-			public const int initialActivityCount = 2130771999;
-			
-			// aapt resource value: 0x7f010002
-			public const int isLightTheme = 2130771970;
-			
-			// aapt resource value: 0x7f010014
-			public const int itemPadding = 2130771988;
-			
-			// aapt resource value: 0x7f0100c8
-			public const int layout = 2130772168;
-			
-			// aapt resource value: 0x7f010085
-			public const int listChoiceBackgroundIndicator = 2130772101;
-			
-			// aapt resource value: 0x7f01005f
-			public const int listDividerAlertDialog = 2130772063;
-			
-			// aapt resource value: 0x7f010025
-			public const int listItemLayout = 2130772005;
-			
-			// aapt resource value: 0x7f010022
-			public const int listLayout = 2130772002;
-			
-			// aapt resource value: 0x7f0100a5
-			public const int listMenuViewStyle = 2130772133;
-			
-			// aapt resource value: 0x7f01007e
-			public const int listPopupWindowStyle = 2130772094;
-			
-			// aapt resource value: 0x7f010078
-			public const int listPreferredItemHeight = 2130772088;
-			
-			// aapt resource value: 0x7f01007a
-			public const int listPreferredItemHeightLarge = 2130772090;
-			
-			// aapt resource value: 0x7f010079
-			public const int listPreferredItemHeightSmall = 2130772089;
-			
-			// aapt resource value: 0x7f01007b
-			public const int listPreferredItemPaddingLeft = 2130772091;
-			
-			// aapt resource value: 0x7f01007c
-			public const int listPreferredItemPaddingRight = 2130772092;
-			
-			// aapt resource value: 0x7f01000a
-			public const int logo = 2130771978;
-			
-			// aapt resource value: 0x7f0100ee
-			public const int logoDescription = 2130772206;
-			
-			// aapt resource value: 0x7f0100e8
-			public const int maxButtonHeight = 2130772200;
-			
-			// aapt resource value: 0x7f0100b5
-			public const int measureWithLargestChild = 2130772149;
-			
-			// aapt resource value: 0x7f010023
-			public const int multiChoiceItemLayout = 2130772003;
-			
-			// aapt resource value: 0x7f0100ed
-			public const int navigationContentDescription = 2130772205;
-			
-			// aapt resource value: 0x7f0100ec
-			public const int navigationIcon = 2130772204;
-			
-			// aapt resource value: 0x7f010004
-			public const int navigationMode = 2130771972;
-			
-			// aapt resource value: 0x7f0100b9
-			public const int numericModifiers = 2130772153;
-			
-			// aapt resource value: 0x7f0100c4
-			public const int overlapAnchor = 2130772164;
-			
-			// aapt resource value: 0x7f0100c6
-			public const int paddingBottomNoButtons = 2130772166;
-			
-			// aapt resource value: 0x7f0100f2
-			public const int paddingEnd = 2130772210;
-			
-			// aapt resource value: 0x7f0100f1
-			public const int paddingStart = 2130772209;
-			
-			// aapt resource value: 0x7f0100c7
-			public const int paddingTopNoTitle = 2130772167;
-			
-			// aapt resource value: 0x7f010082
-			public const int panelBackground = 2130772098;
-			
-			// aapt resource value: 0x7f010084
-			public const int panelMenuListTheme = 2130772100;
-			
-			// aapt resource value: 0x7f010083
-			public const int panelMenuListWidth = 2130772099;
-			
-			// aapt resource value: 0x7f01006f
-			public const int popupMenuStyle = 2130772079;
-			
-			// aapt resource value: 0x7f01001d
-			public const int popupTheme = 2130771997;
-			
-			// aapt resource value: 0x7f010070
-			public const int popupWindowStyle = 2130772080;
-			
-			// aapt resource value: 0x7f0100c2
-			public const int preserveIconSpacing = 2130772162;
-			
-			// aapt resource value: 0x7f010013
-			public const int progressBarPadding = 2130771987;
-			
-			// aapt resource value: 0x7f010011
-			public const int progressBarStyle = 2130771985;
-			
-			// aapt resource value: 0x7f0100d3
-			public const int queryBackground = 2130772179;
-			
-			// aapt resource value: 0x7f0100ca
-			public const int queryHint = 2130772170;
-			
-			// aapt resource value: 0x7f01009e
-			public const int radioButtonStyle = 2130772126;
-			
-			// aapt resource value: 0x7f01009f
-			public const int ratingBarStyle = 2130772127;
-			
-			// aapt resource value: 0x7f0100a0
-			public const int ratingBarStyleIndicator = 2130772128;
-			
-			// aapt resource value: 0x7f0100a1
-			public const int ratingBarStyleSmall = 2130772129;
-			
-			// aapt resource value: 0x7f0100cf
-			public const int searchHintIcon = 2130772175;
-			
-			// aapt resource value: 0x7f0100ce
-			public const int searchIcon = 2130772174;
-			
-			// aapt resource value: 0x7f010077
-			public const int searchViewStyle = 2130772087;
-			
-			// aapt resource value: 0x7f010113
-			public const int second_curtain_bar_color = 2130772243;
-			
-			// aapt resource value: 0x7f010119
-			public const int second_wave_color = 2130772249;
-			
-			// aapt resource value: 0x7f0100a2
-			public const int seekBarStyle = 2130772130;
-			
-			// aapt resource value: 0x7f010067
-			public const int selectableItemBackground = 2130772071;
-			
-			// aapt resource value: 0x7f010068
-			public const int selectableItemBackgroundBorderless = 2130772072;
-			
-			// aapt resource value: 0x7f0100ba
-			public const int showAsAction = 2130772154;
-			
-			// aapt resource value: 0x7f0100b6
-			public const int showDividers = 2130772150;
-			
-			// aapt resource value: 0x7f0100df
-			public const int showText = 2130772191;
-			
-			// aapt resource value: 0x7f010026
-			public const int showTitle = 2130772006;
-			
-			// aapt resource value: 0x7f010024
-			public const int singleChoiceItemLayout = 2130772004;
-			
-			// aapt resource value: 0x7f0100ae
-			public const int spinBars = 2130772142;
-			
-			// aapt resource value: 0x7f010062
-			public const int spinnerDropDownItemStyle = 2130772066;
-			
-			// aapt resource value: 0x7f0100a3
-			public const int spinnerStyle = 2130772131;
-			
-			// aapt resource value: 0x7f0100de
-			public const int splitTrack = 2130772190;
-			
-			// aapt resource value: 0x7f010027
-			public const int srcCompat = 2130772007;
-			
-			// aapt resource value: 0x7f0100c5
-			public const int state_above_anchor = 2130772165;
-			
-			// aapt resource value: 0x7f0100c3
-			public const int subMenuArrow = 2130772163;
-			
-			// aapt resource value: 0x7f0100d4
-			public const int submitBackground = 2130772180;
-			
-			// aapt resource value: 0x7f010006
-			public const int subtitle = 2130771974;
-			
-			// aapt resource value: 0x7f0100e1
-			public const int subtitleTextAppearance = 2130772193;
-			
-			// aapt resource value: 0x7f0100f0
-			public const int subtitleTextColor = 2130772208;
-			
-			// aapt resource value: 0x7f010008
-			public const int subtitleTextStyle = 2130771976;
-			
-			// aapt resource value: 0x7f0100d2
-			public const int suggestionRowLayout = 2130772178;
-			
-			// aapt resource value: 0x7f0100dc
-			public const int switchMinWidth = 2130772188;
-			
-			// aapt resource value: 0x7f0100dd
-			public const int switchPadding = 2130772189;
-			
-			// aapt resource value: 0x7f0100a4
-			public const int switchStyle = 2130772132;
-			
-			// aapt resource value: 0x7f0100db
-			public const int switchTextAppearance = 2130772187;
-			
-			// aapt resource value: 0x7f01002d
-			public const int textAllCaps = 2130772013;
-			
-			// aapt resource value: 0x7f01005a
-			public const int textAppearanceLargePopupMenu = 2130772058;
-			
-			// aapt resource value: 0x7f01007f
-			public const int textAppearanceListItem = 2130772095;
-			
-			// aapt resource value: 0x7f010080
-			public const int textAppearanceListItemSecondary = 2130772096;
-			
-			// aapt resource value: 0x7f010081
-			public const int textAppearanceListItemSmall = 2130772097;
-			
-			// aapt resource value: 0x7f01005c
-			public const int textAppearancePopupMenuHeader = 2130772060;
-			
-			// aapt resource value: 0x7f010075
-			public const int textAppearanceSearchResultSubtitle = 2130772085;
-			
-			// aapt resource value: 0x7f010074
-			public const int textAppearanceSearchResultTitle = 2130772084;
-			
-			// aapt resource value: 0x7f01005b
-			public const int textAppearanceSmallPopupMenu = 2130772059;
-			
-			// aapt resource value: 0x7f010094
-			public const int textColorAlertDialogListItem = 2130772116;
-			
-			// aapt resource value: 0x7f010076
-			public const int textColorSearchUrl = 2130772086;
-			
-			// aapt resource value: 0x7f0100f3
-			public const int theme = 2130772211;
-			
-			// aapt resource value: 0x7f0100b4
-			public const int thickness = 2130772148;
-			
-			// aapt resource value: 0x7f0100da
-			public const int thumbTextPadding = 2130772186;
-			
-			// aapt resource value: 0x7f0100d5
-			public const int thumbTint = 2130772181;
-			
-			// aapt resource value: 0x7f0100d6
-			public const int thumbTintMode = 2130772182;
-			
-			// aapt resource value: 0x7f01002a
-			public const int tickMark = 2130772010;
-			
-			// aapt resource value: 0x7f01002b
-			public const int tickMarkTint = 2130772011;
-			
-			// aapt resource value: 0x7f01002c
-			public const int tickMarkTintMode = 2130772012;
-			
-			// aapt resource value: 0x7f010028
-			public const int tint = 2130772008;
-			
-			// aapt resource value: 0x7f010029
-			public const int tintMode = 2130772009;
-			
-			// aapt resource value: 0x7f010003
-			public const int title = 2130771971;
-			
-			// aapt resource value: 0x7f0100e2
-			public const int titleMargin = 2130772194;
-			
-			// aapt resource value: 0x7f0100e6
-			public const int titleMarginBottom = 2130772198;
-			
-			// aapt resource value: 0x7f0100e4
-			public const int titleMarginEnd = 2130772196;
-			
-			// aapt resource value: 0x7f0100e3
-			public const int titleMarginStart = 2130772195;
-			
-			// aapt resource value: 0x7f0100e5
-			public const int titleMarginTop = 2130772197;
-			
-			// aapt resource value: 0x7f0100e7
-			public const int titleMargins = 2130772199;
-			
-			// aapt resource value: 0x7f0100e0
-			public const int titleTextAppearance = 2130772192;
-			
-			// aapt resource value: 0x7f0100ef
-			public const int titleTextColor = 2130772207;
-			
-			// aapt resource value: 0x7f010007
-			public const int titleTextStyle = 2130771975;
-			
-			// aapt resource value: 0x7f01006e
-			public const int toolbarNavigationButtonStyle = 2130772078;
-			
-			// aapt resource value: 0x7f01006d
-			public const int toolbarStyle = 2130772077;
-			
-			// aapt resource value: 0x7f0100a7
-			public const int tooltipForegroundColor = 2130772135;
-			
-			// aapt resource value: 0x7f0100a6
-			public const int tooltipFrameBackground = 2130772134;
-			
-			// aapt resource value: 0x7f0100bf
-			public const int tooltipText = 2130772159;
-			
-			// aapt resource value: 0x7f0100d7
-			public const int track = 2130772183;
-			
-			// aapt resource value: 0x7f0100d8
-			public const int trackTint = 2130772184;
-			
-			// aapt resource value: 0x7f0100d9
-			public const int trackTintMode = 2130772185;
-			
-			// aapt resource value: 0x7f0100d0
-			public const int voiceIcon = 2130772176;
-			
-			// aapt resource value: 0x7f01011a
-			public const int wave_bg_color = 2130772250;
-			
-			// aapt resource value: 0x7f01011b
-			public const int wave_border_color = 2130772251;
-			
-			// aapt resource value: 0x7f010118
-			public const int wave_color = 2130772248;
-			
-			// aapt resource value: 0x7f01011d
-			public const int wave_height = 2130772253;
-			
-			// aapt resource value: 0x7f01011c
-			public const int wave_width = 2130772252;
-			
-			// aapt resource value: 0x7f010122
-			public const int wheelview_dividerColor = 2130772258;
-			
-			// aapt resource value: 0x7f01011e
-			public const int wheelview_gravity = 2130772254;
-			
-			// aapt resource value: 0x7f010123
-			public const int wheelview_lineSpacingMultiplier = 2130772259;
-			
-			// aapt resource value: 0x7f010121
-			public const int wheelview_textColorCenter = 2130772257;
-			
-			// aapt resource value: 0x7f010120
-			public const int wheelview_textColorOut = 2130772256;
-			
-			// aapt resource value: 0x7f01011f
-			public const int wheelview_textSize = 2130772255;
-			
-			// aapt resource value: 0x7f010034
-			public const int windowActionBar = 2130772020;
-			
-			// aapt resource value: 0x7f010036
-			public const int windowActionBarOverlay = 2130772022;
-			
-			// aapt resource value: 0x7f010037
-			public const int windowActionModeOverlay = 2130772023;
-			
-			// aapt resource value: 0x7f01003b
-			public const int windowFixedHeightMajor = 2130772027;
-			
-			// aapt resource value: 0x7f010039
-			public const int windowFixedHeightMinor = 2130772025;
-			
-			// aapt resource value: 0x7f010038
-			public const int windowFixedWidthMajor = 2130772024;
-			
-			// aapt resource value: 0x7f01003a
-			public const int windowFixedWidthMinor = 2130772026;
-			
-			// aapt resource value: 0x7f01003c
-			public const int windowMinWidthMajor = 2130772028;
-			
-			// aapt resource value: 0x7f01003d
-			public const int windowMinWidthMinor = 2130772029;
-			
-			// aapt resource value: 0x7f010035
-			public const int windowNoTitle = 2130772021;
-			
-			static Attribute()
-			{
-				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-			}
-			
-			private Attribute()
-			{
-			}
-		}
-		
-		public partial class Boolean
-		{
-			
-			// aapt resource value: 0x7f0a0000
-			public const int abc_action_bar_embed_tabs = 2131361792;
-			
-			// aapt resource value: 0x7f0a0001
-			public const int abc_allow_stacked_button_bar = 2131361793;
-			
-			// aapt resource value: 0x7f0a0002
-			public const int abc_config_actionMenuItemAllCaps = 2131361794;
-			
-			// aapt resource value: 0x7f0a0003
-			public const int abc_config_closeDialogWhenTouchOutside = 2131361795;
-			
-			// aapt resource value: 0x7f0a0004
-			public const int abc_config_showMenuShortcutsWhenKeyboardPresent = 2131361796;
-			
-			static Boolean()
-			{
-				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-			}
-			
-			private Boolean()
-			{
-			}
-		}
-		
-		public partial class Color
-		{
-			
-			// aapt resource value: 0x7f0b0048
-			public const int abc_background_cache_hint_selector_material_dark = 2131427400;
-			
-			// aapt resource value: 0x7f0b0049
-			public const int abc_background_cache_hint_selector_material_light = 2131427401;
-			
-			// aapt resource value: 0x7f0b004a
-			public const int abc_btn_colored_borderless_text_material = 2131427402;
-			
-			// aapt resource value: 0x7f0b004b
-			public const int abc_btn_colored_text_material = 2131427403;
-			
-			// aapt resource value: 0x7f0b004c
-			public const int abc_color_highlight_material = 2131427404;
-			
-			// aapt resource value: 0x7f0b004d
-			public const int abc_hint_foreground_material_dark = 2131427405;
-			
-			// aapt resource value: 0x7f0b004e
-			public const int abc_hint_foreground_material_light = 2131427406;
-			
-			// aapt resource value: 0x7f0b0000
-			public const int abc_input_method_navigation_guard = 2131427328;
-			
-			// aapt resource value: 0x7f0b004f
-			public const int abc_primary_text_disable_only_material_dark = 2131427407;
-			
-			// aapt resource value: 0x7f0b0050
-			public const int abc_primary_text_disable_only_material_light = 2131427408;
-			
-			// aapt resource value: 0x7f0b0051
-			public const int abc_primary_text_material_dark = 2131427409;
-			
-			// aapt resource value: 0x7f0b0052
-			public const int abc_primary_text_material_light = 2131427410;
-			
-			// aapt resource value: 0x7f0b0053
-			public const int abc_search_url_text = 2131427411;
-			
-			// aapt resource value: 0x7f0b0001
-			public const int abc_search_url_text_normal = 2131427329;
-			
-			// aapt resource value: 0x7f0b0002
-			public const int abc_search_url_text_pressed = 2131427330;
-			
-			// aapt resource value: 0x7f0b0003
-			public const int abc_search_url_text_selected = 2131427331;
-			
-			// aapt resource value: 0x7f0b0054
-			public const int abc_secondary_text_material_dark = 2131427412;
-			
-			// aapt resource value: 0x7f0b0055
-			public const int abc_secondary_text_material_light = 2131427413;
-			
-			// aapt resource value: 0x7f0b0056
-			public const int abc_tint_btn_checkable = 2131427414;
-			
-			// aapt resource value: 0x7f0b0057
-			public const int abc_tint_default = 2131427415;
-			
-			// aapt resource value: 0x7f0b0058
-			public const int abc_tint_edittext = 2131427416;
-			
-			// aapt resource value: 0x7f0b0059
-			public const int abc_tint_seek_thumb = 2131427417;
-			
-			// aapt resource value: 0x7f0b005a
-			public const int abc_tint_spinner = 2131427418;
-			
-			// aapt resource value: 0x7f0b005b
-			public const int abc_tint_switch_track = 2131427419;
-			
-			// aapt resource value: 0x7f0b0004
-			public const int accent_material_dark = 2131427332;
-			
-			// aapt resource value: 0x7f0b0005
-			public const int accent_material_light = 2131427333;
-			
-			// aapt resource value: 0x7f0b0006
-			public const int background_floating_material_dark = 2131427334;
-			
-			// aapt resource value: 0x7f0b0007
-			public const int background_floating_material_light = 2131427335;
-			
-			// aapt resource value: 0x7f0b0008
-			public const int background_material_dark = 2131427336;
-			
-			// aapt resource value: 0x7f0b0009
-			public const int background_material_light = 2131427337;
-			
-			// aapt resource value: 0x7f0b000a
-			public const int bright_foreground_disabled_material_dark = 2131427338;
-			
-			// aapt resource value: 0x7f0b000b
-			public const int bright_foreground_disabled_material_light = 2131427339;
-			
-			// aapt resource value: 0x7f0b000c
-			public const int bright_foreground_inverse_material_dark = 2131427340;
-			
-			// aapt resource value: 0x7f0b000d
-			public const int bright_foreground_inverse_material_light = 2131427341;
-			
-			// aapt resource value: 0x7f0b000e
-			public const int bright_foreground_material_dark = 2131427342;
-			
-			// aapt resource value: 0x7f0b000f
-			public const int bright_foreground_material_light = 2131427343;
-			
-			// aapt resource value: 0x7f0b0010
-			public const int button_material_dark = 2131427344;
-			
-			// aapt resource value: 0x7f0b0011
-			public const int button_material_light = 2131427345;
-			
-			// aapt resource value: 0x7f0b0012
-			public const int dim_foreground_disabled_material_dark = 2131427346;
-			
-			// aapt resource value: 0x7f0b0013
-			public const int dim_foreground_disabled_material_light = 2131427347;
-			
-			// aapt resource value: 0x7f0b0014
-			public const int dim_foreground_material_dark = 2131427348;
-			
-			// aapt resource value: 0x7f0b0015
-			public const int dim_foreground_material_light = 2131427349;
-			
-			// aapt resource value: 0x7f0b0016
-			public const int error_color_material = 2131427350;
-			
-			// aapt resource value: 0x7f0b0017
-			public const int foreground_material_dark = 2131427351;
-			
-			// aapt resource value: 0x7f0b0018
-			public const int foreground_material_light = 2131427352;
-			
-			// aapt resource value: 0x7f0b0019
-			public const int highlighted_text_material_dark = 2131427353;
-			
-			// aapt resource value: 0x7f0b001a
-			public const int highlighted_text_material_light = 2131427354;
-			
-			// aapt resource value: 0x7f0b001b
-			public const int material_blue_grey_800 = 2131427355;
-			
-			// aapt resource value: 0x7f0b001c
-			public const int material_blue_grey_900 = 2131427356;
-			
-			// aapt resource value: 0x7f0b001d
-			public const int material_blue_grey_950 = 2131427357;
-			
-			// aapt resource value: 0x7f0b001e
-			public const int material_deep_teal_200 = 2131427358;
-			
-			// aapt resource value: 0x7f0b001f
-			public const int material_deep_teal_500 = 2131427359;
-			
-			// aapt resource value: 0x7f0b0020
-			public const int material_grey_100 = 2131427360;
-			
-			// aapt resource value: 0x7f0b0021
-			public const int material_grey_300 = 2131427361;
-			
-			// aapt resource value: 0x7f0b0022
-			public const int material_grey_50 = 2131427362;
-			
-			// aapt resource value: 0x7f0b0023
-			public const int material_grey_600 = 2131427363;
-			
-			// aapt resource value: 0x7f0b0024
-			public const int material_grey_800 = 2131427364;
-			
-			// aapt resource value: 0x7f0b0025
-			public const int material_grey_850 = 2131427365;
-			
-			// aapt resource value: 0x7f0b0026
-			public const int material_grey_900 = 2131427366;
-			
-			// aapt resource value: 0x7f0b003e
-			public const int material_red_500 = 2131427390;
-			
-			// aapt resource value: 0x7f0b003c
-			public const int notification_action_color_filter = 2131427388;
-			
-			// aapt resource value: 0x7f0b003d
-			public const int notification_icon_bg_color = 2131427389;
-			
-			// aapt resource value: 0x7f0b003b
-			public const int notification_material_background_media_default_color = 2131427387;
-			
-			// aapt resource value: 0x7f0b003f
-			public const int pickerview_bgColor_default = 2131427391;
-			
-			// aapt resource value: 0x7f0b0040
-			public const int pickerview_bgColor_overlay = 2131427392;
-			
-			// aapt resource value: 0x7f0b0041
-			public const int pickerview_bg_topbar = 2131427393;
-			
-			// aapt resource value: 0x7f0b0042
-			public const int pickerview_timebtn_nor = 2131427394;
-			
-			// aapt resource value: 0x7f0b0043
-			public const int pickerview_timebtn_pre = 2131427395;
-			
-			// aapt resource value: 0x7f0b0044
-			public const int pickerview_topbar_title = 2131427396;
-			
-			// aapt resource value: 0x7f0b0045
-			public const int pickerview_wheelview_textcolor_center = 2131427397;
-			
-			// aapt resource value: 0x7f0b0046
-			public const int pickerview_wheelview_textcolor_divider = 2131427398;
-			
-			// aapt resource value: 0x7f0b0047
-			public const int pickerview_wheelview_textcolor_out = 2131427399;
-			
-			// aapt resource value: 0x7f0b0027
-			public const int primary_dark_material_dark = 2131427367;
-			
-			// aapt resource value: 0x7f0b0028
-			public const int primary_dark_material_light = 2131427368;
-			
-			// aapt resource value: 0x7f0b0029
-			public const int primary_material_dark = 2131427369;
-			
-			// aapt resource value: 0x7f0b002a
-			public const int primary_material_light = 2131427370;
-			
-			// aapt resource value: 0x7f0b002b
-			public const int primary_text_default_material_dark = 2131427371;
-			
-			// aapt resource value: 0x7f0b002c
-			public const int primary_text_default_material_light = 2131427372;
-			
-			// aapt resource value: 0x7f0b002d
-			public const int primary_text_disabled_material_dark = 2131427373;
-			
-			// aapt resource value: 0x7f0b002e
-			public const int primary_text_disabled_material_light = 2131427374;
-			
-			// aapt resource value: 0x7f0b002f
-			public const int ripple_material_dark = 2131427375;
-			
-			// aapt resource value: 0x7f0b0030
-			public const int ripple_material_light = 2131427376;
-			
-			// aapt resource value: 0x7f0b0031
-			public const int secondary_text_default_material_dark = 2131427377;
-			
-			// aapt resource value: 0x7f0b0032
-			public const int secondary_text_default_material_light = 2131427378;
-			
-			// aapt resource value: 0x7f0b0033
-			public const int secondary_text_disabled_material_dark = 2131427379;
-			
-			// aapt resource value: 0x7f0b0034
-			public const int secondary_text_disabled_material_light = 2131427380;
-			
-			// aapt resource value: 0x7f0b0035
-			public const int switch_thumb_disabled_material_dark = 2131427381;
-			
-			// aapt resource value: 0x7f0b0036
-			public const int switch_thumb_disabled_material_light = 2131427382;
-			
-			// aapt resource value: 0x7f0b005c
-			public const int switch_thumb_material_dark = 2131427420;
-			
-			// aapt resource value: 0x7f0b005d
-			public const int switch_thumb_material_light = 2131427421;
-			
-			// aapt resource value: 0x7f0b0037
-			public const int switch_thumb_normal_material_dark = 2131427383;
-			
-			// aapt resource value: 0x7f0b0038
-			public const int switch_thumb_normal_material_light = 2131427384;
-			
-			// aapt resource value: 0x7f0b0039
-			public const int tooltip_background_dark = 2131427385;
-			
-			// aapt resource value: 0x7f0b003a
-			public const int tooltip_background_light = 2131427386;
-			
-			static Color()
-			{
-				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-			}
-			
-			private Color()
-			{
-			}
-		}
-		
-		public partial class Dimension
-		{
-			
-			// aapt resource value: 0x7f08000c
-			public const int abc_action_bar_content_inset_material = 2131230732;
-			
-			// aapt resource value: 0x7f08000d
-			public const int abc_action_bar_content_inset_with_nav = 2131230733;
-			
-			// aapt resource value: 0x7f080001
-			public const int abc_action_bar_default_height_material = 2131230721;
-			
-			// aapt resource value: 0x7f08000e
-			public const int abc_action_bar_default_padding_end_material = 2131230734;
-			
-			// aapt resource value: 0x7f08000f
-			public const int abc_action_bar_default_padding_start_material = 2131230735;
-			
-			// aapt resource value: 0x7f080011
-			public const int abc_action_bar_elevation_material = 2131230737;
-			
-			// aapt resource value: 0x7f080012
-			public const int abc_action_bar_icon_vertical_padding_material = 2131230738;
-			
-			// aapt resource value: 0x7f080013
-			public const int abc_action_bar_overflow_padding_end_material = 2131230739;
-			
-			// aapt resource value: 0x7f080014
-			public const int abc_action_bar_overflow_padding_start_material = 2131230740;
-			
-			// aapt resource value: 0x7f080002
-			public const int abc_action_bar_progress_bar_size = 2131230722;
-			
-			// aapt resource value: 0x7f080015
-			public const int abc_action_bar_stacked_max_height = 2131230741;
-			
-			// aapt resource value: 0x7f080016
-			public const int abc_action_bar_stacked_tab_max_width = 2131230742;
-			
-			// aapt resource value: 0x7f080017
-			public const int abc_action_bar_subtitle_bottom_margin_material = 2131230743;
-			
-			// aapt resource value: 0x7f080018
-			public const int abc_action_bar_subtitle_top_margin_material = 2131230744;
-			
-			// aapt resource value: 0x7f080019
-			public const int abc_action_button_min_height_material = 2131230745;
-			
-			// aapt resource value: 0x7f08001a
-			public const int abc_action_button_min_width_material = 2131230746;
-			
-			// aapt resource value: 0x7f08001b
-			public const int abc_action_button_min_width_overflow_material = 2131230747;
-			
-			// aapt resource value: 0x7f080000
-			public const int abc_alert_dialog_button_bar_height = 2131230720;
-			
-			// aapt resource value: 0x7f08001c
-			public const int abc_button_inset_horizontal_material = 2131230748;
-			
-			// aapt resource value: 0x7f08001d
-			public const int abc_button_inset_vertical_material = 2131230749;
-			
-			// aapt resource value: 0x7f08001e
-			public const int abc_button_padding_horizontal_material = 2131230750;
-			
-			// aapt resource value: 0x7f08001f
-			public const int abc_button_padding_vertical_material = 2131230751;
-			
-			// aapt resource value: 0x7f080020
-			public const int abc_cascading_menus_min_smallest_width = 2131230752;
-			
-			// aapt resource value: 0x7f080005
-			public const int abc_config_prefDialogWidth = 2131230725;
-			
-			// aapt resource value: 0x7f080021
-			public const int abc_control_corner_material = 2131230753;
-			
-			// aapt resource value: 0x7f080022
-			public const int abc_control_inset_material = 2131230754;
-			
-			// aapt resource value: 0x7f080023
-			public const int abc_control_padding_material = 2131230755;
-			
-			// aapt resource value: 0x7f080006
-			public const int abc_dialog_fixed_height_major = 2131230726;
-			
-			// aapt resource value: 0x7f080007
-			public const int abc_dialog_fixed_height_minor = 2131230727;
-			
-			// aapt resource value: 0x7f080008
-			public const int abc_dialog_fixed_width_major = 2131230728;
-			
-			// aapt resource value: 0x7f080009
-			public const int abc_dialog_fixed_width_minor = 2131230729;
-			
-			// aapt resource value: 0x7f080024
-			public const int abc_dialog_list_padding_bottom_no_buttons = 2131230756;
-			
-			// aapt resource value: 0x7f080025
-			public const int abc_dialog_list_padding_top_no_title = 2131230757;
-			
-			// aapt resource value: 0x7f08000a
-			public const int abc_dialog_min_width_major = 2131230730;
-			
-			// aapt resource value: 0x7f08000b
-			public const int abc_dialog_min_width_minor = 2131230731;
-			
-			// aapt resource value: 0x7f080026
-			public const int abc_dialog_padding_material = 2131230758;
-			
-			// aapt resource value: 0x7f080027
-			public const int abc_dialog_padding_top_material = 2131230759;
-			
-			// aapt resource value: 0x7f080028
-			public const int abc_dialog_title_divider_material = 2131230760;
-			
-			// aapt resource value: 0x7f080029
-			public const int abc_disabled_alpha_material_dark = 2131230761;
-			
-			// aapt resource value: 0x7f08002a
-			public const int abc_disabled_alpha_material_light = 2131230762;
-			
-			// aapt resource value: 0x7f08002b
-			public const int abc_dropdownitem_icon_width = 2131230763;
-			
-			// aapt resource value: 0x7f08002c
-			public const int abc_dropdownitem_text_padding_left = 2131230764;
-			
-			// aapt resource value: 0x7f08002d
-			public const int abc_dropdownitem_text_padding_right = 2131230765;
-			
-			// aapt resource value: 0x7f08002e
-			public const int abc_edit_text_inset_bottom_material = 2131230766;
-			
-			// aapt resource value: 0x7f08002f
-			public const int abc_edit_text_inset_horizontal_material = 2131230767;
-			
-			// aapt resource value: 0x7f080030
-			public const int abc_edit_text_inset_top_material = 2131230768;
-			
-			// aapt resource value: 0x7f080031
-			public const int abc_floating_window_z = 2131230769;
-			
-			// aapt resource value: 0x7f080032
-			public const int abc_list_item_padding_horizontal_material = 2131230770;
-			
-			// aapt resource value: 0x7f080033
-			public const int abc_panel_menu_list_width = 2131230771;
-			
-			// aapt resource value: 0x7f080034
-			public const int abc_progress_bar_height_material = 2131230772;
-			
-			// aapt resource value: 0x7f080035
-			public const int abc_search_view_preferred_height = 2131230773;
-			
-			// aapt resource value: 0x7f080036
-			public const int abc_search_view_preferred_width = 2131230774;
-			
-			// aapt resource value: 0x7f080037
-			public const int abc_seekbar_track_background_height_material = 2131230775;
-			
-			// aapt resource value: 0x7f080038
-			public const int abc_seekbar_track_progress_height_material = 2131230776;
-			
-			// aapt resource value: 0x7f080039
-			public const int abc_select_dialog_padding_start_material = 2131230777;
-			
-			// aapt resource value: 0x7f080010
-			public const int abc_switch_padding = 2131230736;
-			
-			// aapt resource value: 0x7f08003a
-			public const int abc_text_size_body_1_material = 2131230778;
-			
-			// aapt resource value: 0x7f08003b
-			public const int abc_text_size_body_2_material = 2131230779;
-			
-			// aapt resource value: 0x7f08003c
-			public const int abc_text_size_button_material = 2131230780;
-			
-			// aapt resource value: 0x7f08003d
-			public const int abc_text_size_caption_material = 2131230781;
-			
-			// aapt resource value: 0x7f08003e
-			public const int abc_text_size_display_1_material = 2131230782;
-			
-			// aapt resource value: 0x7f08003f
-			public const int abc_text_size_display_2_material = 2131230783;
-			
-			// aapt resource value: 0x7f080040
-			public const int abc_text_size_display_3_material = 2131230784;
-			
-			// aapt resource value: 0x7f080041
-			public const int abc_text_size_display_4_material = 2131230785;
-			
-			// aapt resource value: 0x7f080042
-			public const int abc_text_size_headline_material = 2131230786;
-			
-			// aapt resource value: 0x7f080043
-			public const int abc_text_size_large_material = 2131230787;
-			
-			// aapt resource value: 0x7f080044
-			public const int abc_text_size_medium_material = 2131230788;
-			
-			// aapt resource value: 0x7f080045
-			public const int abc_text_size_menu_header_material = 2131230789;
-			
-			// aapt resource value: 0x7f080046
-			public const int abc_text_size_menu_material = 2131230790;
-			
-			// aapt resource value: 0x7f080047
-			public const int abc_text_size_small_material = 2131230791;
-			
-			// aapt resource value: 0x7f080048
-			public const int abc_text_size_subhead_material = 2131230792;
-			
-			// aapt resource value: 0x7f080003
-			public const int abc_text_size_subtitle_material_toolbar = 2131230723;
-			
-			// aapt resource value: 0x7f080049
-			public const int abc_text_size_title_material = 2131230793;
-			
-			// aapt resource value: 0x7f080004
-			public const int abc_text_size_title_material_toolbar = 2131230724;
-			
-			// aapt resource value: 0x7f08005f
-			public const int compat_button_inset_horizontal_material = 2131230815;
-			
-			// aapt resource value: 0x7f080060
-			public const int compat_button_inset_vertical_material = 2131230816;
-			
-			// aapt resource value: 0x7f080061
-			public const int compat_button_padding_horizontal_material = 2131230817;
-			
-			// aapt resource value: 0x7f080062
-			public const int compat_button_padding_vertical_material = 2131230818;
-			
-			// aapt resource value: 0x7f080063
-			public const int compat_control_corner_material = 2131230819;
-			
-			// aapt resource value: 0x7f08004a
-			public const int disabled_alpha_material_dark = 2131230794;
-			
-			// aapt resource value: 0x7f08004b
-			public const int disabled_alpha_material_light = 2131230795;
-			
-			// aapt resource value: 0x7f080070
-			public const int fingerprint_icon_size = 2131230832;
-			
-			// aapt resource value: 0x7f08006f
-			public const int fingerprint_status_layout_margin_vertical = 2131230831;
-			
-			// aapt resource value: 0x7f08004c
-			public const int highlight_alpha_material_colored = 2131230796;
-			
-			// aapt resource value: 0x7f08004d
-			public const int highlight_alpha_material_dark = 2131230797;
-			
-			// aapt resource value: 0x7f08004e
-			public const int highlight_alpha_material_light = 2131230798;
-			
-			// aapt resource value: 0x7f08004f
-			public const int hint_alpha_material_dark = 2131230799;
-			
-			// aapt resource value: 0x7f080050
-			public const int hint_alpha_material_light = 2131230800;
-			
-			// aapt resource value: 0x7f080051
-			public const int hint_pressed_alpha_material_dark = 2131230801;
-			
-			// aapt resource value: 0x7f080052
-			public const int hint_pressed_alpha_material_light = 2131230802;
-			
-			// aapt resource value: 0x7f080064
-			public const int notification_action_icon_size = 2131230820;
-			
-			// aapt resource value: 0x7f080065
-			public const int notification_action_text_size = 2131230821;
-			
-			// aapt resource value: 0x7f080066
-			public const int notification_big_circle_margin = 2131230822;
-			
-			// aapt resource value: 0x7f08005c
-			public const int notification_content_margin_start = 2131230812;
-			
-			// aapt resource value: 0x7f080067
-			public const int notification_large_icon_height = 2131230823;
-			
-			// aapt resource value: 0x7f080068
-			public const int notification_large_icon_width = 2131230824;
-			
-			// aapt resource value: 0x7f08005d
-			public const int notification_main_column_padding_top = 2131230813;
-			
-			// aapt resource value: 0x7f08005e
-			public const int notification_media_narrow_margin = 2131230814;
-			
-			// aapt resource value: 0x7f080069
-			public const int notification_right_icon_size = 2131230825;
-			
-			// aapt resource value: 0x7f08005b
-			public const int notification_right_side_padding_top = 2131230811;
-			
-			// aapt resource value: 0x7f08006a
-			public const int notification_small_icon_background_padding = 2131230826;
-			
-			// aapt resource value: 0x7f08006b
-			public const int notification_small_icon_size_as_large = 2131230827;
-			
-			// aapt resource value: 0x7f08006c
-			public const int notification_subtext_size = 2131230828;
-			
-			// aapt resource value: 0x7f08006d
-			public const int notification_top_pad = 2131230829;
-			
-			// aapt resource value: 0x7f08006e
-			public const int notification_top_pad_large_text = 2131230830;
-			
-			// aapt resource value: 0x7f080071
-			public const int pickerview_textsize = 2131230833;
-			
-			// aapt resource value: 0x7f080072
-			public const int pickerview_topbar_btn_textsize = 2131230834;
-			
-			// aapt resource value: 0x7f080073
-			public const int pickerview_topbar_height = 2131230835;
-			
-			// aapt resource value: 0x7f080074
-			public const int pickerview_topbar_padding = 2131230836;
-			
-			// aapt resource value: 0x7f080075
-			public const int pickerview_topbar_title_textsize = 2131230837;
-			
-			// aapt resource value: 0x7f080053
-			public const int tooltip_corner_radius = 2131230803;
-			
-			// aapt resource value: 0x7f080054
-			public const int tooltip_horizontal_padding = 2131230804;
-			
-			// aapt resource value: 0x7f080055
-			public const int tooltip_margin = 2131230805;
-			
-			// aapt resource value: 0x7f080056
-			public const int tooltip_precise_anchor_extra_offset = 2131230806;
-			
-			// aapt resource value: 0x7f080057
-			public const int tooltip_precise_anchor_threshold = 2131230807;
-			
-			// aapt resource value: 0x7f080058
-			public const int tooltip_vertical_padding = 2131230808;
-			
-			// aapt resource value: 0x7f080059
-			public const int tooltip_y_offset_non_touch = 2131230809;
-			
-			// aapt resource value: 0x7f08005a
-			public const int tooltip_y_offset_touch = 2131230810;
-			
-			static Dimension()
-			{
-				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-			}
-			
-			private Dimension()
-			{
-			}
-		}
-		
-		public partial class Drawable
-		{
-			
-			// aapt resource value: 0x7f020000
-			public const int abc_ab_share_pack_mtrl_alpha = 2130837504;
-			
-			// aapt resource value: 0x7f020001
-			public const int abc_action_bar_item_background_material = 2130837505;
-			
-			// aapt resource value: 0x7f020002
-			public const int abc_btn_borderless_material = 2130837506;
-			
-			// aapt resource value: 0x7f020003
-			public const int abc_btn_check_material = 2130837507;
-			
-			// aapt resource value: 0x7f020004
-			public const int abc_btn_check_to_on_mtrl_000 = 2130837508;
-			
-			// aapt resource value: 0x7f020005
-			public const int abc_btn_check_to_on_mtrl_015 = 2130837509;
-			
-			// aapt resource value: 0x7f020006
-			public const int abc_btn_colored_material = 2130837510;
-			
-			// aapt resource value: 0x7f020007
-			public const int abc_btn_default_mtrl_shape = 2130837511;
-			
-			// aapt resource value: 0x7f020008
-			public const int abc_btn_radio_material = 2130837512;
-			
-			// aapt resource value: 0x7f020009
-			public const int abc_btn_radio_to_on_mtrl_000 = 2130837513;
-			
-			// aapt resource value: 0x7f02000a
-			public const int abc_btn_radio_to_on_mtrl_015 = 2130837514;
-			
-			// aapt resource value: 0x7f02000b
-			public const int abc_btn_switch_to_on_mtrl_00001 = 2130837515;
-			
-			// aapt resource value: 0x7f02000c
-			public const int abc_btn_switch_to_on_mtrl_00012 = 2130837516;
-			
-			// aapt resource value: 0x7f02000d
-			public const int abc_cab_background_internal_bg = 2130837517;
-			
-			// aapt resource value: 0x7f02000e
-			public const int abc_cab_background_top_material = 2130837518;
-			
-			// aapt resource value: 0x7f02000f
-			public const int abc_cab_background_top_mtrl_alpha = 2130837519;
-			
-			// aapt resource value: 0x7f020010
-			public const int abc_control_background_material = 2130837520;
-			
-			// aapt resource value: 0x7f020011
-			public const int abc_dialog_material_background = 2130837521;
-			
-			// aapt resource value: 0x7f020012
-			public const int abc_edit_text_material = 2130837522;
-			
-			// aapt resource value: 0x7f020013
-			public const int abc_ic_ab_back_material = 2130837523;
-			
-			// aapt resource value: 0x7f020014
-			public const int abc_ic_arrow_drop_right_black_24dp = 2130837524;
-			
-			// aapt resource value: 0x7f020015
-			public const int abc_ic_clear_material = 2130837525;
-			
-			// aapt resource value: 0x7f020016
-			public const int abc_ic_commit_search_api_mtrl_alpha = 2130837526;
-			
-			// aapt resource value: 0x7f020017
-			public const int abc_ic_go_search_api_material = 2130837527;
-			
-			// aapt resource value: 0x7f020018
-			public const int abc_ic_menu_copy_mtrl_am_alpha = 2130837528;
-			
-			// aapt resource value: 0x7f020019
-			public const int abc_ic_menu_cut_mtrl_alpha = 2130837529;
-			
-			// aapt resource value: 0x7f02001a
-			public const int abc_ic_menu_overflow_material = 2130837530;
-			
-			// aapt resource value: 0x7f02001b
-			public const int abc_ic_menu_paste_mtrl_am_alpha = 2130837531;
-			
-			// aapt resource value: 0x7f02001c
-			public const int abc_ic_menu_selectall_mtrl_alpha = 2130837532;
-			
-			// aapt resource value: 0x7f02001d
-			public const int abc_ic_menu_share_mtrl_alpha = 2130837533;
-			
-			// aapt resource value: 0x7f02001e
-			public const int abc_ic_search_api_material = 2130837534;
-			
-			// aapt resource value: 0x7f02001f
-			public const int abc_ic_star_black_16dp = 2130837535;
-			
-			// aapt resource value: 0x7f020020
-			public const int abc_ic_star_black_36dp = 2130837536;
-			
-			// aapt resource value: 0x7f020021
-			public const int abc_ic_star_black_48dp = 2130837537;
-			
-			// aapt resource value: 0x7f020022
-			public const int abc_ic_star_half_black_16dp = 2130837538;
-			
-			// aapt resource value: 0x7f020023
-			public const int abc_ic_star_half_black_36dp = 2130837539;
-			
-			// aapt resource value: 0x7f020024
-			public const int abc_ic_star_half_black_48dp = 2130837540;
-			
-			// aapt resource value: 0x7f020025
-			public const int abc_ic_voice_search_api_material = 2130837541;
-			
-			// aapt resource value: 0x7f020026
-			public const int abc_item_background_holo_dark = 2130837542;
-			
-			// aapt resource value: 0x7f020027
-			public const int abc_item_background_holo_light = 2130837543;
-			
-			// aapt resource value: 0x7f020028
-			public const int abc_list_divider_mtrl_alpha = 2130837544;
-			
-			// aapt resource value: 0x7f020029
-			public const int abc_list_focused_holo = 2130837545;
-			
-			// aapt resource value: 0x7f02002a
-			public const int abc_list_longpressed_holo = 2130837546;
-			
-			// aapt resource value: 0x7f02002b
-			public const int abc_list_pressed_holo_dark = 2130837547;
-			
-			// aapt resource value: 0x7f02002c
-			public const int abc_list_pressed_holo_light = 2130837548;
-			
-			// aapt resource value: 0x7f02002d
-			public const int abc_list_selector_background_transition_holo_dark = 2130837549;
-			
-			// aapt resource value: 0x7f02002e
-			public const int abc_list_selector_background_transition_holo_light = 2130837550;
-			
-			// aapt resource value: 0x7f02002f
-			public const int abc_list_selector_disabled_holo_dark = 2130837551;
-			
-			// aapt resource value: 0x7f020030
-			public const int abc_list_selector_disabled_holo_light = 2130837552;
-			
-			// aapt resource value: 0x7f020031
-			public const int abc_list_selector_holo_dark = 2130837553;
-			
-			// aapt resource value: 0x7f020032
-			public const int abc_list_selector_holo_light = 2130837554;
-			
-			// aapt resource value: 0x7f020033
-			public const int abc_menu_hardkey_panel_mtrl_mult = 2130837555;
-			
-			// aapt resource value: 0x7f020034
-			public const int abc_popup_background_mtrl_mult = 2130837556;
-			
-			// aapt resource value: 0x7f020035
-			public const int abc_ratingbar_indicator_material = 2130837557;
-			
-			// aapt resource value: 0x7f020036
-			public const int abc_ratingbar_material = 2130837558;
-			
-			// aapt resource value: 0x7f020037
-			public const int abc_ratingbar_small_material = 2130837559;
-			
-			// aapt resource value: 0x7f020038
-			public const int abc_scrubber_control_off_mtrl_alpha = 2130837560;
-			
-			// aapt resource value: 0x7f020039
-			public const int abc_scrubber_control_to_pressed_mtrl_000 = 2130837561;
-			
-			// aapt resource value: 0x7f02003a
-			public const int abc_scrubber_control_to_pressed_mtrl_005 = 2130837562;
-			
-			// aapt resource value: 0x7f02003b
-			public const int abc_scrubber_primary_mtrl_alpha = 2130837563;
-			
-			// aapt resource value: 0x7f02003c
-			public const int abc_scrubber_track_mtrl_alpha = 2130837564;
-			
-			// aapt resource value: 0x7f02003d
-			public const int abc_seekbar_thumb_material = 2130837565;
-			
-			// aapt resource value: 0x7f02003e
-			public const int abc_seekbar_tick_mark_material = 2130837566;
-			
-			// aapt resource value: 0x7f02003f
-			public const int abc_seekbar_track_material = 2130837567;
-			
-			// aapt resource value: 0x7f020040
-			public const int abc_spinner_mtrl_am_alpha = 2130837568;
-			
-			// aapt resource value: 0x7f020041
-			public const int abc_spinner_textfield_background_material = 2130837569;
-			
-			// aapt resource value: 0x7f020042
-			public const int abc_switch_thumb_material = 2130837570;
-			
-			// aapt resource value: 0x7f020043
-			public const int abc_switch_track_mtrl_alpha = 2130837571;
-			
-			// aapt resource value: 0x7f020044
-			public const int abc_tab_indicator_material = 2130837572;
-			
-			// aapt resource value: 0x7f020045
-			public const int abc_tab_indicator_mtrl_alpha = 2130837573;
-			
-			// aapt resource value: 0x7f020046
-			public const int abc_text_cursor_material = 2130837574;
-			
-			// aapt resource value: 0x7f020047
-			public const int abc_text_select_handle_left_mtrl_dark = 2130837575;
-			
-			// aapt resource value: 0x7f020048
-			public const int abc_text_select_handle_left_mtrl_light = 2130837576;
-			
-			// aapt resource value: 0x7f020049
-			public const int abc_text_select_handle_middle_mtrl_dark = 2130837577;
-			
-			// aapt resource value: 0x7f02004a
-			public const int abc_text_select_handle_middle_mtrl_light = 2130837578;
-			
-			// aapt resource value: 0x7f02004b
-			public const int abc_text_select_handle_right_mtrl_dark = 2130837579;
-			
-			// aapt resource value: 0x7f02004c
-			public const int abc_text_select_handle_right_mtrl_light = 2130837580;
-			
-			// aapt resource value: 0x7f02004d
-			public const int abc_textfield_activated_mtrl_alpha = 2130837581;
-			
-			// aapt resource value: 0x7f02004e
-			public const int abc_textfield_default_mtrl_alpha = 2130837582;
-			
-			// aapt resource value: 0x7f02004f
-			public const int abc_textfield_search_activated_mtrl_alpha = 2130837583;
-			
-			// aapt resource value: 0x7f020050
-			public const int abc_textfield_search_default_mtrl_alpha = 2130837584;
-			
-			// aapt resource value: 0x7f020051
-			public const int abc_textfield_search_material = 2130837585;
-			
-			// aapt resource value: 0x7f020052
-			public const int abc_vector_test = 2130837586;
-			
-			// aapt resource value: 0x7f020053
-			public const int fingerprint_draw_off = 2130837587;
-			
-			// aapt resource value: 0x7f020054
-			public const int fingerprint_draw_off_animation = 2130837588;
-			
-			// aapt resource value: 0x7f020055
-			public const int fingerprint_draw_on = 2130837589;
-			
-			// aapt resource value: 0x7f020056
-			public const int fingerprint_draw_on_animation = 2130837590;
-			
-			// aapt resource value: 0x7f020057
-			public const int fingerprint_error = 2130837591;
-			
-			// aapt resource value: 0x7f020058
-			public const int fingerprint_error_off = 2130837592;
-			
-			// aapt resource value: 0x7f020059
-			public const int fingerprint_error_off_animation = 2130837593;
-			
-			// aapt resource value: 0x7f02005a
-			public const int fingerprint_error_on = 2130837594;
-			
-			// aapt resource value: 0x7f02005b
-			public const int fingerprint_error_on_animation = 2130837595;
-			
-			// aapt resource value: 0x7f02005c
-			public const int fingerprint_error_state_to_fp = 2130837596;
-			
-			// aapt resource value: 0x7f02005d
-			public const int fingerprint_error_state_to_fp_animation = 2130837597;
-			
-			// aapt resource value: 0x7f02005e
-			public const int fingerprint_fingerprint = 2130837598;
-			
-			// aapt resource value: 0x7f02005f
-			public const int fingerprint_fp_to_error_state = 2130837599;
-			
-			// aapt resource value: 0x7f020060
-			public const int fingerprint_fp_to_error_state_animation = 2130837600;
-			
-			// aapt resource value: 0x7f020061
-			public const int gd_btn_shape_app_b = 2130837601;
-			
-			// aapt resource value: 0x7f020062
-			public const int gd_btn_shape_app_g = 2130837602;
-			
-			// aapt resource value: 0x7f020063
-			public const int gd_btn_shape_app_w = 2130837603;
-			
-			// aapt resource value: 0x7f020064
-			public const int gd_btn_shape_shadow_w = 2130837604;
-			
-			// aapt resource value: 0x7f020065
-			public const int gd_click_effect_select = 2130837605;
-			
-			// aapt resource value: 0x7f020066
-			public const int ic_gdmap_add = 2130837606;
-			
-			// aapt resource value: 0x7f020067
-			public const int ic_gdmap_back = 2130837607;
-			
-			// aapt resource value: 0x7f020068
-			public const int ic_gdmap_delete = 2130837608;
-			
-			// aapt resource value: 0x7f020069
-			public const int ic_gdmap_home = 2130837609;
-			
-			// aapt resource value: 0x7f02006a
-			public const int ic_gdmap_mylocation = 2130837610;
-			
-			// aapt resource value: 0x7f02006b
-			public const int ic_gdmap_now = 2130837611;
-			
-			// aapt resource value: 0x7f02006c
-			public const int ic_gdmap_search = 2130837612;
-			
-			// aapt resource value: 0x7f02006d
-			public const int ic_gdmap_zoom_out = 2130837613;
-			
-			// aapt resource value: 0x7f02006e
-			public const int ic_gps_point = 2130837614;
-			
-			// aapt resource value: 0x7f02006f
-			public const int ic_seekbar_open = 2130837615;
-			
-			// aapt resource value: 0x7f020070
-			public const int ic_wd_curtain_bg = 2130837616;
-			
-			// aapt resource value: 0x7f020071
-			public const int ic_wd_seekbar_open = 2130837617;
-			
-			// aapt resource value: 0x7f020072
-			public const int Icon = 2130837618;
-			
-			// aapt resource value: 0x7f020073
-			public const int Loading = 2130837619;
-			
-			// aapt resource value: 0x7f020074
-			public const int notification_action_background = 2130837620;
-			
-			// aapt resource value: 0x7f020075
-			public const int notification_bg = 2130837621;
-			
-			// aapt resource value: 0x7f020076
-			public const int notification_bg_low = 2130837622;
-			
-			// aapt resource value: 0x7f020077
-			public const int notification_bg_low_normal = 2130837623;
-			
-			// aapt resource value: 0x7f020078
-			public const int notification_bg_low_pressed = 2130837624;
-			
-			// aapt resource value: 0x7f020079
-			public const int notification_bg_normal = 2130837625;
-			
-			// aapt resource value: 0x7f02007a
-			public const int notification_bg_normal_pressed = 2130837626;
-			
-			// aapt resource value: 0x7f02007b
-			public const int notification_icon_background = 2130837627;
-			
-			// aapt resource value: 0x7f020081
-			public const int notification_template_icon_bg = 2130837633;
-			
-			// aapt resource value: 0x7f020082
-			public const int notification_template_icon_low_bg = 2130837634;
-			
-			// aapt resource value: 0x7f02007c
-			public const int notification_tile_bg = 2130837628;
-			
-			// aapt resource value: 0x7f02007d
-			public const int notify_panel_notification_icon_bg = 2130837629;
-			
-			// aapt resource value: 0x7f02007e
-			public const int selector_pickerview_btn = 2130837630;
-			
-			// aapt resource value: 0x7f02007f
-			public const int tooltip_frame_dark = 2130837631;
-			
-			// aapt resource value: 0x7f020080
-			public const int tooltip_frame_light = 2130837632;
-			
-			static Drawable()
-			{
-				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-			}
-			
-			private Drawable()
-			{
-			}
-		}
-		
-		public partial class Id
-		{
-			
-			// aapt resource value: 0x7f0c0023
-			public const int ALT = 2131492899;
-			
-			// aapt resource value: 0x7f0c0024
-			public const int CTRL = 2131492900;
-			
-			// aapt resource value: 0x7f0c0034
-			public const int FILL = 2131492916;
-			
-			// aapt resource value: 0x7f0c0035
-			public const int FILL_STROKE = 2131492917;
-			
-			// aapt resource value: 0x7f0c0025
-			public const int FUNCTION = 2131492901;
-			
-			// aapt resource value: 0x7f0c0026
-			public const int META = 2131492902;
-			
-			// aapt resource value: 0x7f0c0027
-			public const int SHIFT = 2131492903;
-			
-			// aapt resource value: 0x7f0c0036
-			public const int STROKE = 2131492918;
-			
-			// aapt resource value: 0x7f0c0028
-			public const int SYM = 2131492904;
-			
-			// aapt resource value: 0x7f0c0095
-			public const int action0 = 2131493013;
-			
-			// aapt resource value: 0x7f0c005c
-			public const int action_bar = 2131492956;
-			
-			// aapt resource value: 0x7f0c0000
-			public const int action_bar_activity_content = 2131492864;
-			
-			// aapt resource value: 0x7f0c005b
-			public const int action_bar_container = 2131492955;
-			
-			// aapt resource value: 0x7f0c0057
-			public const int action_bar_root = 2131492951;
-			
-			// aapt resource value: 0x7f0c0001
-			public const int action_bar_spinner = 2131492865;
-			
-			// aapt resource value: 0x7f0c003b
-			public const int action_bar_subtitle = 2131492923;
-			
-			// aapt resource value: 0x7f0c003a
-			public const int action_bar_title = 2131492922;
-			
-			// aapt resource value: 0x7f0c0092
-			public const int action_container = 2131493010;
-			
-			// aapt resource value: 0x7f0c005d
-			public const int action_context_bar = 2131492957;
-			
-			// aapt resource value: 0x7f0c0099
-			public const int action_divider = 2131493017;
-			
-			// aapt resource value: 0x7f0c0093
-			public const int action_image = 2131493011;
-			
-			// aapt resource value: 0x7f0c0002
-			public const int action_menu_divider = 2131492866;
-			
-			// aapt resource value: 0x7f0c0003
-			public const int action_menu_presenter = 2131492867;
-			
-			// aapt resource value: 0x7f0c0059
-			public const int action_mode_bar = 2131492953;
-			
-			// aapt resource value: 0x7f0c0058
-			public const int action_mode_bar_stub = 2131492952;
-			
-			// aapt resource value: 0x7f0c003c
-			public const int action_mode_close_button = 2131492924;
-			
-			// aapt resource value: 0x7f0c0094
-			public const int action_text = 2131493012;
-			
-			// aapt resource value: 0x7f0c00a2
-			public const int actions = 2131493026;
-			
-			// aapt resource value: 0x7f0c003d
-			public const int activity_chooser_view_content = 2131492925;
-			
-			// aapt resource value: 0x7f0c001d
-			public const int add = 2131492893;
-			
-			// aapt resource value: 0x7f0c0050
-			public const int alertTitle = 2131492944;
-			
-			// aapt resource value: 0x7f0c0029
-			public const int always = 2131492905;
-			
-			// aapt resource value: 0x7f0c0030
-			public const int async = 2131492912;
-			
-			// aapt resource value: 0x7f0c0020
-			public const int beginning = 2131492896;
-			
-			// aapt resource value: 0x7f0c0031
-			public const int blocking = 2131492913;
-			
-			// aapt resource value: 0x7f0c002e
-			public const int bottom = 2131492910;
-			
-			// aapt resource value: 0x7f0c007d
-			public const int btnCancel = 2131492989;
-			
-			// aapt resource value: 0x7f0c007f
-			public const int btnSubmit = 2131492991;
-			
-			// aapt resource value: 0x7f0c0043
-			public const int buttonPanel = 2131492931;
-			
-			// aapt resource value: 0x7f0c0096
-			public const int cancel_action = 2131493014;
-			
-			// aapt resource value: 0x7f0c0037
-			public const int center = 2131492919;
-			
-			// aapt resource value: 0x7f0c0053
-			public const int checkbox = 2131492947;
-			
-			// aapt resource value: 0x7f0c009e
-			public const int chronometer = 2131493022;
-			
-			// aapt resource value: 0x7f0c002a
-			public const int collapseActionView = 2131492906;
-			
-			// aapt resource value: 0x7f0c0046
-			public const int contentPanel = 2131492934;
-			
-			// aapt resource value: 0x7f0c0081
-			public const int content_container = 2131492993;
-			
-			// aapt resource value: 0x7f0c004d
-			public const int custom = 2131492941;
-			
-			// aapt resource value: 0x7f0c004c
-			public const int customPanel = 2131492940;
-			
-			// aapt resource value: 0x7f0c008d
-			public const int day = 2131493005;
-			
-			// aapt resource value: 0x7f0c005a
-			public const int decor_content_parent = 2131492954;
-			
-			// aapt resource value: 0x7f0c0040
-			public const int default_activity_button = 2131492928;
-			
-			// aapt resource value: 0x7f0c006c
-			public const int description = 2131492972;
-			
-			// aapt resource value: 0x7f0c0011
-			public const int disableHome = 2131492881;
-			
-			// aapt resource value: 0x7f0c005e
-			public const int edit_query = 2131492958;
-			
-			// aapt resource value: 0x7f0c0021
-			public const int end = 2131492897;
-			
-			// aapt resource value: 0x7f0c00a4
-			public const int end_padder = 2131493028;
-			
-			// aapt resource value: 0x7f0c003e
-			public const int expand_activities_button = 2131492926;
-			
-			// aapt resource value: 0x7f0c0052
-			public const int expanded_menu = 2131492946;
-			
-			// aapt resource value: 0x7f0c006d
-			public const int fingerprint_icon = 2131492973;
-			
-			// aapt resource value: 0x7f0c0032
-			public const int forever = 2131492914;
-			
-			// aapt resource value: 0x7f0c0072
-			public const int gd_btn_back = 2131492978;
-			
-			// aapt resource value: 0x7f0c007b
-			public const int gd_btn_myLocation = 2131492987;
-			
-			// aapt resource value: 0x7f0c007a
-			public const int gd_btn_save = 2131492986;
-			
-			// aapt resource value: 0x7f0c0077
-			public const int gd_img_search_delete = 2131492983;
-			
-			// aapt resource value: 0x7f0c0079
-			public const int gd_ll_myhome = 2131492985;
-			
-			// aapt resource value: 0x7f0c0075
-			public const int gd_ll_search = 2131492981;
-			
-			// aapt resource value: 0x7f0c0074
-			public const int gd_mapView = 2131492980;
-			
-			// aapt resource value: 0x7f0c0071
-			public const int gd_rl_topview = 2131492977;
-			
-			// aapt resource value: 0x7f0c0073
-			public const int gd_tv_activity_title = 2131492979;
-			
-			// aapt resource value: 0x7f0c0078
-			public const int gd_tv_radius = 2131492984;
-			
-			// aapt resource value: 0x7f0c0076
-			public const int gd_tv_search_title = 2131492982;
-			
-			// aapt resource value: 0x7f0c006f
-			public const int hdl_gallery_rootView = 2131492975;
-			
-			// aapt resource value: 0x7f0c0070
-			public const int hdl_gallery_viewPager = 2131492976;
-			
-			// aapt resource value: 0x7f0c0083
-			public const int hdl_options1 = 2131492995;
-			
-			// aapt resource value: 0x7f0c0084
-			public const int hdl_options2 = 2131492996;
-			
-			// aapt resource value: 0x7f0c0085
-			public const int hdl_options3 = 2131492997;
-			
-			// aapt resource value: 0x7f0c0082
-			public const int hdl_pickerview_ll = 2131492994;
-			
-			// aapt resource value: 0x7f0c0004
-			public const int home = 2131492868;
-			
-			// aapt resource value: 0x7f0c0012
-			public const int homeAsUp = 2131492882;
-			
-			// aapt resource value: 0x7f0c008e
-			public const int hour = 2131493006;
-			
-			// aapt resource value: 0x7f0c0042
-			public const int icon = 2131492930;
-			
-			// aapt resource value: 0x7f0c00a3
-			public const int icon_group = 2131493027;
-			
-			// aapt resource value: 0x7f0c002b
-			public const int ifRoom = 2131492907;
-			
-			// aapt resource value: 0x7f0c003f
-			public const int image = 2131492927;
-			
-			// aapt resource value: 0x7f0c009f
-			public const int info = 2131493023;
-			
-			// aapt resource value: 0x7f0c0033
-			public const int italic = 2131492915;
-			
-			// aapt resource value: 0x7f0c0038
-			public const int left = 2131492920;
-			
-			// aapt resource value: 0x7f0c0009
-			public const int line1 = 2131492873;
-			
-			// aapt resource value: 0x7f0c000a
-			public const int line3 = 2131492874;
-			
-			// aapt resource value: 0x7f0c000e
-			public const int listMode = 2131492878;
-			
-			// aapt resource value: 0x7f0c0041
-			public const int list_item = 2131492929;
-			
-			// aapt resource value: 0x7f0c0098
-			public const int media_actions = 2131493016;
-			
-			// aapt resource value: 0x7f0c00a5
-			public const int message = 2131493029;
-			
-			// aapt resource value: 0x7f0c0022
-			public const int middle = 2131492898;
-			
-			// aapt resource value: 0x7f0c008f
-			public const int min = 2131493007;
-			
-			// aapt resource value: 0x7f0c008c
-			public const int month = 2131493004;
-			
-			// aapt resource value: 0x7f0c0018
-			public const int multiply = 2131492888;
-			
-			// aapt resource value: 0x7f0c0091
-			public const int myButton = 2131493009;
-			
-			// aapt resource value: 0x7f0c002c
-			public const int never = 2131492908;
-			
-			// aapt resource value: 0x7f0c0013
-			public const int none = 2131492883;
-			
-			// aapt resource value: 0x7f0c000f
-			public const int normal = 2131492879;
-			
-			// aapt resource value: 0x7f0c00a1
-			public const int notification_background = 2131493025;
-			
-			// aapt resource value: 0x7f0c009b
-			public const int notification_main_column = 2131493019;
-			
-			// aapt resource value: 0x7f0c009a
-			public const int notification_main_column_container = 2131493018;
-			
-			// aapt resource value: 0x7f0c0087
-			public const int options1 = 2131492999;
-			
-			// aapt resource value: 0x7f0c0088
-			public const int options2 = 2131493000;
-			
-			// aapt resource value: 0x7f0c0089
-			public const int options3 = 2131493001;
-			
-			// aapt resource value: 0x7f0c0086
-			public const int optionspicker = 2131492998;
-			
-			// aapt resource value: 0x7f0c0080
-			public const int outmost_container = 2131492992;
-			
-			// aapt resource value: 0x7f0c0045
-			public const int parentPanel = 2131492933;
-			
-			// aapt resource value: 0x7f0c0005
-			public const int progress_circular = 2131492869;
-			
-			// aapt resource value: 0x7f0c0006
-			public const int progress_horizontal = 2131492870;
-			
-			// aapt resource value: 0x7f0c0055
-			public const int radio = 2131492949;
-			
-			// aapt resource value: 0x7f0c0039
-			public const int right = 2131492921;
-			
-			// aapt resource value: 0x7f0c00a0
-			public const int right_icon = 2131493024;
-			
-			// aapt resource value: 0x7f0c009c
-			public const int right_side = 2131493020;
-			
-			// aapt resource value: 0x7f0c007c
-			public const int rv_topbar = 2131492988;
-			
-			// aapt resource value: 0x7f0c0019
-			public const int screen = 2131492889;
-			
-			// aapt resource value: 0x7f0c004b
-			public const int scrollIndicatorDown = 2131492939;
-			
-			// aapt resource value: 0x7f0c0047
-			public const int scrollIndicatorUp = 2131492935;
-			
-			// aapt resource value: 0x7f0c0048
-			public const int scrollView = 2131492936;
-			
-			// aapt resource value: 0x7f0c0060
-			public const int search_badge = 2131492960;
-			
-			// aapt resource value: 0x7f0c005f
-			public const int search_bar = 2131492959;
-			
-			// aapt resource value: 0x7f0c0061
-			public const int search_button = 2131492961;
-			
-			// aapt resource value: 0x7f0c0066
-			public const int search_close_btn = 2131492966;
-			
-			// aapt resource value: 0x7f0c0062
-			public const int search_edit_frame = 2131492962;
-			
-			// aapt resource value: 0x7f0c0068
-			public const int search_go_btn = 2131492968;
-			
-			// aapt resource value: 0x7f0c0063
-			public const int search_mag_icon = 2131492963;
-			
-			// aapt resource value: 0x7f0c0064
-			public const int search_plate = 2131492964;
-			
-			// aapt resource value: 0x7f0c0065
-			public const int search_src_text = 2131492965;
-			
-			// aapt resource value: 0x7f0c0069
-			public const int search_voice_btn = 2131492969;
-			
-			// aapt resource value: 0x7f0c0090
-			public const int second = 2131493008;
-			
-			// aapt resource value: 0x7f0c006a
-			public const int select_dialog_listview = 2131492970;
-			
-			// aapt resource value: 0x7f0c0054
-			public const int shortcut = 2131492948;
-			
-			// aapt resource value: 0x7f0c0014
-			public const int showCustom = 2131492884;
-			
-			// aapt resource value: 0x7f0c0015
-			public const int showHome = 2131492885;
-			
-			// aapt resource value: 0x7f0c0016
-			public const int showTitle = 2131492886;
-			
-			// aapt resource value: 0x7f0c0044
-			public const int spacer = 2131492932;
-			
-			// aapt resource value: 0x7f0c0007
-			public const int split_action_bar = 2131492871;
-			
-			// aapt resource value: 0x7f0c001a
-			public const int src_atop = 2131492890;
-			
-			// aapt resource value: 0x7f0c001b
-			public const int src_in = 2131492891;
-			
-			// aapt resource value: 0x7f0c001c
-			public const int src_over = 2131492892;
-			
-			// aapt resource value: 0x7f0c006e
-			public const int status = 2131492974;
-			
-			// aapt resource value: 0x7f0c0097
-			public const int status_bar_latest_event_content = 2131493015;
-			
-			// aapt resource value: 0x7f0c0056
-			public const int submenuarrow = 2131492950;
-			
-			// aapt resource value: 0x7f0c0067
-			public const int submit_area = 2131492967;
-			
-			// aapt resource value: 0x7f0c006b
-			public const int subtitle = 2131492971;
-			
-			// aapt resource value: 0x7f0c0010
-			public const int tabMode = 2131492880;
-			
-			// aapt resource value: 0x7f0c000b
-			public const int text = 2131492875;
-			
-			// aapt resource value: 0x7f0c000c
-			public const int text2 = 2131492876;
-			
-			// aapt resource value: 0x7f0c004a
-			public const int textSpacerNoButtons = 2131492938;
-			
-			// aapt resource value: 0x7f0c0049
-			public const int textSpacerNoTitle = 2131492937;
-			
-			// aapt resource value: 0x7f0c009d
-			public const int time = 2131493021;
-			
-			// aapt resource value: 0x7f0c008a
-			public const int timepicker = 2131493002;
-			
-			// aapt resource value: 0x7f0c000d
-			public const int title = 2131492877;
-			
-			// aapt resource value: 0x7f0c0051
-			public const int titleDividerNoCustom = 2131492945;
-			
-			// aapt resource value: 0x7f0c004f
-			public const int title_template = 2131492943;
-			
-			// aapt resource value: 0x7f0c002f
-			public const int top = 2131492911;
-			
-			// aapt resource value: 0x7f0c004e
-			public const int topPanel = 2131492942;
-			
-			// aapt resource value: 0x7f0c007e
-			public const int tvTitle = 2131492990;
-			
-			// aapt resource value: 0x7f0c001e
-			public const int uniform = 2131492894;
-			
-			// aapt resource value: 0x7f0c0008
-			public const int up = 2131492872;
-			
-			// aapt resource value: 0x7f0c0017
-			public const int useLogo = 2131492887;
-			
-			// aapt resource value: 0x7f0c002d
-			public const int withText = 2131492909;
-			
-			// aapt resource value: 0x7f0c001f
-			public const int wrap_content = 2131492895;
-			
-			// aapt resource value: 0x7f0c008b
-			public const int year = 2131493003;
-			
-			static Id()
-			{
-				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-			}
-			
-			private Id()
-			{
-			}
-		}
-		
-		public partial class Integer
-		{
-			
-			// aapt resource value: 0x7f0d0000
-			public const int abc_config_activityDefaultDur = 2131558400;
-			
-			// aapt resource value: 0x7f0d0001
-			public const int abc_config_activityShortDur = 2131558401;
-			
-			// aapt resource value: 0x7f0d0005
-			public const int animation_default_duration = 2131558405;
-			
-			// aapt resource value: 0x7f0d0002
-			public const int cancel_button_image_alpha = 2131558402;
-			
-			// aapt resource value: 0x7f0d0003
-			public const int config_tooltipAnimTime = 2131558403;
-			
-			// aapt resource value: 0x7f0d0004
-			public const int status_bar_notification_info_maxnum = 2131558404;
-			
-			static Integer()
-			{
-				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-			}
-			
-			private Integer()
-			{
-			}
-		}
-		
-		public partial class Layout
-		{
-			
-			// aapt resource value: 0x7f040000
-			public const int abc_action_bar_title_item = 2130968576;
-			
-			// aapt resource value: 0x7f040001
-			public const int abc_action_bar_up_container = 2130968577;
-			
-			// aapt resource value: 0x7f040002
-			public const int abc_action_bar_view_list_nav_layout = 2130968578;
-			
-			// aapt resource value: 0x7f040003
-			public const int abc_action_menu_item_layout = 2130968579;
-			
-			// aapt resource value: 0x7f040004
-			public const int abc_action_menu_layout = 2130968580;
-			
-			// aapt resource value: 0x7f040005
-			public const int abc_action_mode_bar = 2130968581;
-			
-			// aapt resource value: 0x7f040006
-			public const int abc_action_mode_close_item_material = 2130968582;
-			
-			// aapt resource value: 0x7f040007
-			public const int abc_activity_chooser_view = 2130968583;
-			
-			// aapt resource value: 0x7f040008
-			public const int abc_activity_chooser_view_list_item = 2130968584;
-			
-			// aapt resource value: 0x7f040009
-			public const int abc_alert_dialog_button_bar_material = 2130968585;
-			
-			// aapt resource value: 0x7f04000a
-			public const int abc_alert_dialog_material = 2130968586;
-			
-			// aapt resource value: 0x7f04000b
-			public const int abc_alert_dialog_title_material = 2130968587;
-			
-			// aapt resource value: 0x7f04000c
-			public const int abc_dialog_title_material = 2130968588;
-			
-			// aapt resource value: 0x7f04000d
-			public const int abc_expanded_menu_layout = 2130968589;
-			
-			// aapt resource value: 0x7f04000e
-			public const int abc_list_menu_item_checkbox = 2130968590;
-			
-			// aapt resource value: 0x7f04000f
-			public const int abc_list_menu_item_icon = 2130968591;
-			
-			// aapt resource value: 0x7f040010
-			public const int abc_list_menu_item_layout = 2130968592;
-			
-			// aapt resource value: 0x7f040011
-			public const int abc_list_menu_item_radio = 2130968593;
-			
-			// aapt resource value: 0x7f040012
-			public const int abc_popup_menu_header_item_layout = 2130968594;
-			
-			// aapt resource value: 0x7f040013
-			public const int abc_popup_menu_item_layout = 2130968595;
-			
-			// aapt resource value: 0x7f040014
-			public const int abc_screen_content_include = 2130968596;
-			
-			// aapt resource value: 0x7f040015
-			public const int abc_screen_simple = 2130968597;
-			
-			// aapt resource value: 0x7f040016
-			public const int abc_screen_simple_overlay_action_mode = 2130968598;
-			
-			// aapt resource value: 0x7f040017
-			public const int abc_screen_toolbar = 2130968599;
-			
-			// aapt resource value: 0x7f040018
-			public const int abc_search_dropdown_item_icons_2line = 2130968600;
-			
-			// aapt resource value: 0x7f040019
-			public const int abc_search_view = 2130968601;
-			
-			// aapt resource value: 0x7f04001a
-			public const int abc_select_dialog_material = 2130968602;
-			
-			// aapt resource value: 0x7f04001b
-			public const int biometric_prompt_dialog_content = 2130968603;
-			
-			// aapt resource value: 0x7f04001c
-			public const int hdl_gallery_banner_view_layout = 2130968604;
-			
-			// aapt resource value: 0x7f04001d
-			public const int hdl_widget_activity_crop_image = 2130968605;
-			
-			// aapt resource value: 0x7f04001e
-			public const int hdl_widget_activity_geofence_round = 2130968606;
-			
-			// aapt resource value: 0x7f04001f
-			public const int hdl_widget_include_pickerview_topbar = 2130968607;
-			
-			// aapt resource value: 0x7f040020
-			public const int hdl_widget_layout_basepickerview = 2130968608;
-			
-			// aapt resource value: 0x7f040021
-			public const int hdl_widget_pickerview = 2130968609;
-			
-			// aapt resource value: 0x7f040022
-			public const int hdl_widget_pickerview_options = 2130968610;
-			
-			// aapt resource value: 0x7f040023
-			public const int hdl_widget_pickerview_time = 2130968611;
-			
-			// aapt resource value: 0x7f040024
-			public const int Main = 2130968612;
-			
-			// aapt resource value: 0x7f040025
-			public const int notification_action = 2130968613;
-			
-			// aapt resource value: 0x7f040026
-			public const int notification_action_tombstone = 2130968614;
-			
-			// aapt resource value: 0x7f040027
-			public const int notification_media_action = 2130968615;
-			
-			// aapt resource value: 0x7f040028
-			public const int notification_media_cancel_action = 2130968616;
-			
-			// aapt resource value: 0x7f040029
-			public const int notification_template_big_media = 2130968617;
-			
-			// aapt resource value: 0x7f04002a
-			public const int notification_template_big_media_custom = 2130968618;
-			
-			// aapt resource value: 0x7f04002b
-			public const int notification_template_big_media_narrow = 2130968619;
-			
-			// aapt resource value: 0x7f04002c
-			public const int notification_template_big_media_narrow_custom = 2130968620;
-			
-			// aapt resource value: 0x7f04002d
-			public const int notification_template_custom_big = 2130968621;
-			
-			// aapt resource value: 0x7f04002e
-			public const int notification_template_icon_group = 2130968622;
-			
-			// aapt resource value: 0x7f04002f
-			public const int notification_template_lines_media = 2130968623;
-			
-			// aapt resource value: 0x7f040030
-			public const int notification_template_media = 2130968624;
-			
-			// aapt resource value: 0x7f040031
-			public const int notification_template_media_custom = 2130968625;
-			
-			// aapt resource value: 0x7f040032
-			public const int notification_template_part_chronometer = 2130968626;
-			
-			// aapt resource value: 0x7f040033
-			public const int notification_template_part_time = 2130968627;
-			
-			// aapt resource value: 0x7f040034
-			public const int select_dialog_item_material = 2130968628;
-			
-			// aapt resource value: 0x7f040035
-			public const int select_dialog_multichoice_material = 2130968629;
-			
-			// aapt resource value: 0x7f040036
-			public const int select_dialog_singlechoice_material = 2130968630;
-			
-			// aapt resource value: 0x7f040037
-			public const int support_simple_spinner_dropdown_item = 2130968631;
-			
-			// aapt resource value: 0x7f040038
-			public const int tooltip = 2130968632;
-			
-			static Layout()
-			{
-				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-			}
-			
-			private Layout()
-			{
-			}
-		}
-		
-		public partial class Mipmap
-		{
-			
-			// aapt resource value: 0x7f030000
-			public const int Icon = 2130903040;
-			
-			static Mipmap()
-			{
-				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-			}
-			
-			private Mipmap()
-			{
-			}
-		}
-		
-		public partial class String
-		{
-			
-			// aapt resource value: 0x7f070000
-			public const int abc_action_bar_home_description = 2131165184;
-			
-			// aapt resource value: 0x7f070001
-			public const int abc_action_bar_home_description_format = 2131165185;
-			
-			// aapt resource value: 0x7f070002
-			public const int abc_action_bar_home_subtitle_description_format = 2131165186;
-			
-			// aapt resource value: 0x7f070003
-			public const int abc_action_bar_up_description = 2131165187;
-			
-			// aapt resource value: 0x7f070004
-			public const int abc_action_menu_overflow_description = 2131165188;
-			
-			// aapt resource value: 0x7f070005
-			public const int abc_action_mode_done = 2131165189;
-			
-			// aapt resource value: 0x7f070006
-			public const int abc_activity_chooser_view_see_all = 2131165190;
-			
-			// aapt resource value: 0x7f070007
-			public const int abc_activitychooserview_choose_application = 2131165191;
-			
-			// aapt resource value: 0x7f070008
-			public const int abc_capital_off = 2131165192;
-			
-			// aapt resource value: 0x7f070009
-			public const int abc_capital_on = 2131165193;
-			
-			// aapt resource value: 0x7f070015
-			public const int abc_font_family_body_1_material = 2131165205;
-			
-			// aapt resource value: 0x7f070016
-			public const int abc_font_family_body_2_material = 2131165206;
-			
-			// aapt resource value: 0x7f070017
-			public const int abc_font_family_button_material = 2131165207;
-			
-			// aapt resource value: 0x7f070018
-			public const int abc_font_family_caption_material = 2131165208;
-			
-			// aapt resource value: 0x7f070019
-			public const int abc_font_family_display_1_material = 2131165209;
-			
-			// aapt resource value: 0x7f07001a
-			public const int abc_font_family_display_2_material = 2131165210;
-			
-			// aapt resource value: 0x7f07001b
-			public const int abc_font_family_display_3_material = 2131165211;
-			
-			// aapt resource value: 0x7f07001c
-			public const int abc_font_family_display_4_material = 2131165212;
-			
-			// aapt resource value: 0x7f07001d
-			public const int abc_font_family_headline_material = 2131165213;
-			
-			// aapt resource value: 0x7f07001e
-			public const int abc_font_family_menu_material = 2131165214;
-			
-			// aapt resource value: 0x7f07001f
-			public const int abc_font_family_subhead_material = 2131165215;
-			
-			// aapt resource value: 0x7f070020
-			public const int abc_font_family_title_material = 2131165216;
-			
-			// aapt resource value: 0x7f07000a
-			public const int abc_search_hint = 2131165194;
-			
-			// aapt resource value: 0x7f07000b
-			public const int abc_searchview_description_clear = 2131165195;
-			
-			// aapt resource value: 0x7f07000c
-			public const int abc_searchview_description_query = 2131165196;
-			
-			// aapt resource value: 0x7f07000d
-			public const int abc_searchview_description_search = 2131165197;
-			
-			// aapt resource value: 0x7f07000e
-			public const int abc_searchview_description_submit = 2131165198;
-			
-			// aapt resource value: 0x7f07000f
-			public const int abc_searchview_description_voice = 2131165199;
-			
-			// aapt resource value: 0x7f070010
-			public const int abc_shareactionprovider_share_with = 2131165200;
-			
-			// aapt resource value: 0x7f070011
-			public const int abc_shareactionprovider_share_with_application = 2131165201;
-			
-			// aapt resource value: 0x7f070012
-			public const int abc_toolbar_collapse_description = 2131165202;
-			
-			// aapt resource value: 0x7f070023
-			public const int app_name = 2131165219;
-			
-			// aapt resource value: 0x7f070024
-			public const int gd_activity_title = 2131165220;
-			
-			// aapt resource value: 0x7f070025
-			public const int gd_cancel = 2131165221;
-			
-			// aapt resource value: 0x7f070026
-			public const int gd_myhome = 2131165222;
-			
-			// aapt resource value: 0x7f070027
-			public const int gd_notifyMsg = 2131165223;
-			
-			// aapt resource value: 0x7f070028
-			public const int gd_notifyTitle = 2131165224;
-			
-			// aapt resource value: 0x7f070029
-			public const int gd_save = 2131165225;
-			
-			// aapt resource value: 0x7f07002a
-			public const int gd_search_tip = 2131165226;
-			
-			// aapt resource value: 0x7f07002b
-			public const int gd_setting = 2131165227;
-			
-			// aapt resource value: 0x7f070034
-			public const int hello = 2131165236;
-			
-			// aapt resource value: 0x7f070021
-			public const int not_recognized_fingerprint_hint = 2131165217;
-			
-			// aapt resource value: 0x7f07002c
-			public const int pickerview_cancel = 2131165228;
-			
-			// aapt resource value: 0x7f07002d
-			public const int pickerview_day = 2131165229;
-			
-			// aapt resource value: 0x7f07002e
-			public const int pickerview_hours = 2131165230;
-			
-			// aapt resource value: 0x7f07002f
-			public const int pickerview_minutes = 2131165231;
-			
-			// aapt resource value: 0x7f070030
-			public const int pickerview_month = 2131165232;
-			
-			// aapt resource value: 0x7f070031
-			public const int pickerview_seconds = 2131165233;
-			
-			// aapt resource value: 0x7f070032
-			public const int pickerview_submit = 2131165234;
-			
-			// aapt resource value: 0x7f070033
-			public const int pickerview_year = 2131165235;
-			
-			// aapt resource value: 0x7f070013
-			public const int search_menu_title = 2131165203;
-			
-			// aapt resource value: 0x7f070014
-			public const int status_bar_notification_info_overflow = 2131165204;
-			
-			// aapt resource value: 0x7f070022
-			public const int touch_fingerprint_sensor_hint = 2131165218;
-			
-			static String()
-			{
-				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-			}
-			
-			private String()
-			{
-			}
-		}
-		
-		public partial class Style
-		{
-			
-			// aapt resource value: 0x7f09009d
-			public const int AlertDialog_AppCompat = 2131296413;
-			
-			// aapt resource value: 0x7f09009e
-			public const int AlertDialog_AppCompat_Light = 2131296414;
-			
-			// aapt resource value: 0x7f09009f
-			public const int Animation_AppCompat_Dialog = 2131296415;
-			
-			// aapt resource value: 0x7f0900a0
-			public const int Animation_AppCompat_DropDownUp = 2131296416;
-			
-			// aapt resource value: 0x7f0900a1
-			public const int Animation_AppCompat_Tooltip = 2131296417;
-			
-			// aapt resource value: 0x7f0900a2
-			public const int Base_AlertDialog_AppCompat = 2131296418;
-			
-			// aapt resource value: 0x7f0900a3
-			public const int Base_AlertDialog_AppCompat_Light = 2131296419;
-			
-			// aapt resource value: 0x7f0900a4
-			public const int Base_Animation_AppCompat_Dialog = 2131296420;
-			
-			// aapt resource value: 0x7f0900a5
-			public const int Base_Animation_AppCompat_DropDownUp = 2131296421;
-			
-			// aapt resource value: 0x7f0900a6
-			public const int Base_Animation_AppCompat_Tooltip = 2131296422;
-			
-			// aapt resource value: 0x7f0900a7
-			public const int Base_DialogWindowTitle_AppCompat = 2131296423;
-			
-			// aapt resource value: 0x7f0900a8
-			public const int Base_DialogWindowTitleBackground_AppCompat = 2131296424;
-			
-			// aapt resource value: 0x7f090039
-			public const int Base_TextAppearance_AppCompat = 2131296313;
-			
-			// aapt resource value: 0x7f09003a
-			public const int Base_TextAppearance_AppCompat_Body1 = 2131296314;
-			
-			// aapt resource value: 0x7f09003b
-			public const int Base_TextAppearance_AppCompat_Body2 = 2131296315;
-			
-			// aapt resource value: 0x7f090027
-			public const int Base_TextAppearance_AppCompat_Button = 2131296295;
-			
-			// aapt resource value: 0x7f09003c
-			public const int Base_TextAppearance_AppCompat_Caption = 2131296316;
-			
-			// aapt resource value: 0x7f09003d
-			public const int Base_TextAppearance_AppCompat_Display1 = 2131296317;
-			
-			// aapt resource value: 0x7f09003e
-			public const int Base_TextAppearance_AppCompat_Display2 = 2131296318;
-			
-			// aapt resource value: 0x7f09003f
-			public const int Base_TextAppearance_AppCompat_Display3 = 2131296319;
-			
-			// aapt resource value: 0x7f090040
-			public const int Base_TextAppearance_AppCompat_Display4 = 2131296320;
-			
-			// aapt resource value: 0x7f090041
-			public const int Base_TextAppearance_AppCompat_Headline = 2131296321;
-			
-			// aapt resource value: 0x7f09000b
-			public const int Base_TextAppearance_AppCompat_Inverse = 2131296267;
-			
-			// aapt resource value: 0x7f090042
-			public const int Base_TextAppearance_AppCompat_Large = 2131296322;
-			
-			// aapt resource value: 0x7f09000c
-			public const int Base_TextAppearance_AppCompat_Large_Inverse = 2131296268;
-			
-			// aapt resource value: 0x7f090043
-			public const int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 2131296323;
-			
-			// aapt resource value: 0x7f090044
-			public const int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 2131296324;
-			
-			// aapt resource value: 0x7f090045
-			public const int Base_TextAppearance_AppCompat_Medium = 2131296325;
-			
-			// aapt resource value: 0x7f09000d
-			public const int Base_TextAppearance_AppCompat_Medium_Inverse = 2131296269;
-			
-			// aapt resource value: 0x7f090046
-			public const int Base_TextAppearance_AppCompat_Menu = 2131296326;
-			
-			// aapt resource value: 0x7f0900a9
-			public const int Base_TextAppearance_AppCompat_SearchResult = 2131296425;
-			
-			// aapt resource value: 0x7f090047
-			public const int Base_TextAppearance_AppCompat_SearchResult_Subtitle = 2131296327;
-			
-			// aapt resource value: 0x7f090048
-			public const int Base_TextAppearance_AppCompat_SearchResult_Title = 2131296328;
-			
-			// aapt resource value: 0x7f090049
-			public const int Base_TextAppearance_AppCompat_Small = 2131296329;
-			
-			// aapt resource value: 0x7f09000e
-			public const int Base_TextAppearance_AppCompat_Small_Inverse = 2131296270;
-			
-			// aapt resource value: 0x7f09004a
-			public const int Base_TextAppearance_AppCompat_Subhead = 2131296330;
-			
-			// aapt resource value: 0x7f09000f
-			public const int Base_TextAppearance_AppCompat_Subhead_Inverse = 2131296271;
-			
-			// aapt resource value: 0x7f09004b
-			public const int Base_TextAppearance_AppCompat_Title = 2131296331;
-			
-			// aapt resource value: 0x7f090010
-			public const int Base_TextAppearance_AppCompat_Title_Inverse = 2131296272;
-			
-			// aapt resource value: 0x7f0900aa
-			public const int Base_TextAppearance_AppCompat_Tooltip = 2131296426;
-			
-			// aapt resource value: 0x7f09008e
-			public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Menu = 2131296398;
-			
-			// aapt resource value: 0x7f09004c
-			public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 2131296332;
-			
-			// aapt resource value: 0x7f09004d
-			public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 2131296333;
-			
-			// aapt resource value: 0x7f09004e
-			public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Title = 2131296334;
-			
-			// aapt resource value: 0x7f09004f
-			public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 2131296335;
-			
-			// aapt resource value: 0x7f090050
-			public const int Base_TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 2131296336;
-			
-			// aapt resource value: 0x7f090051
-			public const int Base_TextAppearance_AppCompat_Widget_ActionMode_Title = 2131296337;
-			
-			// aapt resource value: 0x7f090052
-			public const int Base_TextAppearance_AppCompat_Widget_Button = 2131296338;
-			
-			// aapt resource value: 0x7f090095
-			public const int Base_TextAppearance_AppCompat_Widget_Button_Borderless_Colored = 2131296405;
-			
-			// aapt resource value: 0x7f090096
-			public const int Base_TextAppearance_AppCompat_Widget_Button_Colored = 2131296406;
-			
-			// aapt resource value: 0x7f09008f
-			public const int Base_TextAppearance_AppCompat_Widget_Button_Inverse = 2131296399;
-			
-			// aapt resource value: 0x7f0900ab
-			public const int Base_TextAppearance_AppCompat_Widget_DropDownItem = 2131296427;
-			
-			// aapt resource value: 0x7f090053
-			public const int Base_TextAppearance_AppCompat_Widget_PopupMenu_Header = 2131296339;
-			
-			// aapt resource value: 0x7f090054
-			public const int Base_TextAppearance_AppCompat_Widget_PopupMenu_Large = 2131296340;
-			
-			// aapt resource value: 0x7f090055
-			public const int Base_TextAppearance_AppCompat_Widget_PopupMenu_Small = 2131296341;
-			
-			// aapt resource value: 0x7f090056
-			public const int Base_TextAppearance_AppCompat_Widget_Switch = 2131296342;
-			
-			// aapt resource value: 0x7f090057
-			public const int Base_TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 2131296343;
-			
-			// aapt resource value: 0x7f0900ac
-			public const int Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 2131296428;
-			
-			// aapt resource value: 0x7f090058
-			public const int Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 2131296344;
-			
-			// aapt resource value: 0x7f090059
-			public const int Base_TextAppearance_Widget_AppCompat_Toolbar_Title = 2131296345;
-			
-			// aapt resource value: 0x7f09005a
-			public const int Base_Theme_AppCompat = 2131296346;
-			
-			// aapt resource value: 0x7f0900ad
-			public const int Base_Theme_AppCompat_CompactMenu = 2131296429;
-			
-			// aapt resource value: 0x7f090011
-			public const int Base_Theme_AppCompat_Dialog = 2131296273;
-			
-			// aapt resource value: 0x7f090012
-			public const int Base_Theme_AppCompat_Dialog_Alert = 2131296274;
-			
-			// aapt resource value: 0x7f0900ae
-			public const int Base_Theme_AppCompat_Dialog_FixedSize = 2131296430;
-			
-			// aapt resource value: 0x7f090013
-			public const int Base_Theme_AppCompat_Dialog_MinWidth = 2131296275;
-			
-			// aapt resource value: 0x7f090001
-			public const int Base_Theme_AppCompat_DialogWhenLarge = 2131296257;
-			
-			// aapt resource value: 0x7f09005b
-			public const int Base_Theme_AppCompat_Light = 2131296347;
-			
-			// aapt resource value: 0x7f0900af
-			public const int Base_Theme_AppCompat_Light_DarkActionBar = 2131296431;
-			
-			// aapt resource value: 0x7f090014
-			public const int Base_Theme_AppCompat_Light_Dialog = 2131296276;
-			
-			// aapt resource value: 0x7f090015
-			public const int Base_Theme_AppCompat_Light_Dialog_Alert = 2131296277;
-			
-			// aapt resource value: 0x7f0900b0
-			public const int Base_Theme_AppCompat_Light_Dialog_FixedSize = 2131296432;
-			
-			// aapt resource value: 0x7f090016
-			public const int Base_Theme_AppCompat_Light_Dialog_MinWidth = 2131296278;
-			
-			// aapt resource value: 0x7f090002
-			public const int Base_Theme_AppCompat_Light_DialogWhenLarge = 2131296258;
-			
-			// aapt resource value: 0x7f0900b1
-			public const int Base_ThemeOverlay_AppCompat = 2131296433;
-			
-			// aapt resource value: 0x7f0900b2
-			public const int Base_ThemeOverlay_AppCompat_ActionBar = 2131296434;
-			
-			// aapt resource value: 0x7f0900b3
-			public const int Base_ThemeOverlay_AppCompat_Dark = 2131296435;
-			
-			// aapt resource value: 0x7f0900b4
-			public const int Base_ThemeOverlay_AppCompat_Dark_ActionBar = 2131296436;
-			
-			// aapt resource value: 0x7f090017
-			public const int Base_ThemeOverlay_AppCompat_Dialog = 2131296279;
-			
-			// aapt resource value: 0x7f090018
-			public const int Base_ThemeOverlay_AppCompat_Dialog_Alert = 2131296280;
-			
-			// aapt resource value: 0x7f0900b5
-			public const int Base_ThemeOverlay_AppCompat_Light = 2131296437;
-			
-			// aapt resource value: 0x7f090019
-			public const int Base_V11_Theme_AppCompat_Dialog = 2131296281;
-			
-			// aapt resource value: 0x7f09001a
-			public const int Base_V11_Theme_AppCompat_Light_Dialog = 2131296282;
-			
-			// aapt resource value: 0x7f09001b
-			public const int Base_V11_ThemeOverlay_AppCompat_Dialog = 2131296283;
-			
-			// aapt resource value: 0x7f090023
-			public const int Base_V12_Widget_AppCompat_AutoCompleteTextView = 2131296291;
-			
-			// aapt resource value: 0x7f090024
-			public const int Base_V12_Widget_AppCompat_EditText = 2131296292;
-			
-			// aapt resource value: 0x7f09005c
-			public const int Base_V21_Theme_AppCompat = 2131296348;
-			
-			// aapt resource value: 0x7f09005d
-			public const int Base_V21_Theme_AppCompat_Dialog = 2131296349;
-			
-			// aapt resource value: 0x7f09005e
-			public const int Base_V21_Theme_AppCompat_Light = 2131296350;
-			
-			// aapt resource value: 0x7f09005f
-			public const int Base_V21_Theme_AppCompat_Light_Dialog = 2131296351;
-			
-			// aapt resource value: 0x7f090060
-			public const int Base_V21_ThemeOverlay_AppCompat_Dialog = 2131296352;
-			
-			// aapt resource value: 0x7f09008c
-			public const int Base_V22_Theme_AppCompat = 2131296396;
-			
-			// aapt resource value: 0x7f09008d
-			public const int Base_V22_Theme_AppCompat_Light = 2131296397;
-			
-			// aapt resource value: 0x7f090090
-			public const int Base_V23_Theme_AppCompat = 2131296400;
-			
-			// aapt resource value: 0x7f090091
-			public const int Base_V23_Theme_AppCompat_Light = 2131296401;
-			
-			// aapt resource value: 0x7f090099
-			public const int Base_V26_Theme_AppCompat = 2131296409;
-			
-			// aapt resource value: 0x7f09009a
-			public const int Base_V26_Theme_AppCompat_Light = 2131296410;
-			
-			// aapt resource value: 0x7f09009b
-			public const int Base_V26_Widget_AppCompat_Toolbar = 2131296411;
-			
-			// aapt resource value: 0x7f0900b6
-			public const int Base_V7_Theme_AppCompat = 2131296438;
-			
-			// aapt resource value: 0x7f0900b7
-			public const int Base_V7_Theme_AppCompat_Dialog = 2131296439;
-			
-			// aapt resource value: 0x7f0900b8
-			public const int Base_V7_Theme_AppCompat_Light = 2131296440;
-			
-			// aapt resource value: 0x7f0900b9
-			public const int Base_V7_Theme_AppCompat_Light_Dialog = 2131296441;
-			
-			// aapt resource value: 0x7f0900ba
-			public const int Base_V7_ThemeOverlay_AppCompat_Dialog = 2131296442;
-			
-			// aapt resource value: 0x7f0900bb
-			public const int Base_V7_Widget_AppCompat_AutoCompleteTextView = 2131296443;
-			
-			// aapt resource value: 0x7f0900bc
-			public const int Base_V7_Widget_AppCompat_EditText = 2131296444;
-			
-			// aapt resource value: 0x7f0900bd
-			public const int Base_V7_Widget_AppCompat_Toolbar = 2131296445;
-			
-			// aapt resource value: 0x7f0900be
-			public const int Base_Widget_AppCompat_ActionBar = 2131296446;
-			
-			// aapt resource value: 0x7f0900bf
-			public const int Base_Widget_AppCompat_ActionBar_Solid = 2131296447;
-			
-			// aapt resource value: 0x7f0900c0
-			public const int Base_Widget_AppCompat_ActionBar_TabBar = 2131296448;
-			
-			// aapt resource value: 0x7f090061
-			public const int Base_Widget_AppCompat_ActionBar_TabText = 2131296353;
-			
-			// aapt resource value: 0x7f090062
-			public const int Base_Widget_AppCompat_ActionBar_TabView = 2131296354;
-			
-			// aapt resource value: 0x7f090063
-			public const int Base_Widget_AppCompat_ActionButton = 2131296355;
-			
-			// aapt resource value: 0x7f090064
-			public const int Base_Widget_AppCompat_ActionButton_CloseMode = 2131296356;
-			
-			// aapt resource value: 0x7f090065
-			public const int Base_Widget_AppCompat_ActionButton_Overflow = 2131296357;
-			
-			// aapt resource value: 0x7f0900c1
-			public const int Base_Widget_AppCompat_ActionMode = 2131296449;
-			
-			// aapt resource value: 0x7f0900c2
-			public const int Base_Widget_AppCompat_ActivityChooserView = 2131296450;
-			
-			// aapt resource value: 0x7f090025
-			public const int Base_Widget_AppCompat_AutoCompleteTextView = 2131296293;
-			
-			// aapt resource value: 0x7f090066
-			public const int Base_Widget_AppCompat_Button = 2131296358;
-			
-			// aapt resource value: 0x7f090067
-			public const int Base_Widget_AppCompat_Button_Borderless = 2131296359;
-			
-			// aapt resource value: 0x7f090068
-			public const int Base_Widget_AppCompat_Button_Borderless_Colored = 2131296360;
-			
-			// aapt resource value: 0x7f0900c3
-			public const int Base_Widget_AppCompat_Button_ButtonBar_AlertDialog = 2131296451;
-			
-			// aapt resource value: 0x7f090092
-			public const int Base_Widget_AppCompat_Button_Colored = 2131296402;
-			
-			// aapt resource value: 0x7f090069
-			public const int Base_Widget_AppCompat_Button_Small = 2131296361;
-			
-			// aapt resource value: 0x7f09006a
-			public const int Base_Widget_AppCompat_ButtonBar = 2131296362;
-			
-			// aapt resource value: 0x7f0900c4
-			public const int Base_Widget_AppCompat_ButtonBar_AlertDialog = 2131296452;
-			
-			// aapt resource value: 0x7f09006b
-			public const int Base_Widget_AppCompat_CompoundButton_CheckBox = 2131296363;
-			
-			// aapt resource value: 0x7f09006c
-			public const int Base_Widget_AppCompat_CompoundButton_RadioButton = 2131296364;
-			
-			// aapt resource value: 0x7f0900c5
-			public const int Base_Widget_AppCompat_CompoundButton_Switch = 2131296453;
-			
-			// aapt resource value: 0x7f090000
-			public const int Base_Widget_AppCompat_DrawerArrowToggle = 2131296256;
-			
-			// aapt resource value: 0x7f0900c6
-			public const int Base_Widget_AppCompat_DrawerArrowToggle_Common = 2131296454;
-			
-			// aapt resource value: 0x7f09006d
-			public const int Base_Widget_AppCompat_DropDownItem_Spinner = 2131296365;
-			
-			// aapt resource value: 0x7f090026
-			public const int Base_Widget_AppCompat_EditText = 2131296294;
-			
-			// aapt resource value: 0x7f09006e
-			public const int Base_Widget_AppCompat_ImageButton = 2131296366;
-			
-			// aapt resource value: 0x7f0900c7
-			public const int Base_Widget_AppCompat_Light_ActionBar = 2131296455;
-			
-			// aapt resource value: 0x7f0900c8
-			public const int Base_Widget_AppCompat_Light_ActionBar_Solid = 2131296456;
-			
-			// aapt resource value: 0x7f0900c9
-			public const int Base_Widget_AppCompat_Light_ActionBar_TabBar = 2131296457;
-			
-			// aapt resource value: 0x7f09006f
-			public const int Base_Widget_AppCompat_Light_ActionBar_TabText = 2131296367;
-			
-			// aapt resource value: 0x7f090070
-			public const int Base_Widget_AppCompat_Light_ActionBar_TabText_Inverse = 2131296368;
-			
-			// aapt resource value: 0x7f090071
-			public const int Base_Widget_AppCompat_Light_ActionBar_TabView = 2131296369;
-			
-			// aapt resource value: 0x7f090072
-			public const int Base_Widget_AppCompat_Light_PopupMenu = 2131296370;
-			
-			// aapt resource value: 0x7f090073
-			public const int Base_Widget_AppCompat_Light_PopupMenu_Overflow = 2131296371;
-			
-			// aapt resource value: 0x7f0900ca
-			public const int Base_Widget_AppCompat_ListMenuView = 2131296458;
-			
-			// aapt resource value: 0x7f090074
-			public const int Base_Widget_AppCompat_ListPopupWindow = 2131296372;
-			
-			// aapt resource value: 0x7f090075
-			public const int Base_Widget_AppCompat_ListView = 2131296373;
-			
-			// aapt resource value: 0x7f090076
-			public const int Base_Widget_AppCompat_ListView_DropDown = 2131296374;
-			
-			// aapt resource value: 0x7f090077
-			public const int Base_Widget_AppCompat_ListView_Menu = 2131296375;
-			
-			// aapt resource value: 0x7f090078
-			public const int Base_Widget_AppCompat_PopupMenu = 2131296376;
-			
-			// aapt resource value: 0x7f090079
-			public const int Base_Widget_AppCompat_PopupMenu_Overflow = 2131296377;
-			
-			// aapt resource value: 0x7f0900cb
-			public const int Base_Widget_AppCompat_PopupWindow = 2131296459;
-			
-			// aapt resource value: 0x7f09001c
-			public const int Base_Widget_AppCompat_ProgressBar = 2131296284;
-			
-			// aapt resource value: 0x7f09001d
-			public const int Base_Widget_AppCompat_ProgressBar_Horizontal = 2131296285;
-			
-			// aapt resource value: 0x7f09007a
-			public const int Base_Widget_AppCompat_RatingBar = 2131296378;
-			
-			// aapt resource value: 0x7f090093
-			public const int Base_Widget_AppCompat_RatingBar_Indicator = 2131296403;
-			
-			// aapt resource value: 0x7f090094
-			public const int Base_Widget_AppCompat_RatingBar_Small = 2131296404;
-			
-			// aapt resource value: 0x7f0900cc
-			public const int Base_Widget_AppCompat_SearchView = 2131296460;
-			
-			// aapt resource value: 0x7f0900cd
-			public const int Base_Widget_AppCompat_SearchView_ActionBar = 2131296461;
-			
-			// aapt resource value: 0x7f09007b
-			public const int Base_Widget_AppCompat_SeekBar = 2131296379;
-			
-			// aapt resource value: 0x7f0900ce
-			public const int Base_Widget_AppCompat_SeekBar_Discrete = 2131296462;
-			
-			// aapt resource value: 0x7f09007c
-			public const int Base_Widget_AppCompat_Spinner = 2131296380;
-			
-			// aapt resource value: 0x7f090003
-			public const int Base_Widget_AppCompat_Spinner_Underlined = 2131296259;
-			
-			// aapt resource value: 0x7f09007d
-			public const int Base_Widget_AppCompat_TextView_SpinnerItem = 2131296381;
-			
-			// aapt resource value: 0x7f09009c
-			public const int Base_Widget_AppCompat_Toolbar = 2131296412;
-			
-			// aapt resource value: 0x7f09007e
-			public const int Base_Widget_AppCompat_Toolbar_Button_Navigation = 2131296382;
-			
-			// aapt resource value: 0x7f09016c
-			public const int BottomSheetDialogAnimation = 2131296620;
-			
-			// aapt resource value: 0x7f090171
-			public const int MyTheme = 2131296625;
-			
-			// aapt resource value: 0x7f09001e
-			public const int Platform_AppCompat = 2131296286;
-			
-			// aapt resource value: 0x7f09001f
-			public const int Platform_AppCompat_Light = 2131296287;
-			
-			// aapt resource value: 0x7f09007f
-			public const int Platform_ThemeOverlay_AppCompat = 2131296383;
-			
-			// aapt resource value: 0x7f090080
-			public const int Platform_ThemeOverlay_AppCompat_Dark = 2131296384;
-			
-			// aapt resource value: 0x7f090081
-			public const int Platform_ThemeOverlay_AppCompat_Light = 2131296385;
-			
-			// aapt resource value: 0x7f090020
-			public const int Platform_V11_AppCompat = 2131296288;
-			
-			// aapt resource value: 0x7f090021
-			public const int Platform_V11_AppCompat_Light = 2131296289;
-			
-			// aapt resource value: 0x7f090028
-			public const int Platform_V14_AppCompat = 2131296296;
-			
-			// aapt resource value: 0x7f090029
-			public const int Platform_V14_AppCompat_Light = 2131296297;
-			
-			// aapt resource value: 0x7f090082
-			public const int Platform_V21_AppCompat = 2131296386;
-			
-			// aapt resource value: 0x7f090083
-			public const int Platform_V21_AppCompat_Light = 2131296387;
-			
-			// aapt resource value: 0x7f090097
-			public const int Platform_V25_AppCompat = 2131296407;
-			
-			// aapt resource value: 0x7f090098
-			public const int Platform_V25_AppCompat_Light = 2131296408;
-			
-			// aapt resource value: 0x7f090022
-			public const int Platform_Widget_AppCompat_Spinner = 2131296290;
-			
-			// aapt resource value: 0x7f09002b
-			public const int RtlOverlay_DialogWindowTitle_AppCompat = 2131296299;
-			
-			// aapt resource value: 0x7f09002c
-			public const int RtlOverlay_Widget_AppCompat_ActionBar_TitleItem = 2131296300;
-			
-			// aapt resource value: 0x7f09002d
-			public const int RtlOverlay_Widget_AppCompat_DialogTitle_Icon = 2131296301;
-			
-			// aapt resource value: 0x7f09002e
-			public const int RtlOverlay_Widget_AppCompat_PopupMenuItem = 2131296302;
-			
-			// aapt resource value: 0x7f09002f
-			public const int RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup = 2131296303;
-			
-			// aapt resource value: 0x7f090030
-			public const int RtlOverlay_Widget_AppCompat_PopupMenuItem_Text = 2131296304;
-			
-			// aapt resource value: 0x7f090031
-			public const int RtlOverlay_Widget_AppCompat_Search_DropDown = 2131296305;
-			
-			// aapt resource value: 0x7f090032
-			public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1 = 2131296306;
-			
-			// aapt resource value: 0x7f090033
-			public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2 = 2131296307;
-			
-			// aapt resource value: 0x7f090034
-			public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Query = 2131296308;
-			
-			// aapt resource value: 0x7f090035
-			public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Text = 2131296309;
-			
-			// aapt resource value: 0x7f090036
-			public const int RtlOverlay_Widget_AppCompat_SearchView_MagIcon = 2131296310;
-			
-			// aapt resource value: 0x7f090037
-			public const int RtlUnderlay_Widget_AppCompat_ActionButton = 2131296311;
-			
-			// aapt resource value: 0x7f090038
-			public const int RtlUnderlay_Widget_AppCompat_ActionButton_Overflow = 2131296312;
-			
-			// aapt resource value: 0x7f0900cf
-			public const int TextAppearance_AppCompat = 2131296463;
-			
-			// aapt resource value: 0x7f0900d0
-			public const int TextAppearance_AppCompat_Body1 = 2131296464;
-			
-			// aapt resource value: 0x7f0900d1
-			public const int TextAppearance_AppCompat_Body2 = 2131296465;
-			
-			// aapt resource value: 0x7f0900d2
-			public const int TextAppearance_AppCompat_Button = 2131296466;
-			
-			// aapt resource value: 0x7f0900d3
-			public const int TextAppearance_AppCompat_Caption = 2131296467;
-			
-			// aapt resource value: 0x7f0900d4
-			public const int TextAppearance_AppCompat_Display1 = 2131296468;
-			
-			// aapt resource value: 0x7f0900d5
-			public const int TextAppearance_AppCompat_Display2 = 2131296469;
-			
-			// aapt resource value: 0x7f0900d6
-			public const int TextAppearance_AppCompat_Display3 = 2131296470;
-			
-			// aapt resource value: 0x7f0900d7
-			public const int TextAppearance_AppCompat_Display4 = 2131296471;
-			
-			// aapt resource value: 0x7f0900d8
-			public const int TextAppearance_AppCompat_Headline = 2131296472;
-			
-			// aapt resource value: 0x7f0900d9
-			public const int TextAppearance_AppCompat_Inverse = 2131296473;
-			
-			// aapt resource value: 0x7f0900da
-			public const int TextAppearance_AppCompat_Large = 2131296474;
-			
-			// aapt resource value: 0x7f0900db
-			public const int TextAppearance_AppCompat_Large_Inverse = 2131296475;
-			
-			// aapt resource value: 0x7f0900dc
-			public const int TextAppearance_AppCompat_Light_SearchResult_Subtitle = 2131296476;
-			
-			// aapt resource value: 0x7f0900dd
-			public const int TextAppearance_AppCompat_Light_SearchResult_Title = 2131296477;
-			
-			// aapt resource value: 0x7f0900de
-			public const int TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 2131296478;
-			
-			// aapt resource value: 0x7f0900df
-			public const int TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 2131296479;
-			
-			// aapt resource value: 0x7f0900e0
-			public const int TextAppearance_AppCompat_Medium = 2131296480;
-			
-			// aapt resource value: 0x7f0900e1
-			public const int TextAppearance_AppCompat_Medium_Inverse = 2131296481;
-			
-			// aapt resource value: 0x7f0900e2
-			public const int TextAppearance_AppCompat_Menu = 2131296482;
-			
-			// aapt resource value: 0x7f090084
-			public const int TextAppearance_AppCompat_Notification = 2131296388;
-			
-			// aapt resource value: 0x7f090085
-			public const int TextAppearance_AppCompat_Notification_Info = 2131296389;
-			
-			// aapt resource value: 0x7f090086
-			public const int TextAppearance_AppCompat_Notification_Info_Media = 2131296390;
-			
-			// aapt resource value: 0x7f0900e3
-			public const int TextAppearance_AppCompat_Notification_Line2 = 2131296483;
-			
-			// aapt resource value: 0x7f0900e4
-			public const int TextAppearance_AppCompat_Notification_Line2_Media = 2131296484;
-			
-			// aapt resource value: 0x7f090087
-			public const int TextAppearance_AppCompat_Notification_Media = 2131296391;
-			
-			// aapt resource value: 0x7f090088
-			public const int TextAppearance_AppCompat_Notification_Time = 2131296392;
-			
-			// aapt resource value: 0x7f090089
-			public const int TextAppearance_AppCompat_Notification_Time_Media = 2131296393;
-			
-			// aapt resource value: 0x7f09008a
-			public const int TextAppearance_AppCompat_Notification_Title = 2131296394;
-			
-			// aapt resource value: 0x7f09008b
-			public const int TextAppearance_AppCompat_Notification_Title_Media = 2131296395;
-			
-			// aapt resource value: 0x7f0900e5
-			public const int TextAppearance_AppCompat_SearchResult_Subtitle = 2131296485;
-			
-			// aapt resource value: 0x7f0900e6
-			public const int TextAppearance_AppCompat_SearchResult_Title = 2131296486;
-			
-			// aapt resource value: 0x7f0900e7
-			public const int TextAppearance_AppCompat_Small = 2131296487;
-			
-			// aapt resource value: 0x7f0900e8
-			public const int TextAppearance_AppCompat_Small_Inverse = 2131296488;
-			
-			// aapt resource value: 0x7f0900e9
-			public const int TextAppearance_AppCompat_Subhead = 2131296489;
-			
-			// aapt resource value: 0x7f0900ea
-			public const int TextAppearance_AppCompat_Subhead_Inverse = 2131296490;
-			
-			// aapt resource value: 0x7f0900eb
-			public const int TextAppearance_AppCompat_Title = 2131296491;
-			
-			// aapt resource value: 0x7f0900ec
-			public const int TextAppearance_AppCompat_Title_Inverse = 2131296492;
-			
-			// aapt resource value: 0x7f09002a
-			public const int TextAppearance_AppCompat_Tooltip = 2131296298;
-			
-			// aapt resource value: 0x7f0900ed
-			public const int TextAppearance_AppCompat_Widget_ActionBar_Menu = 2131296493;
-			
-			// aapt resource value: 0x7f0900ee
-			public const int TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 2131296494;
-			
-			// aapt resource value: 0x7f0900ef
-			public const int TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 2131296495;
-			
-			// aapt resource value: 0x7f0900f0
-			public const int TextAppearance_AppCompat_Widget_ActionBar_Title = 2131296496;
-			
-			// aapt resource value: 0x7f0900f1
-			public const int TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 2131296497;
-			
-			// aapt resource value: 0x7f0900f2
-			public const int TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 2131296498;
-			
-			// aapt resource value: 0x7f0900f3
-			public const int TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse = 2131296499;
-			
-			// aapt resource value: 0x7f0900f4
-			public const int TextAppearance_AppCompat_Widget_ActionMode_Title = 2131296500;
-			
-			// aapt resource value: 0x7f0900f5
-			public const int TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse = 2131296501;
-			
-			// aapt resource value: 0x7f0900f6
-			public const int TextAppearance_AppCompat_Widget_Button = 2131296502;
-			
-			// aapt resource value: 0x7f0900f7
-			public const int TextAppearance_AppCompat_Widget_Button_Borderless_Colored = 2131296503;
-			
-			// aapt resource value: 0x7f0900f8
-			public const int TextAppearance_AppCompat_Widget_Button_Colored = 2131296504;
-			
-			// aapt resource value: 0x7f0900f9
-			public const int TextAppearance_AppCompat_Widget_Button_Inverse = 2131296505;
-			
-			// aapt resource value: 0x7f0900fa
-			public const int TextAppearance_AppCompat_Widget_DropDownItem = 2131296506;
-			
-			// aapt resource value: 0x7f0900fb
-			public const int TextAppearance_AppCompat_Widget_PopupMenu_Header = 2131296507;
-			
-			// aapt resource value: 0x7f0900fc
-			public const int TextAppearance_AppCompat_Widget_PopupMenu_Large = 2131296508;
-			
-			// aapt resource value: 0x7f0900fd
-			public const int TextAppearance_AppCompat_Widget_PopupMenu_Small = 2131296509;
-			
-			// aapt resource value: 0x7f0900fe
-			public const int TextAppearance_AppCompat_Widget_Switch = 2131296510;
-			
-			// aapt resource value: 0x7f0900ff
-			public const int TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 2131296511;
-			
-			// aapt resource value: 0x7f090165
-			public const int TextAppearance_Compat_Notification = 2131296613;
-			
-			// aapt resource value: 0x7f090166
-			public const int TextAppearance_Compat_Notification_Info = 2131296614;
-			
-			// aapt resource value: 0x7f090160
-			public const int TextAppearance_Compat_Notification_Info_Media = 2131296608;
-			
-			// aapt resource value: 0x7f09016b
-			public const int TextAppearance_Compat_Notification_Line2 = 2131296619;
-			
-			// aapt resource value: 0x7f090164
-			public const int TextAppearance_Compat_Notification_Line2_Media = 2131296612;
-			
-			// aapt resource value: 0x7f090161
-			public const int TextAppearance_Compat_Notification_Media = 2131296609;
-			
-			// aapt resource value: 0x7f090167
-			public const int TextAppearance_Compat_Notification_Time = 2131296615;
-			
-			// aapt resource value: 0x7f090162
-			public const int TextAppearance_Compat_Notification_Time_Media = 2131296610;
-			
-			// aapt resource value: 0x7f090168
-			public const int TextAppearance_Compat_Notification_Title = 2131296616;
-			
-			// aapt resource value: 0x7f090163
-			public const int TextAppearance_Compat_Notification_Title_Media = 2131296611;
-			
-			// aapt resource value: 0x7f090100
-			public const int TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 2131296512;
-			
-			// aapt resource value: 0x7f090101
-			public const int TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 2131296513;
-			
-			// aapt resource value: 0x7f090102
-			public const int TextAppearance_Widget_AppCompat_Toolbar_Title = 2131296514;
-			
-			// aapt resource value: 0x7f090103
-			public const int Theme_AppCompat = 2131296515;
-			
-			// aapt resource value: 0x7f090104
-			public const int Theme_AppCompat_CompactMenu = 2131296516;
-			
-			// aapt resource value: 0x7f090004
-			public const int Theme_AppCompat_DayNight = 2131296260;
-			
-			// aapt resource value: 0x7f090005
-			public const int Theme_AppCompat_DayNight_DarkActionBar = 2131296261;
-			
-			// aapt resource value: 0x7f090006
-			public const int Theme_AppCompat_DayNight_Dialog = 2131296262;
-			
-			// aapt resource value: 0x7f090007
-			public const int Theme_AppCompat_DayNight_Dialog_Alert = 2131296263;
-			
-			// aapt resource value: 0x7f090008
-			public const int Theme_AppCompat_DayNight_Dialog_MinWidth = 2131296264;
-			
-			// aapt resource value: 0x7f090009
-			public const int Theme_AppCompat_DayNight_DialogWhenLarge = 2131296265;
-			
-			// aapt resource value: 0x7f09000a
-			public const int Theme_AppCompat_DayNight_NoActionBar = 2131296266;
-			
-			// aapt resource value: 0x7f090105
-			public const int Theme_AppCompat_Dialog = 2131296517;
-			
-			// aapt resource value: 0x7f090106
-			public const int Theme_AppCompat_Dialog_Alert = 2131296518;
-			
-			// aapt resource value: 0x7f090107
-			public const int Theme_AppCompat_Dialog_MinWidth = 2131296519;
-			
-			// aapt resource value: 0x7f090108
-			public const int Theme_AppCompat_DialogWhenLarge = 2131296520;
-			
-			// aapt resource value: 0x7f090109
-			public const int Theme_AppCompat_Light = 2131296521;
-			
-			// aapt resource value: 0x7f09010a
-			public const int Theme_AppCompat_Light_DarkActionBar = 2131296522;
-			
-			// aapt resource value: 0x7f09010b
-			public const int Theme_AppCompat_Light_Dialog = 2131296523;
-			
-			// aapt resource value: 0x7f09010c
-			public const int Theme_AppCompat_Light_Dialog_Alert = 2131296524;
-			
-			// aapt resource value: 0x7f09010d
-			public const int Theme_AppCompat_Light_Dialog_MinWidth = 2131296525;
-			
-			// aapt resource value: 0x7f09010e
-			public const int Theme_AppCompat_Light_DialogWhenLarge = 2131296526;
-			
-			// aapt resource value: 0x7f09010f
-			public const int Theme_AppCompat_Light_NoActionBar = 2131296527;
-			
-			// aapt resource value: 0x7f090110
-			public const int Theme_AppCompat_NoActionBar = 2131296528;
-			
-			// aapt resource value: 0x7f09016d
-			public const int Theme_BiometricPromptDialog = 2131296621;
-			
-			// aapt resource value: 0x7f090111
-			public const int ThemeOverlay_AppCompat = 2131296529;
-			
-			// aapt resource value: 0x7f090112
-			public const int ThemeOverlay_AppCompat_ActionBar = 2131296530;
-			
-			// aapt resource value: 0x7f090113
-			public const int ThemeOverlay_AppCompat_Dark = 2131296531;
-			
-			// aapt resource value: 0x7f090114
-			public const int ThemeOverlay_AppCompat_Dark_ActionBar = 2131296532;
-			
-			// aapt resource value: 0x7f090115
-			public const int ThemeOverlay_AppCompat_Dialog = 2131296533;
-			
-			// aapt resource value: 0x7f090116
-			public const int ThemeOverlay_AppCompat_Dialog_Alert = 2131296534;
-			
-			// aapt resource value: 0x7f090117
-			public const int ThemeOverlay_AppCompat_Light = 2131296535;
-			
-			// aapt resource value: 0x7f090118
-			public const int Widget_AppCompat_ActionBar = 2131296536;
-			
-			// aapt resource value: 0x7f090119
-			public const int Widget_AppCompat_ActionBar_Solid = 2131296537;
-			
-			// aapt resource value: 0x7f09011a
-			public const int Widget_AppCompat_ActionBar_TabBar = 2131296538;
-			
-			// aapt resource value: 0x7f09011b
-			public const int Widget_AppCompat_ActionBar_TabText = 2131296539;
-			
-			// aapt resource value: 0x7f09011c
-			public const int Widget_AppCompat_ActionBar_TabView = 2131296540;
-			
-			// aapt resource value: 0x7f09011d
-			public const int Widget_AppCompat_ActionButton = 2131296541;
-			
-			// aapt resource value: 0x7f09011e
-			public const int Widget_AppCompat_ActionButton_CloseMode = 2131296542;
-			
-			// aapt resource value: 0x7f09011f
-			public const int Widget_AppCompat_ActionButton_Overflow = 2131296543;
-			
-			// aapt resource value: 0x7f090120
-			public const int Widget_AppCompat_ActionMode = 2131296544;
-			
-			// aapt resource value: 0x7f090121
-			public const int Widget_AppCompat_ActivityChooserView = 2131296545;
-			
-			// aapt resource value: 0x7f090122
-			public const int Widget_AppCompat_AutoCompleteTextView = 2131296546;
-			
-			// aapt resource value: 0x7f090123
-			public const int Widget_AppCompat_Button = 2131296547;
-			
-			// aapt resource value: 0x7f090124
-			public const int Widget_AppCompat_Button_Borderless = 2131296548;
-			
-			// aapt resource value: 0x7f090125
-			public const int Widget_AppCompat_Button_Borderless_Colored = 2131296549;
-			
-			// aapt resource value: 0x7f090126
-			public const int Widget_AppCompat_Button_ButtonBar_AlertDialog = 2131296550;
-			
-			// aapt resource value: 0x7f090127
-			public const int Widget_AppCompat_Button_Colored = 2131296551;
-			
-			// aapt resource value: 0x7f090128
-			public const int Widget_AppCompat_Button_Small = 2131296552;
-			
-			// aapt resource value: 0x7f090129
-			public const int Widget_AppCompat_ButtonBar = 2131296553;
-			
-			// aapt resource value: 0x7f09012a
-			public const int Widget_AppCompat_ButtonBar_AlertDialog = 2131296554;
-			
-			// aapt resource value: 0x7f09012b
-			public const int Widget_AppCompat_CompoundButton_CheckBox = 2131296555;
-			
-			// aapt resource value: 0x7f09012c
-			public const int Widget_AppCompat_CompoundButton_RadioButton = 2131296556;
-			
-			// aapt resource value: 0x7f09012d
-			public const int Widget_AppCompat_CompoundButton_Switch = 2131296557;
-			
-			// aapt resource value: 0x7f09012e
-			public const int Widget_AppCompat_DrawerArrowToggle = 2131296558;
-			
-			// aapt resource value: 0x7f09012f
-			public const int Widget_AppCompat_DropDownItem_Spinner = 2131296559;
-			
-			// aapt resource value: 0x7f090130
-			public const int Widget_AppCompat_EditText = 2131296560;
-			
-			// aapt resource value: 0x7f090131
-			public const int Widget_AppCompat_ImageButton = 2131296561;
-			
-			// aapt resource value: 0x7f090132
-			public const int Widget_AppCompat_Light_ActionBar = 2131296562;
-			
-			// aapt resource value: 0x7f090133
-			public const int Widget_AppCompat_Light_ActionBar_Solid = 2131296563;
-			
-			// aapt resource value: 0x7f090134
-			public const int Widget_AppCompat_Light_ActionBar_Solid_Inverse = 2131296564;
-			
-			// aapt resource value: 0x7f090135
-			public const int Widget_AppCompat_Light_ActionBar_TabBar = 2131296565;
-			
-			// aapt resource value: 0x7f090136
-			public const int Widget_AppCompat_Light_ActionBar_TabBar_Inverse = 2131296566;
-			
-			// aapt resource value: 0x7f090137
-			public const int Widget_AppCompat_Light_ActionBar_TabText = 2131296567;
-			
-			// aapt resource value: 0x7f090138
-			public const int Widget_AppCompat_Light_ActionBar_TabText_Inverse = 2131296568;
-			
-			// aapt resource value: 0x7f090139
-			public const int Widget_AppCompat_Light_ActionBar_TabView = 2131296569;
-			
-			// aapt resource value: 0x7f09013a
-			public const int Widget_AppCompat_Light_ActionBar_TabView_Inverse = 2131296570;
-			
-			// aapt resource value: 0x7f09013b
-			public const int Widget_AppCompat_Light_ActionButton = 2131296571;
-			
-			// aapt resource value: 0x7f09013c
-			public const int Widget_AppCompat_Light_ActionButton_CloseMode = 2131296572;
-			
-			// aapt resource value: 0x7f09013d
-			public const int Widget_AppCompat_Light_ActionButton_Overflow = 2131296573;
-			
-			// aapt resource value: 0x7f09013e
-			public const int Widget_AppCompat_Light_ActionMode_Inverse = 2131296574;
-			
-			// aapt resource value: 0x7f09013f
-			public const int Widget_AppCompat_Light_ActivityChooserView = 2131296575;
-			
-			// aapt resource value: 0x7f090140
-			public const int Widget_AppCompat_Light_AutoCompleteTextView = 2131296576;
-			
-			// aapt resource value: 0x7f090141
-			public const int Widget_AppCompat_Light_DropDownItem_Spinner = 2131296577;
-			
-			// aapt resource value: 0x7f090142
-			public const int Widget_AppCompat_Light_ListPopupWindow = 2131296578;
-			
-			// aapt resource value: 0x7f090143
-			public const int Widget_AppCompat_Light_ListView_DropDown = 2131296579;
-			
-			// aapt resource value: 0x7f090144
-			public const int Widget_AppCompat_Light_PopupMenu = 2131296580;
-			
-			// aapt resource value: 0x7f090145
-			public const int Widget_AppCompat_Light_PopupMenu_Overflow = 2131296581;
-			
-			// aapt resource value: 0x7f090146
-			public const int Widget_AppCompat_Light_SearchView = 2131296582;
-			
-			// aapt resource value: 0x7f090147
-			public const int Widget_AppCompat_Light_Spinner_DropDown_ActionBar = 2131296583;
-			
-			// aapt resource value: 0x7f090148
-			public const int Widget_AppCompat_ListMenuView = 2131296584;
-			
-			// aapt resource value: 0x7f090149
-			public const int Widget_AppCompat_ListPopupWindow = 2131296585;
-			
-			// aapt resource value: 0x7f09014a
-			public const int Widget_AppCompat_ListView = 2131296586;
-			
-			// aapt resource value: 0x7f09014b
-			public const int Widget_AppCompat_ListView_DropDown = 2131296587;
-			
-			// aapt resource value: 0x7f09014c
-			public const int Widget_AppCompat_ListView_Menu = 2131296588;
-			
-			// aapt resource value: 0x7f09014d
-			public const int Widget_AppCompat_PopupMenu = 2131296589;
-			
-			// aapt resource value: 0x7f09014e
-			public const int Widget_AppCompat_PopupMenu_Overflow = 2131296590;
-			
-			// aapt resource value: 0x7f09014f
-			public const int Widget_AppCompat_PopupWindow = 2131296591;
-			
-			// aapt resource value: 0x7f090150
-			public const int Widget_AppCompat_ProgressBar = 2131296592;
-			
-			// aapt resource value: 0x7f090151
-			public const int Widget_AppCompat_ProgressBar_Horizontal = 2131296593;
-			
-			// aapt resource value: 0x7f090152
-			public const int Widget_AppCompat_RatingBar = 2131296594;
-			
-			// aapt resource value: 0x7f090153
-			public const int Widget_AppCompat_RatingBar_Indicator = 2131296595;
-			
-			// aapt resource value: 0x7f090154
-			public const int Widget_AppCompat_RatingBar_Small = 2131296596;
-			
-			// aapt resource value: 0x7f090155
-			public const int Widget_AppCompat_SearchView = 2131296597;
-			
-			// aapt resource value: 0x7f090156
-			public const int Widget_AppCompat_SearchView_ActionBar = 2131296598;
-			
-			// aapt resource value: 0x7f090157
-			public const int Widget_AppCompat_SeekBar = 2131296599;
-			
-			// aapt resource value: 0x7f090158
-			public const int Widget_AppCompat_SeekBar_Discrete = 2131296600;
-			
-			// aapt resource value: 0x7f090159
-			public const int Widget_AppCompat_Spinner = 2131296601;
-			
-			// aapt resource value: 0x7f09015a
-			public const int Widget_AppCompat_Spinner_DropDown = 2131296602;
-			
-			// aapt resource value: 0x7f09015b
-			public const int Widget_AppCompat_Spinner_DropDown_ActionBar = 2131296603;
-			
-			// aapt resource value: 0x7f09015c
-			public const int Widget_AppCompat_Spinner_Underlined = 2131296604;
-			
-			// aapt resource value: 0x7f09015d
-			public const int Widget_AppCompat_TextView_SpinnerItem = 2131296605;
-			
-			// aapt resource value: 0x7f09015e
-			public const int Widget_AppCompat_Toolbar = 2131296606;
-			
-			// aapt resource value: 0x7f09015f
-			public const int Widget_AppCompat_Toolbar_Button_Navigation = 2131296607;
-			
-			// aapt resource value: 0x7f090169
-			public const int Widget_Compat_NotificationActionContainer = 2131296617;
-			
-			// aapt resource value: 0x7f09016a
-			public const int Widget_Compat_NotificationActionText = 2131296618;
-			
-			// aapt resource value: 0x7f09016e
-			public const int custom_dialog2 = 2131296622;
-			
-			// aapt resource value: 0x7f09016f
-			public const int picker_view_scale_anim = 2131296623;
-			
-			// aapt resource value: 0x7f090170
-			public const int picker_view_slide_anim = 2131296624;
-			
-			static Style()
-			{
-				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-			}
-			
-			private Style()
-			{
-			}
-		}
-		
-		public partial class Xml
-		{
-			
-			// aapt resource value: 0x7f060000
-			public const int file_paths = 2131099648;
-			
-			// aapt resource value: 0x7f060001
-			public const int hdl_filepaths = 2131099649;
-			
-			static Xml()
-			{
-				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-			}
-			
-			private Xml()
-			{
-			}
-		}
-		
-		public partial class Styleable
-		{
-			
-			public static int[] ActionBar = new int[] {
-					2130771969,
-					2130771971,
-					2130771972,
-					2130771973,
-					2130771974,
-					2130771975,
-					2130771976,
-					2130771977,
-					2130771978,
-					2130771979,
-					2130771980,
-					2130771981,
-					2130771982,
-					2130771983,
-					2130771984,
-					2130771985,
-					2130771986,
-					2130771987,
-					2130771988,
-					2130771989,
-					2130771990,
-					2130771991,
-					2130771992,
-					2130771993,
-					2130771994,
-					2130771995,
-					2130771996,
-					2130771997,
-					2130772067};
-			
-			// aapt resource value: 10
-			public const int ActionBar_background = 10;
-			
-			// aapt resource value: 12
-			public const int ActionBar_backgroundSplit = 12;
-			
-			// aapt resource value: 11
-			public const int ActionBar_backgroundStacked = 11;
-			
-			// aapt resource value: 21
-			public const int ActionBar_contentInsetEnd = 21;
-			
-			// aapt resource value: 25
-			public const int ActionBar_contentInsetEndWithActions = 25;
-			
-			// aapt resource value: 22
-			public const int ActionBar_contentInsetLeft = 22;
-			
-			// aapt resource value: 23
-			public const int ActionBar_contentInsetRight = 23;
-			
-			// aapt resource value: 20
-			public const int ActionBar_contentInsetStart = 20;
-			
-			// aapt resource value: 24
-			public const int ActionBar_contentInsetStartWithNavigation = 24;
-			
-			// aapt resource value: 13
-			public const int ActionBar_customNavigationLayout = 13;
-			
-			// aapt resource value: 3
-			public const int ActionBar_displayOptions = 3;
-			
-			// aapt resource value: 9
-			public const int ActionBar_divider = 9;
-			
-			// aapt resource value: 26
-			public const int ActionBar_elevation = 26;
-			
-			// aapt resource value: 0
-			public const int ActionBar_height = 0;
-			
-			// aapt resource value: 19
-			public const int ActionBar_hideOnContentScroll = 19;
-			
-			// aapt resource value: 28
-			public const int ActionBar_homeAsUpIndicator = 28;
-			
-			// aapt resource value: 14
-			public const int ActionBar_homeLayout = 14;
-			
-			// aapt resource value: 7
-			public const int ActionBar_icon = 7;
-			
-			// aapt resource value: 16
-			public const int ActionBar_indeterminateProgressStyle = 16;
-			
-			// aapt resource value: 18
-			public const int ActionBar_itemPadding = 18;
-			
-			// aapt resource value: 8
-			public const int ActionBar_logo = 8;
-			
-			// aapt resource value: 2
-			public const int ActionBar_navigationMode = 2;
-			
-			// aapt resource value: 27
-			public const int ActionBar_popupTheme = 27;
-			
-			// aapt resource value: 17
-			public const int ActionBar_progressBarPadding = 17;
-			
-			// aapt resource value: 15
-			public const int ActionBar_progressBarStyle = 15;
-			
-			// aapt resource value: 4
-			public const int ActionBar_subtitle = 4;
-			
-			// aapt resource value: 6
-			public const int ActionBar_subtitleTextStyle = 6;
-			
-			// aapt resource value: 1
-			public const int ActionBar_title = 1;
-			
-			// aapt resource value: 5
-			public const int ActionBar_titleTextStyle = 5;
-			
-			public static int[] ActionBarLayout = new int[] {
-					16842931};
-			
-			// aapt resource value: 0
-			public const int ActionBarLayout_android_layout_gravity = 0;
-			
-			public static int[] ActionMenuItemView = new int[] {
-					16843071};
-			
-			// aapt resource value: 0
-			public const int ActionMenuItemView_android_minWidth = 0;
-			
-			public static int[] ActionMenuView;
-			
-			public static int[] ActionMode = new int[] {
-					2130771969,
-					2130771975,
-					2130771976,
-					2130771980,
-					2130771982,
-					2130771998};
-			
-			// aapt resource value: 3
-			public const int ActionMode_background = 3;
-			
-			// aapt resource value: 4
-			public const int ActionMode_backgroundSplit = 4;
-			
-			// aapt resource value: 5
-			public const int ActionMode_closeItemLayout = 5;
-			
-			// aapt resource value: 0
-			public const int ActionMode_height = 0;
-			
-			// aapt resource value: 2
-			public const int ActionMode_subtitleTextStyle = 2;
-			
-			// aapt resource value: 1
-			public const int ActionMode_titleTextStyle = 1;
-			
-			public static int[] ActivityChooserView = new int[] {
-					2130771999,
-					2130772000};
-			
-			// aapt resource value: 1
-			public const int ActivityChooserView_expandActivityOverflowButtonDrawable = 1;
-			
-			// aapt resource value: 0
-			public const int ActivityChooserView_initialActivityCount = 0;
-			
-			public static int[] AlertDialog = new int[] {
-					16842994,
-					2130772001,
-					2130772002,
-					2130772003,
-					2130772004,
-					2130772005,
-					2130772006};
-			
-			// aapt resource value: 0
-			public const int AlertDialog_android_layout = 0;
-			
-			// aapt resource value: 1
-			public const int AlertDialog_buttonPanelSideLayout = 1;
-			
-			// aapt resource value: 5
-			public const int AlertDialog_listItemLayout = 5;
-			
-			// aapt resource value: 2
-			public const int AlertDialog_listLayout = 2;
-			
-			// aapt resource value: 3
-			public const int AlertDialog_multiChoiceItemLayout = 3;
-			
-			// aapt resource value: 6
-			public const int AlertDialog_showTitle = 6;
-			
-			// aapt resource value: 4
-			public const int AlertDialog_singleChoiceItemLayout = 4;
-			
-			public static int[] AppCompatImageView = new int[] {
-					16843033,
-					2130772007,
-					2130772008,
-					2130772009};
-			
-			// aapt resource value: 0
-			public const int AppCompatImageView_android_src = 0;
-			
-			// aapt resource value: 1
-			public const int AppCompatImageView_srcCompat = 1;
-			
-			// aapt resource value: 2
-			public const int AppCompatImageView_tint = 2;
-			
-			// aapt resource value: 3
-			public const int AppCompatImageView_tintMode = 3;
-			
-			public static int[] AppCompatSeekBar = new int[] {
-					16843074,
-					2130772010,
-					2130772011,
-					2130772012};
-			
-			// aapt resource value: 0
-			public const int AppCompatSeekBar_android_thumb = 0;
-			
-			// aapt resource value: 1
-			public const int AppCompatSeekBar_tickMark = 1;
-			
-			// aapt resource value: 2
-			public const int AppCompatSeekBar_tickMarkTint = 2;
-			
-			// aapt resource value: 3
-			public const int AppCompatSeekBar_tickMarkTintMode = 3;
-			
-			public static int[] AppCompatTextHelper = new int[] {
-					16842804,
-					16843117,
-					16843118,
-					16843119,
-					16843120,
-					16843666,
-					16843667};
-			
-			// aapt resource value: 2
-			public const int AppCompatTextHelper_android_drawableBottom = 2;
-			
-			// aapt resource value: 6
-			public const int AppCompatTextHelper_android_drawableEnd = 6;
-			
-			// aapt resource value: 3
-			public const int AppCompatTextHelper_android_drawableLeft = 3;
-			
-			// aapt resource value: 4
-			public const int AppCompatTextHelper_android_drawableRight = 4;
-			
-			// aapt resource value: 5
-			public const int AppCompatTextHelper_android_drawableStart = 5;
-			
-			// aapt resource value: 1
-			public const int AppCompatTextHelper_android_drawableTop = 1;
-			
-			// aapt resource value: 0
-			public const int AppCompatTextHelper_android_textAppearance = 0;
-			
-			public static int[] AppCompatTextView = new int[] {
-					16842804,
-					2130772013,
-					2130772014,
-					2130772015,
-					2130772016,
-					2130772017,
-					2130772018,
-					2130772019};
-			
-			// aapt resource value: 0
-			public const int AppCompatTextView_android_textAppearance = 0;
-			
-			// aapt resource value: 6
-			public const int AppCompatTextView_autoSizeMaxTextSize = 6;
-			
-			// aapt resource value: 5
-			public const int AppCompatTextView_autoSizeMinTextSize = 5;
-			
-			// aapt resource value: 4
-			public const int AppCompatTextView_autoSizePresetSizes = 4;
-			
-			// aapt resource value: 3
-			public const int AppCompatTextView_autoSizeStepGranularity = 3;
-			
-			// aapt resource value: 2
-			public const int AppCompatTextView_autoSizeTextType = 2;
-			
-			// aapt resource value: 7
-			public const int AppCompatTextView_fontFamily = 7;
-			
-			// aapt resource value: 1
-			public const int AppCompatTextView_textAllCaps = 1;
-			
-			public static int[] AppCompatTheme = new int[] {
-					16842839,
-					16842926,
-					2130772020,
-					2130772021,
-					2130772022,
-					2130772023,
-					2130772024,
-					2130772025,
-					2130772026,
-					2130772027,
-					2130772028,
-					2130772029,
-					2130772030,
-					2130772031,
-					2130772032,
-					2130772033,
-					2130772034,
-					2130772035,
-					2130772036,
-					2130772037,
-					2130772038,
-					2130772039,
-					2130772040,
-					2130772041,
-					2130772042,
-					2130772043,
-					2130772044,
-					2130772045,
-					2130772046,
-					2130772047,
-					2130772048,
-					2130772049,
-					2130772050,
-					2130772051,
-					2130772052,
-					2130772053,
-					2130772054,
-					2130772055,
-					2130772056,
-					2130772057,
-					2130772058,
-					2130772059,
-					2130772060,
-					2130772061,
-					2130772062,
-					2130772063,
-					2130772064,
-					2130772065,
-					2130772066,
-					2130772067,
-					2130772068,
-					2130772069,
-					2130772070,
-					2130772071,
-					2130772072,
-					2130772073,
-					2130772074,
-					2130772075,
-					2130772076,
-					2130772077,
-					2130772078,
-					2130772079,
-					2130772080,
-					2130772081,
-					2130772082,
-					2130772083,
-					2130772084,
-					2130772085,
-					2130772086,
-					2130772087,
-					2130772088,
-					2130772089,
-					2130772090,
-					2130772091,
-					2130772092,
-					2130772093,
-					2130772094,
-					2130772095,
-					2130772096,
-					2130772097,
-					2130772098,
-					2130772099,
-					2130772100,
-					2130772101,
-					2130772102,
-					2130772103,
-					2130772104,
-					2130772105,
-					2130772106,
-					2130772107,
-					2130772108,
-					2130772109,
-					2130772110,
-					2130772111,
-					2130772112,
-					2130772113,
-					2130772114,
-					2130772115,
-					2130772116,
-					2130772117,
-					2130772118,
-					2130772119,
-					2130772120,
-					2130772121,
-					2130772122,
-					2130772123,
-					2130772124,
-					2130772125,
-					2130772126,
-					2130772127,
-					2130772128,
-					2130772129,
-					2130772130,
-					2130772131,
-					2130772132,
-					2130772133,
-					2130772134,
-					2130772135,
-					2130772136};
-			
-			// aapt resource value: 23
-			public const int AppCompatTheme_actionBarDivider = 23;
-			
-			// aapt resource value: 24
-			public const int AppCompatTheme_actionBarItemBackground = 24;
-			
-			// aapt resource value: 17
-			public const int AppCompatTheme_actionBarPopupTheme = 17;
-			
-			// aapt resource value: 22
-			public const int AppCompatTheme_actionBarSize = 22;
-			
-			// aapt resource value: 19
-			public const int AppCompatTheme_actionBarSplitStyle = 19;
-			
-			// aapt resource value: 18
-			public const int AppCompatTheme_actionBarStyle = 18;
-			
-			// aapt resource value: 13
-			public const int AppCompatTheme_actionBarTabBarStyle = 13;
-			
-			// aapt resource value: 12
-			public const int AppCompatTheme_actionBarTabStyle = 12;
-			
-			// aapt resource value: 14
-			public const int AppCompatTheme_actionBarTabTextStyle = 14;
-			
-			// aapt resource value: 20
-			public const int AppCompatTheme_actionBarTheme = 20;
-			
-			// aapt resource value: 21
-			public const int AppCompatTheme_actionBarWidgetTheme = 21;
-			
-			// aapt resource value: 50
-			public const int AppCompatTheme_actionButtonStyle = 50;
-			
-			// aapt resource value: 46
-			public const int AppCompatTheme_actionDropDownStyle = 46;
-			
-			// aapt resource value: 25
-			public const int AppCompatTheme_actionMenuTextAppearance = 25;
-			
-			// aapt resource value: 26
-			public const int AppCompatTheme_actionMenuTextColor = 26;
-			
-			// aapt resource value: 29
-			public const int AppCompatTheme_actionModeBackground = 29;
-			
-			// aapt resource value: 28
-			public const int AppCompatTheme_actionModeCloseButtonStyle = 28;
-			
-			// aapt resource value: 31
-			public const int AppCompatTheme_actionModeCloseDrawable = 31;
-			
-			// aapt resource value: 33
-			public const int AppCompatTheme_actionModeCopyDrawable = 33;
-			
-			// aapt resource value: 32
-			public const int AppCompatTheme_actionModeCutDrawable = 32;
-			
-			// aapt resource value: 37
-			public const int AppCompatTheme_actionModeFindDrawable = 37;
-			
-			// aapt resource value: 34
-			public const int AppCompatTheme_actionModePasteDrawable = 34;
-			
-			// aapt resource value: 39
-			public const int AppCompatTheme_actionModePopupWindowStyle = 39;
-			
-			// aapt resource value: 35
-			public const int AppCompatTheme_actionModeSelectAllDrawable = 35;
-			
-			// aapt resource value: 36
-			public const int AppCompatTheme_actionModeShareDrawable = 36;
-			
-			// aapt resource value: 30
-			public const int AppCompatTheme_actionModeSplitBackground = 30;
-			
-			// aapt resource value: 27
-			public const int AppCompatTheme_actionModeStyle = 27;
-			
-			// aapt resource value: 38
-			public const int AppCompatTheme_actionModeWebSearchDrawable = 38;
-			
-			// aapt resource value: 15
-			public const int AppCompatTheme_actionOverflowButtonStyle = 15;
-			
-			// aapt resource value: 16
-			public const int AppCompatTheme_actionOverflowMenuStyle = 16;
-			
-			// aapt resource value: 58
-			public const int AppCompatTheme_activityChooserViewStyle = 58;
-			
-			// aapt resource value: 95
-			public const int AppCompatTheme_alertDialogButtonGroupStyle = 95;
-			
-			// aapt resource value: 96
-			public const int AppCompatTheme_alertDialogCenterButtons = 96;
-			
-			// aapt resource value: 94
-			public const int AppCompatTheme_alertDialogStyle = 94;
-			
-			// aapt resource value: 97
-			public const int AppCompatTheme_alertDialogTheme = 97;
-			
-			// aapt resource value: 1
-			public const int AppCompatTheme_android_windowAnimationStyle = 1;
-			
-			// aapt resource value: 0
-			public const int AppCompatTheme_android_windowIsFloating = 0;
-			
-			// aapt resource value: 102
-			public const int AppCompatTheme_autoCompleteTextViewStyle = 102;
-			
-			// aapt resource value: 55
-			public const int AppCompatTheme_borderlessButtonStyle = 55;
-			
-			// aapt resource value: 52
-			public const int AppCompatTheme_buttonBarButtonStyle = 52;
-			
-			// aapt resource value: 100
-			public const int AppCompatTheme_buttonBarNegativeButtonStyle = 100;
-			
-			// aapt resource value: 101
-			public const int AppCompatTheme_buttonBarNeutralButtonStyle = 101;
-			
-			// aapt resource value: 99
-			public const int AppCompatTheme_buttonBarPositiveButtonStyle = 99;
-			
-			// aapt resource value: 51
-			public const int AppCompatTheme_buttonBarStyle = 51;
-			
-			// aapt resource value: 103
-			public const int AppCompatTheme_buttonStyle = 103;
-			
-			// aapt resource value: 104
-			public const int AppCompatTheme_buttonStyleSmall = 104;
-			
-			// aapt resource value: 105
-			public const int AppCompatTheme_checkboxStyle = 105;
-			
-			// aapt resource value: 106
-			public const int AppCompatTheme_checkedTextViewStyle = 106;
-			
-			// aapt resource value: 86
-			public const int AppCompatTheme_colorAccent = 86;
-			
-			// aapt resource value: 93
-			public const int AppCompatTheme_colorBackgroundFloating = 93;
-			
-			// aapt resource value: 90
-			public const int AppCompatTheme_colorButtonNormal = 90;
-			
-			// aapt resource value: 88
-			public const int AppCompatTheme_colorControlActivated = 88;
-			
-			// aapt resource value: 89
-			public const int AppCompatTheme_colorControlHighlight = 89;
-			
-			// aapt resource value: 87
-			public const int AppCompatTheme_colorControlNormal = 87;
-			
-			// aapt resource value: 118
-			public const int AppCompatTheme_colorError = 118;
-			
-			// aapt resource value: 84
-			public const int AppCompatTheme_colorPrimary = 84;
-			
-			// aapt resource value: 85
-			public const int AppCompatTheme_colorPrimaryDark = 85;
-			
-			// aapt resource value: 91
-			public const int AppCompatTheme_colorSwitchThumbNormal = 91;
-			
-			// aapt resource value: 92
-			public const int AppCompatTheme_controlBackground = 92;
-			
-			// aapt resource value: 44
-			public const int AppCompatTheme_dialogPreferredPadding = 44;
-			
-			// aapt resource value: 43
-			public const int AppCompatTheme_dialogTheme = 43;
-			
-			// aapt resource value: 57
-			public const int AppCompatTheme_dividerHorizontal = 57;
-			
-			// aapt resource value: 56
-			public const int AppCompatTheme_dividerVertical = 56;
-			
-			// aapt resource value: 75
-			public const int AppCompatTheme_dropDownListViewStyle = 75;
-			
-			// aapt resource value: 47
-			public const int AppCompatTheme_dropdownListPreferredItemHeight = 47;
-			
-			// aapt resource value: 64
-			public const int AppCompatTheme_editTextBackground = 64;
-			
-			// aapt resource value: 63
-			public const int AppCompatTheme_editTextColor = 63;
-			
-			// aapt resource value: 107
-			public const int AppCompatTheme_editTextStyle = 107;
-			
-			// aapt resource value: 49
-			public const int AppCompatTheme_homeAsUpIndicator = 49;
-			
-			// aapt resource value: 65
-			public const int AppCompatTheme_imageButtonStyle = 65;
-			
-			// aapt resource value: 83
-			public const int AppCompatTheme_listChoiceBackgroundIndicator = 83;
-			
-			// aapt resource value: 45
-			public const int AppCompatTheme_listDividerAlertDialog = 45;
-			
-			// aapt resource value: 115
-			public const int AppCompatTheme_listMenuViewStyle = 115;
-			
-			// aapt resource value: 76
-			public const int AppCompatTheme_listPopupWindowStyle = 76;
-			
-			// aapt resource value: 70
-			public const int AppCompatTheme_listPreferredItemHeight = 70;
-			
-			// aapt resource value: 72
-			public const int AppCompatTheme_listPreferredItemHeightLarge = 72;
-			
-			// aapt resource value: 71
-			public const int AppCompatTheme_listPreferredItemHeightSmall = 71;
-			
-			// aapt resource value: 73
-			public const int AppCompatTheme_listPreferredItemPaddingLeft = 73;
-			
-			// aapt resource value: 74
-			public const int AppCompatTheme_listPreferredItemPaddingRight = 74;
-			
-			// aapt resource value: 80
-			public const int AppCompatTheme_panelBackground = 80;
-			
-			// aapt resource value: 82
-			public const int AppCompatTheme_panelMenuListTheme = 82;
-			
-			// aapt resource value: 81
-			public const int AppCompatTheme_panelMenuListWidth = 81;
-			
-			// aapt resource value: 61
-			public const int AppCompatTheme_popupMenuStyle = 61;
-			
-			// aapt resource value: 62
-			public const int AppCompatTheme_popupWindowStyle = 62;
-			
-			// aapt resource value: 108
-			public const int AppCompatTheme_radioButtonStyle = 108;
-			
-			// aapt resource value: 109
-			public const int AppCompatTheme_ratingBarStyle = 109;
-			
-			// aapt resource value: 110
-			public const int AppCompatTheme_ratingBarStyleIndicator = 110;
-			
-			// aapt resource value: 111
-			public const int AppCompatTheme_ratingBarStyleSmall = 111;
-			
-			// aapt resource value: 69
-			public const int AppCompatTheme_searchViewStyle = 69;
-			
-			// aapt resource value: 112
-			public const int AppCompatTheme_seekBarStyle = 112;
-			
-			// aapt resource value: 53
-			public const int AppCompatTheme_selectableItemBackground = 53;
-			
-			// aapt resource value: 54
-			public const int AppCompatTheme_selectableItemBackgroundBorderless = 54;
-			
-			// aapt resource value: 48
-			public const int AppCompatTheme_spinnerDropDownItemStyle = 48;
-			
-			// aapt resource value: 113
-			public const int AppCompatTheme_spinnerStyle = 113;
-			
-			// aapt resource value: 114
-			public const int AppCompatTheme_switchStyle = 114;
-			
-			// aapt resource value: 40
-			public const int AppCompatTheme_textAppearanceLargePopupMenu = 40;
-			
-			// aapt resource value: 77
-			public const int AppCompatTheme_textAppearanceListItem = 77;
-			
-			// aapt resource value: 78
-			public const int AppCompatTheme_textAppearanceListItemSecondary = 78;
-			
-			// aapt resource value: 79
-			public const int AppCompatTheme_textAppearanceListItemSmall = 79;
-			
-			// aapt resource value: 42
-			public const int AppCompatTheme_textAppearancePopupMenuHeader = 42;
-			
-			// aapt resource value: 67
-			public const int AppCompatTheme_textAppearanceSearchResultSubtitle = 67;
-			
-			// aapt resource value: 66
-			public const int AppCompatTheme_textAppearanceSearchResultTitle = 66;
-			
-			// aapt resource value: 41
-			public const int AppCompatTheme_textAppearanceSmallPopupMenu = 41;
-			
-			// aapt resource value: 98
-			public const int AppCompatTheme_textColorAlertDialogListItem = 98;
-			
-			// aapt resource value: 68
-			public const int AppCompatTheme_textColorSearchUrl = 68;
-			
-			// aapt resource value: 60
-			public const int AppCompatTheme_toolbarNavigationButtonStyle = 60;
-			
-			// aapt resource value: 59
-			public const int AppCompatTheme_toolbarStyle = 59;
-			
-			// aapt resource value: 117
-			public const int AppCompatTheme_tooltipForegroundColor = 117;
-			
-			// aapt resource value: 116
-			public const int AppCompatTheme_tooltipFrameBackground = 116;
-			
-			// aapt resource value: 2
-			public const int AppCompatTheme_windowActionBar = 2;
-			
-			// aapt resource value: 4
-			public const int AppCompatTheme_windowActionBarOverlay = 4;
-			
-			// aapt resource value: 5
-			public const int AppCompatTheme_windowActionModeOverlay = 5;
-			
-			// aapt resource value: 9
-			public const int AppCompatTheme_windowFixedHeightMajor = 9;
-			
-			// aapt resource value: 7
-			public const int AppCompatTheme_windowFixedHeightMinor = 7;
-			
-			// aapt resource value: 6
-			public const int AppCompatTheme_windowFixedWidthMajor = 6;
-			
-			// aapt resource value: 8
-			public const int AppCompatTheme_windowFixedWidthMinor = 8;
-			
-			// aapt resource value: 10
-			public const int AppCompatTheme_windowMinWidthMajor = 10;
-			
-			// aapt resource value: 11
-			public const int AppCompatTheme_windowMinWidthMinor = 11;
-			
-			// aapt resource value: 3
-			public const int AppCompatTheme_windowNoTitle = 3;
-			
-			public static int[] ButtonBarLayout = new int[] {
-					2130772137};
-			
-			// aapt resource value: 0
-			public const int ButtonBarLayout_allowStacking = 0;
-			
-			public static int[] ColorStateListItem = new int[] {
-					16843173,
-					16843551,
-					2130772138};
-			
-			// aapt resource value: 2
-			public const int ColorStateListItem_alpha = 2;
-			
-			// aapt resource value: 1
-			public const int ColorStateListItem_android_alpha = 1;
-			
-			// aapt resource value: 0
-			public const int ColorStateListItem_android_color = 0;
-			
-			public static int[] CompoundButton = new int[] {
-					16843015,
-					2130772139,
-					2130772140};
-			
-			// aapt resource value: 0
-			public const int CompoundButton_android_button = 0;
-			
-			// aapt resource value: 1
-			public const int CompoundButton_buttonTint = 1;
-			
-			// aapt resource value: 2
-			public const int CompoundButton_buttonTintMode = 2;
-			
-			public static int[] DrawerArrowToggle = new int[] {
-					2130772141,
-					2130772142,
-					2130772143,
-					2130772144,
-					2130772145,
-					2130772146,
-					2130772147,
-					2130772148};
-			
-			// aapt resource value: 4
-			public const int DrawerArrowToggle_arrowHeadLength = 4;
-			
-			// aapt resource value: 5
-			public const int DrawerArrowToggle_arrowShaftLength = 5;
-			
-			// aapt resource value: 6
-			public const int DrawerArrowToggle_barLength = 6;
-			
-			// aapt resource value: 0
-			public const int DrawerArrowToggle_color = 0;
-			
-			// aapt resource value: 2
-			public const int DrawerArrowToggle_drawableSize = 2;
-			
-			// aapt resource value: 3
-			public const int DrawerArrowToggle_gapBetweenBars = 3;
-			
-			// aapt resource value: 1
-			public const int DrawerArrowToggle_spinBars = 1;
-			
-			// aapt resource value: 7
-			public const int DrawerArrowToggle_thickness = 7;
-			
-			public static int[] FontFamily = new int[] {
-					2130772214,
-					2130772215,
-					2130772216,
-					2130772217,
-					2130772218,
-					2130772219};
-			
-			// aapt resource value: 0
-			public const int FontFamily_fontProviderAuthority = 0;
-			
-			// aapt resource value: 3
-			public const int FontFamily_fontProviderCerts = 3;
-			
-			// aapt resource value: 4
-			public const int FontFamily_fontProviderFetchStrategy = 4;
-			
-			// aapt resource value: 5
-			public const int FontFamily_fontProviderFetchTimeout = 5;
-			
-			// aapt resource value: 1
-			public const int FontFamily_fontProviderPackage = 1;
-			
-			// aapt resource value: 2
-			public const int FontFamily_fontProviderQuery = 2;
-			
-			public static int[] FontFamilyFont = new int[] {
-					2130772220,
-					2130772221,
-					2130772222};
-			
-			// aapt resource value: 1
-			public const int FontFamilyFont_font = 1;
-			
-			// aapt resource value: 0
-			public const int FontFamilyFont_fontStyle = 0;
-			
-			// aapt resource value: 2
-			public const int FontFamilyFont_fontWeight = 2;
-			
-			public static int[] HDLArcSeekBar = new int[] {
-					2130772224,
-					2130772225,
-					2130772226,
-					2130772227,
-					2130772228,
-					2130772229,
-					2130772230,
-					2130772231,
-					2130772232,
-					2130772233,
-					2130772234,
-					2130772235,
-					2130772236,
-					2130772237,
-					2130772238,
-					2130772239,
-					2130772240,
-					2130772241};
-			
-			// aapt resource value: 5
-			public const int HDLArcSeekBar_arc_border_color = 5;
-			
-			// aapt resource value: 4
-			public const int HDLArcSeekBar_arc_border_width = 4;
-			
-			// aapt resource value: 3
-			public const int HDLArcSeekBar_arc_colors = 3;
-			
-			// aapt resource value: 6
-			public const int HDLArcSeekBar_arc_max = 6;
-			
-			// aapt resource value: 7
-			public const int HDLArcSeekBar_arc_min = 7;
-			
-			// aapt resource value: 1
-			public const int HDLArcSeekBar_arc_open_angle = 1;
-			
-			// aapt resource value: 8
-			public const int HDLArcSeekBar_arc_progress = 8;
-			
-			// aapt resource value: 16
-			public const int HDLArcSeekBar_arc_progress_bar_color = 16;
-			
-			// aapt resource value: 17
-			public const int HDLArcSeekBar_arc_progress_bar_text_unit = 17;
-			
-			// aapt resource value: 2
-			public const int HDLArcSeekBar_arc_rotate_angle = 2;
-			
-			// aapt resource value: 15
-			public const int HDLArcSeekBar_arc_shadow_radius = 15;
-			
-			// aapt resource value: 10
-			public const int HDLArcSeekBar_arc_thumb_color = 10;
-			
-			// aapt resource value: 11
-			public const int HDLArcSeekBar_arc_thumb_radius = 11;
-			
-			// aapt resource value: 13
-			public const int HDLArcSeekBar_arc_thumb_shadow_color = 13;
-			
-			// aapt resource value: 12
-			public const int HDLArcSeekBar_arc_thumb_shadow_radius = 12;
-			
-			// aapt resource value: 9
-			public const int HDLArcSeekBar_arc_thumb_width = 9;
-			
-			// aapt resource value: 0
-			public const int HDLArcSeekBar_arc_width = 0;
-			
-			// aapt resource value: 14
-			public const int HDLArcSeekBar_hdl_arc_thumb_mode = 14;
-			
-			public static int[] HDLCurtainSeekBar = new int[] {
-					2130772242,
-					2130772243,
-					2130772244,
-					2130772245,
-					2130772246,
-					2130772247};
-			
-			// aapt resource value: 2
-			public const int HDLCurtainSeekBar_curtain_bar_bg_color = 2;
-			
-			// aapt resource value: 3
-			public const int HDLCurtainSeekBar_curtain_bar_border_color = 3;
-			
-			// aapt resource value: 0
-			public const int HDLCurtainSeekBar_curtain_bar_color = 0;
-			
-			// aapt resource value: 5
-			public const int HDLCurtainSeekBar_curtain_bar_height = 5;
-			
-			// aapt resource value: 4
-			public const int HDLCurtainSeekBar_curtain_bar_width = 4;
-			
-			// aapt resource value: 1
-			public const int HDLCurtainSeekBar_second_curtain_bar_color = 1;
-			
-			public static int[] HDLWaveSeekBar = new int[] {
-					2130772248,
-					2130772249,
-					2130772250,
-					2130772251,
-					2130772252,
-					2130772253};
-			
-			// aapt resource value: 1
-			public const int HDLWaveSeekBar_second_wave_color = 1;
-			
-			// aapt resource value: 2
-			public const int HDLWaveSeekBar_wave_bg_color = 2;
-			
-			// aapt resource value: 3
-			public const int HDLWaveSeekBar_wave_border_color = 3;
-			
-			// aapt resource value: 0
-			public const int HDLWaveSeekBar_wave_color = 0;
-			
-			// aapt resource value: 5
-			public const int HDLWaveSeekBar_wave_height = 5;
-			
-			// aapt resource value: 4
-			public const int HDLWaveSeekBar_wave_width = 4;
-			
-			public static int[] LinearLayoutCompat = new int[] {
-					16842927,
-					16842948,
-					16843046,
-					16843047,
-					16843048,
-					2130771979,
-					2130772149,
-					2130772150,
-					2130772151};
-			
-			// aapt resource value: 2
-			public const int LinearLayoutCompat_android_baselineAligned = 2;
-			
-			// aapt resource value: 3
-			public const int LinearLayoutCompat_android_baselineAlignedChildIndex = 3;
-			
-			// aapt resource value: 0
-			public const int LinearLayoutCompat_android_gravity = 0;
-			
-			// aapt resource value: 1
-			public const int LinearLayoutCompat_android_orientation = 1;
-			
-			// aapt resource value: 4
-			public const int LinearLayoutCompat_android_weightSum = 4;
-			
-			// aapt resource value: 5
-			public const int LinearLayoutCompat_divider = 5;
-			
-			// aapt resource value: 8
-			public const int LinearLayoutCompat_dividerPadding = 8;
-			
-			// aapt resource value: 6
-			public const int LinearLayoutCompat_measureWithLargestChild = 6;
-			
-			// aapt resource value: 7
-			public const int LinearLayoutCompat_showDividers = 7;
-			
-			public static int[] LinearLayoutCompat_Layout = new int[] {
-					16842931,
-					16842996,
-					16842997,
-					16843137};
-			
-			// aapt resource value: 0
-			public const int LinearLayoutCompat_Layout_android_layout_gravity = 0;
-			
-			// aapt resource value: 2
-			public const int LinearLayoutCompat_Layout_android_layout_height = 2;
-			
-			// aapt resource value: 3
-			public const int LinearLayoutCompat_Layout_android_layout_weight = 3;
-			
-			// aapt resource value: 1
-			public const int LinearLayoutCompat_Layout_android_layout_width = 1;
-			
-			public static int[] ListPopupWindow = new int[] {
-					16843436,
-					16843437};
-			
-			// aapt resource value: 0
-			public const int ListPopupWindow_android_dropDownHorizontalOffset = 0;
-			
-			// aapt resource value: 1
-			public const int ListPopupWindow_android_dropDownVerticalOffset = 1;
-			
-			public static int[] MenuGroup = new int[] {
-					16842766,
-					16842960,
-					16843156,
-					16843230,
-					16843231,
-					16843232};
-			
-			// aapt resource value: 5
-			public const int MenuGroup_android_checkableBehavior = 5;
-			
-			// aapt resource value: 0
-			public const int MenuGroup_android_enabled = 0;
-			
-			// aapt resource value: 1
-			public const int MenuGroup_android_id = 1;
-			
-			// aapt resource value: 3
-			public const int MenuGroup_android_menuCategory = 3;
-			
-			// aapt resource value: 4
-			public const int MenuGroup_android_orderInCategory = 4;
-			
-			// aapt resource value: 2
-			public const int MenuGroup_android_visible = 2;
-			
-			public static int[] MenuItem = new int[] {
-					16842754,
-					16842766,
-					16842960,
-					16843014,
-					16843156,
-					16843230,
-					16843231,
-					16843233,
-					16843234,
-					16843235,
-					16843236,
-					16843237,
-					16843375,
-					2130772152,
-					2130772153,
-					2130772154,
-					2130772155,
-					2130772156,
-					2130772157,
-					2130772158,
-					2130772159,
-					2130772160,
-					2130772161};
-			
-			// aapt resource value: 16
-			public const int MenuItem_actionLayout = 16;
-			
-			// aapt resource value: 18
-			public const int MenuItem_actionProviderClass = 18;
-			
-			// aapt resource value: 17
-			public const int MenuItem_actionViewClass = 17;
-			
-			// aapt resource value: 13
-			public const int MenuItem_alphabeticModifiers = 13;
-			
-			// aapt resource value: 9
-			public const int MenuItem_android_alphabeticShortcut = 9;
-			
-			// aapt resource value: 11
-			public const int MenuItem_android_checkable = 11;
-			
-			// aapt resource value: 3
-			public const int MenuItem_android_checked = 3;
-			
-			// aapt resource value: 1
-			public const int MenuItem_android_enabled = 1;
-			
-			// aapt resource value: 0
-			public const int MenuItem_android_icon = 0;
-			
-			// aapt resource value: 2
-			public const int MenuItem_android_id = 2;
-			
-			// aapt resource value: 5
-			public const int MenuItem_android_menuCategory = 5;
-			
-			// aapt resource value: 10
-			public const int MenuItem_android_numericShortcut = 10;
-			
-			// aapt resource value: 12
-			public const int MenuItem_android_onClick = 12;
-			
-			// aapt resource value: 6
-			public const int MenuItem_android_orderInCategory = 6;
-			
-			// aapt resource value: 7
-			public const int MenuItem_android_title = 7;
-			
-			// aapt resource value: 8
-			public const int MenuItem_android_titleCondensed = 8;
-			
-			// aapt resource value: 4
-			public const int MenuItem_android_visible = 4;
-			
-			// aapt resource value: 19
-			public const int MenuItem_contentDescription = 19;
-			
-			// aapt resource value: 21
-			public const int MenuItem_iconTint = 21;
-			
-			// aapt resource value: 22
-			public const int MenuItem_iconTintMode = 22;
-			
-			// aapt resource value: 14
-			public const int MenuItem_numericModifiers = 14;
-			
-			// aapt resource value: 15
-			public const int MenuItem_showAsAction = 15;
-			
-			// aapt resource value: 20
-			public const int MenuItem_tooltipText = 20;
-			
-			public static int[] MenuView = new int[] {
-					16842926,
-					16843052,
-					16843053,
-					16843054,
-					16843055,
-					16843056,
-					16843057,
-					2130772162,
-					2130772163};
-			
-			// aapt resource value: 4
-			public const int MenuView_android_headerBackground = 4;
-			
-			// aapt resource value: 2
-			public const int MenuView_android_horizontalDivider = 2;
-			
-			// aapt resource value: 5
-			public const int MenuView_android_itemBackground = 5;
-			
-			// aapt resource value: 6
-			public const int MenuView_android_itemIconDisabledAlpha = 6;
-			
-			// aapt resource value: 1
-			public const int MenuView_android_itemTextAppearance = 1;
-			
-			// aapt resource value: 3
-			public const int MenuView_android_verticalDivider = 3;
-			
-			// aapt resource value: 0
-			public const int MenuView_android_windowAnimationStyle = 0;
-			
-			// aapt resource value: 7
-			public const int MenuView_preserveIconSpacing = 7;
-			
-			// aapt resource value: 8
-			public const int MenuView_subMenuArrow = 8;
-			
-			public static int[] PopupWindow = new int[] {
-					16843126,
-					16843465,
-					2130772164};
-			
-			// aapt resource value: 1
-			public const int PopupWindow_android_popupAnimationStyle = 1;
-			
-			// aapt resource value: 0
-			public const int PopupWindow_android_popupBackground = 0;
-			
-			// aapt resource value: 2
-			public const int PopupWindow_overlapAnchor = 2;
-			
-			public static int[] PopupWindowBackgroundState = new int[] {
-					2130772165};
-			
-			// aapt resource value: 0
-			public const int PopupWindowBackgroundState_state_above_anchor = 0;
-			
-			public static int[] RecycleListView = new int[] {
-					2130772166,
-					2130772167};
-			
-			// aapt resource value: 0
-			public const int RecycleListView_paddingBottomNoButtons = 0;
-			
-			// aapt resource value: 1
-			public const int RecycleListView_paddingTopNoTitle = 1;
-			
-			public static int[] SearchView = new int[] {
-					16842970,
-					16843039,
-					16843296,
-					16843364,
-					2130772168,
-					2130772169,
-					2130772170,
-					2130772171,
-					2130772172,
-					2130772173,
-					2130772174,
-					2130772175,
-					2130772176,
-					2130772177,
-					2130772178,
-					2130772179,
-					2130772180};
-			
-			// aapt resource value: 0
-			public const int SearchView_android_focusable = 0;
-			
-			// aapt resource value: 3
-			public const int SearchView_android_imeOptions = 3;
-			
-			// aapt resource value: 2
-			public const int SearchView_android_inputType = 2;
-			
-			// aapt resource value: 1
-			public const int SearchView_android_maxWidth = 1;
-			
-			// aapt resource value: 8
-			public const int SearchView_closeIcon = 8;
-			
-			// aapt resource value: 13
-			public const int SearchView_commitIcon = 13;
-			
-			// aapt resource value: 7
-			public const int SearchView_defaultQueryHint = 7;
-			
-			// aapt resource value: 9
-			public const int SearchView_goIcon = 9;
-			
-			// aapt resource value: 5
-			public const int SearchView_iconifiedByDefault = 5;
-			
-			// aapt resource value: 4
-			public const int SearchView_layout = 4;
-			
-			// aapt resource value: 15
-			public const int SearchView_queryBackground = 15;
-			
-			// aapt resource value: 6
-			public const int SearchView_queryHint = 6;
-			
-			// aapt resource value: 11
-			public const int SearchView_searchHintIcon = 11;
-			
-			// aapt resource value: 10
-			public const int SearchView_searchIcon = 10;
-			
-			// aapt resource value: 16
-			public const int SearchView_submitBackground = 16;
-			
-			// aapt resource value: 14
-			public const int SearchView_suggestionRowLayout = 14;
-			
-			// aapt resource value: 12
-			public const int SearchView_voiceIcon = 12;
-			
-			public static int[] Spinner = new int[] {
-					16842930,
-					16843126,
-					16843131,
-					16843362,
-					2130771997};
-			
-			// aapt resource value: 3
-			public const int Spinner_android_dropDownWidth = 3;
-			
-			// aapt resource value: 0
-			public const int Spinner_android_entries = 0;
-			
-			// aapt resource value: 1
-			public const int Spinner_android_popupBackground = 1;
-			
-			// aapt resource value: 2
-			public const int Spinner_android_prompt = 2;
-			
-			// aapt resource value: 4
-			public const int Spinner_popupTheme = 4;
-			
-			public static int[] SwitchCompat = new int[] {
-					16843044,
-					16843045,
-					16843074,
-					2130772181,
-					2130772182,
-					2130772183,
-					2130772184,
-					2130772185,
-					2130772186,
-					2130772187,
-					2130772188,
-					2130772189,
-					2130772190,
-					2130772191};
-			
-			// aapt resource value: 1
-			public const int SwitchCompat_android_textOff = 1;
-			
-			// aapt resource value: 0
-			public const int SwitchCompat_android_textOn = 0;
-			
-			// aapt resource value: 2
-			public const int SwitchCompat_android_thumb = 2;
-			
-			// aapt resource value: 13
-			public const int SwitchCompat_showText = 13;
-			
-			// aapt resource value: 12
-			public const int SwitchCompat_splitTrack = 12;
-			
-			// aapt resource value: 10
-			public const int SwitchCompat_switchMinWidth = 10;
-			
-			// aapt resource value: 11
-			public const int SwitchCompat_switchPadding = 11;
-			
-			// aapt resource value: 9
-			public const int SwitchCompat_switchTextAppearance = 9;
-			
-			// aapt resource value: 8
-			public const int SwitchCompat_thumbTextPadding = 8;
-			
-			// aapt resource value: 3
-			public const int SwitchCompat_thumbTint = 3;
-			
-			// aapt resource value: 4
-			public const int SwitchCompat_thumbTintMode = 4;
-			
-			// aapt resource value: 5
-			public const int SwitchCompat_track = 5;
-			
-			// aapt resource value: 6
-			public const int SwitchCompat_trackTint = 6;
-			
-			// aapt resource value: 7
-			public const int SwitchCompat_trackTintMode = 7;
-			
-			public static int[] TextAppearance = new int[] {
-					16842901,
-					16842902,
-					16842903,
-					16842904,
-					16842906,
-					16842907,
-					16843105,
-					16843106,
-					16843107,
-					16843108,
-					16843692,
-					2130772013,
-					2130772019};
-			
-			// aapt resource value: 10
-			public const int TextAppearance_android_fontFamily = 10;
-			
-			// aapt resource value: 6
-			public const int TextAppearance_android_shadowColor = 6;
-			
-			// aapt resource value: 7
-			public const int TextAppearance_android_shadowDx = 7;
-			
-			// aapt resource value: 8
-			public const int TextAppearance_android_shadowDy = 8;
-			
-			// aapt resource value: 9
-			public const int TextAppearance_android_shadowRadius = 9;
-			
-			// aapt resource value: 3
-			public const int TextAppearance_android_textColor = 3;
-			
-			// aapt resource value: 4
-			public const int TextAppearance_android_textColorHint = 4;
-			
-			// aapt resource value: 5
-			public const int TextAppearance_android_textColorLink = 5;
-			
-			// aapt resource value: 0
-			public const int TextAppearance_android_textSize = 0;
-			
-			// aapt resource value: 2
-			public const int TextAppearance_android_textStyle = 2;
-			
-			// aapt resource value: 1
-			public const int TextAppearance_android_typeface = 1;
-			
-			// aapt resource value: 12
-			public const int TextAppearance_fontFamily = 12;
-			
-			// aapt resource value: 11
-			public const int TextAppearance_textAllCaps = 11;
-			
-			public static int[] Toolbar = new int[] {
-					16842927,
-					16843072,
-					2130771971,
-					2130771974,
-					2130771978,
-					2130771990,
-					2130771991,
-					2130771992,
-					2130771993,
-					2130771994,
-					2130771995,
-					2130771997,
-					2130772192,
-					2130772193,
-					2130772194,
-					2130772195,
-					2130772196,
-					2130772197,
-					2130772198,
-					2130772199,
-					2130772200,
-					2130772201,
-					2130772202,
-					2130772203,
-					2130772204,
-					2130772205,
-					2130772206,
-					2130772207,
-					2130772208};
-			
-			// aapt resource value: 0
-			public const int Toolbar_android_gravity = 0;
-			
-			// aapt resource value: 1
-			public const int Toolbar_android_minHeight = 1;
-			
-			// aapt resource value: 21
-			public const int Toolbar_buttonGravity = 21;
-			
-			// aapt resource value: 23
-			public const int Toolbar_collapseContentDescription = 23;
-			
-			// aapt resource value: 22
-			public const int Toolbar_collapseIcon = 22;
-			
-			// aapt resource value: 6
-			public const int Toolbar_contentInsetEnd = 6;
-			
-			// aapt resource value: 10
-			public const int Toolbar_contentInsetEndWithActions = 10;
-			
-			// aapt resource value: 7
-			public const int Toolbar_contentInsetLeft = 7;
-			
-			// aapt resource value: 8
-			public const int Toolbar_contentInsetRight = 8;
-			
-			// aapt resource value: 5
-			public const int Toolbar_contentInsetStart = 5;
-			
-			// aapt resource value: 9
-			public const int Toolbar_contentInsetStartWithNavigation = 9;
-			
-			// aapt resource value: 4
-			public const int Toolbar_logo = 4;
-			
-			// aapt resource value: 26
-			public const int Toolbar_logoDescription = 26;
-			
-			// aapt resource value: 20
-			public const int Toolbar_maxButtonHeight = 20;
-			
-			// aapt resource value: 25
-			public const int Toolbar_navigationContentDescription = 25;
-			
-			// aapt resource value: 24
-			public const int Toolbar_navigationIcon = 24;
-			
-			// aapt resource value: 11
-			public const int Toolbar_popupTheme = 11;
-			
-			// aapt resource value: 3
-			public const int Toolbar_subtitle = 3;
-			
-			// aapt resource value: 13
-			public const int Toolbar_subtitleTextAppearance = 13;
-			
-			// aapt resource value: 28
-			public const int Toolbar_subtitleTextColor = 28;
-			
-			// aapt resource value: 2
-			public const int Toolbar_title = 2;
-			
-			// aapt resource value: 14
-			public const int Toolbar_titleMargin = 14;
-			
-			// aapt resource value: 18
-			public const int Toolbar_titleMarginBottom = 18;
-			
-			// aapt resource value: 16
-			public const int Toolbar_titleMarginEnd = 16;
-			
-			// aapt resource value: 15
-			public const int Toolbar_titleMarginStart = 15;
-			
-			// aapt resource value: 17
-			public const int Toolbar_titleMarginTop = 17;
-			
-			// aapt resource value: 19
-			public const int Toolbar_titleMargins = 19;
-			
-			// aapt resource value: 12
-			public const int Toolbar_titleTextAppearance = 12;
-			
-			// aapt resource value: 27
-			public const int Toolbar_titleTextColor = 27;
-			
-			public static int[] View = new int[] {
-					16842752,
-					16842970,
-					2130772209,
-					2130772210,
-					2130772211};
-			
-			// aapt resource value: 1
-			public const int View_android_focusable = 1;
-			
-			// aapt resource value: 0
-			public const int View_android_theme = 0;
-			
-			// aapt resource value: 3
-			public const int View_paddingEnd = 3;
-			
-			// aapt resource value: 2
-			public const int View_paddingStart = 2;
-			
-			// aapt resource value: 4
-			public const int View_theme = 4;
-			
-			public static int[] ViewBackgroundHelper = new int[] {
-					16842964,
-					2130772212,
-					2130772213};
-			
-			// aapt resource value: 0
-			public const int ViewBackgroundHelper_android_background = 0;
-			
-			// aapt resource value: 1
-			public const int ViewBackgroundHelper_backgroundTint = 1;
-			
-			// aapt resource value: 2
-			public const int ViewBackgroundHelper_backgroundTintMode = 2;
-			
-			public static int[] ViewStubCompat = new int[] {
-					16842960,
-					16842994,
-					16842995};
-			
-			// aapt resource value: 0
-			public const int ViewStubCompat_android_id = 0;
-			
-			// aapt resource value: 2
-			public const int ViewStubCompat_android_inflatedId = 2;
-			
-			// aapt resource value: 1
-			public const int ViewStubCompat_android_layout = 1;
-			
-			public static int[] pickerview = new int[] {
-					2130772254,
-					2130772255,
-					2130772256,
-					2130772257,
-					2130772258,
-					2130772259};
-			
-			// aapt resource value: 4
-			public const int pickerview_wheelview_dividerColor = 4;
-			
-			// aapt resource value: 0
-			public const int pickerview_wheelview_gravity = 0;
-			
-			// aapt resource value: 5
-			public const int pickerview_wheelview_lineSpacingMultiplier = 5;
-			
-			// aapt resource value: 3
-			public const int pickerview_wheelview_textColorCenter = 3;
-			
-			// aapt resource value: 2
-			public const int pickerview_wheelview_textColorOut = 2;
-			
-			// aapt resource value: 1
-			public const int pickerview_wheelview_textSize = 1;
-			
-			static Styleable()
-			{
-				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-			}
-			
-			private Styleable()
-			{
-			}
-		}
-	}
-}
-#pragma warning restore 1591
+#pragma warning disable 1591
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+[assembly: global::Android.Runtime.ResourceDesignerAttribute("GateWay.Droid.Resource", IsApplication=true)]
+
+namespace GateWay.Droid
+{
+	
+	
+	[System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")]
+	public partial class Resource
+	{
+		
+		static Resource()
+		{
+			global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+		}
+		
+		public static void UpdateIdValues()
+		{
+			global::ZXing.Mobile.Resource.Id.contentFrame = global::GateWay.Droid.Resource.Id.contentFrame;
+			global::ZXing.Mobile.Resource.Layout.zxingscanneractivitylayout = global::GateWay.Droid.Resource.Layout.zxingscanneractivitylayout;
+			global::ZXing.Mobile.Resource.Layout.zxingscannerfragmentlayout = global::GateWay.Droid.Resource.Layout.zxingscannerfragmentlayout;
+		}
+		
+		public partial class Animation
+		{
+			
+			// aapt resource value: 0x7f050000
+			public const int abc_fade_in = 2131034112;
+			
+			// aapt resource value: 0x7f050001
+			public const int abc_fade_out = 2131034113;
+			
+			// aapt resource value: 0x7f050002
+			public const int abc_grow_fade_in_from_bottom = 2131034114;
+			
+			// aapt resource value: 0x7f050003
+			public const int abc_popup_enter = 2131034115;
+			
+			// aapt resource value: 0x7f050004
+			public const int abc_popup_exit = 2131034116;
+			
+			// aapt resource value: 0x7f050005
+			public const int abc_shrink_fade_out_from_bottom = 2131034117;
+			
+			// aapt resource value: 0x7f050006
+			public const int abc_slide_in_bottom = 2131034118;
+			
+			// aapt resource value: 0x7f050007
+			public const int abc_slide_in_top = 2131034119;
+			
+			// aapt resource value: 0x7f050008
+			public const int abc_slide_out_bottom = 2131034120;
+			
+			// aapt resource value: 0x7f050009
+			public const int abc_slide_out_top = 2131034121;
+			
+			// aapt resource value: 0x7f05000a
+			public const int fingerprint_draw_off_animation_interpolator_0 = 2131034122;
+			
+			// aapt resource value: 0x7f05000b
+			public const int fingerprint_draw_off_animation_interpolator_1 = 2131034123;
+			
+			// aapt resource value: 0x7f05000c
+			public const int fingerprint_draw_off_ridge_1_path_animation = 2131034124;
+			
+			// aapt resource value: 0x7f05000d
+			public const int fingerprint_draw_off_ridge_2_path_animation = 2131034125;
+			
+			// aapt resource value: 0x7f05000e
+			public const int fingerprint_draw_off_ridge_5_path_animation = 2131034126;
+			
+			// aapt resource value: 0x7f05000f
+			public const int fingerprint_draw_off_ridge_6_path_animation = 2131034127;
+			
+			// aapt resource value: 0x7f050010
+			public const int fingerprint_draw_off_ridge_7_path_animation = 2131034128;
+			
+			// aapt resource value: 0x7f050011
+			public const int fingerprint_draw_on_animation_interpolator_0 = 2131034129;
+			
+			// aapt resource value: 0x7f050012
+			public const int fingerprint_draw_on_animation_interpolator_1 = 2131034130;
+			
+			// aapt resource value: 0x7f050013
+			public const int fingerprint_draw_on_ridge_1_path_animation = 2131034131;
+			
+			// aapt resource value: 0x7f050014
+			public const int fingerprint_draw_on_ridge_2_path_animation = 2131034132;
+			
+			// aapt resource value: 0x7f050015
+			public const int fingerprint_draw_on_ridge_5_path_animation = 2131034133;
+			
+			// aapt resource value: 0x7f050016
+			public const int fingerprint_draw_on_ridge_6_path_animation = 2131034134;
+			
+			// aapt resource value: 0x7f050017
+			public const int fingerprint_draw_on_ridge_7_path_animation = 2131034135;
+			
+			// aapt resource value: 0x7f050018
+			public const int fingerprint_error_state_to_fp_animation_interpolator_0 = 2131034136;
+			
+			// aapt resource value: 0x7f050019
+			public const int fingerprint_error_state_to_fp_animation_interpolator_1 = 2131034137;
+			
+			// aapt resource value: 0x7f05001a
+			public const int fingerprint_error_state_to_fp_animation_interpolator_2 = 2131034138;
+			
+			// aapt resource value: 0x7f05001b
+			public const int fingerprint_error_state_to_fp_animation_interpolator_3 = 2131034139;
+			
+			// aapt resource value: 0x7f05001c
+			public const int fingerprint_error_state_to_fp_animation_interpolator_4 = 2131034140;
+			
+			// aapt resource value: 0x7f05001d
+			public const int fingerprint_error_state_to_fp_animation_interpolator_5 = 2131034141;
+			
+			// aapt resource value: 0x7f05001e
+			public const int fingerprint_error_state_to_fp_group_1_animation = 2131034142;
+			
+			// aapt resource value: 0x7f05001f
+			public const int fingerprint_error_state_to_fp_group_2_animation = 2131034143;
+			
+			// aapt resource value: 0x7f050020
+			public const int fingerprint_error_state_to_fp_path_1_animation = 2131034144;
+			
+			// aapt resource value: 0x7f050021
+			public const int fingerprint_error_state_to_fp_path_2_animation = 2131034145;
+			
+			// aapt resource value: 0x7f050022
+			public const int fingerprint_error_state_to_fp_path_3_animation = 2131034146;
+			
+			// aapt resource value: 0x7f050023
+			public const int fingerprint_error_state_to_fp_ridge_1_path_animation = 2131034147;
+			
+			// aapt resource value: 0x7f050024
+			public const int fingerprint_error_state_to_fp_ridge_2_path_animation = 2131034148;
+			
+			// aapt resource value: 0x7f050025
+			public const int fingerprint_error_state_to_fp_ridge_5_path_animation = 2131034149;
+			
+			// aapt resource value: 0x7f050026
+			public const int fingerprint_error_state_to_fp_ridge_6_path_animation = 2131034150;
+			
+			// aapt resource value: 0x7f050027
+			public const int fingerprint_error_state_to_fp_ridge_7_path_animation = 2131034151;
+			
+			// aapt resource value: 0x7f050028
+			public const int fingerprint_error_state_to_fp_white_fingerprint_ridges_animation = 2131034152;
+			
+			// aapt resource value: 0x7f050029
+			public const int fingerprint_fp_to_error_state_animation_interpolator_0 = 2131034153;
+			
+			// aapt resource value: 0x7f05002a
+			public const int fingerprint_fp_to_error_state_animation_interpolator_1 = 2131034154;
+			
+			// aapt resource value: 0x7f05002b
+			public const int fingerprint_fp_to_error_state_animation_interpolator_2 = 2131034155;
+			
+			// aapt resource value: 0x7f05002c
+			public const int fingerprint_fp_to_error_state_animation_interpolator_3 = 2131034156;
+			
+			// aapt resource value: 0x7f05002d
+			public const int fingerprint_fp_to_error_state_animation_interpolator_4 = 2131034157;
+			
+			// aapt resource value: 0x7f05002e
+			public const int fingerprint_fp_to_error_state_animation_interpolator_5 = 2131034158;
+			
+			// aapt resource value: 0x7f05002f
+			public const int fingerprint_fp_to_error_state_fingerprint_ridges_animation = 2131034159;
+			
+			// aapt resource value: 0x7f050030
+			public const int fingerprint_fp_to_error_state_group_1_animation = 2131034160;
+			
+			// aapt resource value: 0x7f050031
+			public const int fingerprint_fp_to_error_state_group_2_animation = 2131034161;
+			
+			// aapt resource value: 0x7f050032
+			public const int fingerprint_fp_to_error_state_path_1_animation = 2131034162;
+			
+			// aapt resource value: 0x7f050033
+			public const int fingerprint_fp_to_error_state_path_2_animation = 2131034163;
+			
+			// aapt resource value: 0x7f050034
+			public const int fingerprint_fp_to_error_state_path_3_animation = 2131034164;
+			
+			// aapt resource value: 0x7f050035
+			public const int fingerprint_fp_to_error_state_ridge_1_path_0_animation = 2131034165;
+			
+			// aapt resource value: 0x7f050036
+			public const int fingerprint_fp_to_error_state_ridge_1_path_animation = 2131034166;
+			
+			// aapt resource value: 0x7f050037
+			public const int fingerprint_fp_to_error_state_ridge_2_path_0_animation = 2131034167;
+			
+			// aapt resource value: 0x7f050038
+			public const int fingerprint_fp_to_error_state_ridge_2_path_animation = 2131034168;
+			
+			// aapt resource value: 0x7f050039
+			public const int fingerprint_fp_to_error_state_ridge_5_path_0_animation = 2131034169;
+			
+			// aapt resource value: 0x7f05003a
+			public const int fingerprint_fp_to_error_state_ridge_5_path_animation = 2131034170;
+			
+			// aapt resource value: 0x7f05003b
+			public const int fingerprint_fp_to_error_state_ridge_6_path_0_animation = 2131034171;
+			
+			// aapt resource value: 0x7f05003c
+			public const int fingerprint_fp_to_error_state_ridge_6_path_animation = 2131034172;
+			
+			// aapt resource value: 0x7f05003d
+			public const int fingerprint_fp_to_error_state_ridge_7_path_0_animation = 2131034173;
+			
+			// aapt resource value: 0x7f05003e
+			public const int fingerprint_fp_to_error_state_ridge_7_path_animation = 2131034174;
+			
+			// aapt resource value: 0x7f05003f
+			public const int fingerprint_fp_to_error_state_white_fingerprint_ridges_animation = 2131034175;
+			
+			// aapt resource value: 0x7f050040
+			public const int move_in = 2131034176;
+			
+			// aapt resource value: 0x7f050041
+			public const int move_out = 2131034177;
+			
+			// aapt resource value: 0x7f050042
+			public const int pickerview_dialog_scale_in = 2131034178;
+			
+			// aapt resource value: 0x7f050043
+			public const int pickerview_dialog_scale_out = 2131034179;
+			
+			// aapt resource value: 0x7f050044
+			public const int pickerview_slide_in_bottom = 2131034180;
+			
+			// aapt resource value: 0x7f050045
+			public const int pickerview_slide_out_bottom = 2131034181;
+			
+			// aapt resource value: 0x7f050046
+			public const int tooltip_enter = 2131034182;
+			
+			// aapt resource value: 0x7f050047
+			public const int tooltip_exit = 2131034183;
+			
+			static Animation()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Animation()
+			{
+			}
+		}
+		
+		public partial class Array
+		{
+			
+			// aapt resource value: 0x7f0e0000
+			public const int arc_colors_default = 2131623936;
+			
+			static Array()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Array()
+			{
+			}
+		}
+		
+		public partial class Attribute
+		{
+			
+			// aapt resource value: 0x7f010049
+			public const int actionBarDivider = 2130772041;
+			
+			// aapt resource value: 0x7f01004a
+			public const int actionBarItemBackground = 2130772042;
+			
+			// aapt resource value: 0x7f010043
+			public const int actionBarPopupTheme = 2130772035;
+			
+			// aapt resource value: 0x7f010048
+			public const int actionBarSize = 2130772040;
+			
+			// aapt resource value: 0x7f010045
+			public const int actionBarSplitStyle = 2130772037;
+			
+			// aapt resource value: 0x7f010044
+			public const int actionBarStyle = 2130772036;
+			
+			// aapt resource value: 0x7f01003f
+			public const int actionBarTabBarStyle = 2130772031;
+			
+			// aapt resource value: 0x7f01003e
+			public const int actionBarTabStyle = 2130772030;
+			
+			// aapt resource value: 0x7f010040
+			public const int actionBarTabTextStyle = 2130772032;
+			
+			// aapt resource value: 0x7f010046
+			public const int actionBarTheme = 2130772038;
+			
+			// aapt resource value: 0x7f010047
+			public const int actionBarWidgetTheme = 2130772039;
+			
+			// aapt resource value: 0x7f010064
+			public const int actionButtonStyle = 2130772068;
+			
+			// aapt resource value: 0x7f010060
+			public const int actionDropDownStyle = 2130772064;
+			
+			// aapt resource value: 0x7f0100bb
+			public const int actionLayout = 2130772155;
+			
+			// aapt resource value: 0x7f01004b
+			public const int actionMenuTextAppearance = 2130772043;
+			
+			// aapt resource value: 0x7f01004c
+			public const int actionMenuTextColor = 2130772044;
+			
+			// aapt resource value: 0x7f01004f
+			public const int actionModeBackground = 2130772047;
+			
+			// aapt resource value: 0x7f01004e
+			public const int actionModeCloseButtonStyle = 2130772046;
+			
+			// aapt resource value: 0x7f010051
+			public const int actionModeCloseDrawable = 2130772049;
+			
+			// aapt resource value: 0x7f010053
+			public const int actionModeCopyDrawable = 2130772051;
+			
+			// aapt resource value: 0x7f010052
+			public const int actionModeCutDrawable = 2130772050;
+			
+			// aapt resource value: 0x7f010057
+			public const int actionModeFindDrawable = 2130772055;
+			
+			// aapt resource value: 0x7f010054
+			public const int actionModePasteDrawable = 2130772052;
+			
+			// aapt resource value: 0x7f010059
+			public const int actionModePopupWindowStyle = 2130772057;
+			
+			// aapt resource value: 0x7f010055
+			public const int actionModeSelectAllDrawable = 2130772053;
+			
+			// aapt resource value: 0x7f010056
+			public const int actionModeShareDrawable = 2130772054;
+			
+			// aapt resource value: 0x7f010050
+			public const int actionModeSplitBackground = 2130772048;
+			
+			// aapt resource value: 0x7f01004d
+			public const int actionModeStyle = 2130772045;
+			
+			// aapt resource value: 0x7f010058
+			public const int actionModeWebSearchDrawable = 2130772056;
+			
+			// aapt resource value: 0x7f010041
+			public const int actionOverflowButtonStyle = 2130772033;
+			
+			// aapt resource value: 0x7f010042
+			public const int actionOverflowMenuStyle = 2130772034;
+			
+			// aapt resource value: 0x7f0100bd
+			public const int actionProviderClass = 2130772157;
+			
+			// aapt resource value: 0x7f0100bc
+			public const int actionViewClass = 2130772156;
+			
+			// aapt resource value: 0x7f01006c
+			public const int activityChooserViewStyle = 2130772076;
+			
+			// aapt resource value: 0x7f010091
+			public const int alertDialogButtonGroupStyle = 2130772113;
+			
+			// aapt resource value: 0x7f010092
+			public const int alertDialogCenterButtons = 2130772114;
+			
+			// aapt resource value: 0x7f010090
+			public const int alertDialogStyle = 2130772112;
+			
+			// aapt resource value: 0x7f010093
+			public const int alertDialogTheme = 2130772115;
+			
+			// aapt resource value: 0x7f0100a9
+			public const int allowStacking = 2130772137;
+			
+			// aapt resource value: 0x7f0100aa
+			public const int alpha = 2130772138;
+			
+			// aapt resource value: 0x7f0100b8
+			public const int alphabeticModifiers = 2130772152;
+			
+			// aapt resource value: 0x7f010105
+			public const int arc_border_color = 2130772229;
+			
+			// aapt resource value: 0x7f010104
+			public const int arc_border_width = 2130772228;
+			
+			// aapt resource value: 0x7f010103
+			public const int arc_colors = 2130772227;
+			
+			// aapt resource value: 0x7f010106
+			public const int arc_max = 2130772230;
+			
+			// aapt resource value: 0x7f010107
+			public const int arc_min = 2130772231;
+			
+			// aapt resource value: 0x7f010101
+			public const int arc_open_angle = 2130772225;
+			
+			// aapt resource value: 0x7f010108
+			public const int arc_progress = 2130772232;
+			
+			// aapt resource value: 0x7f010110
+			public const int arc_progress_bar_color = 2130772240;
+			
+			// aapt resource value: 0x7f010111
+			public const int arc_progress_bar_text_unit = 2130772241;
+			
+			// aapt resource value: 0x7f010102
+			public const int arc_rotate_angle = 2130772226;
+			
+			// aapt resource value: 0x7f01010f
+			public const int arc_shadow_radius = 2130772239;
+			
+			// aapt resource value: 0x7f01010a
+			public const int arc_thumb_color = 2130772234;
+			
+			// aapt resource value: 0x7f01010b
+			public const int arc_thumb_radius = 2130772235;
+			
+			// aapt resource value: 0x7f01010d
+			public const int arc_thumb_shadow_color = 2130772237;
+			
+			// aapt resource value: 0x7f01010c
+			public const int arc_thumb_shadow_radius = 2130772236;
+			
+			// aapt resource value: 0x7f010109
+			public const int arc_thumb_width = 2130772233;
+			
+			// aapt resource value: 0x7f010100
+			public const int arc_width = 2130772224;
+			
+			// aapt resource value: 0x7f0100b1
+			public const int arrowHeadLength = 2130772145;
+			
+			// aapt resource value: 0x7f0100b2
+			public const int arrowShaftLength = 2130772146;
+			
+			// aapt resource value: 0x7f010098
+			public const int autoCompleteTextViewStyle = 2130772120;
+			
+			// aapt resource value: 0x7f010032
+			public const int autoSizeMaxTextSize = 2130772018;
+			
+			// aapt resource value: 0x7f010031
+			public const int autoSizeMinTextSize = 2130772017;
+			
+			// aapt resource value: 0x7f010030
+			public const int autoSizePresetSizes = 2130772016;
+			
+			// aapt resource value: 0x7f01002f
+			public const int autoSizeStepGranularity = 2130772015;
+			
+			// aapt resource value: 0x7f01002e
+			public const int autoSizeTextType = 2130772014;
+			
+			// aapt resource value: 0x7f01000c
+			public const int background = 2130771980;
+			
+			// aapt resource value: 0x7f01000e
+			public const int backgroundSplit = 2130771982;
+			
+			// aapt resource value: 0x7f01000d
+			public const int backgroundStacked = 2130771981;
+			
+			// aapt resource value: 0x7f0100f4
+			public const int backgroundTint = 2130772212;
+			
+			// aapt resource value: 0x7f0100f5
+			public const int backgroundTintMode = 2130772213;
+			
+			// aapt resource value: 0x7f0100b3
+			public const int barLength = 2130772147;
+			
+			// aapt resource value: 0x7f0100ff
+			public const int biometricPromptDialogTheme = 2130772223;
+			
+			// aapt resource value: 0x7f010069
+			public const int borderlessButtonStyle = 2130772073;
+			
+			// aapt resource value: 0x7f010066
+			public const int buttonBarButtonStyle = 2130772070;
+			
+			// aapt resource value: 0x7f010096
+			public const int buttonBarNegativeButtonStyle = 2130772118;
+			
+			// aapt resource value: 0x7f010097
+			public const int buttonBarNeutralButtonStyle = 2130772119;
+			
+			// aapt resource value: 0x7f010095
+			public const int buttonBarPositiveButtonStyle = 2130772117;
+			
+			// aapt resource value: 0x7f010065
+			public const int buttonBarStyle = 2130772069;
+			
+			// aapt resource value: 0x7f0100e9
+			public const int buttonGravity = 2130772201;
+			
+			// aapt resource value: 0x7f010021
+			public const int buttonPanelSideLayout = 2130772001;
+			
+			// aapt resource value: 0x7f010099
+			public const int buttonStyle = 2130772121;
+			
+			// aapt resource value: 0x7f01009a
+			public const int buttonStyleSmall = 2130772122;
+			
+			// aapt resource value: 0x7f0100ab
+			public const int buttonTint = 2130772139;
+			
+			// aapt resource value: 0x7f0100ac
+			public const int buttonTintMode = 2130772140;
+			
+			// aapt resource value: 0x7f01009b
+			public const int checkboxStyle = 2130772123;
+			
+			// aapt resource value: 0x7f01009c
+			public const int checkedTextViewStyle = 2130772124;
+			
+			// aapt resource value: 0x7f0100cc
+			public const int closeIcon = 2130772172;
+			
+			// aapt resource value: 0x7f01001e
+			public const int closeItemLayout = 2130771998;
+			
+			// aapt resource value: 0x7f0100eb
+			public const int collapseContentDescription = 2130772203;
+			
+			// aapt resource value: 0x7f0100ea
+			public const int collapseIcon = 2130772202;
+			
+			// aapt resource value: 0x7f0100ad
+			public const int color = 2130772141;
+			
+			// aapt resource value: 0x7f010088
+			public const int colorAccent = 2130772104;
+			
+			// aapt resource value: 0x7f01008f
+			public const int colorBackgroundFloating = 2130772111;
+			
+			// aapt resource value: 0x7f01008c
+			public const int colorButtonNormal = 2130772108;
+			
+			// aapt resource value: 0x7f01008a
+			public const int colorControlActivated = 2130772106;
+			
+			// aapt resource value: 0x7f01008b
+			public const int colorControlHighlight = 2130772107;
+			
+			// aapt resource value: 0x7f010089
+			public const int colorControlNormal = 2130772105;
+			
+			// aapt resource value: 0x7f0100a8
+			public const int colorError = 2130772136;
+			
+			// aapt resource value: 0x7f010086
+			public const int colorPrimary = 2130772102;
+			
+			// aapt resource value: 0x7f010087
+			public const int colorPrimaryDark = 2130772103;
+			
+			// aapt resource value: 0x7f01008d
+			public const int colorSwitchThumbNormal = 2130772109;
+			
+			// aapt resource value: 0x7f0100d1
+			public const int commitIcon = 2130772177;
+			
+			// aapt resource value: 0x7f0100be
+			public const int contentDescription = 2130772158;
+			
+			// aapt resource value: 0x7f010017
+			public const int contentInsetEnd = 2130771991;
+			
+			// aapt resource value: 0x7f01001b
+			public const int contentInsetEndWithActions = 2130771995;
+			
+			// aapt resource value: 0x7f010018
+			public const int contentInsetLeft = 2130771992;
+			
+			// aapt resource value: 0x7f010019
+			public const int contentInsetRight = 2130771993;
+			
+			// aapt resource value: 0x7f010016
+			public const int contentInsetStart = 2130771990;
+			
+			// aapt resource value: 0x7f01001a
+			public const int contentInsetStartWithNavigation = 2130771994;
+			
+			// aapt resource value: 0x7f01008e
+			public const int controlBackground = 2130772110;
+			
+			// aapt resource value: 0x7f010114
+			public const int curtain_bar_bg_color = 2130772244;
+			
+			// aapt resource value: 0x7f010115
+			public const int curtain_bar_border_color = 2130772245;
+			
+			// aapt resource value: 0x7f010112
+			public const int curtain_bar_color = 2130772242;
+			
+			// aapt resource value: 0x7f010117
+			public const int curtain_bar_height = 2130772247;
+			
+			// aapt resource value: 0x7f010116
+			public const int curtain_bar_width = 2130772246;
+			
+			// aapt resource value: 0x7f01000f
+			public const int customNavigationLayout = 2130771983;
+			
+			// aapt resource value: 0x7f0100cb
+			public const int defaultQueryHint = 2130772171;
+			
+			// aapt resource value: 0x7f01005e
+			public const int dialogPreferredPadding = 2130772062;
+			
+			// aapt resource value: 0x7f01005d
+			public const int dialogTheme = 2130772061;
+			
+			// aapt resource value: 0x7f010005
+			public const int displayOptions = 2130771973;
+			
+			// aapt resource value: 0x7f01000b
+			public const int divider = 2130771979;
+			
+			// aapt resource value: 0x7f01006b
+			public const int dividerHorizontal = 2130772075;
+			
+			// aapt resource value: 0x7f0100b7
+			public const int dividerPadding = 2130772151;
+			
+			// aapt resource value: 0x7f01006a
+			public const int dividerVertical = 2130772074;
+			
+			// aapt resource value: 0x7f0100af
+			public const int drawableSize = 2130772143;
+			
+			// aapt resource value: 0x7f010000
+			public const int drawerArrowStyle = 2130771968;
+			
+			// aapt resource value: 0x7f01007d
+			public const int dropDownListViewStyle = 2130772093;
+			
+			// aapt resource value: 0x7f010061
+			public const int dropdownListPreferredItemHeight = 2130772065;
+			
+			// aapt resource value: 0x7f010072
+			public const int editTextBackground = 2130772082;
+			
+			// aapt resource value: 0x7f010071
+			public const int editTextColor = 2130772081;
+			
+			// aapt resource value: 0x7f01009d
+			public const int editTextStyle = 2130772125;
+			
+			// aapt resource value: 0x7f01001c
+			public const int elevation = 2130771996;
+			
+			// aapt resource value: 0x7f010020
+			public const int expandActivityOverflowButtonDrawable = 2130772000;
+			
+			// aapt resource value: 0x7f0100fd
+			public const int font = 2130772221;
+			
+			// aapt resource value: 0x7f010033
+			public const int fontFamily = 2130772019;
+			
+			// aapt resource value: 0x7f0100f6
+			public const int fontProviderAuthority = 2130772214;
+			
+			// aapt resource value: 0x7f0100f9
+			public const int fontProviderCerts = 2130772217;
+			
+			// aapt resource value: 0x7f0100fa
+			public const int fontProviderFetchStrategy = 2130772218;
+			
+			// aapt resource value: 0x7f0100fb
+			public const int fontProviderFetchTimeout = 2130772219;
+			
+			// aapt resource value: 0x7f0100f7
+			public const int fontProviderPackage = 2130772215;
+			
+			// aapt resource value: 0x7f0100f8
+			public const int fontProviderQuery = 2130772216;
+			
+			// aapt resource value: 0x7f0100fc
+			public const int fontStyle = 2130772220;
+			
+			// aapt resource value: 0x7f0100fe
+			public const int fontWeight = 2130772222;
+			
+			// aapt resource value: 0x7f0100b0
+			public const int gapBetweenBars = 2130772144;
+			
+			// aapt resource value: 0x7f0100cd
+			public const int goIcon = 2130772173;
+			
+			// aapt resource value: 0x7f01010e
+			public const int hdl_arc_thumb_mode = 2130772238;
+			
+			// aapt resource value: 0x7f010001
+			public const int height = 2130771969;
+			
+			// aapt resource value: 0x7f010015
+			public const int hideOnContentScroll = 2130771989;
+			
+			// aapt resource value: 0x7f010063
+			public const int homeAsUpIndicator = 2130772067;
+			
+			// aapt resource value: 0x7f010010
+			public const int homeLayout = 2130771984;
+			
+			// aapt resource value: 0x7f010009
+			public const int icon = 2130771977;
+			
+			// aapt resource value: 0x7f0100c0
+			public const int iconTint = 2130772160;
+			
+			// aapt resource value: 0x7f0100c1
+			public const int iconTintMode = 2130772161;
+			
+			// aapt resource value: 0x7f0100c9
+			public const int iconifiedByDefault = 2130772169;
+			
+			// aapt resource value: 0x7f010073
+			public const int imageButtonStyle = 2130772083;
+			
+			// aapt resource value: 0x7f010012
+			public const int indeterminateProgressStyle = 2130771986;
+			
+			// aapt resource value: 0x7f01001f
+			public const int initialActivityCount = 2130771999;
+			
+			// aapt resource value: 0x7f010002
+			public const int isLightTheme = 2130771970;
+			
+			// aapt resource value: 0x7f010014
+			public const int itemPadding = 2130771988;
+			
+			// aapt resource value: 0x7f0100c8
+			public const int layout = 2130772168;
+			
+			// aapt resource value: 0x7f010085
+			public const int listChoiceBackgroundIndicator = 2130772101;
+			
+			// aapt resource value: 0x7f01005f
+			public const int listDividerAlertDialog = 2130772063;
+			
+			// aapt resource value: 0x7f010025
+			public const int listItemLayout = 2130772005;
+			
+			// aapt resource value: 0x7f010022
+			public const int listLayout = 2130772002;
+			
+			// aapt resource value: 0x7f0100a5
+			public const int listMenuViewStyle = 2130772133;
+			
+			// aapt resource value: 0x7f01007e
+			public const int listPopupWindowStyle = 2130772094;
+			
+			// aapt resource value: 0x7f010078
+			public const int listPreferredItemHeight = 2130772088;
+			
+			// aapt resource value: 0x7f01007a
+			public const int listPreferredItemHeightLarge = 2130772090;
+			
+			// aapt resource value: 0x7f010079
+			public const int listPreferredItemHeightSmall = 2130772089;
+			
+			// aapt resource value: 0x7f01007b
+			public const int listPreferredItemPaddingLeft = 2130772091;
+			
+			// aapt resource value: 0x7f01007c
+			public const int listPreferredItemPaddingRight = 2130772092;
+			
+			// aapt resource value: 0x7f01000a
+			public const int logo = 2130771978;
+			
+			// aapt resource value: 0x7f0100ee
+			public const int logoDescription = 2130772206;
+			
+			// aapt resource value: 0x7f0100e8
+			public const int maxButtonHeight = 2130772200;
+			
+			// aapt resource value: 0x7f0100b5
+			public const int measureWithLargestChild = 2130772149;
+			
+			// aapt resource value: 0x7f010023
+			public const int multiChoiceItemLayout = 2130772003;
+			
+			// aapt resource value: 0x7f0100ed
+			public const int navigationContentDescription = 2130772205;
+			
+			// aapt resource value: 0x7f0100ec
+			public const int navigationIcon = 2130772204;
+			
+			// aapt resource value: 0x7f010004
+			public const int navigationMode = 2130771972;
+			
+			// aapt resource value: 0x7f0100b9
+			public const int numericModifiers = 2130772153;
+			
+			// aapt resource value: 0x7f0100c4
+			public const int overlapAnchor = 2130772164;
+			
+			// aapt resource value: 0x7f0100c6
+			public const int paddingBottomNoButtons = 2130772166;
+			
+			// aapt resource value: 0x7f0100f2
+			public const int paddingEnd = 2130772210;
+			
+			// aapt resource value: 0x7f0100f1
+			public const int paddingStart = 2130772209;
+			
+			// aapt resource value: 0x7f0100c7
+			public const int paddingTopNoTitle = 2130772167;
+			
+			// aapt resource value: 0x7f010082
+			public const int panelBackground = 2130772098;
+			
+			// aapt resource value: 0x7f010084
+			public const int panelMenuListTheme = 2130772100;
+			
+			// aapt resource value: 0x7f010083
+			public const int panelMenuListWidth = 2130772099;
+			
+			// aapt resource value: 0x7f01006f
+			public const int popupMenuStyle = 2130772079;
+			
+			// aapt resource value: 0x7f01001d
+			public const int popupTheme = 2130771997;
+			
+			// aapt resource value: 0x7f010070
+			public const int popupWindowStyle = 2130772080;
+			
+			// aapt resource value: 0x7f0100c2
+			public const int preserveIconSpacing = 2130772162;
+			
+			// aapt resource value: 0x7f010013
+			public const int progressBarPadding = 2130771987;
+			
+			// aapt resource value: 0x7f010011
+			public const int progressBarStyle = 2130771985;
+			
+			// aapt resource value: 0x7f0100d3
+			public const int queryBackground = 2130772179;
+			
+			// aapt resource value: 0x7f0100ca
+			public const int queryHint = 2130772170;
+			
+			// aapt resource value: 0x7f01009e
+			public const int radioButtonStyle = 2130772126;
+			
+			// aapt resource value: 0x7f01009f
+			public const int ratingBarStyle = 2130772127;
+			
+			// aapt resource value: 0x7f0100a0
+			public const int ratingBarStyleIndicator = 2130772128;
+			
+			// aapt resource value: 0x7f0100a1
+			public const int ratingBarStyleSmall = 2130772129;
+			
+			// aapt resource value: 0x7f0100cf
+			public const int searchHintIcon = 2130772175;
+			
+			// aapt resource value: 0x7f0100ce
+			public const int searchIcon = 2130772174;
+			
+			// aapt resource value: 0x7f010077
+			public const int searchViewStyle = 2130772087;
+			
+			// aapt resource value: 0x7f010113
+			public const int second_curtain_bar_color = 2130772243;
+			
+			// aapt resource value: 0x7f010119
+			public const int second_wave_color = 2130772249;
+			
+			// aapt resource value: 0x7f0100a2
+			public const int seekBarStyle = 2130772130;
+			
+			// aapt resource value: 0x7f010067
+			public const int selectableItemBackground = 2130772071;
+			
+			// aapt resource value: 0x7f010068
+			public const int selectableItemBackgroundBorderless = 2130772072;
+			
+			// aapt resource value: 0x7f0100ba
+			public const int showAsAction = 2130772154;
+			
+			// aapt resource value: 0x7f0100b6
+			public const int showDividers = 2130772150;
+			
+			// aapt resource value: 0x7f0100df
+			public const int showText = 2130772191;
+			
+			// aapt resource value: 0x7f010026
+			public const int showTitle = 2130772006;
+			
+			// aapt resource value: 0x7f010024
+			public const int singleChoiceItemLayout = 2130772004;
+			
+			// aapt resource value: 0x7f0100ae
+			public const int spinBars = 2130772142;
+			
+			// aapt resource value: 0x7f010062
+			public const int spinnerDropDownItemStyle = 2130772066;
+			
+			// aapt resource value: 0x7f0100a3
+			public const int spinnerStyle = 2130772131;
+			
+			// aapt resource value: 0x7f0100de
+			public const int splitTrack = 2130772190;
+			
+			// aapt resource value: 0x7f010027
+			public const int srcCompat = 2130772007;
+			
+			// aapt resource value: 0x7f0100c5
+			public const int state_above_anchor = 2130772165;
+			
+			// aapt resource value: 0x7f0100c3
+			public const int subMenuArrow = 2130772163;
+			
+			// aapt resource value: 0x7f0100d4
+			public const int submitBackground = 2130772180;
+			
+			// aapt resource value: 0x7f010006
+			public const int subtitle = 2130771974;
+			
+			// aapt resource value: 0x7f0100e1
+			public const int subtitleTextAppearance = 2130772193;
+			
+			// aapt resource value: 0x7f0100f0
+			public const int subtitleTextColor = 2130772208;
+			
+			// aapt resource value: 0x7f010008
+			public const int subtitleTextStyle = 2130771976;
+			
+			// aapt resource value: 0x7f0100d2
+			public const int suggestionRowLayout = 2130772178;
+			
+			// aapt resource value: 0x7f0100dc
+			public const int switchMinWidth = 2130772188;
+			
+			// aapt resource value: 0x7f0100dd
+			public const int switchPadding = 2130772189;
+			
+			// aapt resource value: 0x7f0100a4
+			public const int switchStyle = 2130772132;
+			
+			// aapt resource value: 0x7f0100db
+			public const int switchTextAppearance = 2130772187;
+			
+			// aapt resource value: 0x7f01002d
+			public const int textAllCaps = 2130772013;
+			
+			// aapt resource value: 0x7f01005a
+			public const int textAppearanceLargePopupMenu = 2130772058;
+			
+			// aapt resource value: 0x7f01007f
+			public const int textAppearanceListItem = 2130772095;
+			
+			// aapt resource value: 0x7f010080
+			public const int textAppearanceListItemSecondary = 2130772096;
+			
+			// aapt resource value: 0x7f010081
+			public const int textAppearanceListItemSmall = 2130772097;
+			
+			// aapt resource value: 0x7f01005c
+			public const int textAppearancePopupMenuHeader = 2130772060;
+			
+			// aapt resource value: 0x7f010075
+			public const int textAppearanceSearchResultSubtitle = 2130772085;
+			
+			// aapt resource value: 0x7f010074
+			public const int textAppearanceSearchResultTitle = 2130772084;
+			
+			// aapt resource value: 0x7f01005b
+			public const int textAppearanceSmallPopupMenu = 2130772059;
+			
+			// aapt resource value: 0x7f010094
+			public const int textColorAlertDialogListItem = 2130772116;
+			
+			// aapt resource value: 0x7f010076
+			public const int textColorSearchUrl = 2130772086;
+			
+			// aapt resource value: 0x7f0100f3
+			public const int theme = 2130772211;
+			
+			// aapt resource value: 0x7f0100b4
+			public const int thickness = 2130772148;
+			
+			// aapt resource value: 0x7f0100da
+			public const int thumbTextPadding = 2130772186;
+			
+			// aapt resource value: 0x7f0100d5
+			public const int thumbTint = 2130772181;
+			
+			// aapt resource value: 0x7f0100d6
+			public const int thumbTintMode = 2130772182;
+			
+			// aapt resource value: 0x7f01002a
+			public const int tickMark = 2130772010;
+			
+			// aapt resource value: 0x7f01002b
+			public const int tickMarkTint = 2130772011;
+			
+			// aapt resource value: 0x7f01002c
+			public const int tickMarkTintMode = 2130772012;
+			
+			// aapt resource value: 0x7f010028
+			public const int tint = 2130772008;
+			
+			// aapt resource value: 0x7f010029
+			public const int tintMode = 2130772009;
+			
+			// aapt resource value: 0x7f010003
+			public const int title = 2130771971;
+			
+			// aapt resource value: 0x7f0100e2
+			public const int titleMargin = 2130772194;
+			
+			// aapt resource value: 0x7f0100e6
+			public const int titleMarginBottom = 2130772198;
+			
+			// aapt resource value: 0x7f0100e4
+			public const int titleMarginEnd = 2130772196;
+			
+			// aapt resource value: 0x7f0100e3
+			public const int titleMarginStart = 2130772195;
+			
+			// aapt resource value: 0x7f0100e5
+			public const int titleMarginTop = 2130772197;
+			
+			// aapt resource value: 0x7f0100e7
+			public const int titleMargins = 2130772199;
+			
+			// aapt resource value: 0x7f0100e0
+			public const int titleTextAppearance = 2130772192;
+			
+			// aapt resource value: 0x7f0100ef
+			public const int titleTextColor = 2130772207;
+			
+			// aapt resource value: 0x7f010007
+			public const int titleTextStyle = 2130771975;
+			
+			// aapt resource value: 0x7f01006e
+			public const int toolbarNavigationButtonStyle = 2130772078;
+			
+			// aapt resource value: 0x7f01006d
+			public const int toolbarStyle = 2130772077;
+			
+			// aapt resource value: 0x7f0100a7
+			public const int tooltipForegroundColor = 2130772135;
+			
+			// aapt resource value: 0x7f0100a6
+			public const int tooltipFrameBackground = 2130772134;
+			
+			// aapt resource value: 0x7f0100bf
+			public const int tooltipText = 2130772159;
+			
+			// aapt resource value: 0x7f0100d7
+			public const int track = 2130772183;
+			
+			// aapt resource value: 0x7f0100d8
+			public const int trackTint = 2130772184;
+			
+			// aapt resource value: 0x7f0100d9
+			public const int trackTintMode = 2130772185;
+			
+			// aapt resource value: 0x7f0100d0
+			public const int voiceIcon = 2130772176;
+			
+			// aapt resource value: 0x7f01011a
+			public const int wave_bg_color = 2130772250;
+			
+			// aapt resource value: 0x7f01011b
+			public const int wave_border_color = 2130772251;
+			
+			// aapt resource value: 0x7f010118
+			public const int wave_color = 2130772248;
+			
+			// aapt resource value: 0x7f01011d
+			public const int wave_height = 2130772253;
+			
+			// aapt resource value: 0x7f01011c
+			public const int wave_width = 2130772252;
+			
+			// aapt resource value: 0x7f010122
+			public const int wheelview_dividerColor = 2130772258;
+			
+			// aapt resource value: 0x7f01011e
+			public const int wheelview_gravity = 2130772254;
+			
+			// aapt resource value: 0x7f010123
+			public const int wheelview_lineSpacingMultiplier = 2130772259;
+			
+			// aapt resource value: 0x7f010121
+			public const int wheelview_textColorCenter = 2130772257;
+			
+			// aapt resource value: 0x7f010120
+			public const int wheelview_textColorOut = 2130772256;
+			
+			// aapt resource value: 0x7f01011f
+			public const int wheelview_textSize = 2130772255;
+			
+			// aapt resource value: 0x7f010034
+			public const int windowActionBar = 2130772020;
+			
+			// aapt resource value: 0x7f010036
+			public const int windowActionBarOverlay = 2130772022;
+			
+			// aapt resource value: 0x7f010037
+			public const int windowActionModeOverlay = 2130772023;
+			
+			// aapt resource value: 0x7f01003b
+			public const int windowFixedHeightMajor = 2130772027;
+			
+			// aapt resource value: 0x7f010039
+			public const int windowFixedHeightMinor = 2130772025;
+			
+			// aapt resource value: 0x7f010038
+			public const int windowFixedWidthMajor = 2130772024;
+			
+			// aapt resource value: 0x7f01003a
+			public const int windowFixedWidthMinor = 2130772026;
+			
+			// aapt resource value: 0x7f01003c
+			public const int windowMinWidthMajor = 2130772028;
+			
+			// aapt resource value: 0x7f01003d
+			public const int windowMinWidthMinor = 2130772029;
+			
+			// aapt resource value: 0x7f010035
+			public const int windowNoTitle = 2130772021;
+			
+			static Attribute()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Attribute()
+			{
+			}
+		}
+		
+		public partial class Boolean
+		{
+			
+			// aapt resource value: 0x7f0a0000
+			public const int abc_action_bar_embed_tabs = 2131361792;
+			
+			// aapt resource value: 0x7f0a0001
+			public const int abc_allow_stacked_button_bar = 2131361793;
+			
+			// aapt resource value: 0x7f0a0002
+			public const int abc_config_actionMenuItemAllCaps = 2131361794;
+			
+			// aapt resource value: 0x7f0a0003
+			public const int abc_config_closeDialogWhenTouchOutside = 2131361795;
+			
+			// aapt resource value: 0x7f0a0004
+			public const int abc_config_showMenuShortcutsWhenKeyboardPresent = 2131361796;
+			
+			static Boolean()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Boolean()
+			{
+			}
+		}
+		
+		public partial class Color
+		{
+			
+			// aapt resource value: 0x7f0b0048
+			public const int abc_background_cache_hint_selector_material_dark = 2131427400;
+			
+			// aapt resource value: 0x7f0b0049
+			public const int abc_background_cache_hint_selector_material_light = 2131427401;
+			
+			// aapt resource value: 0x7f0b004a
+			public const int abc_btn_colored_borderless_text_material = 2131427402;
+			
+			// aapt resource value: 0x7f0b004b
+			public const int abc_btn_colored_text_material = 2131427403;
+			
+			// aapt resource value: 0x7f0b004c
+			public const int abc_color_highlight_material = 2131427404;
+			
+			// aapt resource value: 0x7f0b004d
+			public const int abc_hint_foreground_material_dark = 2131427405;
+			
+			// aapt resource value: 0x7f0b004e
+			public const int abc_hint_foreground_material_light = 2131427406;
+			
+			// aapt resource value: 0x7f0b0000
+			public const int abc_input_method_navigation_guard = 2131427328;
+			
+			// aapt resource value: 0x7f0b004f
+			public const int abc_primary_text_disable_only_material_dark = 2131427407;
+			
+			// aapt resource value: 0x7f0b0050
+			public const int abc_primary_text_disable_only_material_light = 2131427408;
+			
+			// aapt resource value: 0x7f0b0051
+			public const int abc_primary_text_material_dark = 2131427409;
+			
+			// aapt resource value: 0x7f0b0052
+			public const int abc_primary_text_material_light = 2131427410;
+			
+			// aapt resource value: 0x7f0b0053
+			public const int abc_search_url_text = 2131427411;
+			
+			// aapt resource value: 0x7f0b0001
+			public const int abc_search_url_text_normal = 2131427329;
+			
+			// aapt resource value: 0x7f0b0002
+			public const int abc_search_url_text_pressed = 2131427330;
+			
+			// aapt resource value: 0x7f0b0003
+			public const int abc_search_url_text_selected = 2131427331;
+			
+			// aapt resource value: 0x7f0b0054
+			public const int abc_secondary_text_material_dark = 2131427412;
+			
+			// aapt resource value: 0x7f0b0055
+			public const int abc_secondary_text_material_light = 2131427413;
+			
+			// aapt resource value: 0x7f0b0056
+			public const int abc_tint_btn_checkable = 2131427414;
+			
+			// aapt resource value: 0x7f0b0057
+			public const int abc_tint_default = 2131427415;
+			
+			// aapt resource value: 0x7f0b0058
+			public const int abc_tint_edittext = 2131427416;
+			
+			// aapt resource value: 0x7f0b0059
+			public const int abc_tint_seek_thumb = 2131427417;
+			
+			// aapt resource value: 0x7f0b005a
+			public const int abc_tint_spinner = 2131427418;
+			
+			// aapt resource value: 0x7f0b005b
+			public const int abc_tint_switch_track = 2131427419;
+			
+			// aapt resource value: 0x7f0b0004
+			public const int accent_material_dark = 2131427332;
+			
+			// aapt resource value: 0x7f0b0005
+			public const int accent_material_light = 2131427333;
+			
+			// aapt resource value: 0x7f0b0006
+			public const int background_floating_material_dark = 2131427334;
+			
+			// aapt resource value: 0x7f0b0007
+			public const int background_floating_material_light = 2131427335;
+			
+			// aapt resource value: 0x7f0b0008
+			public const int background_material_dark = 2131427336;
+			
+			// aapt resource value: 0x7f0b0009
+			public const int background_material_light = 2131427337;
+			
+			// aapt resource value: 0x7f0b000a
+			public const int bright_foreground_disabled_material_dark = 2131427338;
+			
+			// aapt resource value: 0x7f0b000b
+			public const int bright_foreground_disabled_material_light = 2131427339;
+			
+			// aapt resource value: 0x7f0b000c
+			public const int bright_foreground_inverse_material_dark = 2131427340;
+			
+			// aapt resource value: 0x7f0b000d
+			public const int bright_foreground_inverse_material_light = 2131427341;
+			
+			// aapt resource value: 0x7f0b000e
+			public const int bright_foreground_material_dark = 2131427342;
+			
+			// aapt resource value: 0x7f0b000f
+			public const int bright_foreground_material_light = 2131427343;
+			
+			// aapt resource value: 0x7f0b0010
+			public const int button_material_dark = 2131427344;
+			
+			// aapt resource value: 0x7f0b0011
+			public const int button_material_light = 2131427345;
+			
+			// aapt resource value: 0x7f0b0012
+			public const int dim_foreground_disabled_material_dark = 2131427346;
+			
+			// aapt resource value: 0x7f0b0013
+			public const int dim_foreground_disabled_material_light = 2131427347;
+			
+			// aapt resource value: 0x7f0b0014
+			public const int dim_foreground_material_dark = 2131427348;
+			
+			// aapt resource value: 0x7f0b0015
+			public const int dim_foreground_material_light = 2131427349;
+			
+			// aapt resource value: 0x7f0b0016
+			public const int error_color_material = 2131427350;
+			
+			// aapt resource value: 0x7f0b0017
+			public const int foreground_material_dark = 2131427351;
+			
+			// aapt resource value: 0x7f0b0018
+			public const int foreground_material_light = 2131427352;
+			
+			// aapt resource value: 0x7f0b0019
+			public const int highlighted_text_material_dark = 2131427353;
+			
+			// aapt resource value: 0x7f0b001a
+			public const int highlighted_text_material_light = 2131427354;
+			
+			// aapt resource value: 0x7f0b001b
+			public const int material_blue_grey_800 = 2131427355;
+			
+			// aapt resource value: 0x7f0b001c
+			public const int material_blue_grey_900 = 2131427356;
+			
+			// aapt resource value: 0x7f0b001d
+			public const int material_blue_grey_950 = 2131427357;
+			
+			// aapt resource value: 0x7f0b001e
+			public const int material_deep_teal_200 = 2131427358;
+			
+			// aapt resource value: 0x7f0b001f
+			public const int material_deep_teal_500 = 2131427359;
+			
+			// aapt resource value: 0x7f0b0020
+			public const int material_grey_100 = 2131427360;
+			
+			// aapt resource value: 0x7f0b0021
+			public const int material_grey_300 = 2131427361;
+			
+			// aapt resource value: 0x7f0b0022
+			public const int material_grey_50 = 2131427362;
+			
+			// aapt resource value: 0x7f0b0023
+			public const int material_grey_600 = 2131427363;
+			
+			// aapt resource value: 0x7f0b0024
+			public const int material_grey_800 = 2131427364;
+			
+			// aapt resource value: 0x7f0b0025
+			public const int material_grey_850 = 2131427365;
+			
+			// aapt resource value: 0x7f0b0026
+			public const int material_grey_900 = 2131427366;
+			
+			// aapt resource value: 0x7f0b003e
+			public const int material_red_500 = 2131427390;
+			
+			// aapt resource value: 0x7f0b003c
+			public const int notification_action_color_filter = 2131427388;
+			
+			// aapt resource value: 0x7f0b003d
+			public const int notification_icon_bg_color = 2131427389;
+			
+			// aapt resource value: 0x7f0b003b
+			public const int notification_material_background_media_default_color = 2131427387;
+			
+			// aapt resource value: 0x7f0b003f
+			public const int pickerview_bgColor_default = 2131427391;
+			
+			// aapt resource value: 0x7f0b0040
+			public const int pickerview_bgColor_overlay = 2131427392;
+			
+			// aapt resource value: 0x7f0b0041
+			public const int pickerview_bg_topbar = 2131427393;
+			
+			// aapt resource value: 0x7f0b0042
+			public const int pickerview_timebtn_nor = 2131427394;
+			
+			// aapt resource value: 0x7f0b0043
+			public const int pickerview_timebtn_pre = 2131427395;
+			
+			// aapt resource value: 0x7f0b0044
+			public const int pickerview_topbar_title = 2131427396;
+			
+			// aapt resource value: 0x7f0b0045
+			public const int pickerview_wheelview_textcolor_center = 2131427397;
+			
+			// aapt resource value: 0x7f0b0046
+			public const int pickerview_wheelview_textcolor_divider = 2131427398;
+			
+			// aapt resource value: 0x7f0b0047
+			public const int pickerview_wheelview_textcolor_out = 2131427399;
+			
+			// aapt resource value: 0x7f0b0027
+			public const int primary_dark_material_dark = 2131427367;
+			
+			// aapt resource value: 0x7f0b0028
+			public const int primary_dark_material_light = 2131427368;
+			
+			// aapt resource value: 0x7f0b0029
+			public const int primary_material_dark = 2131427369;
+			
+			// aapt resource value: 0x7f0b002a
+			public const int primary_material_light = 2131427370;
+			
+			// aapt resource value: 0x7f0b002b
+			public const int primary_text_default_material_dark = 2131427371;
+			
+			// aapt resource value: 0x7f0b002c
+			public const int primary_text_default_material_light = 2131427372;
+			
+			// aapt resource value: 0x7f0b002d
+			public const int primary_text_disabled_material_dark = 2131427373;
+			
+			// aapt resource value: 0x7f0b002e
+			public const int primary_text_disabled_material_light = 2131427374;
+			
+			// aapt resource value: 0x7f0b002f
+			public const int ripple_material_dark = 2131427375;
+			
+			// aapt resource value: 0x7f0b0030
+			public const int ripple_material_light = 2131427376;
+			
+			// aapt resource value: 0x7f0b0031
+			public const int secondary_text_default_material_dark = 2131427377;
+			
+			// aapt resource value: 0x7f0b0032
+			public const int secondary_text_default_material_light = 2131427378;
+			
+			// aapt resource value: 0x7f0b0033
+			public const int secondary_text_disabled_material_dark = 2131427379;
+			
+			// aapt resource value: 0x7f0b0034
+			public const int secondary_text_disabled_material_light = 2131427380;
+			
+			// aapt resource value: 0x7f0b0035
+			public const int switch_thumb_disabled_material_dark = 2131427381;
+			
+			// aapt resource value: 0x7f0b0036
+			public const int switch_thumb_disabled_material_light = 2131427382;
+			
+			// aapt resource value: 0x7f0b005c
+			public const int switch_thumb_material_dark = 2131427420;
+			
+			// aapt resource value: 0x7f0b005d
+			public const int switch_thumb_material_light = 2131427421;
+			
+			// aapt resource value: 0x7f0b0037
+			public const int switch_thumb_normal_material_dark = 2131427383;
+			
+			// aapt resource value: 0x7f0b0038
+			public const int switch_thumb_normal_material_light = 2131427384;
+			
+			// aapt resource value: 0x7f0b0039
+			public const int tooltip_background_dark = 2131427385;
+			
+			// aapt resource value: 0x7f0b003a
+			public const int tooltip_background_light = 2131427386;
+			
+			static Color()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Color()
+			{
+			}
+		}
+		
+		public partial class Dimension
+		{
+			
+			// aapt resource value: 0x7f08000c
+			public const int abc_action_bar_content_inset_material = 2131230732;
+			
+			// aapt resource value: 0x7f08000d
+			public const int abc_action_bar_content_inset_with_nav = 2131230733;
+			
+			// aapt resource value: 0x7f080001
+			public const int abc_action_bar_default_height_material = 2131230721;
+			
+			// aapt resource value: 0x7f08000e
+			public const int abc_action_bar_default_padding_end_material = 2131230734;
+			
+			// aapt resource value: 0x7f08000f
+			public const int abc_action_bar_default_padding_start_material = 2131230735;
+			
+			// aapt resource value: 0x7f080011
+			public const int abc_action_bar_elevation_material = 2131230737;
+			
+			// aapt resource value: 0x7f080012
+			public const int abc_action_bar_icon_vertical_padding_material = 2131230738;
+			
+			// aapt resource value: 0x7f080013
+			public const int abc_action_bar_overflow_padding_end_material = 2131230739;
+			
+			// aapt resource value: 0x7f080014
+			public const int abc_action_bar_overflow_padding_start_material = 2131230740;
+			
+			// aapt resource value: 0x7f080002
+			public const int abc_action_bar_progress_bar_size = 2131230722;
+			
+			// aapt resource value: 0x7f080015
+			public const int abc_action_bar_stacked_max_height = 2131230741;
+			
+			// aapt resource value: 0x7f080016
+			public const int abc_action_bar_stacked_tab_max_width = 2131230742;
+			
+			// aapt resource value: 0x7f080017
+			public const int abc_action_bar_subtitle_bottom_margin_material = 2131230743;
+			
+			// aapt resource value: 0x7f080018
+			public const int abc_action_bar_subtitle_top_margin_material = 2131230744;
+			
+			// aapt resource value: 0x7f080019
+			public const int abc_action_button_min_height_material = 2131230745;
+			
+			// aapt resource value: 0x7f08001a
+			public const int abc_action_button_min_width_material = 2131230746;
+			
+			// aapt resource value: 0x7f08001b
+			public const int abc_action_button_min_width_overflow_material = 2131230747;
+			
+			// aapt resource value: 0x7f080000
+			public const int abc_alert_dialog_button_bar_height = 2131230720;
+			
+			// aapt resource value: 0x7f08001c
+			public const int abc_button_inset_horizontal_material = 2131230748;
+			
+			// aapt resource value: 0x7f08001d
+			public const int abc_button_inset_vertical_material = 2131230749;
+			
+			// aapt resource value: 0x7f08001e
+			public const int abc_button_padding_horizontal_material = 2131230750;
+			
+			// aapt resource value: 0x7f08001f
+			public const int abc_button_padding_vertical_material = 2131230751;
+			
+			// aapt resource value: 0x7f080020
+			public const int abc_cascading_menus_min_smallest_width = 2131230752;
+			
+			// aapt resource value: 0x7f080005
+			public const int abc_config_prefDialogWidth = 2131230725;
+			
+			// aapt resource value: 0x7f080021
+			public const int abc_control_corner_material = 2131230753;
+			
+			// aapt resource value: 0x7f080022
+			public const int abc_control_inset_material = 2131230754;
+			
+			// aapt resource value: 0x7f080023
+			public const int abc_control_padding_material = 2131230755;
+			
+			// aapt resource value: 0x7f080006
+			public const int abc_dialog_fixed_height_major = 2131230726;
+			
+			// aapt resource value: 0x7f080007
+			public const int abc_dialog_fixed_height_minor = 2131230727;
+			
+			// aapt resource value: 0x7f080008
+			public const int abc_dialog_fixed_width_major = 2131230728;
+			
+			// aapt resource value: 0x7f080009
+			public const int abc_dialog_fixed_width_minor = 2131230729;
+			
+			// aapt resource value: 0x7f080024
+			public const int abc_dialog_list_padding_bottom_no_buttons = 2131230756;
+			
+			// aapt resource value: 0x7f080025
+			public const int abc_dialog_list_padding_top_no_title = 2131230757;
+			
+			// aapt resource value: 0x7f08000a
+			public const int abc_dialog_min_width_major = 2131230730;
+			
+			// aapt resource value: 0x7f08000b
+			public const int abc_dialog_min_width_minor = 2131230731;
+			
+			// aapt resource value: 0x7f080026
+			public const int abc_dialog_padding_material = 2131230758;
+			
+			// aapt resource value: 0x7f080027
+			public const int abc_dialog_padding_top_material = 2131230759;
+			
+			// aapt resource value: 0x7f080028
+			public const int abc_dialog_title_divider_material = 2131230760;
+			
+			// aapt resource value: 0x7f080029
+			public const int abc_disabled_alpha_material_dark = 2131230761;
+			
+			// aapt resource value: 0x7f08002a
+			public const int abc_disabled_alpha_material_light = 2131230762;
+			
+			// aapt resource value: 0x7f08002b
+			public const int abc_dropdownitem_icon_width = 2131230763;
+			
+			// aapt resource value: 0x7f08002c
+			public const int abc_dropdownitem_text_padding_left = 2131230764;
+			
+			// aapt resource value: 0x7f08002d
+			public const int abc_dropdownitem_text_padding_right = 2131230765;
+			
+			// aapt resource value: 0x7f08002e
+			public const int abc_edit_text_inset_bottom_material = 2131230766;
+			
+			// aapt resource value: 0x7f08002f
+			public const int abc_edit_text_inset_horizontal_material = 2131230767;
+			
+			// aapt resource value: 0x7f080030
+			public const int abc_edit_text_inset_top_material = 2131230768;
+			
+			// aapt resource value: 0x7f080031
+			public const int abc_floating_window_z = 2131230769;
+			
+			// aapt resource value: 0x7f080032
+			public const int abc_list_item_padding_horizontal_material = 2131230770;
+			
+			// aapt resource value: 0x7f080033
+			public const int abc_panel_menu_list_width = 2131230771;
+			
+			// aapt resource value: 0x7f080034
+			public const int abc_progress_bar_height_material = 2131230772;
+			
+			// aapt resource value: 0x7f080035
+			public const int abc_search_view_preferred_height = 2131230773;
+			
+			// aapt resource value: 0x7f080036
+			public const int abc_search_view_preferred_width = 2131230774;
+			
+			// aapt resource value: 0x7f080037
+			public const int abc_seekbar_track_background_height_material = 2131230775;
+			
+			// aapt resource value: 0x7f080038
+			public const int abc_seekbar_track_progress_height_material = 2131230776;
+			
+			// aapt resource value: 0x7f080039
+			public const int abc_select_dialog_padding_start_material = 2131230777;
+			
+			// aapt resource value: 0x7f080010
+			public const int abc_switch_padding = 2131230736;
+			
+			// aapt resource value: 0x7f08003a
+			public const int abc_text_size_body_1_material = 2131230778;
+			
+			// aapt resource value: 0x7f08003b
+			public const int abc_text_size_body_2_material = 2131230779;
+			
+			// aapt resource value: 0x7f08003c
+			public const int abc_text_size_button_material = 2131230780;
+			
+			// aapt resource value: 0x7f08003d
+			public const int abc_text_size_caption_material = 2131230781;
+			
+			// aapt resource value: 0x7f08003e
+			public const int abc_text_size_display_1_material = 2131230782;
+			
+			// aapt resource value: 0x7f08003f
+			public const int abc_text_size_display_2_material = 2131230783;
+			
+			// aapt resource value: 0x7f080040
+			public const int abc_text_size_display_3_material = 2131230784;
+			
+			// aapt resource value: 0x7f080041
+			public const int abc_text_size_display_4_material = 2131230785;
+			
+			// aapt resource value: 0x7f080042
+			public const int abc_text_size_headline_material = 2131230786;
+			
+			// aapt resource value: 0x7f080043
+			public const int abc_text_size_large_material = 2131230787;
+			
+			// aapt resource value: 0x7f080044
+			public const int abc_text_size_medium_material = 2131230788;
+			
+			// aapt resource value: 0x7f080045
+			public const int abc_text_size_menu_header_material = 2131230789;
+			
+			// aapt resource value: 0x7f080046
+			public const int abc_text_size_menu_material = 2131230790;
+			
+			// aapt resource value: 0x7f080047
+			public const int abc_text_size_small_material = 2131230791;
+			
+			// aapt resource value: 0x7f080048
+			public const int abc_text_size_subhead_material = 2131230792;
+			
+			// aapt resource value: 0x7f080003
+			public const int abc_text_size_subtitle_material_toolbar = 2131230723;
+			
+			// aapt resource value: 0x7f080049
+			public const int abc_text_size_title_material = 2131230793;
+			
+			// aapt resource value: 0x7f080004
+			public const int abc_text_size_title_material_toolbar = 2131230724;
+			
+			// aapt resource value: 0x7f08005f
+			public const int compat_button_inset_horizontal_material = 2131230815;
+			
+			// aapt resource value: 0x7f080060
+			public const int compat_button_inset_vertical_material = 2131230816;
+			
+			// aapt resource value: 0x7f080061
+			public const int compat_button_padding_horizontal_material = 2131230817;
+			
+			// aapt resource value: 0x7f080062
+			public const int compat_button_padding_vertical_material = 2131230818;
+			
+			// aapt resource value: 0x7f080063
+			public const int compat_control_corner_material = 2131230819;
+			
+			// aapt resource value: 0x7f08004a
+			public const int disabled_alpha_material_dark = 2131230794;
+			
+			// aapt resource value: 0x7f08004b
+			public const int disabled_alpha_material_light = 2131230795;
+			
+			// aapt resource value: 0x7f080070
+			public const int fingerprint_icon_size = 2131230832;
+			
+			// aapt resource value: 0x7f08006f
+			public const int fingerprint_status_layout_margin_vertical = 2131230831;
+			
+			// aapt resource value: 0x7f08004c
+			public const int highlight_alpha_material_colored = 2131230796;
+			
+			// aapt resource value: 0x7f08004d
+			public const int highlight_alpha_material_dark = 2131230797;
+			
+			// aapt resource value: 0x7f08004e
+			public const int highlight_alpha_material_light = 2131230798;
+			
+			// aapt resource value: 0x7f08004f
+			public const int hint_alpha_material_dark = 2131230799;
+			
+			// aapt resource value: 0x7f080050
+			public const int hint_alpha_material_light = 2131230800;
+			
+			// aapt resource value: 0x7f080051
+			public const int hint_pressed_alpha_material_dark = 2131230801;
+			
+			// aapt resource value: 0x7f080052
+			public const int hint_pressed_alpha_material_light = 2131230802;
+			
+			// aapt resource value: 0x7f080064
+			public const int notification_action_icon_size = 2131230820;
+			
+			// aapt resource value: 0x7f080065
+			public const int notification_action_text_size = 2131230821;
+			
+			// aapt resource value: 0x7f080066
+			public const int notification_big_circle_margin = 2131230822;
+			
+			// aapt resource value: 0x7f08005c
+			public const int notification_content_margin_start = 2131230812;
+			
+			// aapt resource value: 0x7f080067
+			public const int notification_large_icon_height = 2131230823;
+			
+			// aapt resource value: 0x7f080068
+			public const int notification_large_icon_width = 2131230824;
+			
+			// aapt resource value: 0x7f08005d
+			public const int notification_main_column_padding_top = 2131230813;
+			
+			// aapt resource value: 0x7f08005e
+			public const int notification_media_narrow_margin = 2131230814;
+			
+			// aapt resource value: 0x7f080069
+			public const int notification_right_icon_size = 2131230825;
+			
+			// aapt resource value: 0x7f08005b
+			public const int notification_right_side_padding_top = 2131230811;
+			
+			// aapt resource value: 0x7f08006a
+			public const int notification_small_icon_background_padding = 2131230826;
+			
+			// aapt resource value: 0x7f08006b
+			public const int notification_small_icon_size_as_large = 2131230827;
+			
+			// aapt resource value: 0x7f08006c
+			public const int notification_subtext_size = 2131230828;
+			
+			// aapt resource value: 0x7f08006d
+			public const int notification_top_pad = 2131230829;
+			
+			// aapt resource value: 0x7f08006e
+			public const int notification_top_pad_large_text = 2131230830;
+			
+			// aapt resource value: 0x7f080071
+			public const int pickerview_textsize = 2131230833;
+			
+			// aapt resource value: 0x7f080072
+			public const int pickerview_topbar_btn_textsize = 2131230834;
+			
+			// aapt resource value: 0x7f080073
+			public const int pickerview_topbar_height = 2131230835;
+			
+			// aapt resource value: 0x7f080074
+			public const int pickerview_topbar_padding = 2131230836;
+			
+			// aapt resource value: 0x7f080075
+			public const int pickerview_topbar_title_textsize = 2131230837;
+			
+			// aapt resource value: 0x7f080053
+			public const int tooltip_corner_radius = 2131230803;
+			
+			// aapt resource value: 0x7f080054
+			public const int tooltip_horizontal_padding = 2131230804;
+			
+			// aapt resource value: 0x7f080055
+			public const int tooltip_margin = 2131230805;
+			
+			// aapt resource value: 0x7f080056
+			public const int tooltip_precise_anchor_extra_offset = 2131230806;
+			
+			// aapt resource value: 0x7f080057
+			public const int tooltip_precise_anchor_threshold = 2131230807;
+			
+			// aapt resource value: 0x7f080058
+			public const int tooltip_vertical_padding = 2131230808;
+			
+			// aapt resource value: 0x7f080059
+			public const int tooltip_y_offset_non_touch = 2131230809;
+			
+			// aapt resource value: 0x7f08005a
+			public const int tooltip_y_offset_touch = 2131230810;
+			
+			static Dimension()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Dimension()
+			{
+			}
+		}
+		
+		public partial class Drawable
+		{
+			
+			// aapt resource value: 0x7f020000
+			public const int abc_ab_share_pack_mtrl_alpha = 2130837504;
+			
+			// aapt resource value: 0x7f020001
+			public const int abc_action_bar_item_background_material = 2130837505;
+			
+			// aapt resource value: 0x7f020002
+			public const int abc_btn_borderless_material = 2130837506;
+			
+			// aapt resource value: 0x7f020003
+			public const int abc_btn_check_material = 2130837507;
+			
+			// aapt resource value: 0x7f020004
+			public const int abc_btn_check_to_on_mtrl_000 = 2130837508;
+			
+			// aapt resource value: 0x7f020005
+			public const int abc_btn_check_to_on_mtrl_015 = 2130837509;
+			
+			// aapt resource value: 0x7f020006
+			public const int abc_btn_colored_material = 2130837510;
+			
+			// aapt resource value: 0x7f020007
+			public const int abc_btn_default_mtrl_shape = 2130837511;
+			
+			// aapt resource value: 0x7f020008
+			public const int abc_btn_radio_material = 2130837512;
+			
+			// aapt resource value: 0x7f020009
+			public const int abc_btn_radio_to_on_mtrl_000 = 2130837513;
+			
+			// aapt resource value: 0x7f02000a
+			public const int abc_btn_radio_to_on_mtrl_015 = 2130837514;
+			
+			// aapt resource value: 0x7f02000b
+			public const int abc_btn_switch_to_on_mtrl_00001 = 2130837515;
+			
+			// aapt resource value: 0x7f02000c
+			public const int abc_btn_switch_to_on_mtrl_00012 = 2130837516;
+			
+			// aapt resource value: 0x7f02000d
+			public const int abc_cab_background_internal_bg = 2130837517;
+			
+			// aapt resource value: 0x7f02000e
+			public const int abc_cab_background_top_material = 2130837518;
+			
+			// aapt resource value: 0x7f02000f
+			public const int abc_cab_background_top_mtrl_alpha = 2130837519;
+			
+			// aapt resource value: 0x7f020010
+			public const int abc_control_background_material = 2130837520;
+			
+			// aapt resource value: 0x7f020011
+			public const int abc_dialog_material_background = 2130837521;
+			
+			// aapt resource value: 0x7f020012
+			public const int abc_edit_text_material = 2130837522;
+			
+			// aapt resource value: 0x7f020013
+			public const int abc_ic_ab_back_material = 2130837523;
+			
+			// aapt resource value: 0x7f020014
+			public const int abc_ic_arrow_drop_right_black_24dp = 2130837524;
+			
+			// aapt resource value: 0x7f020015
+			public const int abc_ic_clear_material = 2130837525;
+			
+			// aapt resource value: 0x7f020016
+			public const int abc_ic_commit_search_api_mtrl_alpha = 2130837526;
+			
+			// aapt resource value: 0x7f020017
+			public const int abc_ic_go_search_api_material = 2130837527;
+			
+			// aapt resource value: 0x7f020018
+			public const int abc_ic_menu_copy_mtrl_am_alpha = 2130837528;
+			
+			// aapt resource value: 0x7f020019
+			public const int abc_ic_menu_cut_mtrl_alpha = 2130837529;
+			
+			// aapt resource value: 0x7f02001a
+			public const int abc_ic_menu_overflow_material = 2130837530;
+			
+			// aapt resource value: 0x7f02001b
+			public const int abc_ic_menu_paste_mtrl_am_alpha = 2130837531;
+			
+			// aapt resource value: 0x7f02001c
+			public const int abc_ic_menu_selectall_mtrl_alpha = 2130837532;
+			
+			// aapt resource value: 0x7f02001d
+			public const int abc_ic_menu_share_mtrl_alpha = 2130837533;
+			
+			// aapt resource value: 0x7f02001e
+			public const int abc_ic_search_api_material = 2130837534;
+			
+			// aapt resource value: 0x7f02001f
+			public const int abc_ic_star_black_16dp = 2130837535;
+			
+			// aapt resource value: 0x7f020020
+			public const int abc_ic_star_black_36dp = 2130837536;
+			
+			// aapt resource value: 0x7f020021
+			public const int abc_ic_star_black_48dp = 2130837537;
+			
+			// aapt resource value: 0x7f020022
+			public const int abc_ic_star_half_black_16dp = 2130837538;
+			
+			// aapt resource value: 0x7f020023
+			public const int abc_ic_star_half_black_36dp = 2130837539;
+			
+			// aapt resource value: 0x7f020024
+			public const int abc_ic_star_half_black_48dp = 2130837540;
+			
+			// aapt resource value: 0x7f020025
+			public const int abc_ic_voice_search_api_material = 2130837541;
+			
+			// aapt resource value: 0x7f020026
+			public const int abc_item_background_holo_dark = 2130837542;
+			
+			// aapt resource value: 0x7f020027
+			public const int abc_item_background_holo_light = 2130837543;
+			
+			// aapt resource value: 0x7f020028
+			public const int abc_list_divider_mtrl_alpha = 2130837544;
+			
+			// aapt resource value: 0x7f020029
+			public const int abc_list_focused_holo = 2130837545;
+			
+			// aapt resource value: 0x7f02002a
+			public const int abc_list_longpressed_holo = 2130837546;
+			
+			// aapt resource value: 0x7f02002b
+			public const int abc_list_pressed_holo_dark = 2130837547;
+			
+			// aapt resource value: 0x7f02002c
+			public const int abc_list_pressed_holo_light = 2130837548;
+			
+			// aapt resource value: 0x7f02002d
+			public const int abc_list_selector_background_transition_holo_dark = 2130837549;
+			
+			// aapt resource value: 0x7f02002e
+			public const int abc_list_selector_background_transition_holo_light = 2130837550;
+			
+			// aapt resource value: 0x7f02002f
+			public const int abc_list_selector_disabled_holo_dark = 2130837551;
+			
+			// aapt resource value: 0x7f020030
+			public const int abc_list_selector_disabled_holo_light = 2130837552;
+			
+			// aapt resource value: 0x7f020031
+			public const int abc_list_selector_holo_dark = 2130837553;
+			
+			// aapt resource value: 0x7f020032
+			public const int abc_list_selector_holo_light = 2130837554;
+			
+			// aapt resource value: 0x7f020033
+			public const int abc_menu_hardkey_panel_mtrl_mult = 2130837555;
+			
+			// aapt resource value: 0x7f020034
+			public const int abc_popup_background_mtrl_mult = 2130837556;
+			
+			// aapt resource value: 0x7f020035
+			public const int abc_ratingbar_indicator_material = 2130837557;
+			
+			// aapt resource value: 0x7f020036
+			public const int abc_ratingbar_material = 2130837558;
+			
+			// aapt resource value: 0x7f020037
+			public const int abc_ratingbar_small_material = 2130837559;
+			
+			// aapt resource value: 0x7f020038
+			public const int abc_scrubber_control_off_mtrl_alpha = 2130837560;
+			
+			// aapt resource value: 0x7f020039
+			public const int abc_scrubber_control_to_pressed_mtrl_000 = 2130837561;
+			
+			// aapt resource value: 0x7f02003a
+			public const int abc_scrubber_control_to_pressed_mtrl_005 = 2130837562;
+			
+			// aapt resource value: 0x7f02003b
+			public const int abc_scrubber_primary_mtrl_alpha = 2130837563;
+			
+			// aapt resource value: 0x7f02003c
+			public const int abc_scrubber_track_mtrl_alpha = 2130837564;
+			
+			// aapt resource value: 0x7f02003d
+			public const int abc_seekbar_thumb_material = 2130837565;
+			
+			// aapt resource value: 0x7f02003e
+			public const int abc_seekbar_tick_mark_material = 2130837566;
+			
+			// aapt resource value: 0x7f02003f
+			public const int abc_seekbar_track_material = 2130837567;
+			
+			// aapt resource value: 0x7f020040
+			public const int abc_spinner_mtrl_am_alpha = 2130837568;
+			
+			// aapt resource value: 0x7f020041
+			public const int abc_spinner_textfield_background_material = 2130837569;
+			
+			// aapt resource value: 0x7f020042
+			public const int abc_switch_thumb_material = 2130837570;
+			
+			// aapt resource value: 0x7f020043
+			public const int abc_switch_track_mtrl_alpha = 2130837571;
+			
+			// aapt resource value: 0x7f020044
+			public const int abc_tab_indicator_material = 2130837572;
+			
+			// aapt resource value: 0x7f020045
+			public const int abc_tab_indicator_mtrl_alpha = 2130837573;
+			
+			// aapt resource value: 0x7f020046
+			public const int abc_text_cursor_material = 2130837574;
+			
+			// aapt resource value: 0x7f020047
+			public const int abc_text_select_handle_left_mtrl_dark = 2130837575;
+			
+			// aapt resource value: 0x7f020048
+			public const int abc_text_select_handle_left_mtrl_light = 2130837576;
+			
+			// aapt resource value: 0x7f020049
+			public const int abc_text_select_handle_middle_mtrl_dark = 2130837577;
+			
+			// aapt resource value: 0x7f02004a
+			public const int abc_text_select_handle_middle_mtrl_light = 2130837578;
+			
+			// aapt resource value: 0x7f02004b
+			public const int abc_text_select_handle_right_mtrl_dark = 2130837579;
+			
+			// aapt resource value: 0x7f02004c
+			public const int abc_text_select_handle_right_mtrl_light = 2130837580;
+			
+			// aapt resource value: 0x7f02004d
+			public const int abc_textfield_activated_mtrl_alpha = 2130837581;
+			
+			// aapt resource value: 0x7f02004e
+			public const int abc_textfield_default_mtrl_alpha = 2130837582;
+			
+			// aapt resource value: 0x7f02004f
+			public const int abc_textfield_search_activated_mtrl_alpha = 2130837583;
+			
+			// aapt resource value: 0x7f020050
+			public const int abc_textfield_search_default_mtrl_alpha = 2130837584;
+			
+			// aapt resource value: 0x7f020051
+			public const int abc_textfield_search_material = 2130837585;
+			
+			// aapt resource value: 0x7f020052
+			public const int abc_vector_test = 2130837586;
+			
+			// aapt resource value: 0x7f020053
+			public const int fingerprint_draw_off = 2130837587;
+			
+			// aapt resource value: 0x7f020054
+			public const int fingerprint_draw_off_animation = 2130837588;
+			
+			// aapt resource value: 0x7f020055
+			public const int fingerprint_draw_on = 2130837589;
+			
+			// aapt resource value: 0x7f020056
+			public const int fingerprint_draw_on_animation = 2130837590;
+			
+			// aapt resource value: 0x7f020057
+			public const int fingerprint_error = 2130837591;
+			
+			// aapt resource value: 0x7f020058
+			public const int fingerprint_error_off = 2130837592;
+			
+			// aapt resource value: 0x7f020059
+			public const int fingerprint_error_off_animation = 2130837593;
+			
+			// aapt resource value: 0x7f02005a
+			public const int fingerprint_error_on = 2130837594;
+			
+			// aapt resource value: 0x7f02005b
+			public const int fingerprint_error_on_animation = 2130837595;
+			
+			// aapt resource value: 0x7f02005c
+			public const int fingerprint_error_state_to_fp = 2130837596;
+			
+			// aapt resource value: 0x7f02005d
+			public const int fingerprint_error_state_to_fp_animation = 2130837597;
+			
+			// aapt resource value: 0x7f02005e
+			public const int fingerprint_fingerprint = 2130837598;
+			
+			// aapt resource value: 0x7f02005f
+			public const int fingerprint_fp_to_error_state = 2130837599;
+			
+			// aapt resource value: 0x7f020060
+			public const int fingerprint_fp_to_error_state_animation = 2130837600;
+			
+			// aapt resource value: 0x7f020061
+			public const int gd_btn_shape_app_b = 2130837601;
+			
+			// aapt resource value: 0x7f020062
+			public const int gd_btn_shape_app_g = 2130837602;
+			
+			// aapt resource value: 0x7f020063
+			public const int gd_btn_shape_app_w = 2130837603;
+			
+			// aapt resource value: 0x7f020064
+			public const int gd_btn_shape_shadow_w = 2130837604;
+			
+			// aapt resource value: 0x7f020065
+			public const int gd_click_effect_select = 2130837605;
+			
+			// aapt resource value: 0x7f020066
+			public const int ic_gdmap_add = 2130837606;
+			
+			// aapt resource value: 0x7f020067
+			public const int ic_gdmap_back = 2130837607;
+			
+			// aapt resource value: 0x7f020068
+			public const int ic_gdmap_delete = 2130837608;
+			
+			// aapt resource value: 0x7f020069
+			public const int ic_gdmap_home = 2130837609;
+			
+			// aapt resource value: 0x7f02006a
+			public const int ic_gdmap_mylocation = 2130837610;
+			
+			// aapt resource value: 0x7f02006b
+			public const int ic_gdmap_now = 2130837611;
+			
+			// aapt resource value: 0x7f02006c
+			public const int ic_gdmap_search = 2130837612;
+			
+			// aapt resource value: 0x7f02006d
+			public const int ic_gdmap_zoom_out = 2130837613;
+			
+			// aapt resource value: 0x7f02006e
+			public const int ic_gps_point = 2130837614;
+			
+			// aapt resource value: 0x7f02006f
+			public const int ic_launcher = 2130837615;
+			
+			// aapt resource value: 0x7f020070
+			public const int ic_seekbar_open = 2130837616;
+			
+			// aapt resource value: 0x7f020071
+			public const int ic_wd_curtain_bg = 2130837617;
+			
+			// aapt resource value: 0x7f020072
+			public const int ic_wd_seekbar_open = 2130837618;
+			
+			// aapt resource value: 0x7f020073
+			public const int Icon = 2130837619;
+			
+			// aapt resource value: 0x7f020074
+			public const int Loading = 2130837620;
+			
+			// aapt resource value: 0x7f020075
+			public const int notification_action_background = 2130837621;
+			
+			// aapt resource value: 0x7f020076
+			public const int notification_bg = 2130837622;
+			
+			// aapt resource value: 0x7f020077
+			public const int notification_bg_low = 2130837623;
+			
+			// aapt resource value: 0x7f020078
+			public const int notification_bg_low_normal = 2130837624;
+			
+			// aapt resource value: 0x7f020079
+			public const int notification_bg_low_pressed = 2130837625;
+			
+			// aapt resource value: 0x7f02007a
+			public const int notification_bg_normal = 2130837626;
+			
+			// aapt resource value: 0x7f02007b
+			public const int notification_bg_normal_pressed = 2130837627;
+			
+			// aapt resource value: 0x7f02007c
+			public const int notification_icon_background = 2130837628;
+			
+			// aapt resource value: 0x7f020082
+			public const int notification_template_icon_bg = 2130837634;
+			
+			// aapt resource value: 0x7f020083
+			public const int notification_template_icon_low_bg = 2130837635;
+			
+			// aapt resource value: 0x7f02007d
+			public const int notification_tile_bg = 2130837629;
+			
+			// aapt resource value: 0x7f02007e
+			public const int notify_panel_notification_icon_bg = 2130837630;
+			
+			// aapt resource value: 0x7f02007f
+			public const int selector_pickerview_btn = 2130837631;
+			
+			// aapt resource value: 0x7f020080
+			public const int tooltip_frame_dark = 2130837632;
+			
+			// aapt resource value: 0x7f020081
+			public const int tooltip_frame_light = 2130837633;
+			
+			static Drawable()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Drawable()
+			{
+			}
+		}
+		
+		public partial class Id
+		{
+			
+			// aapt resource value: 0x7f0c0023
+			public const int ALT = 2131492899;
+			
+			// aapt resource value: 0x7f0c0024
+			public const int CTRL = 2131492900;
+			
+			// aapt resource value: 0x7f0c0071
+			public const int Custom = 2131492977;
+			
+			// aapt resource value: 0x7f0c0070
+			public const int CustomLabel = 2131492976;
+			
+			// aapt resource value: 0x7f0c0034
+			public const int FILL = 2131492916;
+			
+			// aapt resource value: 0x7f0c0035
+			public const int FILL_STROKE = 2131492917;
+			
+			// aapt resource value: 0x7f0c0025
+			public const int FUNCTION = 2131492901;
+			
+			// aapt resource value: 0x7f0c0026
+			public const int META = 2131492902;
+			
+			// aapt resource value: 0x7f0c006b
+			public const int Notice = 2131492971;
+			
+			// aapt resource value: 0x7f0c006f
+			public const int Password = 2131492975;
+			
+			// aapt resource value: 0x7f0c006e
+			public const int PasswordLabel = 2131492974;
+			
+			// aapt resource value: 0x7f0c0027
+			public const int SHIFT = 2131492903;
+			
+			// aapt resource value: 0x7f0c006d
+			public const int SSID = 2131492973;
+			
+			// aapt resource value: 0x7f0c006c
+			public const int SSIDLabel = 2131492972;
+			
+			// aapt resource value: 0x7f0c0036
+			public const int STROKE = 2131492918;
+			
+			// aapt resource value: 0x7f0c0028
+			public const int SYM = 2131492904;
+			
+			// aapt resource value: 0x7f0c00a0
+			public const int action0 = 2131493024;
+			
+			// aapt resource value: 0x7f0c005c
+			public const int action_bar = 2131492956;
+			
+			// aapt resource value: 0x7f0c0000
+			public const int action_bar_activity_content = 2131492864;
+			
+			// aapt resource value: 0x7f0c005b
+			public const int action_bar_container = 2131492955;
+			
+			// aapt resource value: 0x7f0c0057
+			public const int action_bar_root = 2131492951;
+			
+			// aapt resource value: 0x7f0c0001
+			public const int action_bar_spinner = 2131492865;
+			
+			// aapt resource value: 0x7f0c003b
+			public const int action_bar_subtitle = 2131492923;
+			
+			// aapt resource value: 0x7f0c003a
+			public const int action_bar_title = 2131492922;
+			
+			// aapt resource value: 0x7f0c009d
+			public const int action_container = 2131493021;
+			
+			// aapt resource value: 0x7f0c005d
+			public const int action_context_bar = 2131492957;
+			
+			// aapt resource value: 0x7f0c00a4
+			public const int action_divider = 2131493028;
+			
+			// aapt resource value: 0x7f0c009e
+			public const int action_image = 2131493022;
+			
+			// aapt resource value: 0x7f0c0002
+			public const int action_menu_divider = 2131492866;
+			
+			// aapt resource value: 0x7f0c0003
+			public const int action_menu_presenter = 2131492867;
+			
+			// aapt resource value: 0x7f0c0059
+			public const int action_mode_bar = 2131492953;
+			
+			// aapt resource value: 0x7f0c0058
+			public const int action_mode_bar_stub = 2131492952;
+			
+			// aapt resource value: 0x7f0c003c
+			public const int action_mode_close_button = 2131492924;
+			
+			// aapt resource value: 0x7f0c009f
+			public const int action_text = 2131493023;
+			
+			// aapt resource value: 0x7f0c00ad
+			public const int actions = 2131493037;
+			
+			// aapt resource value: 0x7f0c003d
+			public const int activity_chooser_view_content = 2131492925;
+			
+			// aapt resource value: 0x7f0c001d
+			public const int add = 2131492893;
+			
+			// aapt resource value: 0x7f0c0050
+			public const int alertTitle = 2131492944;
+			
+			// aapt resource value: 0x7f0c0029
+			public const int always = 2131492905;
+			
+			// aapt resource value: 0x7f0c0030
+			public const int async = 2131492912;
+			
+			// aapt resource value: 0x7f0c0020
+			public const int beginning = 2131492896;
+			
+			// aapt resource value: 0x7f0c0031
+			public const int blocking = 2131492913;
+			
+			// aapt resource value: 0x7f0c002e
+			public const int bottom = 2131492910;
+			
+			// aapt resource value: 0x7f0c0088
+			public const int btnCancel = 2131493000;
+			
+			// aapt resource value: 0x7f0c008a
+			public const int btnSubmit = 2131493002;
+			
+			// aapt resource value: 0x7f0c0043
+			public const int buttonPanel = 2131492931;
+			
+			// aapt resource value: 0x7f0c00a1
+			public const int cancel_action = 2131493025;
+			
+			// aapt resource value: 0x7f0c0037
+			public const int center = 2131492919;
+			
+			// aapt resource value: 0x7f0c0053
+			public const int checkbox = 2131492947;
+			
+			// aapt resource value: 0x7f0c00a9
+			public const int chronometer = 2131493033;
+			
+			// aapt resource value: 0x7f0c002a
+			public const int collapseActionView = 2131492906;
+			
+			// aapt resource value: 0x7f0c00b1
+			public const int contentFrame = 2131493041;
+			
+			// aapt resource value: 0x7f0c0046
+			public const int contentPanel = 2131492934;
+			
+			// aapt resource value: 0x7f0c008c
+			public const int content_container = 2131493004;
+			
+			// aapt resource value: 0x7f0c004d
+			public const int custom = 2131492941;
+			
+			// aapt resource value: 0x7f0c004c
+			public const int customPanel = 2131492940;
+			
+			// aapt resource value: 0x7f0c0098
+			public const int day = 2131493016;
+			
+			// aapt resource value: 0x7f0c005a
+			public const int decor_content_parent = 2131492954;
+			
+			// aapt resource value: 0x7f0c0040
+			public const int default_activity_button = 2131492928;
+			
+			// aapt resource value: 0x7f0c0077
+			public const int description = 2131492983;
+			
+			// aapt resource value: 0x7f0c0011
+			public const int disableHome = 2131492881;
+			
+			// aapt resource value: 0x7f0c005e
+			public const int edit_query = 2131492958;
+			
+			// aapt resource value: 0x7f0c0021
+			public const int end = 2131492897;
+			
+			// aapt resource value: 0x7f0c00af
+			public const int end_padder = 2131493039;
+			
+			// aapt resource value: 0x7f0c003e
+			public const int expand_activities_button = 2131492926;
+			
+			// aapt resource value: 0x7f0c0052
+			public const int expanded_menu = 2131492946;
+			
+			// aapt resource value: 0x7f0c0078
+			public const int fingerprint_icon = 2131492984;
+			
+			// aapt resource value: 0x7f0c0032
+			public const int forever = 2131492914;
+			
+			// aapt resource value: 0x7f0c007d
+			public const int gd_btn_back = 2131492989;
+			
+			// aapt resource value: 0x7f0c0086
+			public const int gd_btn_myLocation = 2131492998;
+			
+			// aapt resource value: 0x7f0c0085
+			public const int gd_btn_save = 2131492997;
+			
+			// aapt resource value: 0x7f0c0082
+			public const int gd_img_search_delete = 2131492994;
+			
+			// aapt resource value: 0x7f0c0084
+			public const int gd_ll_myhome = 2131492996;
+			
+			// aapt resource value: 0x7f0c0080
+			public const int gd_ll_search = 2131492992;
+			
+			// aapt resource value: 0x7f0c007f
+			public const int gd_mapView = 2131492991;
+			
+			// aapt resource value: 0x7f0c007c
+			public const int gd_rl_topview = 2131492988;
+			
+			// aapt resource value: 0x7f0c007e
+			public const int gd_tv_activity_title = 2131492990;
+			
+			// aapt resource value: 0x7f0c0083
+			public const int gd_tv_radius = 2131492995;
+			
+			// aapt resource value: 0x7f0c0081
+			public const int gd_tv_search_title = 2131492993;
+			
+			// aapt resource value: 0x7f0c007a
+			public const int hdl_gallery_rootView = 2131492986;
+			
+			// aapt resource value: 0x7f0c007b
+			public const int hdl_gallery_viewPager = 2131492987;
+			
+			// aapt resource value: 0x7f0c008e
+			public const int hdl_options1 = 2131493006;
+			
+			// aapt resource value: 0x7f0c008f
+			public const int hdl_options2 = 2131493007;
+			
+			// aapt resource value: 0x7f0c0090
+			public const int hdl_options3 = 2131493008;
+			
+			// aapt resource value: 0x7f0c008d
+			public const int hdl_pickerview_ll = 2131493005;
+			
+			// aapt resource value: 0x7f0c0004
+			public const int home = 2131492868;
+			
+			// aapt resource value: 0x7f0c0012
+			public const int homeAsUp = 2131492882;
+			
+			// aapt resource value: 0x7f0c0099
+			public const int hour = 2131493017;
+			
+			// aapt resource value: 0x7f0c0042
+			public const int icon = 2131492930;
+			
+			// aapt resource value: 0x7f0c00ae
+			public const int icon_group = 2131493038;
+			
+			// aapt resource value: 0x7f0c002b
+			public const int ifRoom = 2131492907;
+			
+			// aapt resource value: 0x7f0c003f
+			public const int image = 2131492927;
+			
+			// aapt resource value: 0x7f0c00aa
+			public const int info = 2131493034;
+			
+			// aapt resource value: 0x7f0c0033
+			public const int italic = 2131492915;
+			
+			// aapt resource value: 0x7f0c0038
+			public const int left = 2131492920;
+			
+			// aapt resource value: 0x7f0c0009
+			public const int line1 = 2131492873;
+			
+			// aapt resource value: 0x7f0c000a
+			public const int line3 = 2131492874;
+			
+			// aapt resource value: 0x7f0c000e
+			public const int listMode = 2131492878;
+			
+			// aapt resource value: 0x7f0c0041
+			public const int list_item = 2131492929;
+			
+			// aapt resource value: 0x7f0c00a3
+			public const int media_actions = 2131493027;
+			
+			// aapt resource value: 0x7f0c00b0
+			public const int message = 2131493040;
+			
+			// aapt resource value: 0x7f0c0022
+			public const int middle = 2131492898;
+			
+			// aapt resource value: 0x7f0c009a
+			public const int min = 2131493018;
+			
+			// aapt resource value: 0x7f0c0097
+			public const int month = 2131493015;
+			
+			// aapt resource value: 0x7f0c0018
+			public const int multiply = 2131492888;
+			
+			// aapt resource value: 0x7f0c009c
+			public const int myButton = 2131493020;
+			
+			// aapt resource value: 0x7f0c002c
+			public const int never = 2131492908;
+			
+			// aapt resource value: 0x7f0c0013
+			public const int none = 2131492883;
+			
+			// aapt resource value: 0x7f0c000f
+			public const int normal = 2131492879;
+			
+			// aapt resource value: 0x7f0c00ac
+			public const int notification_background = 2131493036;
+			
+			// aapt resource value: 0x7f0c00a6
+			public const int notification_main_column = 2131493030;
+			
+			// aapt resource value: 0x7f0c00a5
+			public const int notification_main_column_container = 2131493029;
+			
+			// aapt resource value: 0x7f0c0092
+			public const int options1 = 2131493010;
+			
+			// aapt resource value: 0x7f0c0093
+			public const int options2 = 2131493011;
+			
+			// aapt resource value: 0x7f0c0094
+			public const int options3 = 2131493012;
+			
+			// aapt resource value: 0x7f0c0091
+			public const int optionspicker = 2131493009;
+			
+			// aapt resource value: 0x7f0c008b
+			public const int outmost_container = 2131493003;
+			
+			// aapt resource value: 0x7f0c0045
+			public const int parentPanel = 2131492933;
+			
+			// aapt resource value: 0x7f0c0005
+			public const int progress_circular = 2131492869;
+			
+			// aapt resource value: 0x7f0c0006
+			public const int progress_horizontal = 2131492870;
+			
+			// aapt resource value: 0x7f0c0055
+			public const int radio = 2131492949;
+			
+			// aapt resource value: 0x7f0c0039
+			public const int right = 2131492921;
+			
+			// aapt resource value: 0x7f0c00ab
+			public const int right_icon = 2131493035;
+			
+			// aapt resource value: 0x7f0c00a7
+			public const int right_side = 2131493031;
+			
+			// aapt resource value: 0x7f0c0087
+			public const int rv_topbar = 2131492999;
+			
+			// aapt resource value: 0x7f0c0019
+			public const int screen = 2131492889;
+			
+			// aapt resource value: 0x7f0c004b
+			public const int scrollIndicatorDown = 2131492939;
+			
+			// aapt resource value: 0x7f0c0047
+			public const int scrollIndicatorUp = 2131492935;
+			
+			// aapt resource value: 0x7f0c0048
+			public const int scrollView = 2131492936;
+			
+			// aapt resource value: 0x7f0c0060
+			public const int search_badge = 2131492960;
+			
+			// aapt resource value: 0x7f0c005f
+			public const int search_bar = 2131492959;
+			
+			// aapt resource value: 0x7f0c0061
+			public const int search_button = 2131492961;
+			
+			// aapt resource value: 0x7f0c0066
+			public const int search_close_btn = 2131492966;
+			
+			// aapt resource value: 0x7f0c0062
+			public const int search_edit_frame = 2131492962;
+			
+			// aapt resource value: 0x7f0c0068
+			public const int search_go_btn = 2131492968;
+			
+			// aapt resource value: 0x7f0c0063
+			public const int search_mag_icon = 2131492963;
+			
+			// aapt resource value: 0x7f0c0064
+			public const int search_plate = 2131492964;
+			
+			// aapt resource value: 0x7f0c0065
+			public const int search_src_text = 2131492965;
+			
+			// aapt resource value: 0x7f0c0069
+			public const int search_voice_btn = 2131492969;
+			
+			// aapt resource value: 0x7f0c009b
+			public const int second = 2131493019;
+			
+			// aapt resource value: 0x7f0c006a
+			public const int select_dialog_listview = 2131492970;
+			
+			// aapt resource value: 0x7f0c0054
+			public const int shortcut = 2131492948;
+			
+			// aapt resource value: 0x7f0c0014
+			public const int showCustom = 2131492884;
+			
+			// aapt resource value: 0x7f0c0015
+			public const int showHome = 2131492885;
+			
+			// aapt resource value: 0x7f0c0016
+			public const int showTitle = 2131492886;
+			
+			// aapt resource value: 0x7f0c0044
+			public const int spacer = 2131492932;
+			
+			// aapt resource value: 0x7f0c0007
+			public const int split_action_bar = 2131492871;
+			
+			// aapt resource value: 0x7f0c001a
+			public const int src_atop = 2131492890;
+			
+			// aapt resource value: 0x7f0c001b
+			public const int src_in = 2131492891;
+			
+			// aapt resource value: 0x7f0c001c
+			public const int src_over = 2131492892;
+			
+			// aapt resource value: 0x7f0c0072
+			public const int startV1 = 2131492978;
+			
+			// aapt resource value: 0x7f0c0074
+			public const int startV1V4 = 2131492980;
+			
+			// aapt resource value: 0x7f0c0073
+			public const int startV4 = 2131492979;
+			
+			// aapt resource value: 0x7f0c0079
+			public const int status = 2131492985;
+			
+			// aapt resource value: 0x7f0c00a2
+			public const int status_bar_latest_event_content = 2131493026;
+			
+			// aapt resource value: 0x7f0c0075
+			public const int stop = 2131492981;
+			
+			// aapt resource value: 0x7f0c0056
+			public const int submenuarrow = 2131492950;
+			
+			// aapt resource value: 0x7f0c0067
+			public const int submit_area = 2131492967;
+			
+			// aapt resource value: 0x7f0c0076
+			public const int subtitle = 2131492982;
+			
+			// aapt resource value: 0x7f0c0010
+			public const int tabMode = 2131492880;
+			
+			// aapt resource value: 0x7f0c000b
+			public const int text = 2131492875;
+			
+			// aapt resource value: 0x7f0c000c
+			public const int text2 = 2131492876;
+			
+			// aapt resource value: 0x7f0c004a
+			public const int textSpacerNoButtons = 2131492938;
+			
+			// aapt resource value: 0x7f0c0049
+			public const int textSpacerNoTitle = 2131492937;
+			
+			// aapt resource value: 0x7f0c00a8
+			public const int time = 2131493032;
+			
+			// aapt resource value: 0x7f0c0095
+			public const int timepicker = 2131493013;
+			
+			// aapt resource value: 0x7f0c000d
+			public const int title = 2131492877;
+			
+			// aapt resource value: 0x7f0c0051
+			public const int titleDividerNoCustom = 2131492945;
+			
+			// aapt resource value: 0x7f0c004f
+			public const int title_template = 2131492943;
+			
+			// aapt resource value: 0x7f0c002f
+			public const int top = 2131492911;
+			
+			// aapt resource value: 0x7f0c004e
+			public const int topPanel = 2131492942;
+			
+			// aapt resource value: 0x7f0c0089
+			public const int tvTitle = 2131493001;
+			
+			// aapt resource value: 0x7f0c001e
+			public const int uniform = 2131492894;
+			
+			// aapt resource value: 0x7f0c0008
+			public const int up = 2131492872;
+			
+			// aapt resource value: 0x7f0c0017
+			public const int useLogo = 2131492887;
+			
+			// aapt resource value: 0x7f0c002d
+			public const int withText = 2131492909;
+			
+			// aapt resource value: 0x7f0c001f
+			public const int wrap_content = 2131492895;
+			
+			// aapt resource value: 0x7f0c0096
+			public const int year = 2131493014;
+			
+			static Id()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Id()
+			{
+			}
+		}
+		
+		public partial class Integer
+		{
+			
+			// aapt resource value: 0x7f0d0000
+			public const int abc_config_activityDefaultDur = 2131558400;
+			
+			// aapt resource value: 0x7f0d0001
+			public const int abc_config_activityShortDur = 2131558401;
+			
+			// aapt resource value: 0x7f0d0005
+			public const int animation_default_duration = 2131558405;
+			
+			// aapt resource value: 0x7f0d0002
+			public const int cancel_button_image_alpha = 2131558402;
+			
+			// aapt resource value: 0x7f0d0003
+			public const int config_tooltipAnimTime = 2131558403;
+			
+			// aapt resource value: 0x7f0d0004
+			public const int status_bar_notification_info_maxnum = 2131558404;
+			
+			static Integer()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Integer()
+			{
+			}
+		}
+		
+		public partial class Layout
+		{
+			
+			// aapt resource value: 0x7f040000
+			public const int abc_action_bar_title_item = 2130968576;
+			
+			// aapt resource value: 0x7f040001
+			public const int abc_action_bar_up_container = 2130968577;
+			
+			// aapt resource value: 0x7f040002
+			public const int abc_action_bar_view_list_nav_layout = 2130968578;
+			
+			// aapt resource value: 0x7f040003
+			public const int abc_action_menu_item_layout = 2130968579;
+			
+			// aapt resource value: 0x7f040004
+			public const int abc_action_menu_layout = 2130968580;
+			
+			// aapt resource value: 0x7f040005
+			public const int abc_action_mode_bar = 2130968581;
+			
+			// aapt resource value: 0x7f040006
+			public const int abc_action_mode_close_item_material = 2130968582;
+			
+			// aapt resource value: 0x7f040007
+			public const int abc_activity_chooser_view = 2130968583;
+			
+			// aapt resource value: 0x7f040008
+			public const int abc_activity_chooser_view_list_item = 2130968584;
+			
+			// aapt resource value: 0x7f040009
+			public const int abc_alert_dialog_button_bar_material = 2130968585;
+			
+			// aapt resource value: 0x7f04000a
+			public const int abc_alert_dialog_material = 2130968586;
+			
+			// aapt resource value: 0x7f04000b
+			public const int abc_alert_dialog_title_material = 2130968587;
+			
+			// aapt resource value: 0x7f04000c
+			public const int abc_dialog_title_material = 2130968588;
+			
+			// aapt resource value: 0x7f04000d
+			public const int abc_expanded_menu_layout = 2130968589;
+			
+			// aapt resource value: 0x7f04000e
+			public const int abc_list_menu_item_checkbox = 2130968590;
+			
+			// aapt resource value: 0x7f04000f
+			public const int abc_list_menu_item_icon = 2130968591;
+			
+			// aapt resource value: 0x7f040010
+			public const int abc_list_menu_item_layout = 2130968592;
+			
+			// aapt resource value: 0x7f040011
+			public const int abc_list_menu_item_radio = 2130968593;
+			
+			// aapt resource value: 0x7f040012
+			public const int abc_popup_menu_header_item_layout = 2130968594;
+			
+			// aapt resource value: 0x7f040013
+			public const int abc_popup_menu_item_layout = 2130968595;
+			
+			// aapt resource value: 0x7f040014
+			public const int abc_screen_content_include = 2130968596;
+			
+			// aapt resource value: 0x7f040015
+			public const int abc_screen_simple = 2130968597;
+			
+			// aapt resource value: 0x7f040016
+			public const int abc_screen_simple_overlay_action_mode = 2130968598;
+			
+			// aapt resource value: 0x7f040017
+			public const int abc_screen_toolbar = 2130968599;
+			
+			// aapt resource value: 0x7f040018
+			public const int abc_search_dropdown_item_icons_2line = 2130968600;
+			
+			// aapt resource value: 0x7f040019
+			public const int abc_search_view = 2130968601;
+			
+			// aapt resource value: 0x7f04001a
+			public const int abc_select_dialog_material = 2130968602;
+			
+			// aapt resource value: 0x7f04001b
+			public const int activity_elian = 2130968603;
+			
+			// aapt resource value: 0x7f04001c
+			public const int biometric_prompt_dialog_content = 2130968604;
+			
+			// aapt resource value: 0x7f04001d
+			public const int hdl_gallery_banner_view_layout = 2130968605;
+			
+			// aapt resource value: 0x7f04001e
+			public const int hdl_widget_activity_crop_image = 2130968606;
+			
+			// aapt resource value: 0x7f04001f
+			public const int hdl_widget_activity_geofence_round = 2130968607;
+			
+			// aapt resource value: 0x7f040020
+			public const int hdl_widget_include_pickerview_topbar = 2130968608;
+			
+			// aapt resource value: 0x7f040021
+			public const int hdl_widget_layout_basepickerview = 2130968609;
+			
+			// aapt resource value: 0x7f040022
+			public const int hdl_widget_pickerview = 2130968610;
+			
+			// aapt resource value: 0x7f040023
+			public const int hdl_widget_pickerview_options = 2130968611;
+			
+			// aapt resource value: 0x7f040024
+			public const int hdl_widget_pickerview_time = 2130968612;
+			
+			// aapt resource value: 0x7f040025
+			public const int Main = 2130968613;
+			
+			// aapt resource value: 0x7f040026
+			public const int notification_action = 2130968614;
+			
+			// aapt resource value: 0x7f040027
+			public const int notification_action_tombstone = 2130968615;
+			
+			// aapt resource value: 0x7f040028
+			public const int notification_media_action = 2130968616;
+			
+			// aapt resource value: 0x7f040029
+			public const int notification_media_cancel_action = 2130968617;
+			
+			// aapt resource value: 0x7f04002a
+			public const int notification_template_big_media = 2130968618;
+			
+			// aapt resource value: 0x7f04002b
+			public const int notification_template_big_media_custom = 2130968619;
+			
+			// aapt resource value: 0x7f04002c
+			public const int notification_template_big_media_narrow = 2130968620;
+			
+			// aapt resource value: 0x7f04002d
+			public const int notification_template_big_media_narrow_custom = 2130968621;
+			
+			// aapt resource value: 0x7f04002e
+			public const int notification_template_custom_big = 2130968622;
+			
+			// aapt resource value: 0x7f04002f
+			public const int notification_template_icon_group = 2130968623;
+			
+			// aapt resource value: 0x7f040030
+			public const int notification_template_lines_media = 2130968624;
+			
+			// aapt resource value: 0x7f040031
+			public const int notification_template_media = 2130968625;
+			
+			// aapt resource value: 0x7f040032
+			public const int notification_template_media_custom = 2130968626;
+			
+			// aapt resource value: 0x7f040033
+			public const int notification_template_part_chronometer = 2130968627;
+			
+			// aapt resource value: 0x7f040034
+			public const int notification_template_part_time = 2130968628;
+			
+			// aapt resource value: 0x7f040035
+			public const int select_dialog_item_material = 2130968629;
+			
+			// aapt resource value: 0x7f040036
+			public const int select_dialog_multichoice_material = 2130968630;
+			
+			// aapt resource value: 0x7f040037
+			public const int select_dialog_singlechoice_material = 2130968631;
+			
+			// aapt resource value: 0x7f040038
+			public const int support_simple_spinner_dropdown_item = 2130968632;
+			
+			// aapt resource value: 0x7f040039
+			public const int tooltip = 2130968633;
+			
+			// aapt resource value: 0x7f04003a
+			public const int zxingscanneractivitylayout = 2130968634;
+			
+			// aapt resource value: 0x7f04003b
+			public const int zxingscannerfragmentlayout = 2130968635;
+			
+			static Layout()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Layout()
+			{
+			}
+		}
+		
+		public partial class Mipmap
+		{
+			
+			// aapt resource value: 0x7f030000
+			public const int Icon = 2130903040;
+			
+			static Mipmap()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Mipmap()
+			{
+			}
+		}
+		
+		public partial class String
+		{
+			
+			// aapt resource value: 0x7f070000
+			public const int abc_action_bar_home_description = 2131165184;
+			
+			// aapt resource value: 0x7f070001
+			public const int abc_action_bar_home_description_format = 2131165185;
+			
+			// aapt resource value: 0x7f070002
+			public const int abc_action_bar_home_subtitle_description_format = 2131165186;
+			
+			// aapt resource value: 0x7f070003
+			public const int abc_action_bar_up_description = 2131165187;
+			
+			// aapt resource value: 0x7f070004
+			public const int abc_action_menu_overflow_description = 2131165188;
+			
+			// aapt resource value: 0x7f070005
+			public const int abc_action_mode_done = 2131165189;
+			
+			// aapt resource value: 0x7f070006
+			public const int abc_activity_chooser_view_see_all = 2131165190;
+			
+			// aapt resource value: 0x7f070007
+			public const int abc_activitychooserview_choose_application = 2131165191;
+			
+			// aapt resource value: 0x7f070008
+			public const int abc_capital_off = 2131165192;
+			
+			// aapt resource value: 0x7f070009
+			public const int abc_capital_on = 2131165193;
+			
+			// aapt resource value: 0x7f070015
+			public const int abc_font_family_body_1_material = 2131165205;
+			
+			// aapt resource value: 0x7f070016
+			public const int abc_font_family_body_2_material = 2131165206;
+			
+			// aapt resource value: 0x7f070017
+			public const int abc_font_family_button_material = 2131165207;
+			
+			// aapt resource value: 0x7f070018
+			public const int abc_font_family_caption_material = 2131165208;
+			
+			// aapt resource value: 0x7f070019
+			public const int abc_font_family_display_1_material = 2131165209;
+			
+			// aapt resource value: 0x7f07001a
+			public const int abc_font_family_display_2_material = 2131165210;
+			
+			// aapt resource value: 0x7f07001b
+			public const int abc_font_family_display_3_material = 2131165211;
+			
+			// aapt resource value: 0x7f07001c
+			public const int abc_font_family_display_4_material = 2131165212;
+			
+			// aapt resource value: 0x7f07001d
+			public const int abc_font_family_headline_material = 2131165213;
+			
+			// aapt resource value: 0x7f07001e
+			public const int abc_font_family_menu_material = 2131165214;
+			
+			// aapt resource value: 0x7f07001f
+			public const int abc_font_family_subhead_material = 2131165215;
+			
+			// aapt resource value: 0x7f070020
+			public const int abc_font_family_title_material = 2131165216;
+			
+			// aapt resource value: 0x7f07000a
+			public const int abc_search_hint = 2131165194;
+			
+			// aapt resource value: 0x7f07000b
+			public const int abc_searchview_description_clear = 2131165195;
+			
+			// aapt resource value: 0x7f07000c
+			public const int abc_searchview_description_query = 2131165196;
+			
+			// aapt resource value: 0x7f07000d
+			public const int abc_searchview_description_search = 2131165197;
+			
+			// aapt resource value: 0x7f07000e
+			public const int abc_searchview_description_submit = 2131165198;
+			
+			// aapt resource value: 0x7f07000f
+			public const int abc_searchview_description_voice = 2131165199;
+			
+			// aapt resource value: 0x7f070010
+			public const int abc_shareactionprovider_share_with = 2131165200;
+			
+			// aapt resource value: 0x7f070011
+			public const int abc_shareactionprovider_share_with_application = 2131165201;
+			
+			// aapt resource value: 0x7f070012
+			public const int abc_toolbar_collapse_description = 2131165202;
+			
+			// aapt resource value: 0x7f070023
+			public const int app_name = 2131165219;
+			
+			// aapt resource value: 0x7f070024
+			public const int gd_activity_title = 2131165220;
+			
+			// aapt resource value: 0x7f070025
+			public const int gd_cancel = 2131165221;
+			
+			// aapt resource value: 0x7f070026
+			public const int gd_myhome = 2131165222;
+			
+			// aapt resource value: 0x7f070027
+			public const int gd_notifyMsg = 2131165223;
+			
+			// aapt resource value: 0x7f070028
+			public const int gd_notifyTitle = 2131165224;
+			
+			// aapt resource value: 0x7f070029
+			public const int gd_save = 2131165225;
+			
+			// aapt resource value: 0x7f07002a
+			public const int gd_search_tip = 2131165226;
+			
+			// aapt resource value: 0x7f07002b
+			public const int gd_setting = 2131165227;
+			
+			// aapt resource value: 0x7f070034
+			public const int hello = 2131165236;
+			
+			// aapt resource value: 0x7f070021
+			public const int not_recognized_fingerprint_hint = 2131165217;
+			
+			// aapt resource value: 0x7f07002c
+			public const int pickerview_cancel = 2131165228;
+			
+			// aapt resource value: 0x7f07002d
+			public const int pickerview_day = 2131165229;
+			
+			// aapt resource value: 0x7f07002e
+			public const int pickerview_hours = 2131165230;
+			
+			// aapt resource value: 0x7f07002f
+			public const int pickerview_minutes = 2131165231;
+			
+			// aapt resource value: 0x7f070030
+			public const int pickerview_month = 2131165232;
+			
+			// aapt resource value: 0x7f070031
+			public const int pickerview_seconds = 2131165233;
+			
+			// aapt resource value: 0x7f070032
+			public const int pickerview_submit = 2131165234;
+			
+			// aapt resource value: 0x7f070033
+			public const int pickerview_year = 2131165235;
+			
+			// aapt resource value: 0x7f070013
+			public const int search_menu_title = 2131165203;
+			
+			// aapt resource value: 0x7f070014
+			public const int status_bar_notification_info_overflow = 2131165204;
+			
+			// aapt resource value: 0x7f070022
+			public const int touch_fingerprint_sensor_hint = 2131165218;
+			
+			static String()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private String()
+			{
+			}
+		}
+		
+		public partial class Style
+		{
+			
+			// aapt resource value: 0x7f09009d
+			public const int AlertDialog_AppCompat = 2131296413;
+			
+			// aapt resource value: 0x7f09009e
+			public const int AlertDialog_AppCompat_Light = 2131296414;
+			
+			// aapt resource value: 0x7f09009f
+			public const int Animation_AppCompat_Dialog = 2131296415;
+			
+			// aapt resource value: 0x7f0900a0
+			public const int Animation_AppCompat_DropDownUp = 2131296416;
+			
+			// aapt resource value: 0x7f0900a1
+			public const int Animation_AppCompat_Tooltip = 2131296417;
+			
+			// aapt resource value: 0x7f090171
+			public const int AppBaseTheme = 2131296625;
+			
+			// aapt resource value: 0x7f090172
+			public const int AppTheme = 2131296626;
+			
+			// aapt resource value: 0x7f0900a2
+			public const int Base_AlertDialog_AppCompat = 2131296418;
+			
+			// aapt resource value: 0x7f0900a3
+			public const int Base_AlertDialog_AppCompat_Light = 2131296419;
+			
+			// aapt resource value: 0x7f0900a4
+			public const int Base_Animation_AppCompat_Dialog = 2131296420;
+			
+			// aapt resource value: 0x7f0900a5
+			public const int Base_Animation_AppCompat_DropDownUp = 2131296421;
+			
+			// aapt resource value: 0x7f0900a6
+			public const int Base_Animation_AppCompat_Tooltip = 2131296422;
+			
+			// aapt resource value: 0x7f0900a7
+			public const int Base_DialogWindowTitle_AppCompat = 2131296423;
+			
+			// aapt resource value: 0x7f0900a8
+			public const int Base_DialogWindowTitleBackground_AppCompat = 2131296424;
+			
+			// aapt resource value: 0x7f090039
+			public const int Base_TextAppearance_AppCompat = 2131296313;
+			
+			// aapt resource value: 0x7f09003a
+			public const int Base_TextAppearance_AppCompat_Body1 = 2131296314;
+			
+			// aapt resource value: 0x7f09003b
+			public const int Base_TextAppearance_AppCompat_Body2 = 2131296315;
+			
+			// aapt resource value: 0x7f090027
+			public const int Base_TextAppearance_AppCompat_Button = 2131296295;
+			
+			// aapt resource value: 0x7f09003c
+			public const int Base_TextAppearance_AppCompat_Caption = 2131296316;
+			
+			// aapt resource value: 0x7f09003d
+			public const int Base_TextAppearance_AppCompat_Display1 = 2131296317;
+			
+			// aapt resource value: 0x7f09003e
+			public const int Base_TextAppearance_AppCompat_Display2 = 2131296318;
+			
+			// aapt resource value: 0x7f09003f
+			public const int Base_TextAppearance_AppCompat_Display3 = 2131296319;
+			
+			// aapt resource value: 0x7f090040
+			public const int Base_TextAppearance_AppCompat_Display4 = 2131296320;
+			
+			// aapt resource value: 0x7f090041
+			public const int Base_TextAppearance_AppCompat_Headline = 2131296321;
+			
+			// aapt resource value: 0x7f09000b
+			public const int Base_TextAppearance_AppCompat_Inverse = 2131296267;
+			
+			// aapt resource value: 0x7f090042
+			public const int Base_TextAppearance_AppCompat_Large = 2131296322;
+			
+			// aapt resource value: 0x7f09000c
+			public const int Base_TextAppearance_AppCompat_Large_Inverse = 2131296268;
+			
+			// aapt resource value: 0x7f090043
+			public const int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 2131296323;
+			
+			// aapt resource value: 0x7f090044
+			public const int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 2131296324;
+			
+			// aapt resource value: 0x7f090045
+			public const int Base_TextAppearance_AppCompat_Medium = 2131296325;
+			
+			// aapt resource value: 0x7f09000d
+			public const int Base_TextAppearance_AppCompat_Medium_Inverse = 2131296269;
+			
+			// aapt resource value: 0x7f090046
+			public const int Base_TextAppearance_AppCompat_Menu = 2131296326;
+			
+			// aapt resource value: 0x7f0900a9
+			public const int Base_TextAppearance_AppCompat_SearchResult = 2131296425;
+			
+			// aapt resource value: 0x7f090047
+			public const int Base_TextAppearance_AppCompat_SearchResult_Subtitle = 2131296327;
+			
+			// aapt resource value: 0x7f090048
+			public const int Base_TextAppearance_AppCompat_SearchResult_Title = 2131296328;
+			
+			// aapt resource value: 0x7f090049
+			public const int Base_TextAppearance_AppCompat_Small = 2131296329;
+			
+			// aapt resource value: 0x7f09000e
+			public const int Base_TextAppearance_AppCompat_Small_Inverse = 2131296270;
+			
+			// aapt resource value: 0x7f09004a
+			public const int Base_TextAppearance_AppCompat_Subhead = 2131296330;
+			
+			// aapt resource value: 0x7f09000f
+			public const int Base_TextAppearance_AppCompat_Subhead_Inverse = 2131296271;
+			
+			// aapt resource value: 0x7f09004b
+			public const int Base_TextAppearance_AppCompat_Title = 2131296331;
+			
+			// aapt resource value: 0x7f090010
+			public const int Base_TextAppearance_AppCompat_Title_Inverse = 2131296272;
+			
+			// aapt resource value: 0x7f0900aa
+			public const int Base_TextAppearance_AppCompat_Tooltip = 2131296426;
+			
+			// aapt resource value: 0x7f09008e
+			public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Menu = 2131296398;
+			
+			// aapt resource value: 0x7f09004c
+			public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 2131296332;
+			
+			// aapt resource value: 0x7f09004d
+			public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 2131296333;
+			
+			// aapt resource value: 0x7f09004e
+			public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Title = 2131296334;
+			
+			// aapt resource value: 0x7f09004f
+			public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 2131296335;
+			
+			// aapt resource value: 0x7f090050
+			public const int Base_TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 2131296336;
+			
+			// aapt resource value: 0x7f090051
+			public const int Base_TextAppearance_AppCompat_Widget_ActionMode_Title = 2131296337;
+			
+			// aapt resource value: 0x7f090052
+			public const int Base_TextAppearance_AppCompat_Widget_Button = 2131296338;
+			
+			// aapt resource value: 0x7f090095
+			public const int Base_TextAppearance_AppCompat_Widget_Button_Borderless_Colored = 2131296405;
+			
+			// aapt resource value: 0x7f090096
+			public const int Base_TextAppearance_AppCompat_Widget_Button_Colored = 2131296406;
+			
+			// aapt resource value: 0x7f09008f
+			public const int Base_TextAppearance_AppCompat_Widget_Button_Inverse = 2131296399;
+			
+			// aapt resource value: 0x7f0900ab
+			public const int Base_TextAppearance_AppCompat_Widget_DropDownItem = 2131296427;
+			
+			// aapt resource value: 0x7f090053
+			public const int Base_TextAppearance_AppCompat_Widget_PopupMenu_Header = 2131296339;
+			
+			// aapt resource value: 0x7f090054
+			public const int Base_TextAppearance_AppCompat_Widget_PopupMenu_Large = 2131296340;
+			
+			// aapt resource value: 0x7f090055
+			public const int Base_TextAppearance_AppCompat_Widget_PopupMenu_Small = 2131296341;
+			
+			// aapt resource value: 0x7f090056
+			public const int Base_TextAppearance_AppCompat_Widget_Switch = 2131296342;
+			
+			// aapt resource value: 0x7f090057
+			public const int Base_TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 2131296343;
+			
+			// aapt resource value: 0x7f0900ac
+			public const int Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 2131296428;
+			
+			// aapt resource value: 0x7f090058
+			public const int Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 2131296344;
+			
+			// aapt resource value: 0x7f090059
+			public const int Base_TextAppearance_Widget_AppCompat_Toolbar_Title = 2131296345;
+			
+			// aapt resource value: 0x7f09005a
+			public const int Base_Theme_AppCompat = 2131296346;
+			
+			// aapt resource value: 0x7f0900ad
+			public const int Base_Theme_AppCompat_CompactMenu = 2131296429;
+			
+			// aapt resource value: 0x7f090011
+			public const int Base_Theme_AppCompat_Dialog = 2131296273;
+			
+			// aapt resource value: 0x7f090012
+			public const int Base_Theme_AppCompat_Dialog_Alert = 2131296274;
+			
+			// aapt resource value: 0x7f0900ae
+			public const int Base_Theme_AppCompat_Dialog_FixedSize = 2131296430;
+			
+			// aapt resource value: 0x7f090013
+			public const int Base_Theme_AppCompat_Dialog_MinWidth = 2131296275;
+			
+			// aapt resource value: 0x7f090001
+			public const int Base_Theme_AppCompat_DialogWhenLarge = 2131296257;
+			
+			// aapt resource value: 0x7f09005b
+			public const int Base_Theme_AppCompat_Light = 2131296347;
+			
+			// aapt resource value: 0x7f0900af
+			public const int Base_Theme_AppCompat_Light_DarkActionBar = 2131296431;
+			
+			// aapt resource value: 0x7f090014
+			public const int Base_Theme_AppCompat_Light_Dialog = 2131296276;
+			
+			// aapt resource value: 0x7f090015
+			public const int Base_Theme_AppCompat_Light_Dialog_Alert = 2131296277;
+			
+			// aapt resource value: 0x7f0900b0
+			public const int Base_Theme_AppCompat_Light_Dialog_FixedSize = 2131296432;
+			
+			// aapt resource value: 0x7f090016
+			public const int Base_Theme_AppCompat_Light_Dialog_MinWidth = 2131296278;
+			
+			// aapt resource value: 0x7f090002
+			public const int Base_Theme_AppCompat_Light_DialogWhenLarge = 2131296258;
+			
+			// aapt resource value: 0x7f0900b1
+			public const int Base_ThemeOverlay_AppCompat = 2131296433;
+			
+			// aapt resource value: 0x7f0900b2
+			public const int Base_ThemeOverlay_AppCompat_ActionBar = 2131296434;
+			
+			// aapt resource value: 0x7f0900b3
+			public const int Base_ThemeOverlay_AppCompat_Dark = 2131296435;
+			
+			// aapt resource value: 0x7f0900b4
+			public const int Base_ThemeOverlay_AppCompat_Dark_ActionBar = 2131296436;
+			
+			// aapt resource value: 0x7f090017
+			public const int Base_ThemeOverlay_AppCompat_Dialog = 2131296279;
+			
+			// aapt resource value: 0x7f090018
+			public const int Base_ThemeOverlay_AppCompat_Dialog_Alert = 2131296280;
+			
+			// aapt resource value: 0x7f0900b5
+			public const int Base_ThemeOverlay_AppCompat_Light = 2131296437;
+			
+			// aapt resource value: 0x7f090019
+			public const int Base_V11_Theme_AppCompat_Dialog = 2131296281;
+			
+			// aapt resource value: 0x7f09001a
+			public const int Base_V11_Theme_AppCompat_Light_Dialog = 2131296282;
+			
+			// aapt resource value: 0x7f09001b
+			public const int Base_V11_ThemeOverlay_AppCompat_Dialog = 2131296283;
+			
+			// aapt resource value: 0x7f090023
+			public const int Base_V12_Widget_AppCompat_AutoCompleteTextView = 2131296291;
+			
+			// aapt resource value: 0x7f090024
+			public const int Base_V12_Widget_AppCompat_EditText = 2131296292;
+			
+			// aapt resource value: 0x7f09005c
+			public const int Base_V21_Theme_AppCompat = 2131296348;
+			
+			// aapt resource value: 0x7f09005d
+			public const int Base_V21_Theme_AppCompat_Dialog = 2131296349;
+			
+			// aapt resource value: 0x7f09005e
+			public const int Base_V21_Theme_AppCompat_Light = 2131296350;
+			
+			// aapt resource value: 0x7f09005f
+			public const int Base_V21_Theme_AppCompat_Light_Dialog = 2131296351;
+			
+			// aapt resource value: 0x7f090060
+			public const int Base_V21_ThemeOverlay_AppCompat_Dialog = 2131296352;
+			
+			// aapt resource value: 0x7f09008c
+			public const int Base_V22_Theme_AppCompat = 2131296396;
+			
+			// aapt resource value: 0x7f09008d
+			public const int Base_V22_Theme_AppCompat_Light = 2131296397;
+			
+			// aapt resource value: 0x7f090090
+			public const int Base_V23_Theme_AppCompat = 2131296400;
+			
+			// aapt resource value: 0x7f090091
+			public const int Base_V23_Theme_AppCompat_Light = 2131296401;
+			
+			// aapt resource value: 0x7f090099
+			public const int Base_V26_Theme_AppCompat = 2131296409;
+			
+			// aapt resource value: 0x7f09009a
+			public const int Base_V26_Theme_AppCompat_Light = 2131296410;
+			
+			// aapt resource value: 0x7f09009b
+			public const int Base_V26_Widget_AppCompat_Toolbar = 2131296411;
+			
+			// aapt resource value: 0x7f0900b6
+			public const int Base_V7_Theme_AppCompat = 2131296438;
+			
+			// aapt resource value: 0x7f0900b7
+			public const int Base_V7_Theme_AppCompat_Dialog = 2131296439;
+			
+			// aapt resource value: 0x7f0900b8
+			public const int Base_V7_Theme_AppCompat_Light = 2131296440;
+			
+			// aapt resource value: 0x7f0900b9
+			public const int Base_V7_Theme_AppCompat_Light_Dialog = 2131296441;
+			
+			// aapt resource value: 0x7f0900ba
+			public const int Base_V7_ThemeOverlay_AppCompat_Dialog = 2131296442;
+			
+			// aapt resource value: 0x7f0900bb
+			public const int Base_V7_Widget_AppCompat_AutoCompleteTextView = 2131296443;
+			
+			// aapt resource value: 0x7f0900bc
+			public const int Base_V7_Widget_AppCompat_EditText = 2131296444;
+			
+			// aapt resource value: 0x7f0900bd
+			public const int Base_V7_Widget_AppCompat_Toolbar = 2131296445;
+			
+			// aapt resource value: 0x7f0900be
+			public const int Base_Widget_AppCompat_ActionBar = 2131296446;
+			
+			// aapt resource value: 0x7f0900bf
+			public const int Base_Widget_AppCompat_ActionBar_Solid = 2131296447;
+			
+			// aapt resource value: 0x7f0900c0
+			public const int Base_Widget_AppCompat_ActionBar_TabBar = 2131296448;
+			
+			// aapt resource value: 0x7f090061
+			public const int Base_Widget_AppCompat_ActionBar_TabText = 2131296353;
+			
+			// aapt resource value: 0x7f090062
+			public const int Base_Widget_AppCompat_ActionBar_TabView = 2131296354;
+			
+			// aapt resource value: 0x7f090063
+			public const int Base_Widget_AppCompat_ActionButton = 2131296355;
+			
+			// aapt resource value: 0x7f090064
+			public const int Base_Widget_AppCompat_ActionButton_CloseMode = 2131296356;
+			
+			// aapt resource value: 0x7f090065
+			public const int Base_Widget_AppCompat_ActionButton_Overflow = 2131296357;
+			
+			// aapt resource value: 0x7f0900c1
+			public const int Base_Widget_AppCompat_ActionMode = 2131296449;
+			
+			// aapt resource value: 0x7f0900c2
+			public const int Base_Widget_AppCompat_ActivityChooserView = 2131296450;
+			
+			// aapt resource value: 0x7f090025
+			public const int Base_Widget_AppCompat_AutoCompleteTextView = 2131296293;
+			
+			// aapt resource value: 0x7f090066
+			public const int Base_Widget_AppCompat_Button = 2131296358;
+			
+			// aapt resource value: 0x7f090067
+			public const int Base_Widget_AppCompat_Button_Borderless = 2131296359;
+			
+			// aapt resource value: 0x7f090068
+			public const int Base_Widget_AppCompat_Button_Borderless_Colored = 2131296360;
+			
+			// aapt resource value: 0x7f0900c3
+			public const int Base_Widget_AppCompat_Button_ButtonBar_AlertDialog = 2131296451;
+			
+			// aapt resource value: 0x7f090092
+			public const int Base_Widget_AppCompat_Button_Colored = 2131296402;
+			
+			// aapt resource value: 0x7f090069
+			public const int Base_Widget_AppCompat_Button_Small = 2131296361;
+			
+			// aapt resource value: 0x7f09006a
+			public const int Base_Widget_AppCompat_ButtonBar = 2131296362;
+			
+			// aapt resource value: 0x7f0900c4
+			public const int Base_Widget_AppCompat_ButtonBar_AlertDialog = 2131296452;
+			
+			// aapt resource value: 0x7f09006b
+			public const int Base_Widget_AppCompat_CompoundButton_CheckBox = 2131296363;
+			
+			// aapt resource value: 0x7f09006c
+			public const int Base_Widget_AppCompat_CompoundButton_RadioButton = 2131296364;
+			
+			// aapt resource value: 0x7f0900c5
+			public const int Base_Widget_AppCompat_CompoundButton_Switch = 2131296453;
+			
+			// aapt resource value: 0x7f090000
+			public const int Base_Widget_AppCompat_DrawerArrowToggle = 2131296256;
+			
+			// aapt resource value: 0x7f0900c6
+			public const int Base_Widget_AppCompat_DrawerArrowToggle_Common = 2131296454;
+			
+			// aapt resource value: 0x7f09006d
+			public const int Base_Widget_AppCompat_DropDownItem_Spinner = 2131296365;
+			
+			// aapt resource value: 0x7f090026
+			public const int Base_Widget_AppCompat_EditText = 2131296294;
+			
+			// aapt resource value: 0x7f09006e
+			public const int Base_Widget_AppCompat_ImageButton = 2131296366;
+			
+			// aapt resource value: 0x7f0900c7
+			public const int Base_Widget_AppCompat_Light_ActionBar = 2131296455;
+			
+			// aapt resource value: 0x7f0900c8
+			public const int Base_Widget_AppCompat_Light_ActionBar_Solid = 2131296456;
+			
+			// aapt resource value: 0x7f0900c9
+			public const int Base_Widget_AppCompat_Light_ActionBar_TabBar = 2131296457;
+			
+			// aapt resource value: 0x7f09006f
+			public const int Base_Widget_AppCompat_Light_ActionBar_TabText = 2131296367;
+			
+			// aapt resource value: 0x7f090070
+			public const int Base_Widget_AppCompat_Light_ActionBar_TabText_Inverse = 2131296368;
+			
+			// aapt resource value: 0x7f090071
+			public const int Base_Widget_AppCompat_Light_ActionBar_TabView = 2131296369;
+			
+			// aapt resource value: 0x7f090072
+			public const int Base_Widget_AppCompat_Light_PopupMenu = 2131296370;
+			
+			// aapt resource value: 0x7f090073
+			public const int Base_Widget_AppCompat_Light_PopupMenu_Overflow = 2131296371;
+			
+			// aapt resource value: 0x7f0900ca
+			public const int Base_Widget_AppCompat_ListMenuView = 2131296458;
+			
+			// aapt resource value: 0x7f090074
+			public const int Base_Widget_AppCompat_ListPopupWindow = 2131296372;
+			
+			// aapt resource value: 0x7f090075
+			public const int Base_Widget_AppCompat_ListView = 2131296373;
+			
+			// aapt resource value: 0x7f090076
+			public const int Base_Widget_AppCompat_ListView_DropDown = 2131296374;
+			
+			// aapt resource value: 0x7f090077
+			public const int Base_Widget_AppCompat_ListView_Menu = 2131296375;
+			
+			// aapt resource value: 0x7f090078
+			public const int Base_Widget_AppCompat_PopupMenu = 2131296376;
+			
+			// aapt resource value: 0x7f090079
+			public const int Base_Widget_AppCompat_PopupMenu_Overflow = 2131296377;
+			
+			// aapt resource value: 0x7f0900cb
+			public const int Base_Widget_AppCompat_PopupWindow = 2131296459;
+			
+			// aapt resource value: 0x7f09001c
+			public const int Base_Widget_AppCompat_ProgressBar = 2131296284;
+			
+			// aapt resource value: 0x7f09001d
+			public const int Base_Widget_AppCompat_ProgressBar_Horizontal = 2131296285;
+			
+			// aapt resource value: 0x7f09007a
+			public const int Base_Widget_AppCompat_RatingBar = 2131296378;
+			
+			// aapt resource value: 0x7f090093
+			public const int Base_Widget_AppCompat_RatingBar_Indicator = 2131296403;
+			
+			// aapt resource value: 0x7f090094
+			public const int Base_Widget_AppCompat_RatingBar_Small = 2131296404;
+			
+			// aapt resource value: 0x7f0900cc
+			public const int Base_Widget_AppCompat_SearchView = 2131296460;
+			
+			// aapt resource value: 0x7f0900cd
+			public const int Base_Widget_AppCompat_SearchView_ActionBar = 2131296461;
+			
+			// aapt resource value: 0x7f09007b
+			public const int Base_Widget_AppCompat_SeekBar = 2131296379;
+			
+			// aapt resource value: 0x7f0900ce
+			public const int Base_Widget_AppCompat_SeekBar_Discrete = 2131296462;
+			
+			// aapt resource value: 0x7f09007c
+			public const int Base_Widget_AppCompat_Spinner = 2131296380;
+			
+			// aapt resource value: 0x7f090003
+			public const int Base_Widget_AppCompat_Spinner_Underlined = 2131296259;
+			
+			// aapt resource value: 0x7f09007d
+			public const int Base_Widget_AppCompat_TextView_SpinnerItem = 2131296381;
+			
+			// aapt resource value: 0x7f09009c
+			public const int Base_Widget_AppCompat_Toolbar = 2131296412;
+			
+			// aapt resource value: 0x7f09007e
+			public const int Base_Widget_AppCompat_Toolbar_Button_Navigation = 2131296382;
+			
+			// aapt resource value: 0x7f09016c
+			public const int BottomSheetDialogAnimation = 2131296620;
+			
+			// aapt resource value: 0x7f090173
+			public const int MyTheme = 2131296627;
+			
+			// aapt resource value: 0x7f09001e
+			public const int Platform_AppCompat = 2131296286;
+			
+			// aapt resource value: 0x7f09001f
+			public const int Platform_AppCompat_Light = 2131296287;
+			
+			// aapt resource value: 0x7f09007f
+			public const int Platform_ThemeOverlay_AppCompat = 2131296383;
+			
+			// aapt resource value: 0x7f090080
+			public const int Platform_ThemeOverlay_AppCompat_Dark = 2131296384;
+			
+			// aapt resource value: 0x7f090081
+			public const int Platform_ThemeOverlay_AppCompat_Light = 2131296385;
+			
+			// aapt resource value: 0x7f090020
+			public const int Platform_V11_AppCompat = 2131296288;
+			
+			// aapt resource value: 0x7f090021
+			public const int Platform_V11_AppCompat_Light = 2131296289;
+			
+			// aapt resource value: 0x7f090028
+			public const int Platform_V14_AppCompat = 2131296296;
+			
+			// aapt resource value: 0x7f090029
+			public const int Platform_V14_AppCompat_Light = 2131296297;
+			
+			// aapt resource value: 0x7f090082
+			public const int Platform_V21_AppCompat = 2131296386;
+			
+			// aapt resource value: 0x7f090083
+			public const int Platform_V21_AppCompat_Light = 2131296387;
+			
+			// aapt resource value: 0x7f090097
+			public const int Platform_V25_AppCompat = 2131296407;
+			
+			// aapt resource value: 0x7f090098
+			public const int Platform_V25_AppCompat_Light = 2131296408;
+			
+			// aapt resource value: 0x7f090022
+			public const int Platform_Widget_AppCompat_Spinner = 2131296290;
+			
+			// aapt resource value: 0x7f09002b
+			public const int RtlOverlay_DialogWindowTitle_AppCompat = 2131296299;
+			
+			// aapt resource value: 0x7f09002c
+			public const int RtlOverlay_Widget_AppCompat_ActionBar_TitleItem = 2131296300;
+			
+			// aapt resource value: 0x7f09002d
+			public const int RtlOverlay_Widget_AppCompat_DialogTitle_Icon = 2131296301;
+			
+			// aapt resource value: 0x7f09002e
+			public const int RtlOverlay_Widget_AppCompat_PopupMenuItem = 2131296302;
+			
+			// aapt resource value: 0x7f09002f
+			public const int RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup = 2131296303;
+			
+			// aapt resource value: 0x7f090030
+			public const int RtlOverlay_Widget_AppCompat_PopupMenuItem_Text = 2131296304;
+			
+			// aapt resource value: 0x7f090031
+			public const int RtlOverlay_Widget_AppCompat_Search_DropDown = 2131296305;
+			
+			// aapt resource value: 0x7f090032
+			public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1 = 2131296306;
+			
+			// aapt resource value: 0x7f090033
+			public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2 = 2131296307;
+			
+			// aapt resource value: 0x7f090034
+			public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Query = 2131296308;
+			
+			// aapt resource value: 0x7f090035
+			public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Text = 2131296309;
+			
+			// aapt resource value: 0x7f090036
+			public const int RtlOverlay_Widget_AppCompat_SearchView_MagIcon = 2131296310;
+			
+			// aapt resource value: 0x7f090037
+			public const int RtlUnderlay_Widget_AppCompat_ActionButton = 2131296311;
+			
+			// aapt resource value: 0x7f090038
+			public const int RtlUnderlay_Widget_AppCompat_ActionButton_Overflow = 2131296312;
+			
+			// aapt resource value: 0x7f0900cf
+			public const int TextAppearance_AppCompat = 2131296463;
+			
+			// aapt resource value: 0x7f0900d0
+			public const int TextAppearance_AppCompat_Body1 = 2131296464;
+			
+			// aapt resource value: 0x7f0900d1
+			public const int TextAppearance_AppCompat_Body2 = 2131296465;
+			
+			// aapt resource value: 0x7f0900d2
+			public const int TextAppearance_AppCompat_Button = 2131296466;
+			
+			// aapt resource value: 0x7f0900d3
+			public const int TextAppearance_AppCompat_Caption = 2131296467;
+			
+			// aapt resource value: 0x7f0900d4
+			public const int TextAppearance_AppCompat_Display1 = 2131296468;
+			
+			// aapt resource value: 0x7f0900d5
+			public const int TextAppearance_AppCompat_Display2 = 2131296469;
+			
+			// aapt resource value: 0x7f0900d6
+			public const int TextAppearance_AppCompat_Display3 = 2131296470;
+			
+			// aapt resource value: 0x7f0900d7
+			public const int TextAppearance_AppCompat_Display4 = 2131296471;
+			
+			// aapt resource value: 0x7f0900d8
+			public const int TextAppearance_AppCompat_Headline = 2131296472;
+			
+			// aapt resource value: 0x7f0900d9
+			public const int TextAppearance_AppCompat_Inverse = 2131296473;
+			
+			// aapt resource value: 0x7f0900da
+			public const int TextAppearance_AppCompat_Large = 2131296474;
+			
+			// aapt resource value: 0x7f0900db
+			public const int TextAppearance_AppCompat_Large_Inverse = 2131296475;
+			
+			// aapt resource value: 0x7f0900dc
+			public const int TextAppearance_AppCompat_Light_SearchResult_Subtitle = 2131296476;
+			
+			// aapt resource value: 0x7f0900dd
+			public const int TextAppearance_AppCompat_Light_SearchResult_Title = 2131296477;
+			
+			// aapt resource value: 0x7f0900de
+			public const int TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 2131296478;
+			
+			// aapt resource value: 0x7f0900df
+			public const int TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 2131296479;
+			
+			// aapt resource value: 0x7f0900e0
+			public const int TextAppearance_AppCompat_Medium = 2131296480;
+			
+			// aapt resource value: 0x7f0900e1
+			public const int TextAppearance_AppCompat_Medium_Inverse = 2131296481;
+			
+			// aapt resource value: 0x7f0900e2
+			public const int TextAppearance_AppCompat_Menu = 2131296482;
+			
+			// aapt resource value: 0x7f090084
+			public const int TextAppearance_AppCompat_Notification = 2131296388;
+			
+			// aapt resource value: 0x7f090085
+			public const int TextAppearance_AppCompat_Notification_Info = 2131296389;
+			
+			// aapt resource value: 0x7f090086
+			public const int TextAppearance_AppCompat_Notification_Info_Media = 2131296390;
+			
+			// aapt resource value: 0x7f0900e3
+			public const int TextAppearance_AppCompat_Notification_Line2 = 2131296483;
+			
+			// aapt resource value: 0x7f0900e4
+			public const int TextAppearance_AppCompat_Notification_Line2_Media = 2131296484;
+			
+			// aapt resource value: 0x7f090087
+			public const int TextAppearance_AppCompat_Notification_Media = 2131296391;
+			
+			// aapt resource value: 0x7f090088
+			public const int TextAppearance_AppCompat_Notification_Time = 2131296392;
+			
+			// aapt resource value: 0x7f090089
+			public const int TextAppearance_AppCompat_Notification_Time_Media = 2131296393;
+			
+			// aapt resource value: 0x7f09008a
+			public const int TextAppearance_AppCompat_Notification_Title = 2131296394;
+			
+			// aapt resource value: 0x7f09008b
+			public const int TextAppearance_AppCompat_Notification_Title_Media = 2131296395;
+			
+			// aapt resource value: 0x7f0900e5
+			public const int TextAppearance_AppCompat_SearchResult_Subtitle = 2131296485;
+			
+			// aapt resource value: 0x7f0900e6
+			public const int TextAppearance_AppCompat_SearchResult_Title = 2131296486;
+			
+			// aapt resource value: 0x7f0900e7
+			public const int TextAppearance_AppCompat_Small = 2131296487;
+			
+			// aapt resource value: 0x7f0900e8
+			public const int TextAppearance_AppCompat_Small_Inverse = 2131296488;
+			
+			// aapt resource value: 0x7f0900e9
+			public const int TextAppearance_AppCompat_Subhead = 2131296489;
+			
+			// aapt resource value: 0x7f0900ea
+			public const int TextAppearance_AppCompat_Subhead_Inverse = 2131296490;
+			
+			// aapt resource value: 0x7f0900eb
+			public const int TextAppearance_AppCompat_Title = 2131296491;
+			
+			// aapt resource value: 0x7f0900ec
+			public const int TextAppearance_AppCompat_Title_Inverse = 2131296492;
+			
+			// aapt resource value: 0x7f09002a
+			public const int TextAppearance_AppCompat_Tooltip = 2131296298;
+			
+			// aapt resource value: 0x7f0900ed
+			public const int TextAppearance_AppCompat_Widget_ActionBar_Menu = 2131296493;
+			
+			// aapt resource value: 0x7f0900ee
+			public const int TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 2131296494;
+			
+			// aapt resource value: 0x7f0900ef
+			public const int TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 2131296495;
+			
+			// aapt resource value: 0x7f0900f0
+			public const int TextAppearance_AppCompat_Widget_ActionBar_Title = 2131296496;
+			
+			// aapt resource value: 0x7f0900f1
+			public const int TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 2131296497;
+			
+			// aapt resource value: 0x7f0900f2
+			public const int TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 2131296498;
+			
+			// aapt resource value: 0x7f0900f3
+			public const int TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse = 2131296499;
+			
+			// aapt resource value: 0x7f0900f4
+			public const int TextAppearance_AppCompat_Widget_ActionMode_Title = 2131296500;
+			
+			// aapt resource value: 0x7f0900f5
+			public const int TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse = 2131296501;
+			
+			// aapt resource value: 0x7f0900f6
+			public const int TextAppearance_AppCompat_Widget_Button = 2131296502;
+			
+			// aapt resource value: 0x7f0900f7
+			public const int TextAppearance_AppCompat_Widget_Button_Borderless_Colored = 2131296503;
+			
+			// aapt resource value: 0x7f0900f8
+			public const int TextAppearance_AppCompat_Widget_Button_Colored = 2131296504;
+			
+			// aapt resource value: 0x7f0900f9
+			public const int TextAppearance_AppCompat_Widget_Button_Inverse = 2131296505;
+			
+			// aapt resource value: 0x7f0900fa
+			public const int TextAppearance_AppCompat_Widget_DropDownItem = 2131296506;
+			
+			// aapt resource value: 0x7f0900fb
+			public const int TextAppearance_AppCompat_Widget_PopupMenu_Header = 2131296507;
+			
+			// aapt resource value: 0x7f0900fc
+			public const int TextAppearance_AppCompat_Widget_PopupMenu_Large = 2131296508;
+			
+			// aapt resource value: 0x7f0900fd
+			public const int TextAppearance_AppCompat_Widget_PopupMenu_Small = 2131296509;
+			
+			// aapt resource value: 0x7f0900fe
+			public const int TextAppearance_AppCompat_Widget_Switch = 2131296510;
+			
+			// aapt resource value: 0x7f0900ff
+			public const int TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 2131296511;
+			
+			// aapt resource value: 0x7f090165
+			public const int TextAppearance_Compat_Notification = 2131296613;
+			
+			// aapt resource value: 0x7f090166
+			public const int TextAppearance_Compat_Notification_Info = 2131296614;
+			
+			// aapt resource value: 0x7f090160
+			public const int TextAppearance_Compat_Notification_Info_Media = 2131296608;
+			
+			// aapt resource value: 0x7f09016b
+			public const int TextAppearance_Compat_Notification_Line2 = 2131296619;
+			
+			// aapt resource value: 0x7f090164
+			public const int TextAppearance_Compat_Notification_Line2_Media = 2131296612;
+			
+			// aapt resource value: 0x7f090161
+			public const int TextAppearance_Compat_Notification_Media = 2131296609;
+			
+			// aapt resource value: 0x7f090167
+			public const int TextAppearance_Compat_Notification_Time = 2131296615;
+			
+			// aapt resource value: 0x7f090162
+			public const int TextAppearance_Compat_Notification_Time_Media = 2131296610;
+			
+			// aapt resource value: 0x7f090168
+			public const int TextAppearance_Compat_Notification_Title = 2131296616;
+			
+			// aapt resource value: 0x7f090163
+			public const int TextAppearance_Compat_Notification_Title_Media = 2131296611;
+			
+			// aapt resource value: 0x7f090100
+			public const int TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 2131296512;
+			
+			// aapt resource value: 0x7f090101
+			public const int TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 2131296513;
+			
+			// aapt resource value: 0x7f090102
+			public const int TextAppearance_Widget_AppCompat_Toolbar_Title = 2131296514;
+			
+			// aapt resource value: 0x7f090103
+			public const int Theme_AppCompat = 2131296515;
+			
+			// aapt resource value: 0x7f090104
+			public const int Theme_AppCompat_CompactMenu = 2131296516;
+			
+			// aapt resource value: 0x7f090004
+			public const int Theme_AppCompat_DayNight = 2131296260;
+			
+			// aapt resource value: 0x7f090005
+			public const int Theme_AppCompat_DayNight_DarkActionBar = 2131296261;
+			
+			// aapt resource value: 0x7f090006
+			public const int Theme_AppCompat_DayNight_Dialog = 2131296262;
+			
+			// aapt resource value: 0x7f090007
+			public const int Theme_AppCompat_DayNight_Dialog_Alert = 2131296263;
+			
+			// aapt resource value: 0x7f090008
+			public const int Theme_AppCompat_DayNight_Dialog_MinWidth = 2131296264;
+			
+			// aapt resource value: 0x7f090009
+			public const int Theme_AppCompat_DayNight_DialogWhenLarge = 2131296265;
+			
+			// aapt resource value: 0x7f09000a
+			public const int Theme_AppCompat_DayNight_NoActionBar = 2131296266;
+			
+			// aapt resource value: 0x7f090105
+			public const int Theme_AppCompat_Dialog = 2131296517;
+			
+			// aapt resource value: 0x7f090106
+			public const int Theme_AppCompat_Dialog_Alert = 2131296518;
+			
+			// aapt resource value: 0x7f090107
+			public const int Theme_AppCompat_Dialog_MinWidth = 2131296519;
+			
+			// aapt resource value: 0x7f090108
+			public const int Theme_AppCompat_DialogWhenLarge = 2131296520;
+			
+			// aapt resource value: 0x7f090109
+			public const int Theme_AppCompat_Light = 2131296521;
+			
+			// aapt resource value: 0x7f09010a
+			public const int Theme_AppCompat_Light_DarkActionBar = 2131296522;
+			
+			// aapt resource value: 0x7f09010b
+			public const int Theme_AppCompat_Light_Dialog = 2131296523;
+			
+			// aapt resource value: 0x7f09010c
+			public const int Theme_AppCompat_Light_Dialog_Alert = 2131296524;
+			
+			// aapt resource value: 0x7f09010d
+			public const int Theme_AppCompat_Light_Dialog_MinWidth = 2131296525;
+			
+			// aapt resource value: 0x7f09010e
+			public const int Theme_AppCompat_Light_DialogWhenLarge = 2131296526;
+			
+			// aapt resource value: 0x7f09010f
+			public const int Theme_AppCompat_Light_NoActionBar = 2131296527;
+			
+			// aapt resource value: 0x7f090110
+			public const int Theme_AppCompat_NoActionBar = 2131296528;
+			
+			// aapt resource value: 0x7f09016d
+			public const int Theme_BiometricPromptDialog = 2131296621;
+			
+			// aapt resource value: 0x7f090111
+			public const int ThemeOverlay_AppCompat = 2131296529;
+			
+			// aapt resource value: 0x7f090112
+			public const int ThemeOverlay_AppCompat_ActionBar = 2131296530;
+			
+			// aapt resource value: 0x7f090113
+			public const int ThemeOverlay_AppCompat_Dark = 2131296531;
+			
+			// aapt resource value: 0x7f090114
+			public const int ThemeOverlay_AppCompat_Dark_ActionBar = 2131296532;
+			
+			// aapt resource value: 0x7f090115
+			public const int ThemeOverlay_AppCompat_Dialog = 2131296533;
+			
+			// aapt resource value: 0x7f090116
+			public const int ThemeOverlay_AppCompat_Dialog_Alert = 2131296534;
+			
+			// aapt resource value: 0x7f090117
+			public const int ThemeOverlay_AppCompat_Light = 2131296535;
+			
+			// aapt resource value: 0x7f090118
+			public const int Widget_AppCompat_ActionBar = 2131296536;
+			
+			// aapt resource value: 0x7f090119
+			public const int Widget_AppCompat_ActionBar_Solid = 2131296537;
+			
+			// aapt resource value: 0x7f09011a
+			public const int Widget_AppCompat_ActionBar_TabBar = 2131296538;
+			
+			// aapt resource value: 0x7f09011b
+			public const int Widget_AppCompat_ActionBar_TabText = 2131296539;
+			
+			// aapt resource value: 0x7f09011c
+			public const int Widget_AppCompat_ActionBar_TabView = 2131296540;
+			
+			// aapt resource value: 0x7f09011d
+			public const int Widget_AppCompat_ActionButton = 2131296541;
+			
+			// aapt resource value: 0x7f09011e
+			public const int Widget_AppCompat_ActionButton_CloseMode = 2131296542;
+			
+			// aapt resource value: 0x7f09011f
+			public const int Widget_AppCompat_ActionButton_Overflow = 2131296543;
+			
+			// aapt resource value: 0x7f090120
+			public const int Widget_AppCompat_ActionMode = 2131296544;
+			
+			// aapt resource value: 0x7f090121
+			public const int Widget_AppCompat_ActivityChooserView = 2131296545;
+			
+			// aapt resource value: 0x7f090122
+			public const int Widget_AppCompat_AutoCompleteTextView = 2131296546;
+			
+			// aapt resource value: 0x7f090123
+			public const int Widget_AppCompat_Button = 2131296547;
+			
+			// aapt resource value: 0x7f090124
+			public const int Widget_AppCompat_Button_Borderless = 2131296548;
+			
+			// aapt resource value: 0x7f090125
+			public const int Widget_AppCompat_Button_Borderless_Colored = 2131296549;
+			
+			// aapt resource value: 0x7f090126
+			public const int Widget_AppCompat_Button_ButtonBar_AlertDialog = 2131296550;
+			
+			// aapt resource value: 0x7f090127
+			public const int Widget_AppCompat_Button_Colored = 2131296551;
+			
+			// aapt resource value: 0x7f090128
+			public const int Widget_AppCompat_Button_Small = 2131296552;
+			
+			// aapt resource value: 0x7f090129
+			public const int Widget_AppCompat_ButtonBar = 2131296553;
+			
+			// aapt resource value: 0x7f09012a
+			public const int Widget_AppCompat_ButtonBar_AlertDialog = 2131296554;
+			
+			// aapt resource value: 0x7f09012b
+			public const int Widget_AppCompat_CompoundButton_CheckBox = 2131296555;
+			
+			// aapt resource value: 0x7f09012c
+			public const int Widget_AppCompat_CompoundButton_RadioButton = 2131296556;
+			
+			// aapt resource value: 0x7f09012d
+			public const int Widget_AppCompat_CompoundButton_Switch = 2131296557;
+			
+			// aapt resource value: 0x7f09012e
+			public const int Widget_AppCompat_DrawerArrowToggle = 2131296558;
+			
+			// aapt resource value: 0x7f09012f
+			public const int Widget_AppCompat_DropDownItem_Spinner = 2131296559;
+			
+			// aapt resource value: 0x7f090130
+			public const int Widget_AppCompat_EditText = 2131296560;
+			
+			// aapt resource value: 0x7f090131
+			public const int Widget_AppCompat_ImageButton = 2131296561;
+			
+			// aapt resource value: 0x7f090132
+			public const int Widget_AppCompat_Light_ActionBar = 2131296562;
+			
+			// aapt resource value: 0x7f090133
+			public const int Widget_AppCompat_Light_ActionBar_Solid = 2131296563;
+			
+			// aapt resource value: 0x7f090134
+			public const int Widget_AppCompat_Light_ActionBar_Solid_Inverse = 2131296564;
+			
+			// aapt resource value: 0x7f090135
+			public const int Widget_AppCompat_Light_ActionBar_TabBar = 2131296565;
+			
+			// aapt resource value: 0x7f090136
+			public const int Widget_AppCompat_Light_ActionBar_TabBar_Inverse = 2131296566;
+			
+			// aapt resource value: 0x7f090137
+			public const int Widget_AppCompat_Light_ActionBar_TabText = 2131296567;
+			
+			// aapt resource value: 0x7f090138
+			public const int Widget_AppCompat_Light_ActionBar_TabText_Inverse = 2131296568;
+			
+			// aapt resource value: 0x7f090139
+			public const int Widget_AppCompat_Light_ActionBar_TabView = 2131296569;
+			
+			// aapt resource value: 0x7f09013a
+			public const int Widget_AppCompat_Light_ActionBar_TabView_Inverse = 2131296570;
+			
+			// aapt resource value: 0x7f09013b
+			public const int Widget_AppCompat_Light_ActionButton = 2131296571;
+			
+			// aapt resource value: 0x7f09013c
+			public const int Widget_AppCompat_Light_ActionButton_CloseMode = 2131296572;
+			
+			// aapt resource value: 0x7f09013d
+			public const int Widget_AppCompat_Light_ActionButton_Overflow = 2131296573;
+			
+			// aapt resource value: 0x7f09013e
+			public const int Widget_AppCompat_Light_ActionMode_Inverse = 2131296574;
+			
+			// aapt resource value: 0x7f09013f
+			public const int Widget_AppCompat_Light_ActivityChooserView = 2131296575;
+			
+			// aapt resource value: 0x7f090140
+			public const int Widget_AppCompat_Light_AutoCompleteTextView = 2131296576;
+			
+			// aapt resource value: 0x7f090141
+			public const int Widget_AppCompat_Light_DropDownItem_Spinner = 2131296577;
+			
+			// aapt resource value: 0x7f090142
+			public const int Widget_AppCompat_Light_ListPopupWindow = 2131296578;
+			
+			// aapt resource value: 0x7f090143
+			public const int Widget_AppCompat_Light_ListView_DropDown = 2131296579;
+			
+			// aapt resource value: 0x7f090144
+			public const int Widget_AppCompat_Light_PopupMenu = 2131296580;
+			
+			// aapt resource value: 0x7f090145
+			public const int Widget_AppCompat_Light_PopupMenu_Overflow = 2131296581;
+			
+			// aapt resource value: 0x7f090146
+			public const int Widget_AppCompat_Light_SearchView = 2131296582;
+			
+			// aapt resource value: 0x7f090147
+			public const int Widget_AppCompat_Light_Spinner_DropDown_ActionBar = 2131296583;
+			
+			// aapt resource value: 0x7f090148
+			public const int Widget_AppCompat_ListMenuView = 2131296584;
+			
+			// aapt resource value: 0x7f090149
+			public const int Widget_AppCompat_ListPopupWindow = 2131296585;
+			
+			// aapt resource value: 0x7f09014a
+			public const int Widget_AppCompat_ListView = 2131296586;
+			
+			// aapt resource value: 0x7f09014b
+			public const int Widget_AppCompat_ListView_DropDown = 2131296587;
+			
+			// aapt resource value: 0x7f09014c
+			public const int Widget_AppCompat_ListView_Menu = 2131296588;
+			
+			// aapt resource value: 0x7f09014d
+			public const int Widget_AppCompat_PopupMenu = 2131296589;
+			
+			// aapt resource value: 0x7f09014e
+			public const int Widget_AppCompat_PopupMenu_Overflow = 2131296590;
+			
+			// aapt resource value: 0x7f09014f
+			public const int Widget_AppCompat_PopupWindow = 2131296591;
+			
+			// aapt resource value: 0x7f090150
+			public const int Widget_AppCompat_ProgressBar = 2131296592;
+			
+			// aapt resource value: 0x7f090151
+			public const int Widget_AppCompat_ProgressBar_Horizontal = 2131296593;
+			
+			// aapt resource value: 0x7f090152
+			public const int Widget_AppCompat_RatingBar = 2131296594;
+			
+			// aapt resource value: 0x7f090153
+			public const int Widget_AppCompat_RatingBar_Indicator = 2131296595;
+			
+			// aapt resource value: 0x7f090154
+			public const int Widget_AppCompat_RatingBar_Small = 2131296596;
+			
+			// aapt resource value: 0x7f090155
+			public const int Widget_AppCompat_SearchView = 2131296597;
+			
+			// aapt resource value: 0x7f090156
+			public const int Widget_AppCompat_SearchView_ActionBar = 2131296598;
+			
+			// aapt resource value: 0x7f090157
+			public const int Widget_AppCompat_SeekBar = 2131296599;
+			
+			// aapt resource value: 0x7f090158
+			public const int Widget_AppCompat_SeekBar_Discrete = 2131296600;
+			
+			// aapt resource value: 0x7f090159
+			public const int Widget_AppCompat_Spinner = 2131296601;
+			
+			// aapt resource value: 0x7f09015a
+			public const int Widget_AppCompat_Spinner_DropDown = 2131296602;
+			
+			// aapt resource value: 0x7f09015b
+			public const int Widget_AppCompat_Spinner_DropDown_ActionBar = 2131296603;
+			
+			// aapt resource value: 0x7f09015c
+			public const int Widget_AppCompat_Spinner_Underlined = 2131296604;
+			
+			// aapt resource value: 0x7f09015d
+			public const int Widget_AppCompat_TextView_SpinnerItem = 2131296605;
+			
+			// aapt resource value: 0x7f09015e
+			public const int Widget_AppCompat_Toolbar = 2131296606;
+			
+			// aapt resource value: 0x7f09015f
+			public const int Widget_AppCompat_Toolbar_Button_Navigation = 2131296607;
+			
+			// aapt resource value: 0x7f090169
+			public const int Widget_Compat_NotificationActionContainer = 2131296617;
+			
+			// aapt resource value: 0x7f09016a
+			public const int Widget_Compat_NotificationActionText = 2131296618;
+			
+			// aapt resource value: 0x7f09016e
+			public const int custom_dialog2 = 2131296622;
+			
+			// aapt resource value: 0x7f09016f
+			public const int picker_view_scale_anim = 2131296623;
+			
+			// aapt resource value: 0x7f090170
+			public const int picker_view_slide_anim = 2131296624;
+			
+			static Style()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Style()
+			{
+			}
+		}
+		
+		public partial class Xml
+		{
+			
+			// aapt resource value: 0x7f060000
+			public const int file_paths = 2131099648;
+			
+			// aapt resource value: 0x7f060001
+			public const int hdl_filepaths = 2131099649;
+			
+			static Xml()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Xml()
+			{
+			}
+		}
+		
+		public partial class Styleable
+		{
+			
+			public static int[] ActionBar = new int[] {
+					2130771969,
+					2130771971,
+					2130771972,
+					2130771973,
+					2130771974,
+					2130771975,
+					2130771976,
+					2130771977,
+					2130771978,
+					2130771979,
+					2130771980,
+					2130771981,
+					2130771982,
+					2130771983,
+					2130771984,
+					2130771985,
+					2130771986,
+					2130771987,
+					2130771988,
+					2130771989,
+					2130771990,
+					2130771991,
+					2130771992,
+					2130771993,
+					2130771994,
+					2130771995,
+					2130771996,
+					2130771997,
+					2130772067};
+			
+			// aapt resource value: 10
+			public const int ActionBar_background = 10;
+			
+			// aapt resource value: 12
+			public const int ActionBar_backgroundSplit = 12;
+			
+			// aapt resource value: 11
+			public const int ActionBar_backgroundStacked = 11;
+			
+			// aapt resource value: 21
+			public const int ActionBar_contentInsetEnd = 21;
+			
+			// aapt resource value: 25
+			public const int ActionBar_contentInsetEndWithActions = 25;
+			
+			// aapt resource value: 22
+			public const int ActionBar_contentInsetLeft = 22;
+			
+			// aapt resource value: 23
+			public const int ActionBar_contentInsetRight = 23;
+			
+			// aapt resource value: 20
+			public const int ActionBar_contentInsetStart = 20;
+			
+			// aapt resource value: 24
+			public const int ActionBar_contentInsetStartWithNavigation = 24;
+			
+			// aapt resource value: 13
+			public const int ActionBar_customNavigationLayout = 13;
+			
+			// aapt resource value: 3
+			public const int ActionBar_displayOptions = 3;
+			
+			// aapt resource value: 9
+			public const int ActionBar_divider = 9;
+			
+			// aapt resource value: 26
+			public const int ActionBar_elevation = 26;
+			
+			// aapt resource value: 0
+			public const int ActionBar_height = 0;
+			
+			// aapt resource value: 19
+			public const int ActionBar_hideOnContentScroll = 19;
+			
+			// aapt resource value: 28
+			public const int ActionBar_homeAsUpIndicator = 28;
+			
+			// aapt resource value: 14
+			public const int ActionBar_homeLayout = 14;
+			
+			// aapt resource value: 7
+			public const int ActionBar_icon = 7;
+			
+			// aapt resource value: 16
+			public const int ActionBar_indeterminateProgressStyle = 16;
+			
+			// aapt resource value: 18
+			public const int ActionBar_itemPadding = 18;
+			
+			// aapt resource value: 8
+			public const int ActionBar_logo = 8;
+			
+			// aapt resource value: 2
+			public const int ActionBar_navigationMode = 2;
+			
+			// aapt resource value: 27
+			public const int ActionBar_popupTheme = 27;
+			
+			// aapt resource value: 17
+			public const int ActionBar_progressBarPadding = 17;
+			
+			// aapt resource value: 15
+			public const int ActionBar_progressBarStyle = 15;
+			
+			// aapt resource value: 4
+			public const int ActionBar_subtitle = 4;
+			
+			// aapt resource value: 6
+			public const int ActionBar_subtitleTextStyle = 6;
+			
+			// aapt resource value: 1
+			public const int ActionBar_title = 1;
+			
+			// aapt resource value: 5
+			public const int ActionBar_titleTextStyle = 5;
+			
+			public static int[] ActionBarLayout = new int[] {
+					16842931};
+			
+			// aapt resource value: 0
+			public const int ActionBarLayout_android_layout_gravity = 0;
+			
+			public static int[] ActionMenuItemView = new int[] {
+					16843071};
+			
+			// aapt resource value: 0
+			public const int ActionMenuItemView_android_minWidth = 0;
+			
+			public static int[] ActionMenuView;
+			
+			public static int[] ActionMode = new int[] {
+					2130771969,
+					2130771975,
+					2130771976,
+					2130771980,
+					2130771982,
+					2130771998};
+			
+			// aapt resource value: 3
+			public const int ActionMode_background = 3;
+			
+			// aapt resource value: 4
+			public const int ActionMode_backgroundSplit = 4;
+			
+			// aapt resource value: 5
+			public const int ActionMode_closeItemLayout = 5;
+			
+			// aapt resource value: 0
+			public const int ActionMode_height = 0;
+			
+			// aapt resource value: 2
+			public const int ActionMode_subtitleTextStyle = 2;
+			
+			// aapt resource value: 1
+			public const int ActionMode_titleTextStyle = 1;
+			
+			public static int[] ActivityChooserView = new int[] {
+					2130771999,
+					2130772000};
+			
+			// aapt resource value: 1
+			public const int ActivityChooserView_expandActivityOverflowButtonDrawable = 1;
+			
+			// aapt resource value: 0
+			public const int ActivityChooserView_initialActivityCount = 0;
+			
+			public static int[] AlertDialog = new int[] {
+					16842994,
+					2130772001,
+					2130772002,
+					2130772003,
+					2130772004,
+					2130772005,
+					2130772006};
+			
+			// aapt resource value: 0
+			public const int AlertDialog_android_layout = 0;
+			
+			// aapt resource value: 1
+			public const int AlertDialog_buttonPanelSideLayout = 1;
+			
+			// aapt resource value: 5
+			public const int AlertDialog_listItemLayout = 5;
+			
+			// aapt resource value: 2
+			public const int AlertDialog_listLayout = 2;
+			
+			// aapt resource value: 3
+			public const int AlertDialog_multiChoiceItemLayout = 3;
+			
+			// aapt resource value: 6
+			public const int AlertDialog_showTitle = 6;
+			
+			// aapt resource value: 4
+			public const int AlertDialog_singleChoiceItemLayout = 4;
+			
+			public static int[] AppCompatImageView = new int[] {
+					16843033,
+					2130772007,
+					2130772008,
+					2130772009};
+			
+			// aapt resource value: 0
+			public const int AppCompatImageView_android_src = 0;
+			
+			// aapt resource value: 1
+			public const int AppCompatImageView_srcCompat = 1;
+			
+			// aapt resource value: 2
+			public const int AppCompatImageView_tint = 2;
+			
+			// aapt resource value: 3
+			public const int AppCompatImageView_tintMode = 3;
+			
+			public static int[] AppCompatSeekBar = new int[] {
+					16843074,
+					2130772010,
+					2130772011,
+					2130772012};
+			
+			// aapt resource value: 0
+			public const int AppCompatSeekBar_android_thumb = 0;
+			
+			// aapt resource value: 1
+			public const int AppCompatSeekBar_tickMark = 1;
+			
+			// aapt resource value: 2
+			public const int AppCompatSeekBar_tickMarkTint = 2;
+			
+			// aapt resource value: 3
+			public const int AppCompatSeekBar_tickMarkTintMode = 3;
+			
+			public static int[] AppCompatTextHelper = new int[] {
+					16842804,
+					16843117,
+					16843118,
+					16843119,
+					16843120,
+					16843666,
+					16843667};
+			
+			// aapt resource value: 2
+			public const int AppCompatTextHelper_android_drawableBottom = 2;
+			
+			// aapt resource value: 6
+			public const int AppCompatTextHelper_android_drawableEnd = 6;
+			
+			// aapt resource value: 3
+			public const int AppCompatTextHelper_android_drawableLeft = 3;
+			
+			// aapt resource value: 4
+			public const int AppCompatTextHelper_android_drawableRight = 4;
+			
+			// aapt resource value: 5
+			public const int AppCompatTextHelper_android_drawableStart = 5;
+			
+			// aapt resource value: 1
+			public const int AppCompatTextHelper_android_drawableTop = 1;
+			
+			// aapt resource value: 0
+			public const int AppCompatTextHelper_android_textAppearance = 0;
+			
+			public static int[] AppCompatTextView = new int[] {
+					16842804,
+					2130772013,
+					2130772014,
+					2130772015,
+					2130772016,
+					2130772017,
+					2130772018,
+					2130772019};
+			
+			// aapt resource value: 0
+			public const int AppCompatTextView_android_textAppearance = 0;
+			
+			// aapt resource value: 6
+			public const int AppCompatTextView_autoSizeMaxTextSize = 6;
+			
+			// aapt resource value: 5
+			public const int AppCompatTextView_autoSizeMinTextSize = 5;
+			
+			// aapt resource value: 4
+			public const int AppCompatTextView_autoSizePresetSizes = 4;
+			
+			// aapt resource value: 3
+			public const int AppCompatTextView_autoSizeStepGranularity = 3;
+			
+			// aapt resource value: 2
+			public const int AppCompatTextView_autoSizeTextType = 2;
+			
+			// aapt resource value: 7
+			public const int AppCompatTextView_fontFamily = 7;
+			
+			// aapt resource value: 1
+			public const int AppCompatTextView_textAllCaps = 1;
+			
+			public static int[] AppCompatTheme = new int[] {
+					16842839,
+					16842926,
+					2130772020,
+					2130772021,
+					2130772022,
+					2130772023,
+					2130772024,
+					2130772025,
+					2130772026,
+					2130772027,
+					2130772028,
+					2130772029,
+					2130772030,
+					2130772031,
+					2130772032,
+					2130772033,
+					2130772034,
+					2130772035,
+					2130772036,
+					2130772037,
+					2130772038,
+					2130772039,
+					2130772040,
+					2130772041,
+					2130772042,
+					2130772043,
+					2130772044,
+					2130772045,
+					2130772046,
+					2130772047,
+					2130772048,
+					2130772049,
+					2130772050,
+					2130772051,
+					2130772052,
+					2130772053,
+					2130772054,
+					2130772055,
+					2130772056,
+					2130772057,
+					2130772058,
+					2130772059,
+					2130772060,
+					2130772061,
+					2130772062,
+					2130772063,
+					2130772064,
+					2130772065,
+					2130772066,
+					2130772067,
+					2130772068,
+					2130772069,
+					2130772070,
+					2130772071,
+					2130772072,
+					2130772073,
+					2130772074,
+					2130772075,
+					2130772076,
+					2130772077,
+					2130772078,
+					2130772079,
+					2130772080,
+					2130772081,
+					2130772082,
+					2130772083,
+					2130772084,
+					2130772085,
+					2130772086,
+					2130772087,
+					2130772088,
+					2130772089,
+					2130772090,
+					2130772091,
+					2130772092,
+					2130772093,
+					2130772094,
+					2130772095,
+					2130772096,
+					2130772097,
+					2130772098,
+					2130772099,
+					2130772100,
+					2130772101,
+					2130772102,
+					2130772103,
+					2130772104,
+					2130772105,
+					2130772106,
+					2130772107,
+					2130772108,
+					2130772109,
+					2130772110,
+					2130772111,
+					2130772112,
+					2130772113,
+					2130772114,
+					2130772115,
+					2130772116,
+					2130772117,
+					2130772118,
+					2130772119,
+					2130772120,
+					2130772121,
+					2130772122,
+					2130772123,
+					2130772124,
+					2130772125,
+					2130772126,
+					2130772127,
+					2130772128,
+					2130772129,
+					2130772130,
+					2130772131,
+					2130772132,
+					2130772133,
+					2130772134,
+					2130772135,
+					2130772136};
+			
+			// aapt resource value: 23
+			public const int AppCompatTheme_actionBarDivider = 23;
+			
+			// aapt resource value: 24
+			public const int AppCompatTheme_actionBarItemBackground = 24;
+			
+			// aapt resource value: 17
+			public const int AppCompatTheme_actionBarPopupTheme = 17;
+			
+			// aapt resource value: 22
+			public const int AppCompatTheme_actionBarSize = 22;
+			
+			// aapt resource value: 19
+			public const int AppCompatTheme_actionBarSplitStyle = 19;
+			
+			// aapt resource value: 18
+			public const int AppCompatTheme_actionBarStyle = 18;
+			
+			// aapt resource value: 13
+			public const int AppCompatTheme_actionBarTabBarStyle = 13;
+			
+			// aapt resource value: 12
+			public const int AppCompatTheme_actionBarTabStyle = 12;
+			
+			// aapt resource value: 14
+			public const int AppCompatTheme_actionBarTabTextStyle = 14;
+			
+			// aapt resource value: 20
+			public const int AppCompatTheme_actionBarTheme = 20;
+			
+			// aapt resource value: 21
+			public const int AppCompatTheme_actionBarWidgetTheme = 21;
+			
+			// aapt resource value: 50
+			public const int AppCompatTheme_actionButtonStyle = 50;
+			
+			// aapt resource value: 46
+			public const int AppCompatTheme_actionDropDownStyle = 46;
+			
+			// aapt resource value: 25
+			public const int AppCompatTheme_actionMenuTextAppearance = 25;
+			
+			// aapt resource value: 26
+			public const int AppCompatTheme_actionMenuTextColor = 26;
+			
+			// aapt resource value: 29
+			public const int AppCompatTheme_actionModeBackground = 29;
+			
+			// aapt resource value: 28
+			public const int AppCompatTheme_actionModeCloseButtonStyle = 28;
+			
+			// aapt resource value: 31
+			public const int AppCompatTheme_actionModeCloseDrawable = 31;
+			
+			// aapt resource value: 33
+			public const int AppCompatTheme_actionModeCopyDrawable = 33;
+			
+			// aapt resource value: 32
+			public const int AppCompatTheme_actionModeCutDrawable = 32;
+			
+			// aapt resource value: 37
+			public const int AppCompatTheme_actionModeFindDrawable = 37;
+			
+			// aapt resource value: 34
+			public const int AppCompatTheme_actionModePasteDrawable = 34;
+			
+			// aapt resource value: 39
+			public const int AppCompatTheme_actionModePopupWindowStyle = 39;
+			
+			// aapt resource value: 35
+			public const int AppCompatTheme_actionModeSelectAllDrawable = 35;
+			
+			// aapt resource value: 36
+			public const int AppCompatTheme_actionModeShareDrawable = 36;
+			
+			// aapt resource value: 30
+			public const int AppCompatTheme_actionModeSplitBackground = 30;
+			
+			// aapt resource value: 27
+			public const int AppCompatTheme_actionModeStyle = 27;
+			
+			// aapt resource value: 38
+			public const int AppCompatTheme_actionModeWebSearchDrawable = 38;
+			
+			// aapt resource value: 15
+			public const int AppCompatTheme_actionOverflowButtonStyle = 15;
+			
+			// aapt resource value: 16
+			public const int AppCompatTheme_actionOverflowMenuStyle = 16;
+			
+			// aapt resource value: 58
+			public const int AppCompatTheme_activityChooserViewStyle = 58;
+			
+			// aapt resource value: 95
+			public const int AppCompatTheme_alertDialogButtonGroupStyle = 95;
+			
+			// aapt resource value: 96
+			public const int AppCompatTheme_alertDialogCenterButtons = 96;
+			
+			// aapt resource value: 94
+			public const int AppCompatTheme_alertDialogStyle = 94;
+			
+			// aapt resource value: 97
+			public const int AppCompatTheme_alertDialogTheme = 97;
+			
+			// aapt resource value: 1
+			public const int AppCompatTheme_android_windowAnimationStyle = 1;
+			
+			// aapt resource value: 0
+			public const int AppCompatTheme_android_windowIsFloating = 0;
+			
+			// aapt resource value: 102
+			public const int AppCompatTheme_autoCompleteTextViewStyle = 102;
+			
+			// aapt resource value: 55
+			public const int AppCompatTheme_borderlessButtonStyle = 55;
+			
+			// aapt resource value: 52
+			public const int AppCompatTheme_buttonBarButtonStyle = 52;
+			
+			// aapt resource value: 100
+			public const int AppCompatTheme_buttonBarNegativeButtonStyle = 100;
+			
+			// aapt resource value: 101
+			public const int AppCompatTheme_buttonBarNeutralButtonStyle = 101;
+			
+			// aapt resource value: 99
+			public const int AppCompatTheme_buttonBarPositiveButtonStyle = 99;
+			
+			// aapt resource value: 51
+			public const int AppCompatTheme_buttonBarStyle = 51;
+			
+			// aapt resource value: 103
+			public const int AppCompatTheme_buttonStyle = 103;
+			
+			// aapt resource value: 104
+			public const int AppCompatTheme_buttonStyleSmall = 104;
+			
+			// aapt resource value: 105
+			public const int AppCompatTheme_checkboxStyle = 105;
+			
+			// aapt resource value: 106
+			public const int AppCompatTheme_checkedTextViewStyle = 106;
+			
+			// aapt resource value: 86
+			public const int AppCompatTheme_colorAccent = 86;
+			
+			// aapt resource value: 93
+			public const int AppCompatTheme_colorBackgroundFloating = 93;
+			
+			// aapt resource value: 90
+			public const int AppCompatTheme_colorButtonNormal = 90;
+			
+			// aapt resource value: 88
+			public const int AppCompatTheme_colorControlActivated = 88;
+			
+			// aapt resource value: 89
+			public const int AppCompatTheme_colorControlHighlight = 89;
+			
+			// aapt resource value: 87
+			public const int AppCompatTheme_colorControlNormal = 87;
+			
+			// aapt resource value: 118
+			public const int AppCompatTheme_colorError = 118;
+			
+			// aapt resource value: 84
+			public const int AppCompatTheme_colorPrimary = 84;
+			
+			// aapt resource value: 85
+			public const int AppCompatTheme_colorPrimaryDark = 85;
+			
+			// aapt resource value: 91
+			public const int AppCompatTheme_colorSwitchThumbNormal = 91;
+			
+			// aapt resource value: 92
+			public const int AppCompatTheme_controlBackground = 92;
+			
+			// aapt resource value: 44
+			public const int AppCompatTheme_dialogPreferredPadding = 44;
+			
+			// aapt resource value: 43
+			public const int AppCompatTheme_dialogTheme = 43;
+			
+			// aapt resource value: 57
+			public const int AppCompatTheme_dividerHorizontal = 57;
+			
+			// aapt resource value: 56
+			public const int AppCompatTheme_dividerVertical = 56;
+			
+			// aapt resource value: 75
+			public const int AppCompatTheme_dropDownListViewStyle = 75;
+			
+			// aapt resource value: 47
+			public const int AppCompatTheme_dropdownListPreferredItemHeight = 47;
+			
+			// aapt resource value: 64
+			public const int AppCompatTheme_editTextBackground = 64;
+			
+			// aapt resource value: 63
+			public const int AppCompatTheme_editTextColor = 63;
+			
+			// aapt resource value: 107
+			public const int AppCompatTheme_editTextStyle = 107;
+			
+			// aapt resource value: 49
+			public const int AppCompatTheme_homeAsUpIndicator = 49;
+			
+			// aapt resource value: 65
+			public const int AppCompatTheme_imageButtonStyle = 65;
+			
+			// aapt resource value: 83
+			public const int AppCompatTheme_listChoiceBackgroundIndicator = 83;
+			
+			// aapt resource value: 45
+			public const int AppCompatTheme_listDividerAlertDialog = 45;
+			
+			// aapt resource value: 115
+			public const int AppCompatTheme_listMenuViewStyle = 115;
+			
+			// aapt resource value: 76
+			public const int AppCompatTheme_listPopupWindowStyle = 76;
+			
+			// aapt resource value: 70
+			public const int AppCompatTheme_listPreferredItemHeight = 70;
+			
+			// aapt resource value: 72
+			public const int AppCompatTheme_listPreferredItemHeightLarge = 72;
+			
+			// aapt resource value: 71
+			public const int AppCompatTheme_listPreferredItemHeightSmall = 71;
+			
+			// aapt resource value: 73
+			public const int AppCompatTheme_listPreferredItemPaddingLeft = 73;
+			
+			// aapt resource value: 74
+			public const int AppCompatTheme_listPreferredItemPaddingRight = 74;
+			
+			// aapt resource value: 80
+			public const int AppCompatTheme_panelBackground = 80;
+			
+			// aapt resource value: 82
+			public const int AppCompatTheme_panelMenuListTheme = 82;
+			
+			// aapt resource value: 81
+			public const int AppCompatTheme_panelMenuListWidth = 81;
+			
+			// aapt resource value: 61
+			public const int AppCompatTheme_popupMenuStyle = 61;
+			
+			// aapt resource value: 62
+			public const int AppCompatTheme_popupWindowStyle = 62;
+			
+			// aapt resource value: 108
+			public const int AppCompatTheme_radioButtonStyle = 108;
+			
+			// aapt resource value: 109
+			public const int AppCompatTheme_ratingBarStyle = 109;
+			
+			// aapt resource value: 110
+			public const int AppCompatTheme_ratingBarStyleIndicator = 110;
+			
+			// aapt resource value: 111
+			public const int AppCompatTheme_ratingBarStyleSmall = 111;
+			
+			// aapt resource value: 69
+			public const int AppCompatTheme_searchViewStyle = 69;
+			
+			// aapt resource value: 112
+			public const int AppCompatTheme_seekBarStyle = 112;
+			
+			// aapt resource value: 53
+			public const int AppCompatTheme_selectableItemBackground = 53;
+			
+			// aapt resource value: 54
+			public const int AppCompatTheme_selectableItemBackgroundBorderless = 54;
+			
+			// aapt resource value: 48
+			public const int AppCompatTheme_spinnerDropDownItemStyle = 48;
+			
+			// aapt resource value: 113
+			public const int AppCompatTheme_spinnerStyle = 113;
+			
+			// aapt resource value: 114
+			public const int AppCompatTheme_switchStyle = 114;
+			
+			// aapt resource value: 40
+			public const int AppCompatTheme_textAppearanceLargePopupMenu = 40;
+			
+			// aapt resource value: 77
+			public const int AppCompatTheme_textAppearanceListItem = 77;
+			
+			// aapt resource value: 78
+			public const int AppCompatTheme_textAppearanceListItemSecondary = 78;
+			
+			// aapt resource value: 79
+			public const int AppCompatTheme_textAppearanceListItemSmall = 79;
+			
+			// aapt resource value: 42
+			public const int AppCompatTheme_textAppearancePopupMenuHeader = 42;
+			
+			// aapt resource value: 67
+			public const int AppCompatTheme_textAppearanceSearchResultSubtitle = 67;
+			
+			// aapt resource value: 66
+			public const int AppCompatTheme_textAppearanceSearchResultTitle = 66;
+			
+			// aapt resource value: 41
+			public const int AppCompatTheme_textAppearanceSmallPopupMenu = 41;
+			
+			// aapt resource value: 98
+			public const int AppCompatTheme_textColorAlertDialogListItem = 98;
+			
+			// aapt resource value: 68
+			public const int AppCompatTheme_textColorSearchUrl = 68;
+			
+			// aapt resource value: 60
+			public const int AppCompatTheme_toolbarNavigationButtonStyle = 60;
+			
+			// aapt resource value: 59
+			public const int AppCompatTheme_toolbarStyle = 59;
+			
+			// aapt resource value: 117
+			public const int AppCompatTheme_tooltipForegroundColor = 117;
+			
+			// aapt resource value: 116
+			public const int AppCompatTheme_tooltipFrameBackground = 116;
+			
+			// aapt resource value: 2
+			public const int AppCompatTheme_windowActionBar = 2;
+			
+			// aapt resource value: 4
+			public const int AppCompatTheme_windowActionBarOverlay = 4;
+			
+			// aapt resource value: 5
+			public const int AppCompatTheme_windowActionModeOverlay = 5;
+			
+			// aapt resource value: 9
+			public const int AppCompatTheme_windowFixedHeightMajor = 9;
+			
+			// aapt resource value: 7
+			public const int AppCompatTheme_windowFixedHeightMinor = 7;
+			
+			// aapt resource value: 6
+			public const int AppCompatTheme_windowFixedWidthMajor = 6;
+			
+			// aapt resource value: 8
+			public const int AppCompatTheme_windowFixedWidthMinor = 8;
+			
+			// aapt resource value: 10
+			public const int AppCompatTheme_windowMinWidthMajor = 10;
+			
+			// aapt resource value: 11
+			public const int AppCompatTheme_windowMinWidthMinor = 11;
+			
+			// aapt resource value: 3
+			public const int AppCompatTheme_windowNoTitle = 3;
+			
+			public static int[] ButtonBarLayout = new int[] {
+					2130772137};
+			
+			// aapt resource value: 0
+			public const int ButtonBarLayout_allowStacking = 0;
+			
+			public static int[] ColorStateListItem = new int[] {
+					16843173,
+					16843551,
+					2130772138};
+			
+			// aapt resource value: 2
+			public const int ColorStateListItem_alpha = 2;
+			
+			// aapt resource value: 1
+			public const int ColorStateListItem_android_alpha = 1;
+			
+			// aapt resource value: 0
+			public const int ColorStateListItem_android_color = 0;
+			
+			public static int[] CompoundButton = new int[] {
+					16843015,
+					2130772139,
+					2130772140};
+			
+			// aapt resource value: 0
+			public const int CompoundButton_android_button = 0;
+			
+			// aapt resource value: 1
+			public const int CompoundButton_buttonTint = 1;
+			
+			// aapt resource value: 2
+			public const int CompoundButton_buttonTintMode = 2;
+			
+			public static int[] DrawerArrowToggle = new int[] {
+					2130772141,
+					2130772142,
+					2130772143,
+					2130772144,
+					2130772145,
+					2130772146,
+					2130772147,
+					2130772148};
+			
+			// aapt resource value: 4
+			public const int DrawerArrowToggle_arrowHeadLength = 4;
+			
+			// aapt resource value: 5
+			public const int DrawerArrowToggle_arrowShaftLength = 5;
+			
+			// aapt resource value: 6
+			public const int DrawerArrowToggle_barLength = 6;
+			
+			// aapt resource value: 0
+			public const int DrawerArrowToggle_color = 0;
+			
+			// aapt resource value: 2
+			public const int DrawerArrowToggle_drawableSize = 2;
+			
+			// aapt resource value: 3
+			public const int DrawerArrowToggle_gapBetweenBars = 3;
+			
+			// aapt resource value: 1
+			public const int DrawerArrowToggle_spinBars = 1;
+			
+			// aapt resource value: 7
+			public const int DrawerArrowToggle_thickness = 7;
+			
+			public static int[] FontFamily = new int[] {
+					2130772214,
+					2130772215,
+					2130772216,
+					2130772217,
+					2130772218,
+					2130772219};
+			
+			// aapt resource value: 0
+			public const int FontFamily_fontProviderAuthority = 0;
+			
+			// aapt resource value: 3
+			public const int FontFamily_fontProviderCerts = 3;
+			
+			// aapt resource value: 4
+			public const int FontFamily_fontProviderFetchStrategy = 4;
+			
+			// aapt resource value: 5
+			public const int FontFamily_fontProviderFetchTimeout = 5;
+			
+			// aapt resource value: 1
+			public const int FontFamily_fontProviderPackage = 1;
+			
+			// aapt resource value: 2
+			public const int FontFamily_fontProviderQuery = 2;
+			
+			public static int[] FontFamilyFont = new int[] {
+					2130772220,
+					2130772221,
+					2130772222};
+			
+			// aapt resource value: 1
+			public const int FontFamilyFont_font = 1;
+			
+			// aapt resource value: 0
+			public const int FontFamilyFont_fontStyle = 0;
+			
+			// aapt resource value: 2
+			public const int FontFamilyFont_fontWeight = 2;
+			
+			public static int[] HDLArcSeekBar = new int[] {
+					2130772224,
+					2130772225,
+					2130772226,
+					2130772227,
+					2130772228,
+					2130772229,
+					2130772230,
+					2130772231,
+					2130772232,
+					2130772233,
+					2130772234,
+					2130772235,
+					2130772236,
+					2130772237,
+					2130772238,
+					2130772239,
+					2130772240,
+					2130772241};
+			
+			// aapt resource value: 5
+			public const int HDLArcSeekBar_arc_border_color = 5;
+			
+			// aapt resource value: 4
+			public const int HDLArcSeekBar_arc_border_width = 4;
+			
+			// aapt resource value: 3
+			public const int HDLArcSeekBar_arc_colors = 3;
+			
+			// aapt resource value: 6
+			public const int HDLArcSeekBar_arc_max = 6;
+			
+			// aapt resource value: 7
+			public const int HDLArcSeekBar_arc_min = 7;
+			
+			// aapt resource value: 1
+			public const int HDLArcSeekBar_arc_open_angle = 1;
+			
+			// aapt resource value: 8
+			public const int HDLArcSeekBar_arc_progress = 8;
+			
+			// aapt resource value: 16
+			public const int HDLArcSeekBar_arc_progress_bar_color = 16;
+			
+			// aapt resource value: 17
+			public const int HDLArcSeekBar_arc_progress_bar_text_unit = 17;
+			
+			// aapt resource value: 2
+			public const int HDLArcSeekBar_arc_rotate_angle = 2;
+			
+			// aapt resource value: 15
+			public const int HDLArcSeekBar_arc_shadow_radius = 15;
+			
+			// aapt resource value: 10
+			public const int HDLArcSeekBar_arc_thumb_color = 10;
+			
+			// aapt resource value: 11
+			public const int HDLArcSeekBar_arc_thumb_radius = 11;
+			
+			// aapt resource value: 13
+			public const int HDLArcSeekBar_arc_thumb_shadow_color = 13;
+			
+			// aapt resource value: 12
+			public const int HDLArcSeekBar_arc_thumb_shadow_radius = 12;
+			
+			// aapt resource value: 9
+			public const int HDLArcSeekBar_arc_thumb_width = 9;
+			
+			// aapt resource value: 0
+			public const int HDLArcSeekBar_arc_width = 0;
+			
+			// aapt resource value: 14
+			public const int HDLArcSeekBar_hdl_arc_thumb_mode = 14;
+			
+			public static int[] HDLCurtainSeekBar = new int[] {
+					2130772242,
+					2130772243,
+					2130772244,
+					2130772245,
+					2130772246,
+					2130772247};
+			
+			// aapt resource value: 2
+			public const int HDLCurtainSeekBar_curtain_bar_bg_color = 2;
+			
+			// aapt resource value: 3
+			public const int HDLCurtainSeekBar_curtain_bar_border_color = 3;
+			
+			// aapt resource value: 0
+			public const int HDLCurtainSeekBar_curtain_bar_color = 0;
+			
+			// aapt resource value: 5
+			public const int HDLCurtainSeekBar_curtain_bar_height = 5;
+			
+			// aapt resource value: 4
+			public const int HDLCurtainSeekBar_curtain_bar_width = 4;
+			
+			// aapt resource value: 1
+			public const int HDLCurtainSeekBar_second_curtain_bar_color = 1;
+			
+			public static int[] HDLWaveSeekBar = new int[] {
+					2130772248,
+					2130772249,
+					2130772250,
+					2130772251,
+					2130772252,
+					2130772253};
+			
+			// aapt resource value: 1
+			public const int HDLWaveSeekBar_second_wave_color = 1;
+			
+			// aapt resource value: 2
+			public const int HDLWaveSeekBar_wave_bg_color = 2;
+			
+			// aapt resource value: 3
+			public const int HDLWaveSeekBar_wave_border_color = 3;
+			
+			// aapt resource value: 0
+			public const int HDLWaveSeekBar_wave_color = 0;
+			
+			// aapt resource value: 5
+			public const int HDLWaveSeekBar_wave_height = 5;
+			
+			// aapt resource value: 4
+			public const int HDLWaveSeekBar_wave_width = 4;
+			
+			public static int[] LinearLayoutCompat = new int[] {
+					16842927,
+					16842948,
+					16843046,
+					16843047,
+					16843048,
+					2130771979,
+					2130772149,
+					2130772150,
+					2130772151};
+			
+			// aapt resource value: 2
+			public const int LinearLayoutCompat_android_baselineAligned = 2;
+			
+			// aapt resource value: 3
+			public const int LinearLayoutCompat_android_baselineAlignedChildIndex = 3;
+			
+			// aapt resource value: 0
+			public const int LinearLayoutCompat_android_gravity = 0;
+			
+			// aapt resource value: 1
+			public const int LinearLayoutCompat_android_orientation = 1;
+			
+			// aapt resource value: 4
+			public const int LinearLayoutCompat_android_weightSum = 4;
+			
+			// aapt resource value: 5
+			public const int LinearLayoutCompat_divider = 5;
+			
+			// aapt resource value: 8
+			public const int LinearLayoutCompat_dividerPadding = 8;
+			
+			// aapt resource value: 6
+			public const int LinearLayoutCompat_measureWithLargestChild = 6;
+			
+			// aapt resource value: 7
+			public const int LinearLayoutCompat_showDividers = 7;
+			
+			public static int[] LinearLayoutCompat_Layout = new int[] {
+					16842931,
+					16842996,
+					16842997,
+					16843137};
+			
+			// aapt resource value: 0
+			public const int LinearLayoutCompat_Layout_android_layout_gravity = 0;
+			
+			// aapt resource value: 2
+			public const int LinearLayoutCompat_Layout_android_layout_height = 2;
+			
+			// aapt resource value: 3
+			public const int LinearLayoutCompat_Layout_android_layout_weight = 3;
+			
+			// aapt resource value: 1
+			public const int LinearLayoutCompat_Layout_android_layout_width = 1;
+			
+			public static int[] ListPopupWindow = new int[] {
+					16843436,
+					16843437};
+			
+			// aapt resource value: 0
+			public const int ListPopupWindow_android_dropDownHorizontalOffset = 0;
+			
+			// aapt resource value: 1
+			public const int ListPopupWindow_android_dropDownVerticalOffset = 1;
+			
+			public static int[] MenuGroup = new int[] {
+					16842766,
+					16842960,
+					16843156,
+					16843230,
+					16843231,
+					16843232};
+			
+			// aapt resource value: 5
+			public const int MenuGroup_android_checkableBehavior = 5;
+			
+			// aapt resource value: 0
+			public const int MenuGroup_android_enabled = 0;
+			
+			// aapt resource value: 1
+			public const int MenuGroup_android_id = 1;
+			
+			// aapt resource value: 3
+			public const int MenuGroup_android_menuCategory = 3;
+			
+			// aapt resource value: 4
+			public const int MenuGroup_android_orderInCategory = 4;
+			
+			// aapt resource value: 2
+			public const int MenuGroup_android_visible = 2;
+			
+			public static int[] MenuItem = new int[] {
+					16842754,
+					16842766,
+					16842960,
+					16843014,
+					16843156,
+					16843230,
+					16843231,
+					16843233,
+					16843234,
+					16843235,
+					16843236,
+					16843237,
+					16843375,
+					2130772152,
+					2130772153,
+					2130772154,
+					2130772155,
+					2130772156,
+					2130772157,
+					2130772158,
+					2130772159,
+					2130772160,
+					2130772161};
+			
+			// aapt resource value: 16
+			public const int MenuItem_actionLayout = 16;
+			
+			// aapt resource value: 18
+			public const int MenuItem_actionProviderClass = 18;
+			
+			// aapt resource value: 17
+			public const int MenuItem_actionViewClass = 17;
+			
+			// aapt resource value: 13
+			public const int MenuItem_alphabeticModifiers = 13;
+			
+			// aapt resource value: 9
+			public const int MenuItem_android_alphabeticShortcut = 9;
+			
+			// aapt resource value: 11
+			public const int MenuItem_android_checkable = 11;
+			
+			// aapt resource value: 3
+			public const int MenuItem_android_checked = 3;
+			
+			// aapt resource value: 1
+			public const int MenuItem_android_enabled = 1;
+			
+			// aapt resource value: 0
+			public const int MenuItem_android_icon = 0;
+			
+			// aapt resource value: 2
+			public const int MenuItem_android_id = 2;
+			
+			// aapt resource value: 5
+			public const int MenuItem_android_menuCategory = 5;
+			
+			// aapt resource value: 10
+			public const int MenuItem_android_numericShortcut = 10;
+			
+			// aapt resource value: 12
+			public const int MenuItem_android_onClick = 12;
+			
+			// aapt resource value: 6
+			public const int MenuItem_android_orderInCategory = 6;
+			
+			// aapt resource value: 7
+			public const int MenuItem_android_title = 7;
+			
+			// aapt resource value: 8
+			public const int MenuItem_android_titleCondensed = 8;
+			
+			// aapt resource value: 4
+			public const int MenuItem_android_visible = 4;
+			
+			// aapt resource value: 19
+			public const int MenuItem_contentDescription = 19;
+			
+			// aapt resource value: 21
+			public const int MenuItem_iconTint = 21;
+			
+			// aapt resource value: 22
+			public const int MenuItem_iconTintMode = 22;
+			
+			// aapt resource value: 14
+			public const int MenuItem_numericModifiers = 14;
+			
+			// aapt resource value: 15
+			public const int MenuItem_showAsAction = 15;
+			
+			// aapt resource value: 20
+			public const int MenuItem_tooltipText = 20;
+			
+			public static int[] MenuView = new int[] {
+					16842926,
+					16843052,
+					16843053,
+					16843054,
+					16843055,
+					16843056,
+					16843057,
+					2130772162,
+					2130772163};
+			
+			// aapt resource value: 4
+			public const int MenuView_android_headerBackground = 4;
+			
+			// aapt resource value: 2
+			public const int MenuView_android_horizontalDivider = 2;
+			
+			// aapt resource value: 5
+			public const int MenuView_android_itemBackground = 5;
+			
+			// aapt resource value: 6
+			public const int MenuView_android_itemIconDisabledAlpha = 6;
+			
+			// aapt resource value: 1
+			public const int MenuView_android_itemTextAppearance = 1;
+			
+			// aapt resource value: 3
+			public const int MenuView_android_verticalDivider = 3;
+			
+			// aapt resource value: 0
+			public const int MenuView_android_windowAnimationStyle = 0;
+			
+			// aapt resource value: 7
+			public const int MenuView_preserveIconSpacing = 7;
+			
+			// aapt resource value: 8
+			public const int MenuView_subMenuArrow = 8;
+			
+			public static int[] PopupWindow = new int[] {
+					16843126,
+					16843465,
+					2130772164};
+			
+			// aapt resource value: 1
+			public const int PopupWindow_android_popupAnimationStyle = 1;
+			
+			// aapt resource value: 0
+			public const int PopupWindow_android_popupBackground = 0;
+			
+			// aapt resource value: 2
+			public const int PopupWindow_overlapAnchor = 2;
+			
+			public static int[] PopupWindowBackgroundState = new int[] {
+					2130772165};
+			
+			// aapt resource value: 0
+			public const int PopupWindowBackgroundState_state_above_anchor = 0;
+			
+			public static int[] RecycleListView = new int[] {
+					2130772166,
+					2130772167};
+			
+			// aapt resource value: 0
+			public const int RecycleListView_paddingBottomNoButtons = 0;
+			
+			// aapt resource value: 1
+			public const int RecycleListView_paddingTopNoTitle = 1;
+			
+			public static int[] SearchView = new int[] {
+					16842970,
+					16843039,
+					16843296,
+					16843364,
+					2130772168,
+					2130772169,
+					2130772170,
+					2130772171,
+					2130772172,
+					2130772173,
+					2130772174,
+					2130772175,
+					2130772176,
+					2130772177,
+					2130772178,
+					2130772179,
+					2130772180};
+			
+			// aapt resource value: 0
+			public const int SearchView_android_focusable = 0;
+			
+			// aapt resource value: 3
+			public const int SearchView_android_imeOptions = 3;
+			
+			// aapt resource value: 2
+			public const int SearchView_android_inputType = 2;
+			
+			// aapt resource value: 1
+			public const int SearchView_android_maxWidth = 1;
+			
+			// aapt resource value: 8
+			public const int SearchView_closeIcon = 8;
+			
+			// aapt resource value: 13
+			public const int SearchView_commitIcon = 13;
+			
+			// aapt resource value: 7
+			public const int SearchView_defaultQueryHint = 7;
+			
+			// aapt resource value: 9
+			public const int SearchView_goIcon = 9;
+			
+			// aapt resource value: 5
+			public const int SearchView_iconifiedByDefault = 5;
+			
+			// aapt resource value: 4
+			public const int SearchView_layout = 4;
+			
+			// aapt resource value: 15
+			public const int SearchView_queryBackground = 15;
+			
+			// aapt resource value: 6
+			public const int SearchView_queryHint = 6;
+			
+			// aapt resource value: 11
+			public const int SearchView_searchHintIcon = 11;
+			
+			// aapt resource value: 10
+			public const int SearchView_searchIcon = 10;
+			
+			// aapt resource value: 16
+			public const int SearchView_submitBackground = 16;
+			
+			// aapt resource value: 14
+			public const int SearchView_suggestionRowLayout = 14;
+			
+			// aapt resource value: 12
+			public const int SearchView_voiceIcon = 12;
+			
+			public static int[] Spinner = new int[] {
+					16842930,
+					16843126,
+					16843131,
+					16843362,
+					2130771997};
+			
+			// aapt resource value: 3
+			public const int Spinner_android_dropDownWidth = 3;
+			
+			// aapt resource value: 0
+			public const int Spinner_android_entries = 0;
+			
+			// aapt resource value: 1
+			public const int Spinner_android_popupBackground = 1;
+			
+			// aapt resource value: 2
+			public const int Spinner_android_prompt = 2;
+			
+			// aapt resource value: 4
+			public const int Spinner_popupTheme = 4;
+			
+			public static int[] SwitchCompat = new int[] {
+					16843044,
+					16843045,
+					16843074,
+					2130772181,
+					2130772182,
+					2130772183,
+					2130772184,
+					2130772185,
+					2130772186,
+					2130772187,
+					2130772188,
+					2130772189,
+					2130772190,
+					2130772191};
+			
+			// aapt resource value: 1
+			public const int SwitchCompat_android_textOff = 1;
+			
+			// aapt resource value: 0
+			public const int SwitchCompat_android_textOn = 0;
+			
+			// aapt resource value: 2
+			public const int SwitchCompat_android_thumb = 2;
+			
+			// aapt resource value: 13
+			public const int SwitchCompat_showText = 13;
+			
+			// aapt resource value: 12
+			public const int SwitchCompat_splitTrack = 12;
+			
+			// aapt resource value: 10
+			public const int SwitchCompat_switchMinWidth = 10;
+			
+			// aapt resource value: 11
+			public const int SwitchCompat_switchPadding = 11;
+			
+			// aapt resource value: 9
+			public const int SwitchCompat_switchTextAppearance = 9;
+			
+			// aapt resource value: 8
+			public const int SwitchCompat_thumbTextPadding = 8;
+			
+			// aapt resource value: 3
+			public const int SwitchCompat_thumbTint = 3;
+			
+			// aapt resource value: 4
+			public const int SwitchCompat_thumbTintMode = 4;
+			
+			// aapt resource value: 5
+			public const int SwitchCompat_track = 5;
+			
+			// aapt resource value: 6
+			public const int SwitchCompat_trackTint = 6;
+			
+			// aapt resource value: 7
+			public const int SwitchCompat_trackTintMode = 7;
+			
+			public static int[] TextAppearance = new int[] {
+					16842901,
+					16842902,
+					16842903,
+					16842904,
+					16842906,
+					16842907,
+					16843105,
+					16843106,
+					16843107,
+					16843108,
+					16843692,
+					2130772013,
+					2130772019};
+			
+			// aapt resource value: 10
+			public const int TextAppearance_android_fontFamily = 10;
+			
+			// aapt resource value: 6
+			public const int TextAppearance_android_shadowColor = 6;
+			
+			// aapt resource value: 7
+			public const int TextAppearance_android_shadowDx = 7;
+			
+			// aapt resource value: 8
+			public const int TextAppearance_android_shadowDy = 8;
+			
+			// aapt resource value: 9
+			public const int TextAppearance_android_shadowRadius = 9;
+			
+			// aapt resource value: 3
+			public const int TextAppearance_android_textColor = 3;
+			
+			// aapt resource value: 4
+			public const int TextAppearance_android_textColorHint = 4;
+			
+			// aapt resource value: 5
+			public const int TextAppearance_android_textColorLink = 5;
+			
+			// aapt resource value: 0
+			public const int TextAppearance_android_textSize = 0;
+			
+			// aapt resource value: 2
+			public const int TextAppearance_android_textStyle = 2;
+			
+			// aapt resource value: 1
+			public const int TextAppearance_android_typeface = 1;
+			
+			// aapt resource value: 12
+			public const int TextAppearance_fontFamily = 12;
+			
+			// aapt resource value: 11
+			public const int TextAppearance_textAllCaps = 11;
+			
+			public static int[] Toolbar = new int[] {
+					16842927,
+					16843072,
+					2130771971,
+					2130771974,
+					2130771978,
+					2130771990,
+					2130771991,
+					2130771992,
+					2130771993,
+					2130771994,
+					2130771995,
+					2130771997,
+					2130772192,
+					2130772193,
+					2130772194,
+					2130772195,
+					2130772196,
+					2130772197,
+					2130772198,
+					2130772199,
+					2130772200,
+					2130772201,
+					2130772202,
+					2130772203,
+					2130772204,
+					2130772205,
+					2130772206,
+					2130772207,
+					2130772208};
+			
+			// aapt resource value: 0
+			public const int Toolbar_android_gravity = 0;
+			
+			// aapt resource value: 1
+			public const int Toolbar_android_minHeight = 1;
+			
+			// aapt resource value: 21
+			public const int Toolbar_buttonGravity = 21;
+			
+			// aapt resource value: 23
+			public const int Toolbar_collapseContentDescription = 23;
+			
+			// aapt resource value: 22
+			public const int Toolbar_collapseIcon = 22;
+			
+			// aapt resource value: 6
+			public const int Toolbar_contentInsetEnd = 6;
+			
+			// aapt resource value: 10
+			public const int Toolbar_contentInsetEndWithActions = 10;
+			
+			// aapt resource value: 7
+			public const int Toolbar_contentInsetLeft = 7;
+			
+			// aapt resource value: 8
+			public const int Toolbar_contentInsetRight = 8;
+			
+			// aapt resource value: 5
+			public const int Toolbar_contentInsetStart = 5;
+			
+			// aapt resource value: 9
+			public const int Toolbar_contentInsetStartWithNavigation = 9;
+			
+			// aapt resource value: 4
+			public const int Toolbar_logo = 4;
+			
+			// aapt resource value: 26
+			public const int Toolbar_logoDescription = 26;
+			
+			// aapt resource value: 20
+			public const int Toolbar_maxButtonHeight = 20;
+			
+			// aapt resource value: 25
+			public const int Toolbar_navigationContentDescription = 25;
+			
+			// aapt resource value: 24
+			public const int Toolbar_navigationIcon = 24;
+			
+			// aapt resource value: 11
+			public const int Toolbar_popupTheme = 11;
+			
+			// aapt resource value: 3
+			public const int Toolbar_subtitle = 3;
+			
+			// aapt resource value: 13
+			public const int Toolbar_subtitleTextAppearance = 13;
+			
+			// aapt resource value: 28
+			public const int Toolbar_subtitleTextColor = 28;
+			
+			// aapt resource value: 2
+			public const int Toolbar_title = 2;
+			
+			// aapt resource value: 14
+			public const int Toolbar_titleMargin = 14;
+			
+			// aapt resource value: 18
+			public const int Toolbar_titleMarginBottom = 18;
+			
+			// aapt resource value: 16
+			public const int Toolbar_titleMarginEnd = 16;
+			
+			// aapt resource value: 15
+			public const int Toolbar_titleMarginStart = 15;
+			
+			// aapt resource value: 17
+			public const int Toolbar_titleMarginTop = 17;
+			
+			// aapt resource value: 19
+			public const int Toolbar_titleMargins = 19;
+			
+			// aapt resource value: 12
+			public const int Toolbar_titleTextAppearance = 12;
+			
+			// aapt resource value: 27
+			public const int Toolbar_titleTextColor = 27;
+			
+			public static int[] View = new int[] {
+					16842752,
+					16842970,
+					2130772209,
+					2130772210,
+					2130772211};
+			
+			// aapt resource value: 1
+			public const int View_android_focusable = 1;
+			
+			// aapt resource value: 0
+			public const int View_android_theme = 0;
+			
+			// aapt resource value: 3
+			public const int View_paddingEnd = 3;
+			
+			// aapt resource value: 2
+			public const int View_paddingStart = 2;
+			
+			// aapt resource value: 4
+			public const int View_theme = 4;
+			
+			public static int[] ViewBackgroundHelper = new int[] {
+					16842964,
+					2130772212,
+					2130772213};
+			
+			// aapt resource value: 0
+			public const int ViewBackgroundHelper_android_background = 0;
+			
+			// aapt resource value: 1
+			public const int ViewBackgroundHelper_backgroundTint = 1;
+			
+			// aapt resource value: 2
+			public const int ViewBackgroundHelper_backgroundTintMode = 2;
+			
+			public static int[] ViewStubCompat = new int[] {
+					16842960,
+					16842994,
+					16842995};
+			
+			// aapt resource value: 0
+			public const int ViewStubCompat_android_id = 0;
+			
+			// aapt resource value: 2
+			public const int ViewStubCompat_android_inflatedId = 2;
+			
+			// aapt resource value: 1
+			public const int ViewStubCompat_android_layout = 1;
+			
+			public static int[] pickerview = new int[] {
+					2130772254,
+					2130772255,
+					2130772256,
+					2130772257,
+					2130772258,
+					2130772259};
+			
+			// aapt resource value: 4
+			public const int pickerview_wheelview_dividerColor = 4;
+			
+			// aapt resource value: 0
+			public const int pickerview_wheelview_gravity = 0;
+			
+			// aapt resource value: 5
+			public const int pickerview_wheelview_lineSpacingMultiplier = 5;
+			
+			// aapt resource value: 3
+			public const int pickerview_wheelview_textColorCenter = 3;
+			
+			// aapt resource value: 2
+			public const int pickerview_wheelview_textColorOut = 2;
+			
+			// aapt resource value: 1
+			public const int pickerview_wheelview_textSize = 1;
+			
+			static Styleable()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Styleable()
+			{
+			}
+		}
+	}
+}
+#pragma warning restore 1591
diff --git a/ZigbeeApp/GateWay.Droid/packages.config b/ZigbeeApp/GateWay.Droid/packages.config
index c0b7b93..5a9457a 100755
--- a/ZigbeeApp/GateWay.Droid/packages.config
+++ b/ZigbeeApp/GateWay.Droid/packages.config
@@ -1,54 +1,63 @@
-锘�<?xml version="1.0" encoding="utf-8"?>
-<packages>
-  <package id="BouncyCastle.Crypto.dll" version="1.8.1" targetFramework="monoandroid60" />
-  <package id="Microsoft.AppCenter" version="1.14.0" targetFramework="monoandroid60" />
-  <package id="Microsoft.AppCenter.Analytics" version="1.14.0" targetFramework="monoandroid60" />
-  <package id="Microsoft.AppCenter.Crashes" version="1.14.0" targetFramework="monoandroid60" />
-  <package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="monoandroid60" />
-  <package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="MQTTnet" version="2.4.0" targetFramework="monoandroid60" />
-  <package id="NETStandard.Library" version="1.6.1" targetFramework="monoandroid60" />
-  <package id="System.AppContext" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Collections" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Collections.Concurrent" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Console" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Globalization" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Globalization.Calendars" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.IO" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.IO.Compression" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.IO.Compression.ZipFile" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.IO.FileSystem" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Linq" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Linq.Expressions" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Net.Http" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Net.Primitives" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Net.Security" version="4.3.2" targetFramework="monoandroid60" />
-  <package id="System.Net.Sockets" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.ObjectModel" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Reflection" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Reflection.Extensions" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Reflection.Primitives" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Runtime" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Runtime.Extensions" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Runtime.Handles" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Runtime.Numerics" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Text.Encoding" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Threading" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Threading.Tasks" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Threading.Timer" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="monoandroid60" />
-  <package id="System.Xml.XDocument" version="4.3.0" targetFramework="monoandroid60" />
-  </packages>
\ No newline at end of file
+锘�<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="BouncyCastle.Crypto.dll" version="1.8.1" targetFramework="monoandroid60" />
+  <package id="FastAndroidCamera" version="2.0.0" targetFramework="monoandroid80" />
+  <package id="Microsoft.AppCenter" version="1.14.0" targetFramework="monoandroid60" />
+  <package id="Microsoft.AppCenter.Analytics" version="1.14.0" targetFramework="monoandroid60" />
+  <package id="Microsoft.AppCenter.Crashes" version="1.14.0" targetFramework="monoandroid60" />
+  <package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="monoandroid60" />
+  <package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="MQTTnet" version="2.4.0" targetFramework="monoandroid60" />
+  <package id="NETStandard.Library" version="1.6.1" targetFramework="monoandroid60" />
+  <package id="System.AppContext" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Collections" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Collections.Concurrent" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Console" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Globalization" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Globalization.Calendars" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.IO" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.IO.Compression" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.IO.Compression.ZipFile" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.IO.FileSystem" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Linq" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Linq.Expressions" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Net.Http" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Net.Primitives" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Net.Security" version="4.3.2" targetFramework="monoandroid60" />
+  <package id="System.Net.Sockets" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.ObjectModel" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Reflection" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Reflection.Extensions" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Reflection.Primitives" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Runtime" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Runtime.Extensions" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Runtime.Handles" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Runtime.Numerics" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Text.Encoding" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Threading" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Threading.Tasks" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Threading.Timer" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="System.Xml.XDocument" version="4.3.0" targetFramework="monoandroid60" />
+  <package id="Xamarin.Android.Support.Annotations" version="25.4.0.1" targetFramework="monoandroid80" />
+  <package id="Xamarin.Android.Support.Compat" version="25.4.0.1" targetFramework="monoandroid80" />
+  <package id="Xamarin.Android.Support.Core.UI" version="25.4.0.1" targetFramework="monoandroid80" />
+  <package id="Xamarin.Android.Support.Core.Utils" version="25.4.0.1" targetFramework="monoandroid80" />
+  <package id="Xamarin.Android.Support.Fragment" version="25.4.0.1" targetFramework="monoandroid80" />
+  <package id="Xamarin.Android.Support.Media.Compat" version="25.4.0.1" targetFramework="monoandroid80" />
+  <package id="Xamarin.Android.Support.v4" version="25.4.0.1" targetFramework="monoandroid80" />
+  <package id="ZXing.Net.Mobile" version="2.4.1" targetFramework="monoandroid80" />
+</packages>
\ No newline at end of file
diff --git a/ZigbeeApp/GateWay.Ios/AppDelegate.cs b/ZigbeeApp/GateWay.Ios/AppDelegate.cs
index 71e2a0f..21a52c7 100755
--- a/ZigbeeApp/GateWay.Ios/AppDelegate.cs
+++ b/ZigbeeApp/GateWay.Ios/AppDelegate.cs
@@ -23,13 +23,15 @@
             set;
         }
 
+        internal static UINavigationController rootViewController;
+
         public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
         {
-            base.FinishedLaunching(application, launchOptions);
+            //base.FinishedLaunching(application, launchOptions);
             Shared.Application.FontSize = 12;
             Window = new UIWindow(UIScreen.MainScreen.Bounds);
-            var root = new UINavigationController(new MainViewController()) { NavigationBarHidden = true };
-            Window.RootViewController = root;
+            rootViewController = new UINavigationController(new MainViewController()) { NavigationBarHidden = true };
+            Window.RootViewController = rootViewController;
             Window.MakeKeyAndVisible();
 
             DeviceTokenAction += (deviceToken) =>
@@ -211,4 +213,49 @@
     }
 }
 
- 
+namespace Shared
+{
+    public static class QRCode
+    {
+        static ZXing.Mobile.MobileBarcodeScanner scanner;
+        public static async System.Threading.Tasks.Task ScanQRcode(Action<string> action, string topText = "", string bottomText = "", string cancel = "Cancel")
+        {
+            if (scanner == null)
+            {
+                scanner = new ZXing.Mobile.MobileBarcodeScanner(GateWay.Ios.AppDelegate.rootViewController) { FlashButtonText = "", TopText = topText, BottomText = bottomText, CancelButtonText = cancel };
+            }
+
+            var result = await scanner.Scan();
+
+            if (result != null)
+                action?.Invoke(result.Text);
+            else
+                action?.Invoke(null);
+        }
+
+        public static byte[] BytesFromText(string text, int width = 300, int height = 300)
+        {
+            var barcodeWriter = new ZXing.Mobile.BarcodeWriter
+            {
+                Format = ZXing.BarcodeFormat.QR_CODE,
+                Options = new ZXing.Common.EncodingOptions
+                {
+                    Width = width,
+                    Height = height,
+                    Margin = 10
+                }
+            };
+
+            barcodeWriter.Renderer = new ZXing.Mobile.BitmapRenderer();
+            var uiImage = barcodeWriter.Write(text);
+            var data = uiImage.AsJPEG();
+
+            var resultBytes = new byte[data.Length];
+            System.Runtime.InteropServices.Marshal.Copy(data.Bytes, resultBytes, 0, resultBytes.Length);
+
+            return resultBytes;
+        }
+    }
+}
+
+
diff --git a/ZigbeeApp/GateWay.Ios/Entitlements.plist b/ZigbeeApp/GateWay.Ios/Entitlements.plist
index 16c7443..aab2cd8 100755
--- a/ZigbeeApp/GateWay.Ios/Entitlements.plist
+++ b/ZigbeeApp/GateWay.Ios/Entitlements.plist
@@ -4,5 +4,9 @@
 <dict>
 	<key>aps-environment</key>
 	<string>development</string>
+	<key>com.apple.developer.associated-domains</key>
+	<array>
+		<string>applinks:https://hdlcontrol.com/</string>
+	</array>
 </dict>
 </plist>
diff --git a/ZigbeeApp/GateWay.Ios/GateWay.Ios.csproj b/ZigbeeApp/GateWay.Ios/GateWay.Ios.csproj
index 4352f86..85c0865 100644
--- a/ZigbeeApp/GateWay.Ios/GateWay.Ios.csproj
+++ b/ZigbeeApp/GateWay.Ios/GateWay.Ios.csproj
@@ -27,7 +27,8 @@
     <MtouchArch>x86_64</MtouchArch>
     <MtouchHttpClientHandler>HttpClientHandler</MtouchHttpClientHandler>
     <DeviceSpecificBuild>false</DeviceSpecificBuild>
-    <MtouchVerbosity></MtouchVerbosity>
+    <MtouchVerbosity>
+    </MtouchVerbosity>
     <CodesignProvision>VS: WildCard Development</CodesignProvision>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
@@ -42,7 +43,8 @@
     <MtouchLink>SdkOnly</MtouchLink>
     <MtouchArch>ARMv7, ARM64</MtouchArch>
     <MtouchHttpClientHandler>CFNetworkHandler</MtouchHttpClientHandler>
-    <MtouchVerbosity></MtouchVerbosity>
+    <MtouchVerbosity>
+    </MtouchVerbosity>
     <CodesignProvision>iOS Team Provisioning Profile: com.hdl.home</CodesignProvision>
     <MtouchI18n>cjk</MtouchI18n>
   </PropertyGroup>
@@ -57,7 +59,8 @@
     <MtouchLink>None</MtouchLink>
     <MtouchArch>x86_64</MtouchArch>
     <MtouchHttpClientHandler>HttpClientHandler</MtouchHttpClientHandler>
-    <MtouchVerbosity></MtouchVerbosity>
+    <MtouchVerbosity>
+    </MtouchVerbosity>
     <CodesignProvision>iOS Team Provisioning Profile: com.hdl.home</CodesignProvision>
     <CodesignEntitlements>Info.plist</CodesignEntitlements>
   </PropertyGroup>
@@ -78,10 +81,12 @@
     <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
     <IOSDebuggerPort>35116</IOSDebuggerPort>
     <MtouchLink>SdkOnly</MtouchLink>
-    <MtouchArch>ARMv7, ARM64</MtouchArch>
+    <MtouchArch>ARM64</MtouchArch>
     <MtouchHttpClientHandler>CFNetworkHandler</MtouchHttpClientHandler>
-    <MtouchVerbosity></MtouchVerbosity>
+    <MtouchVerbosity>
+    </MtouchVerbosity>
     <MtouchI18n>cjk</MtouchI18n>
+    <MtouchExtraArgs>-gcc_flags -dead_strip</MtouchExtraArgs>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System" />
@@ -93,9 +98,6 @@
     </Reference>
     <Reference Include="M2Mqtt.Net">
       <HintPath>..\Shared\DLL\M2Mqtt.Net.dll</HintPath>
-    </Reference>
-    <Reference Include="Elian.iOS">
-      <HintPath>..\Shared\DLL\Elian.iOS.dll</HintPath>
     </Reference>
     <Reference Include="System.IO.Compression" />
     <Reference Include="System.Net.Http" />
@@ -126,55 +128,158 @@
     <Reference Include="Microsoft.AppCenter.Crashes.iOS.Bindings">
       <HintPath>..\packages\Microsoft.AppCenter.Crashes.1.14.0\lib\Xamarin.iOS10\Microsoft.AppCenter.Crashes.iOS.Bindings.dll</HintPath>
     </Reference>
+    <Reference Include="ZXing.Net.Mobile.Core">
+      <HintPath>..\packages\ZXing.Net.Mobile.2.4.1\lib\Xamarin.iOS10\ZXing.Net.Mobile.Core.dll</HintPath>
+    </Reference>
+    <Reference Include="zxing.portable">
+      <HintPath>..\packages\ZXing.Net.Mobile.2.4.1\lib\Xamarin.iOS10\zxing.portable.dll</HintPath>
+    </Reference>
+    <Reference Include="ZXingNetMobile">
+      <HintPath>..\packages\ZXing.Net.Mobile.2.4.1\lib\Xamarin.iOS10\ZXingNetMobile.dll</HintPath>
+    </Reference>
     <Reference Include="Shared.IOS">
-      <HintPath>..\Shared\DLL\Shared.IOS.dll</HintPath>
+      <HintPath>..\Shared\DLL\IOS\Shared.IOS.dll</HintPath>
+    </Reference>
+    <Reference Include="Shared.IOS.TBL">
+      <HintPath>..\Shared\DLL\IOS\Shared.IOS.TBL.dll</HintPath>
+    </Reference>
+    <Reference Include="Xamarin.Essentials">
+      <HintPath>..\Shared\DLL\IOS\Xamarin.Essentials.dll</HintPath>
     </Reference>
   </ItemGroup>
   <ItemGroup>
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json" />
-    <ImageAsset Include="Assets.xcassets\Contents.json" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Contents.json" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1242X2208.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\750X1334.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\2208X1242.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\2048X2732.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\640X960.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\640X1136.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\768X1024.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1536X2048.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1024X768.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\2048X1536.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\320X480.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\768X1004.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1536X2008.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1024X748.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\2048X1496.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1125X2436.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1920X1080.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\3840X2160.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1242X2688.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\828X1792.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\2688X1242.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1792X828.png" />
-    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\2436X1125.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-20%402x.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-20%403x.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-29%402x.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-29%403x.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-40%402x.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-40%403x.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-60%402x.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-60%403x.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-20-ipad.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-20%402x-ipad.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-29-ipad.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-29%402x-ipad.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-40.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-40%402x-1.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-76.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-76%402x.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-83.5%402x.png" />
-    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-1024.png" />
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\Contents.json">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Contents.json">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1242X2208.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\750X1334.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\2208X1242.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\2048X2732.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\640X960.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\640X1136.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\768X1024.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1536X2048.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1024X768.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\2048X1536.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\320X480.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\768X1004.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1536X2008.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1024X748.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\2048X1496.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1125X2436.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1920X1080.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\3840X2160.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1242X2688.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\828X1792.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\2688X1242.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\1792X828.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\2436X1125.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-20%402x.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-20%403x.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-29%402x.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-29%403x.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-40%402x.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-40%403x.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-60%402x.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-60%403x.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-20-ipad.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-20%402x-ipad.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-29-ipad.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-29%402x-ipad.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-40.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-40%402x-1.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-76.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-76%402x.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-83.5%402x.png">
+      <Visible>false</Visible>
+    </ImageAsset>
+    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-1024.png">
+      <Visible>false</Visible>
+    </ImageAsset>
   </ItemGroup>
   <ItemGroup>
     <InterfaceDefinition Include="LaunchScreen.storyboard" />
@@ -229,6 +334,19 @@
     <BundleResource Include="Resources\Phone\AC\Reduce.png" />
     <BundleResource Include="Resources\Phone\AC\SelectedFanModeBG.png" />
     <BundleResource Include="Resources\Phone\AC\SelectedModeBG.png" />
+    <BundleResource Include="Resources\Phone\AC\SwingBackground.png" />
+    <BundleResource Include="Resources\Phone\AC\Swing_1.png" />
+    <BundleResource Include="Resources\Phone\AC\Swing_1Selected.png" />
+    <BundleResource Include="Resources\Phone\AC\Swing_2.png" />
+    <BundleResource Include="Resources\Phone\AC\Swing_2Selected.png" />
+    <BundleResource Include="Resources\Phone\AC\Swing_3.png" />
+    <BundleResource Include="Resources\Phone\AC\Swing_3Selected.png" />
+    <BundleResource Include="Resources\Phone\AC\Swing_4.png" />
+    <BundleResource Include="Resources\Phone\AC\Swing_4Selected.png" />
+    <BundleResource Include="Resources\Phone\AC\Swing_5.png" />
+    <BundleResource Include="Resources\Phone\AC\Swing_5Selected.png" />
+    <BundleResource Include="Resources\Phone\AC\Swing_Auto.png" />
+    <BundleResource Include="Resources\Phone\AC\Swing_AutoSelected.png" />
     <BundleResource Include="Resources\Phone\Account\Account.png" />
     <BundleResource Include="Resources\Phone\Account\Cancle.png" />
     <BundleResource Include="Resources\Phone\Account\Cat.png" />
@@ -239,7 +357,9 @@
     <BundleResource Include="Resources\Phone\Account\Logo_loginBG.png" />
     <BundleResource Include="Resources\Phone\Account\Password.png" />
     <BundleResource Include="Resources\Phone\Account\PhoneEmail_White.png" />
+    <BundleResource Include="Resources\Phone\Account\QQ.png" />
     <BundleResource Include="Resources\Phone\Account\UnhidePwd.png" />
+    <BundleResource Include="Resources\Phone\Account\Wechat.png" />
     <BundleResource Include="Resources\Phone\BindPic\BindAdd.png" />
     <BundleResource Include="Resources\Phone\BindPic\BindDown.png" />
     <BundleResource Include="Resources\Phone\BindPic\BindEmptyPic.png" />
@@ -298,6 +418,7 @@
     <BundleResource Include="Resources\Phone\Device\SensorWater.png" />
     <BundleResource Include="Resources\Phone\Device\Socket1.png" />
     <BundleResource Include="Resources\Phone\Device\Switch.png" />
+    <BundleResource Include="Resources\Phone\Device\ThirdPartyDevice.png" />
     <BundleResource Include="Resources\Phone\DoorLock\AddFailedPic.png" />
     <BundleResource Include="Resources\Phone\DoorLock\AddFingerprintTipPic.png" />
     <BundleResource Include="Resources\Phone\DoorLock\AddIcCardTipPic.png" />
@@ -394,21 +515,18 @@
     <BundleResource Include="Resources\Phone\FunctionIcon\8IconSelected.png" />
     <BundleResource Include="Resources\Phone\FunctionIcon\9Icon.png" />
     <BundleResource Include="Resources\Phone\FunctionIcon\9IconSelected.png" />
+    <BundleResource Include="Resources\Phone\Gateway\AddGatewaySuccess.png" />
     <BundleResource Include="Resources\Phone\Gateway\GatewayIcon1.png" />
-    <BundleResource Include="Resources\Phone\Gateway\GatewayIcon1Selected.png" />
     <BundleResource Include="Resources\Phone\Gateway\GatewayIcon6.png" />
-    <BundleResource Include="Resources\Phone\Gateway\GatewayIcon6Selected.png" />
     <BundleResource Include="Resources\Phone\Gateway\RealGateway1.png" />
     <BundleResource Include="Resources\Phone\Gateway\RealGateway6.png" />
-    <BundleResource Include="Resources\Phone\Gateway\SearchGateway.png" />
     <BundleResource Include="Resources\Phone\Gateway\WiredGateway.png" />
     <BundleResource Include="Resources\Phone\Gateway\WiredGatewayInstruct.png" />
     <BundleResource Include="Resources\Phone\Gateway\WiredGatewaySearching.png" />
-    <BundleResource Include="Resources\Phone\Gateway\WiredGatewaySelected.png" />
+    <BundleResource Include="Resources\Phone\Gateway\WirelessApDirection.png" />
+    <BundleResource Include="Resources\Phone\Gateway\WirelessApGatewaySearching.png" />
     <BundleResource Include="Resources\Phone\Gateway\WirelessGateway.png" />
-    <BundleResource Include="Resources\Phone\Gateway\WirelessGatewayImage.png" />
-    <BundleResource Include="Resources\Phone\Gateway\WirelessGatewayInstruct.png" />
-    <BundleResource Include="Resources\Phone\Gateway\WirelessGatewaySelected.png" />
+    <BundleResource Include="Resources\Phone\Gateway\WirelessGatewaySearching.png" />
     <BundleResource Include="Resources\Phone\Instruct\AirConditionerZbGateway.png" />
     <BundleResource Include="Resources\Phone\Instruct\AirSwitchCloudContr.png" />
     <BundleResource Include="Resources\Phone\Instruct\CurtainAutoOpen.png" />
@@ -465,6 +583,7 @@
     <BundleResource Include="Resources\Phone\Item\GarrisonListSelected.png" />
     <BundleResource Include="Resources\Phone\Item\GwSwitchIcon.png" />
     <BundleResource Include="Resources\Phone\Item\GwSwitchIconSelected.png" />
+    <BundleResource Include="Resources\Phone\Item\HadAuthority.png" />
     <BundleResource Include="Resources\Phone\Item\HidenPWD.png" />
     <BundleResource Include="Resources\Phone\Item\House.png" />
     <BundleResource Include="Resources\Phone\Item\HouseSelected.png" />
@@ -487,6 +606,7 @@
     <BundleResource Include="Resources\Phone\Item\NotShardPic.png" />
     <BundleResource Include="Resources\Phone\Item\OpenIcon.png" />
     <BundleResource Include="Resources\Phone\Item\PersentIcon.png" />
+    <BundleResource Include="Resources\Phone\Item\PhoneBook.png" />
     <BundleResource Include="Resources\Phone\Item\PickerColorWheel.png" />
     <BundleResource Include="Resources\Phone\Item\Point.png" />
     <BundleResource Include="Resources\Phone\Item\ProgressMsg.png" />
@@ -503,7 +623,6 @@
     <BundleResource Include="Resources\Phone\Item\RoomIconSelected.png" />
     <BundleResource Include="Resources\Phone\Item\ScanQRcodeIcon.png" />
     <BundleResource Include="Resources\Phone\Item\ScanQRcodeIconSelected.png" />
-    <BundleResource Include="Resources\Phone\Item\Scene.png" />
     <BundleResource Include="Resources\Phone\Item\SceneCard.png" />
     <BundleResource Include="Resources\Phone\Item\SceneFunctionBG.png" />
     <BundleResource Include="Resources\Phone\Item\ScreeningType.png" />
@@ -519,7 +638,6 @@
     <BundleResource Include="Resources\Phone\Item\Switch2Selected.png" />
     <BundleResource Include="Resources\Phone\Item\SwitchSelected.png" />
     <BundleResource Include="Resources\Phone\Item\SwitchSelected1.png" />
-    <BundleResource Include="Resources\Phone\Item\ThirdPartyDevice.png" />
     <BundleResource Include="Resources\Phone\Item\Time.png" />
     <BundleResource Include="Resources\Phone\Item\Timer.png" />
     <BundleResource Include="Resources\Phone\Item\Tips.png" />
@@ -533,6 +651,45 @@
     <BundleResource Include="Resources\Phone\Item\WrongIcon.png" />
     <BundleResource Include="Resources\Phone\Light\DeskLamp.png" />
     <BundleResource Include="Resources\Phone\Light\DeskLampSelected.png" />
+    <BundleResource Include="Resources\Phone\Light\OFF.png" />
+    <BundleResource Include="Resources\Phone\Light\OFFSelected.png" />
+    <BundleResource Include="Resources\Phone\Light\ON.png" />
+    <BundleResource Include="Resources\Phone\Light\ONSelected.png" />
+    <BundleResource Include="Resources\Phone\Light\OnOff.png" />
+    <BundleResource Include="Resources\Phone\Light\Plug.png" />
+    <BundleResource Include="Resources\Phone\Light\PlugSelected.png" />
+    <BundleResource Include="Resources\Phone\Loading\1.png" />
+    <BundleResource Include="Resources\Phone\Loading\10.png" />
+    <BundleResource Include="Resources\Phone\Loading\11.png" />
+    <BundleResource Include="Resources\Phone\Loading\12.png" />
+    <BundleResource Include="Resources\Phone\Loading\13.png" />
+    <BundleResource Include="Resources\Phone\Loading\14.png" />
+    <BundleResource Include="Resources\Phone\Loading\15.png" />
+    <BundleResource Include="Resources\Phone\Loading\16.png" />
+    <BundleResource Include="Resources\Phone\Loading\17.png" />
+    <BundleResource Include="Resources\Phone\Loading\18.png" />
+    <BundleResource Include="Resources\Phone\Loading\19.png" />
+    <BundleResource Include="Resources\Phone\Loading\2.png" />
+    <BundleResource Include="Resources\Phone\Loading\20.png" />
+    <BundleResource Include="Resources\Phone\Loading\21.png" />
+    <BundleResource Include="Resources\Phone\Loading\22.png" />
+    <BundleResource Include="Resources\Phone\Loading\23.png" />
+    <BundleResource Include="Resources\Phone\Loading\24.png" />
+    <BundleResource Include="Resources\Phone\Loading\25.png" />
+    <BundleResource Include="Resources\Phone\Loading\26.png" />
+    <BundleResource Include="Resources\Phone\Loading\27.png" />
+    <BundleResource Include="Resources\Phone\Loading\28.png" />
+    <BundleResource Include="Resources\Phone\Loading\29.png" />
+    <BundleResource Include="Resources\Phone\Loading\3.png" />
+    <BundleResource Include="Resources\Phone\Loading\30.png" />
+    <BundleResource Include="Resources\Phone\Loading\31.png" />
+    <BundleResource Include="Resources\Phone\Loading\32.png" />
+    <BundleResource Include="Resources\Phone\Loading\4.png" />
+    <BundleResource Include="Resources\Phone\Loading\5.png" />
+    <BundleResource Include="Resources\Phone\Loading\6.png" />
+    <BundleResource Include="Resources\Phone\Loading\7.png" />
+    <BundleResource Include="Resources\Phone\Loading\8.png" />
+    <BundleResource Include="Resources\Phone\Loading\9.png" />
     <BundleResource Include="Resources\Phone\Logo\Logo.png" />
     <BundleResource Include="Resources\Phone\Navigation\Category.png" />
     <BundleResource Include="Resources\Phone\Navigation\CategorySelected.png" />
@@ -541,13 +698,13 @@
     <BundleResource Include="Resources\Phone\Navigation\Setting.png" />
     <BundleResource Include="Resources\Phone\Navigation\SettingSelected.png" />
     <BundleResource Include="Resources\Phone\RealDevice\AirSwitchCloudContr.png" />
+    <BundleResource Include="Resources\Phone\RealDevice\ButtonPanelFour.png" />
+    <BundleResource Include="Resources\Phone\RealDevice\ButtonPanelFourNotPower.png" />
+    <BundleResource Include="Resources\Phone\RealDevice\ButtonPanelThree.png" />
+    <BundleResource Include="Resources\Phone\RealDevice\ButtonPanelTwo.png" />
     <BundleResource Include="Resources\Phone\RealDevice\CommonDevice.png" />
     <BundleResource Include="Resources\Phone\RealDevice\CurtainAutoOpen.png" />
     <BundleResource Include="Resources\Phone\RealDevice\CurtainSiphonate.png" />
-    <BundleResource Include="Resources\Phone\RealDevice\PanelFourButton.png" />
-    <BundleResource Include="Resources\Phone\RealDevice\PanelFourNotPowerButton.png" />
-    <BundleResource Include="Resources\Phone\RealDevice\PanelThreeButton.png" />
-    <BundleResource Include="Resources\Phone\RealDevice\PanelTwoButton.png" />
     <BundleResource Include="Resources\Phone\RealDevice\SensorCarbonMonoxide.png" />
     <BundleResource Include="Resources\Phone\RealDevice\SensorDoorWindow.png" />
     <BundleResource Include="Resources\Phone\RealDevice\SensorEmergencyButton.png" />
@@ -556,6 +713,16 @@
     <BundleResource Include="Resources\Phone\RealDevice\SensorMotion.png" />
     <BundleResource Include="Resources\Phone\RealDevice\SensorPir.png" />
     <BundleResource Include="Resources\Phone\RealDevice\SensorWater.png" />
+    <BundleResource Include="Resources\Phone\RollerShade\Close.png" />
+    <BundleResource Include="Resources\Phone\RollerShade\CloseSelected.png" />
+    <BundleResource Include="Resources\Phone\RollerShade\Down.png" />
+    <BundleResource Include="Resources\Phone\RollerShade\DownSelected.png" />
+    <BundleResource Include="Resources\Phone\RollerShade\Open.png" />
+    <BundleResource Include="Resources\Phone\RollerShade\OpenSelected.png" />
+    <BundleResource Include="Resources\Phone\RollerShade\Stop.png" />
+    <BundleResource Include="Resources\Phone\RollerShade\StopSelected.png" />
+    <BundleResource Include="Resources\Phone\RollerShade\Up.png" />
+    <BundleResource Include="Resources\Phone\RollerShade\UpSelected.png" />
     <BundleResource Include="Resources\Phone\Room\FavoriteRoom.png" />
     <BundleResource Include="Resources\Phone\Room\ItemSelected.png" />
     <BundleResource Include="Resources\Phone\Room\ItemUnSelected.png" />
@@ -568,6 +735,9 @@
     <BundleResource Include="Resources\Phone\Safeguard\ProtectionAtHomeSelected.png" />
     <BundleResource Include="Resources\Phone\Safeguard\ProtectionRemoveHome.png" />
     <BundleResource Include="Resources\Phone\Safeguard\ProtectionRemoveHomeSelected.png" />
+    <BundleResource Include="Resources\Phone\Safeguard\SafeguardPasswordGround.png" />
+    <BundleResource Include="Resources\Phone\Safeguard\SafetyShortcut.png" />
+    <BundleResource Include="Resources\Phone\Safeguard\SafetyShortcutSelected.png" />
     <BundleResource Include="Resources\Phone\Safeguard\WithdrawGarrison.png" />
     <BundleResource Include="Resources\Phone\Safeguard\WithdrawGarrisonSelected.png" />
     <BundleResource Include="Resources\Phone\Scene\SceneIcon.png" />
@@ -660,6 +830,12 @@
     <BundleResource Include="Resources\Phone\ZigeeLogic\timepoint.png" />
     <BundleResource Include="Resources\Phone\ZigeeLogic\withdrawal.png" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\Elian.iOS\Elian.iOS.csproj">
+      <Project>{85F1AF50-75A6-4011-B811-56B32DA77568}</Project>
+      <Name>Elian.iOS</Name>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="..\Shared\Shared.projitems" Label="Shared" Condition="Exists('..\Shared\Shared.projitems')" />
   <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
-</Project>
+</Project>
\ No newline at end of file
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Language.ini b/ZigbeeApp/GateWay.Ios/Resources/Language.ini
index c8a6407..20bf98f 100755
--- a/ZigbeeApp/GateWay.Ios/Resources/Language.ini
+++ b/ZigbeeApp/GateWay.Ios/Resources/Language.ini
@@ -186,18 +186,18 @@
 180=杩滅▼寮�閿佺粦瀹氭垚鍔�
 181=璇疯缃簩娆″畨鍏ㄩ獙璇佹柟寮�
 182=鍏抽棴
-183=姝e湪寮�閿�
+183=寮�閿佷腑
 184=鎵撳紑
 185=骞�
 186=鐭鎴愬姛
 187=鐭澶辫触
-188=璇疯缃敓鏁堟椂闂�
+188=鏃犳晥鐨勬椂闂磋缃�
 189=璇疯缃敓鏁堟棩鏈�
 190=璇疯缃け鏁堟椂闂�
 191=璇疯缃け鏁堟棩鏈�
 192=璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜
 193=涓嬩竴姝�
-194=璁惧澶囨敞
+194=璁惧鍚嶇О
 195=璁剧疆鎴愬姛
 196=璁剧疆澶辫触
 197=璁剧疆澶辫触,璇烽噸鏂板皾璇�
@@ -214,11 +214,17 @@
 208=鍏变韩
 209=寮�閿佹柟寮忎笉鍖归厤锛岃褰曞叆褰撳墠鐣岄潰鐨勫紑閿佹柟寮忋��
 210=纭畾鎺堟潈璇ユ垚鍛樻嫢鏈夎繙绋嬪紑閿佹潈闄�
-211=鎺堟潈鎴愬姛
+211=鍏抽棴鏉冮檺澶辫触
 212=鎺堟潈澶辫触
-213=璇ユ垚鍛樿鍐荤粨锛屼笉鑳芥坊鍔犲紑閿佹柟寮�
+213=璇ユ垚鍛樿鍐荤粨
 214=鏈巿鏉�
-
+215=杩樻湭绛夊埌15绉掞紝璇峰啀绛変竴浼氬効
+216=楠岃瘉澶辫触
+217=寮�閿佹垚鍔�
+218=娣诲姞澶辫触
+219=寮�閿佸け璐�
+220=瀵嗙爜鍙兘涓嶅瓨鍦紝灏濊瘯閲嶆柊楠岃瘉杩滅▼寮�閿佸瘑鐮�
+221=缁戝畾澶辫触锛岀粦瀹氬嚭鐜版湭鐭ラ敊璇�
 
 548=鎻愰啋璁剧疆
 550=鏂板鐢ㄦ埛
@@ -731,6 +737,19 @@
 13147=鎷嶇収
 13148=鎴戠殑鐩稿唽
 
+13500=閫夋嫨鎽嗛
+13501=鑷姩
+13502=1鎸�
+13503=2鎸�
+13504=3鎸�
+13505=4鎸�
+13506=5鎸�
+
+
+
+
+
+
 
 15000=瀵嗙爜闀垮害涓簕0}涓瓧绗�
 15001=1涓皬鍐欏瓧姣�
@@ -935,7 +954,7 @@
 15206=瀹夐槻瀵嗙爜杈撳叆閿欒
 15220=澶囦唤杩樺師
 15221=鏄惁瑕佷笅杞藉苟鎭㈠鏁版嵁锛�
-15222=纭畾瑕佸垹闄ゆ枃浠跺悧?
+15222=纭鍒犻櫎璇ュ浠芥暟鎹�?
 15223=娣诲姞澶囦唤
 15224=缂栬緫澶囦唤
 15225=澶囨敞
@@ -1571,7 +1590,42 @@
 15904=AP妯″紡
 15905=璺宠浆鍒扮Щ鍔ㄨ澶�
 15906=WLAN璁剧疆杩炴帴瀹跺涵WiFi
-
+15907=闀挎寜缃戝叧HID/WCFG鎸夐敭20绉抺0}绯荤粺鐏揩闂�60绉掑垯杩涘叆閰嶇綉鐘舵�亄0}绯荤粺鐏瘡绉掗棯鐑佷竴娆0}鍒欒繛鎺ユ垚鍔�
+15908=闀挎寜缃戝叧HID/WCFG鎸夐敭5绉抺0}绯荤粺鐏父浜�60绉掑悗鍒欒繘鍏ラ厤缃戠姸鎬�
+15909=璺宠浆鍒扮Щ鍔ㄨ澶嘩LAN璁剧疆{0}閫夋嫨hdlZigbeeGW-xxxx缃戠粶
+15910=璇疯緭鍏ュ搴璚IFI璐﹀彿
+15911=璇峰墠寰�绉诲姩璁惧WLAN璁剧疆{0}閲嶆柊杩炴帴瀹跺涵wiFi
+15912=绯荤粺鐏瘡绉掗棯鐑佷竴娆0}鍒欒繛鎺ユ垚鍔�
+15915=閫夋嫨鍦扮偣
+15916=鎮ㄧ殑鍙嶉鍜屾剰瑙佷細璁╂垜浠彉寰楁洿濂�
+15917=鍙嶉绫诲瀷
+15918=浼樺寲
+15919=鏂伴渶姹�
+15920=閭鍦板潃
+15921=璇疯緭鍏ユ偍鐨勯偖绠卞湴鍧�
+15922=鎻愪氦
+15923=鎻愪氦鎴愬姛,鎰熻阿鎮ㄧ殑鎰忚
+15924=涓婁紶
+15925=鑷姩澶囦唤
+15926=浠婃棩鎻愪氦娆℃暟宸蹭笂闄�
+15927=鑾峰彇缃戝叧淇¢亾澶辫触
+15928=鑾峰彇鍗忚皟鍣∕ac澶辫触
+15929=鑾峰彇鍗忚皟鍣≒anID澶辫触
+15930=涓婁紶鏁版嵁鑷充簯绔�
+15931=浠庝簯绔笅杞芥暟鎹�
+15932=涓婁紶鏁版嵁
+15933=涓婁紶鏁版嵁鎴愬姛
+15934=涓嬭浇鏁版嵁
+15935=涓嬭浇
+15936=璁剧疆缃戝叧缁忕含搴﹀け璐�
+15937=姝e湪淇濆瓨鍗忚皟鍣ㄧ殑nv鍒嗗尯缁勭綉淇℃伅
+15938=淇濆瓨鍗忚皟鍣ㄧ殑nv鍒嗗尯缁勭綉淇℃伅澶辫触
+15939=鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳藉け璐�
+15940=缃戝叧鏁版嵁澶囦唤澶辫触
+15941=寮�濮嬪浠界綉鍏虫暟鎹�
+15942=鍝嶅簲瓒呮椂,缃戝叧鏁版嵁澶囦唤澶辫触
+15943=鍒涘缓澶囦唤鏂囦欢
+15944=姝e湪鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳�
 
 ;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄帴鍙g殑杩斿洖淇℃伅缈昏瘧,浠�18000寮�濮嬧槄鈽呪槄鈽�
 18004=鎸囧畾缃戝叧宸茬粡琚粦瀹�
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/SwingBackground.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/SwingBackground.png
new file mode 100755
index 0000000..a3073d5
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/SwingBackground.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_1.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_1.png
new file mode 100755
index 0000000..d4d0493
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_1.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_1Selected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_1Selected.png
new file mode 100755
index 0000000..e794a92
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_1Selected.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_2.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_2.png
new file mode 100755
index 0000000..e2daeca
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_2.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_2Selected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_2Selected.png
new file mode 100755
index 0000000..bb5c206
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_2Selected.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_3.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_3.png
new file mode 100755
index 0000000..8ff9f38
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_3.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_3Selected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_3Selected.png
new file mode 100755
index 0000000..971c20d
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_3Selected.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_4.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_4.png
new file mode 100755
index 0000000..77c1efa
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_4.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_4Selected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_4Selected.png
new file mode 100755
index 0000000..3f6966f
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_4Selected.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_5.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_5.png
new file mode 100755
index 0000000..4a9139c
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_5.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_5Selected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_5Selected.png
new file mode 100755
index 0000000..e794a92
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_5Selected.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_Auto.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_Auto.png
new file mode 100755
index 0000000..a7d3e34
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_Auto.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_AutoSelected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_AutoSelected.png
new file mode 100755
index 0000000..987e6be
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_AutoSelected.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Gateway/WirelessApDirection.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Gateway/WirelessApDirection.png
new file mode 100755
index 0000000..0849722
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Gateway/WirelessApDirection.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Gateway/WirelessApGatewaySearching.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Gateway/WirelessApGatewaySearching.png
new file mode 100755
index 0000000..f59511b
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Gateway/WirelessApGatewaySearching.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Gateway/WirelessGatewayImage.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Gateway/WirelessGatewayImage.png
deleted file mode 100755
index d88d043..0000000
--- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Gateway/WirelessGatewayImage.png
+++ /dev/null
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Gateway/WirelessGatewayInstruct.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Gateway/WirelessGatewayInstruct.png
deleted file mode 100755
index a0c1835..0000000
--- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Gateway/WirelessGatewayInstruct.png
+++ /dev/null
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/1.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/1.png
new file mode 100755
index 0000000..ecaa079
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/1.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/10.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/10.png
new file mode 100755
index 0000000..cf31381
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/10.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/11.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/11.png
new file mode 100755
index 0000000..d38e280
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/11.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/12.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/12.png
new file mode 100755
index 0000000..7778a1e
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/12.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/13.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/13.png
new file mode 100755
index 0000000..1102d4f
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/13.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/14.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/14.png
new file mode 100755
index 0000000..705b1bd
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/14.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/15.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/15.png
new file mode 100755
index 0000000..112da35
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/15.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/16.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/16.png
new file mode 100755
index 0000000..76d5e34
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/16.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/17.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/17.png
new file mode 100755
index 0000000..ff09126
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/17.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/18.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/18.png
new file mode 100755
index 0000000..84f6119
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/18.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/19.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/19.png
new file mode 100755
index 0000000..a2e73a7
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/19.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/2.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/2.png
new file mode 100755
index 0000000..1a09501
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/2.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/20.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/20.png
new file mode 100755
index 0000000..48ebb0c
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/20.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/21.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/21.png
new file mode 100755
index 0000000..cd5d4d7
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/21.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/22.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/22.png
new file mode 100755
index 0000000..ac78e88
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/22.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/23.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/23.png
new file mode 100755
index 0000000..4f500c3
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/23.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/24.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/24.png
new file mode 100755
index 0000000..485bad6
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/24.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/25.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/25.png
new file mode 100755
index 0000000..40fc3c6
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/25.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/26.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/26.png
new file mode 100755
index 0000000..cb5b685
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/26.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/27.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/27.png
new file mode 100755
index 0000000..732a2f7
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/27.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/28.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/28.png
new file mode 100755
index 0000000..3b9f229
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/28.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/29.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/29.png
new file mode 100755
index 0000000..c87e395
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/29.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/3.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/3.png
new file mode 100755
index 0000000..384e308
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/3.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/30.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/30.png
new file mode 100755
index 0000000..a680fa6
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/30.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/31.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/31.png
new file mode 100755
index 0000000..4f958ce
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/31.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/32.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/32.png
new file mode 100755
index 0000000..661ffed
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/32.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/4.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/4.png
new file mode 100755
index 0000000..05a9a6e
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/4.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/5.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/5.png
new file mode 100755
index 0000000..eda077f
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/5.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/6.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/6.png
new file mode 100755
index 0000000..9e37d79
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/6.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/7.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/7.png
new file mode 100755
index 0000000..f2188b5
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/7.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/8.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/8.png
new file mode 100755
index 0000000..3850e1f
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/8.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/9.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/9.png
new file mode 100755
index 0000000..a1d0d76
--- /dev/null
+++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Loading/9.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/PanelFourButton.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/ButtonPanelFour.png
similarity index 100%
rename from ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/PanelFourButton.png
rename to ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/ButtonPanelFour.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/PanelFourButton.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/ButtonPanelFourNotPower.png
similarity index 100%
copy from ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/PanelFourButton.png
copy to ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/ButtonPanelFourNotPower.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/PanelThreeButton.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/ButtonPanelThree.png
similarity index 100%
rename from ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/PanelThreeButton.png
rename to ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/ButtonPanelThree.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/PanelTwoButton.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/ButtonPanelTwo.png
similarity index 100%
rename from ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/PanelTwoButton.png
rename to ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/ButtonPanelTwo.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/PanelFourNotPowerButton.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/PanelFourNotPowerButton.png
deleted file mode 100755
index 0d9f429..0000000
--- a/ZigbeeApp/GateWay.Ios/Resources/Phone/RealDevice/PanelFourNotPowerButton.png
+++ /dev/null
Binary files differ
diff --git a/ZigbeeApp/GateWay.Ios/packages.config b/ZigbeeApp/GateWay.Ios/packages.config
old mode 100755
new mode 100644
index c7bed92..9804aaf
--- a/ZigbeeApp/GateWay.Ios/packages.config
+++ b/ZigbeeApp/GateWay.Ios/packages.config
@@ -52,4 +52,5 @@
   <package id="System.Threading.Timer" version="4.3.0" targetFramework="xamarinios10" />
   <package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="xamarinios10" />
   <package id="System.Xml.XDocument" version="4.3.0" targetFramework="xamarinios10" />
+  <package id="ZXing.Net.Mobile" version="2.4.1" targetFramework="xamarinios10" />
 </packages>
\ No newline at end of file
diff --git a/ZigbeeApp/GateWay.sln b/ZigbeeApp/GateWay.sln
index 7903e15..21d7aa8 100644
--- a/ZigbeeApp/GateWay.sln
+++ b/ZigbeeApp/GateWay.sln
@@ -10,6 +10,8 @@
 EndProject
 Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Shared", "Shared\Shared.shproj", "{D83486B1-9BE8-4728-A314-3C0B849E1AAB}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elian.iOS", "Elian.iOS\Elian.iOS.csproj", "{85F1AF50-75A6-4011-B811-56B32DA77568}"
+EndProject
 Global
 	GlobalSection(SharedMSBuildProjectFiles) = preSolution
 		Shared\Shared.projitems*{28ede1ff-20ef-476b-8af8-24a3eeb69f45}*SharedItemsImports = 4
@@ -54,5 +56,13 @@
 		{47EFF987-3192-4A56-A463-A940F245FF7D}.Release|iPhone.Build.0 = Release|Any CPU
 		{47EFF987-3192-4A56-A463-A940F245FF7D}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
 		{47EFF987-3192-4A56-A463-A940F245FF7D}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+		{85F1AF50-75A6-4011-B811-56B32DA77568}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+		{85F1AF50-75A6-4011-B811-56B32DA77568}.Debug|iPhone.Build.0 = Debug|Any CPU
+		{85F1AF50-75A6-4011-B811-56B32DA77568}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+		{85F1AF50-75A6-4011-B811-56B32DA77568}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+		{85F1AF50-75A6-4011-B811-56B32DA77568}.Release|iPhone.ActiveCfg = Release|Any CPU
+		{85F1AF50-75A6-4011-B811-56B32DA77568}.Release|iPhone.Build.0 = Release|Any CPU
+		{85F1AF50-75A6-4011-B811-56B32DA77568}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+		{85F1AF50-75A6-4011-B811-56B32DA77568}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
 	EndGlobalSection
 EndGlobal
diff --git a/ZigbeeApp/Shared/Common/CommonPage.cs b/ZigbeeApp/Shared/Common/CommonPage.cs
index 3151e47..325dccd 100755
--- a/ZigbeeApp/Shared/Common/CommonPage.cs
+++ b/ZigbeeApp/Shared/Common/CommonPage.cs
@@ -57,7 +57,7 @@
         /// <summary>
         /// 鐗堟湰鍙�
         /// </summary>
-        public static string CodeIDString = "1.0.19110701";
+        public static string CodeIDString = "1.0.19111201";
         /// <summary>
         /// 娉ㄥ唽鏉ユ簮(0:HDL On 1:Zigbee)
         /// </summary>
diff --git a/ZigbeeApp/Shared/Common/Device.cs b/ZigbeeApp/Shared/Common/Device.cs
index 3ef2309..b9086a3 100755
--- a/ZigbeeApp/Shared/Common/Device.cs
+++ b/ZigbeeApp/Shared/Common/Device.cs
@@ -454,6 +454,11 @@
                 }
                 //澶囦唤鏁版嵁
                 await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(device, GatewayBackupEnum.AMac鍚嶇О, newMacName);
+                //濡傛灉瀹冨彧鏈変竴涓洖璺�,鍒欐洿鏀圭鐐瑰悕瀛�
+                if (this.dicDeviceEpoint.ContainsKey(device.DeviceAddr) == true && this.dicDeviceEpoint[device.DeviceAddr].Count == 1)
+                {
+                    return await this.ReName(device, newMacName);
+                }
             }
             return true;
         }
@@ -739,6 +744,20 @@
                 return -1;
             });
             return list;
+        }
+
+        /// <summary>
+        /// 鏍规嵁MAC鍦板潃,鑾峰彇鍏ㄩ儴鍥炶矾鐨勬暟閲�
+        /// </summary>
+        /// <param name="DeviceAddr">Mac鍦板潃</param>
+        /// <returns></returns>
+        public int GetDevicesCountByMac(string DeviceAddr)
+        {
+            if (dicDeviceEpoint.ContainsKey(DeviceAddr) == false)
+            {
+                return 0;
+            }
+            return dicDeviceEpoint[DeviceAddr].Count;
         }
 
         /// <summary>
@@ -1507,14 +1526,17 @@
         /// <param name="roomId">闇�瑕佷繚瀛樼殑鍝釜璁惧鐨勬埧闂碔D</param>
         public void SaveRealDeviceRoomId(List<CommonDevice> listDevice, string roomId)
         {
-            this.dicDeviceRoomId[listDevice[0].DeviceAddr] = roomId;
+            if (listDevice != null)
+            {
+                this.dicDeviceRoomId[listDevice[0].DeviceAddr] = roomId;
+            }
 
             //淇濆瓨璁板綍
             string fullName = UserCenterLogic.CombinePath(DirNameResourse.DeviceRoomIdFile);
             UserCenterLogic.SaveFileContent(fullName, this.dicDeviceRoomId);
 
             //濡傛灉璁惧鍙湁涓�涓洖璺紝濡傛灉鏀瑰彉浜嗙湡瀹炶澶囧尯鍩燂紝鍒欏畠鐨勫洖璺殑鍖哄煙涔熶竴璧锋敼浜�
-            if (listDevice.Count == 1)
+            if (listDevice != null && listDevice.Count == 1)
             {
                 Common.Room.CurrentRoom.ChangedRoom(listDevice[0], roomId);
             }
diff --git a/ZigbeeApp/Shared/Common/DeviceUI.cs b/ZigbeeApp/Shared/Common/DeviceUI.cs
index fa24c33..4b279ac 100755
--- a/ZigbeeApp/Shared/Common/DeviceUI.cs
+++ b/ZigbeeApp/Shared/Common/DeviceUI.cs
@@ -342,39 +342,40 @@
         /// <returns></returns>
         public string GetDeviceStatu()
         {
-            if (CommonDevice.Type == DeviceType.OnOffOutput)
+            var device = CommonDevice;
+            if (device.Type == DeviceType.OnOffOutput)
             {
-                if ((CommonDevice as ToggleLight).OnOffStatus == 1)
+                if ((device as ToggleLight).OnOffStatus == 1)
                 {
                     return Language.StringByID(R.MyInternationalizationString.Open);
                 }
                 return Language.StringByID(R.MyInternationalizationString.Shut);
             }
-            else if (CommonDevice.Type == DeviceType.AirSwitch)
+            else if (device.Type == DeviceType.AirSwitch)
             {
-                if ((CommonDevice as ZigBee.Device.AirSwitch).OnOffStatus == 1)
+                if ((device as ZigBee.Device.AirSwitch).OnOffStatus == 1)
                 {
                     return Language.StringByID(R.MyInternationalizationString.Open);
                 }
                 return Language.StringByID(R.MyInternationalizationString.Shut);
             }
-            else if (CommonDevice.Type == DeviceType.DimmableLight)
+            else if (device.Type == DeviceType.DimmableLight)
             {
-                if ((CommonDevice as DimmableLight).OnOffStatus == 0 || (CommonDevice as DimmableLight).Level == 0)
+                if ((device as DimmableLight).OnOffStatus == 0 || (device as DimmableLight).Level == 0)
                 {
                     return Language.StringByID(R.MyInternationalizationString.Shut);
                 }
-                return $"{(int)((CommonDevice as DimmableLight).Level * 1.0 / 254 * 100)}%";
+                return $"{(int)((device as DimmableLight).Level * 1.0 / 254 * 100)}%";
             }
-            else if (CommonDevice.Type == DeviceType.WindowCoveringDevice)
+            else if (device.Type == DeviceType.WindowCoveringDevice)
             {
-                if ((CommonDevice as Rollershade).WcdCurrentPositionLiftPercentage == 0)
+                if ((device as Rollershade).WcdCurrentPositionLiftPercentage == 0)
                 {
                     return Language.StringByID(R.MyInternationalizationString.Shut);
                 }
-                return $"{(CommonDevice as Rollershade).WcdCurrentPositionLiftPercentage}%";
+                return $"{(device as Rollershade).WcdCurrentPositionLiftPercentage}%";
             }
-            else if (CommonDevice.Type == DeviceType.Thermostat)
+            else if (device.Type == DeviceType.Thermostat)
             {
                 //娓╁害锛屾ā寮忥紝椋庨��
                 string tempareture = string.Empty;
@@ -429,10 +430,7 @@
                 {
                     return $"{model},{wind}";
                 }
-                else
-                {
-                    return $"{model},{wind},{tempareture}";
-                }
+                return $"{model},{wind},{tempareture}";
             }
             else
             {
diff --git a/ZigbeeApp/Shared/Common/House.cs b/ZigbeeApp/Shared/Common/House.cs
index a76d259..436c302 100755
--- a/ZigbeeApp/Shared/Common/House.cs
+++ b/ZigbeeApp/Shared/Common/House.cs
@@ -46,7 +46,15 @@
         /// <summary>
         /// 浠呭瓙璐﹀彿鐧婚檰鐨勬椂鍊欎娇鐢�,褰撱�怚sOthreShare銆戜负"true"锛屽苟涓斻�怉ccountType銆戜负"1"鏃讹紝璇ヨ处鍙锋嫢鏈夌鐞嗗憳鏉冮檺
         /// </summary>
-        public int AccountType;
+        public int AccountType;
+        /// <summary>
+        /// 缁忓害
+        /// </summary>
+        public double Longitude = 0;
+        /// <summary>
+        /// 绾害
+        /// </summary>
+        public double Latitude = 0;
 
         /// <summary>
         /// 鎴块棿璺緞鍒楄〃
@@ -287,7 +295,9 @@
                                     Name = residence.Name,
                                     IsOthreShare = residence.IsOthreShare,
                                     AccountType = residence.AccountType,
-                                    MainUserDistributedMark = residence.MainUserDistributedMark
+                                    MainUserDistributedMark = residence.MainUserDistributedMark,
+                                    Longitude = residence.Longitude,
+                                    Latitude = residence.Latitude
                                 };
                             }
                             else
@@ -296,7 +306,9 @@
                                 house.Name = residence.Name;
                                 house.IsOthreShare = residence.IsOthreShare;
                                 house.AccountType = residence.AccountType;
-                                house.MainUserDistributedMark = residence.MainUserDistributedMark;
+                                house.MainUserDistributedMark = residence.MainUserDistributedMark;
+                                house.Longitude = residence.Longitude;
+                                house.Latitude = residence.Latitude;
                             }
                             Global.CreateHomeDirectory(residence.Id);
                             house.Save();
diff --git a/ZigbeeApp/Shared/Common/ResponseEntity/ResidenceRes.cs b/ZigbeeApp/Shared/Common/ResponseEntity/ResidenceRes.cs
index fa1d688..780f703 100755
--- a/ZigbeeApp/Shared/Common/ResponseEntity/ResidenceRes.cs
+++ b/ZigbeeApp/Shared/Common/ResponseEntity/ResidenceRes.cs
@@ -38,5 +38,13 @@
         /// 浠呭瓙璐﹀彿鐧婚檰鐨勬椂鍊欎娇鐢�,褰撱�怚sOthreShare銆戜负"true"锛屽苟涓斻�怉ccountType銆戜负"1"鏃讹紝璇ヨ处鍙锋嫢鏈夌鐞嗗憳鏉冮檺
         /// </summary>
         public int AccountType { get; set; }
+        /// <summary>
+        /// 缁忓害
+        /// </summary>
+        public double Longitude = 0;
+        /// <summary>
+        /// 绾害
+        /// </summary>
+        public double Latitude = 0;
     }
 }
diff --git a/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs
index 586446e..63e9498 100755
--- a/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs
+++ b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs
@@ -1,6 +1,8 @@
 锘縰sing System;
 using Shared.Common;
 using ZigBee.Device;
+using Shared.Phone.Device.CommonForm;
+using Shared.Phone.UserView;
 
 namespace Shared.Phone.Device.AC
 {
@@ -11,38 +13,60 @@
         /// The action.
         /// </summary>
         public Action action;
-        ///// <summary>
-        ///// The top view.
-        ///// </summary>
-        private CommonForm.TopFrameLayout top;
-        /// <summary>
-        /// 鏇村璁剧疆
-        /// </summary>
-        private Button moreBtn;
-        /// <summary>
-        /// 浼犺繃鏉ョ殑璁惧
-        /// </summary>
-        private DeviceUI device;
-        /// <summary>
-        /// 浼犺繃鏉ョ殑ac
-        /// </summary>
-        private ZigBee.Device.AC ac;
-        /// <summary>
-        /// 浼犺繃鏉ョ殑鎴块棿
-        /// </summary>
-        private Shared.Common.Room room;
-        /// <summary>
-        /// The middle fl.
-        /// </summary>
-        private FrameLayout midFL;
+
         /// <summary>
         /// 鏀惰棌鎸夐挳
         /// </summary>
         private Button collectionBtn;
         /// <summary>
-        /// 褰撳墠瀹ゅ唴娓╁害
+        /// 浼犺繃鏉ョ殑璁惧
+        /// </summary>
+        private DeviceUI device;
+        /// <summary>
+        /// 浼犺繃鏉ョ殑鎴块棿
+        /// </summary>
+        private Shared.Common.Room room;
+
+        /// <summary>
+        /// 鎴块棿
+        /// </summary>
+        private Button roomBtn;
+        /// <summary>
+        /// 鎴块棿鍚�
+        /// </summary>
+        private Button roomName;
+        /// <summary>
+        /// 缃戝叧
+        /// </summary>
+        private ZbGateway zbGateway = null;
+        /// <summary>
+        /// 鏄惁鍙戦�佹帶鍒跺懡浠ゆ垚鍔熶簡
+        /// </summary>
+        private bool sendedControlCommand = false;
+
+        /// <summary>
+        /// bodyFrameLayout
+        /// </summary>
+        private FrameLayout bodyFrameLayout;
+        /// <summary>
+        /// 瀹ゆ俯
         /// </summary>
         private Button indoorTemperatureBtn;
+
+        /// <summary>
+        /// OpenOrUpBtn
+        /// </summary>
+        public Button OpenOrUpBtn;
+        /// <summary>
+        /// OpenOrUpBtn
+        /// </summary>
+        public Button CloseOrDownBtn;
+        /// <summary>
+        /// StopBtn
+        /// </summary>
+        public Button StopBtn;
+
+
         /// <summary>
         /// 褰撳墠妯″紡
         /// </summary>
@@ -72,6 +96,10 @@
         /// </summary>
         private Button fanModeBtn;
         /// <summary>
+        /// 鎵妯″紡
+        /// </summary>
+        private Button FanSwingModeBtn;
+        /// <summary>
         /// 椋庨�熼�夋嫨瑙嗗浘
         /// </summary>
         private Dialog fanModeDialog;
@@ -80,10 +108,13 @@
         /// </summary>
         private Dialog acModeDialog;
 
-
+        /// <summary>
+        /// 浼犺繃鏉ョ殑ac
+        /// </summary>
+        private ZigBee.Device.AC ac;
         #endregion
 
-        #region 鈼� 鎺ュ彛__________________________
+        #region 鈼� 鎺ュ彛___________________________
         /// <summary>
         /// 澶勭悊鍙樺寲浜嬩欢 --灏嗗純鐢� 鏀圭敤DeviceInfoChange()
         /// </summary>
@@ -92,22 +123,6 @@
         public void Changed(CommonDevice common)
         {
 
-        }
-        /// <summary>
-        /// Changeds the IL ogic status.
-        /// </summary>
-        /// <param name="logic">Logic.</param>
-        public void ChangedILogicStatus(ZigBee.Device.Logic logic)
-        {
-            //throw new NotImplementedException();
-        }
-        /// <summary>
-        /// Changeds the IS cene status.
-        /// </summary>
-        /// <param name="scene">Scene.</param>
-        public void ChangedISceneStatus(Scene scene)
-        {
-            //throw new NotImplementedException();
         }
         /// <summary>
         /// 璁惧鐘舵�佹洿鏂版帴鍙�
@@ -128,84 +143,94 @@
                     try
                     {
                         var deviceUI = device;
-                        //璁惧涓虹┖
                         if (deviceUI.CommonDevice == null)
                         {
                             return;
                         }
-                        //鏄惁涓哄綋鍓嶈澶�
                         if (deviceUI.CommonDevice.DeviceEpoint != common.DeviceEpoint || deviceUI.CommonDevice.DeviceAddr != common.DeviceAddr)
                         {
                             return;
                         }
-                        if (deviceUI.CommonDevice.Type == DeviceType.Thermostat)
+
+                        if (common.DeviceStatusReport.CluterID == 513)
                         {
-                            //Thermostat鍔熻兘
-                            if (common.DeviceStatusReport.CluterID == 513)
+                            var attriButeList = common.DeviceStatusReport.AttriBute;
+                            if (attriButeList == null || attriButeList.Count == 0)
                             {
-                                var attriButeList = common.DeviceStatusReport.AttriBute;
-                                if (attriButeList == null || attriButeList.Count == 0)
-                                {
-                                    return;
-                                }
-                                ac.DeviceStatusReport = common.DeviceStatusReport;
-                                switch (attriButeList[0].AttributeId)
-                                {
-                                    case 0:
-                                        //姝ゅ睘鎬ц〃鏄庡鍐呭綋鍓嶇殑娓╁害 * 100锛屽疄闄呮俯搴︿负鈥淟ocalTemperature / 100鈥濓紝鍗曚綅锛氣剝
-                                        ac.currentLocalTemperature = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
-                                        ac.LastDateTime = DateTime.Now;
-                                        indoorTemperatureBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.IndoorTemperature)} {ac.currentLocalTemperature} 鈩�";
-                                        //currentTemperatureBtn.Text = $"{ac.currentLocalTemperature} 鈩�";
-                                        break;
+                                return;
+                            }
+                            deviceUI.CommonDevice.DeviceStatusReport = common.DeviceStatusReport;
+                            var curTemp = (attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
+                            switch (attriButeList[0].AttributeId)
+                            {
+                                case 0:
+                                    ac.currentLocalTemperature = curTemp;
+                                    ac.LastDateTime = DateTime.Now;
+                                    indoorTemperatureBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {ac.currentLocalTemperature} 鈩�";
+                                    //currentTemperatureBtn.Text = $"{ac.currentLocalTemperature} 鈩�";
+                                    break;
 
-                                    case 17:
-                                        //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鍐锋俯搴︼紝瀹為檯娓╁害涓衡�淐oolingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
-                                        ac.currentCoolingSetpoint = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
-                                        ac.LastDateTime = DateTime.Now;
-                                        break;
+                                case 17:
+                                    ac.currentCoolingSetpoint = curTemp;
+                                    if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
+                                    {
+                                        currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 鈩�";
+                                    }
 
-                                    case 18:
-                                        //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鐑俯搴︼紝瀹為檯娓╁害涓衡�淗eatingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
-                                        ac.currentHeatingSetpoint = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
-                                        ac.LastDateTime = DateTime.Now;
-                                        break;
+                                    ac.LastDateTime = DateTime.Now;
+                                    break;
 
-                                    case 4096:
-                                        //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勮嚜鍔ㄦ俯搴︼紝瀹為檯娓╁害涓衡�淎utoSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
-                                        ac.currentAutoSetpoint = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
-                                        ac.LastDateTime = DateTime.Now;
-                                        break;
+                                case 18:
+                                    ac.currentHeatingSetpoint = curTemp;
+                                    if (ac.currentSystemMode == 4)
+                                    {
+                                        currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 鈩�";
+                                    }
+                                    ac.LastDateTime = DateTime.Now;
+                                    break;
 
-                                    case 28:
-                                        //姝ゅ睘鎬ф弿杩版亽娓╄澶囨澶勪簬鍝妯″紡
-                                        //Off = 0  Auto = 1 Cool = 3 Heat = 4 FanOnly = 7  Dry = 8
-                                        ac.currentSystemMode = attriButeList[0].AttriButeData;
-                                        ac.LastDateTime = DateTime.Now;
-                                        if (ac.currentSystemMode == 0)
-                                        {
-                                            switchBtn.IsSelected = false;
-                                            modeBtn.IsSelected = false;
-                                            modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode);
-                                            modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode);
-                                            currentModeBtn.Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode);
-                                        }
-                                        else if (ac.currentSystemMode == 1 || ac.currentSystemMode == 3 || ac.currentSystemMode == 4 || ac.currentSystemMode == 7 || ac.currentSystemMode == 8)
-                                        {
-                                            switchBtn.IsSelected = true;
-                                            modeBtn.IsSelected = true;
-                                            modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode);
-                                            modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode);
-                                            currentModeBtn.Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode);
+                                case 4096:
+                                    ac.currentAutoSetpoint = curTemp;
+                                    if (ac.currentSystemMode == 1)
+                                    {
+                                        currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 鈩�";
+                                    }
+                                    ac.LastDateTime = DateTime.Now;
+                                    break;
 
-                                            currentTemperatureBtn.Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 鈩�";
-                                        }
-                                        break;
-                                }
+                                case 28:
+                                    //姝ゅ睘鎬ф弿杩版亽娓╄澶囨澶勪簬鍝妯″紡
+                                    //Off = 0  Auto = 1 Cool = 3 Heat = 4 FanOnly = 7  Dry = 8
+                                    ac.currentSystemMode = attriButeList[0].AttriButeData;
+                                    ac.LastDateTime = DateTime.Now;
+                                    if (ac.currentSystemMode == 0)
+                                    {
+                                        switchBtn.IsSelected = false;
+                                        modeBtn.IsSelected = false;
+                                        modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode);
+                                        modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode);
+                                        currentModeBtn.Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode);
+                                        currentTemperatureBtn.Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 鈩�";
 
+                                        fanModeBtn.IsSelected = false;
+                                        FanSwingModeBtn.IsSelected = false;
+                                    }
+                                    else if (ac.currentSystemMode == 1 || ac.currentSystemMode == 3 || ac.currentSystemMode == 4 || ac.currentSystemMode == 7 || ac.currentSystemMode == 8)
+                                    {
+                                        switchBtn.IsSelected = true;
+                                        modeBtn.IsSelected = true;
+                                        modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode);
+                                        modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode);
+                                        currentModeBtn.Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode);
+                                        currentTemperatureBtn.Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 鈩�";
+
+                                        fanModeBtn.IsSelected = true;
+                                        FanSwingModeBtn.IsSelected = true;
+                                    }
+                                    break;
                             }
                         }
-                        //Fan Control鍔熻兘
+
                         if (common.DeviceStatusReport.CluterID == 514)
                         {
                             var attriButeList = common.DeviceStatusReport.AttriBute;
@@ -224,18 +249,25 @@
                                     fanModeBtn.SelectedImagePath = ACControlBase.GetFanModeSelectedImagePathByFanModeId(ac.currentFanMode);
                                     fanModeBtn.UnSelectedImagePath = ACControlBase.GetFanModeUnSelectedImagePathByFanModeId(ac.currentFanMode);
                                     break;
+                                case 4096:
+                                    //椋庢墖褰撳墠鐨勬壂椋庢ā寮� 
+                                    ac.currentFanSwingMode = attriButeList[0].AttriButeData;
+                                    ac.LastDateTime = DateTime.Now;
+                                    FanSwingModeBtn.IsSelected = true;
+                                    FanSwingModeBtn.SelectedImagePath = ACControlBase.GetFanSwingModeSelectedImagePathByFanSwingModeId(ac.currentFanSwingMode);
+                                    FanSwingModeBtn.UnSelectedImagePath = ACControlBase.GetFanSwingModeUnSelectedImagePathByFanSwingModeId(ac.currentFanSwingMode);
+                                    break;
                             }
-                            //***鏂版敼***璁惧鐘舵�佷笂鎶ヤ腑锛屽綋CluterID=3,璇佹槑璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
-                            //else if ((common as ToggleLight).DeviceStatusReport.CluterID == 3)
-                            //{
-                            //var light = deviceUI.CommonDevice as ToggleLight;
-                            //light.IsOnline = 1;
-                            //deviceIMG.IsSelected = light.IsOnline == 1;
-                            //light.LastDateTime = DateTime.Now;
-                            //}
+                        }
+                        //***鏂版敼 * **璁惧鐘舵�佷笂鎶ヤ腑锛屽綋CluterID = 3,璇佹槑璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
+                        else if (common.DeviceStatusReport.CluterID == 3)
+                        {
+                            ac.IsOnline = 1;
+                            switchBtn.IsSelected = true;
+                            ac.LastDateTime = DateTime.Now;
+                        }
 
                         }
-                    }
                     catch (Exception ex)
                     {
                         System.Console.WriteLine($"Error:{ex.Message}");
@@ -261,8 +293,7 @@
                         }
                         if (deviceUI.CommonDevice.Type == DeviceType.Thermostat)
                         {
-                            ac = deviceUI.CommonDevice as ZigBee.Device.AC;
-                            ac.IsOnline = (common as DimmableLight).IsOnline;
+                            ac.IsOnline = common.IsOnline;
                             ac.LastDateTime = DateTime.Now;
                         }
                     }
@@ -273,57 +304,74 @@
                 });
             }
         }
-
-
-        #endregion
-
-        #region 鈼� 閲嶅啓绉婚櫎_______________________
-
         /// <summary>
-        /// Removes from parent.
+        /// Changeds the IL ogic status.
         /// </summary>
-        public override void RemoveFromParent()
+        /// <param name="logic">Logic.</param>
+        public void ChangedILogicStatus(ZigBee.Device.Logic logic)
         {
-            ZbGateway.StatusList.Remove(this);
-            base.RemoveFromParent();
+            //throw new NotImplementedException();
         }
-
+        /// <summary>
+        /// Changeds the IS cene status.
+        /// </summary>
+        /// <param name="scene">Scene.</param>
+        public void ChangedISceneStatus(Scene scene)
+        {
+            //throw new NotImplementedException();
+        }
         #endregion
 
-        #region 鈼� 鏋勯�犳柟娉昣______________________
+        #region 鈼� 鏋勯�犳柟娉昣_______________________
+
         /// <summary>
         /// 鏋勯�犳柟娉�
         /// </summary>
         public ACControl()
         {
             BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor;
+            ZigBee.Device.ZbGateway.StatusList.Add(this);
         }
 
         #endregion
 
-        #region 鈼� 鍒濆鍖朹_______________________
+        #region 鈼� 閲嶅啓绉婚櫎鏂规硶____________________
 
         /// <summary>
-        /// 鍒濆鍖�
+        /// Removes from parent.
         /// </summary>
-        /// <param name="device">Device.</param>
-        /// <param name="room">Room.</param>
-        private void InitAC(DeviceUI device, Common.Room room)
+        public override void RemoveFromParent()
         {
-            ZbGateway.StatusList.Add(this);
-            this.device = device;
+            ZigBee.Device.ZbGateway.StatusList.Remove(this);
+            //action();
+            //action = null;
+            RemoveUpdateControlDeviceStatuAction();
+            base.RemoveFromParent();
+        }
+
+        #endregion
+
+        #region 鈼� 鏄剧ず鐣岄潰________________________
+
+        /// <summary>
+        /// 鏄剧ず鐣岄潰
+        /// </summary>
+        /// <param name="dev">Device.</param>
+        /// <param name="room">Room.</param>
+        public void Show(DeviceUI dev, Shared.Common.Room room)
+        {
+            device = dev;
+            zbGateway = this.device.CommonDevice.Gateway;
             this.room = room;
             this.ac = device.CommonDevice as ZigBee.Device.AC;
+            AddTop();
 
-            //娣诲姞topview
-            AddTopView();
-            //娣诲姞midview
-            AddMidview();
-            //缁戝畾浜嬩欢
-            BindEvent();
-            //鏀惰棌
-            InitCollection();
+            AddBodyView(device);
 
+            if (ac.Gateway == null)
+            {
+                return;
+            }
             if (ac.Gateway.IsVirtual)
             {
                 //鍙戦�佽鍙栫姸鎬佸懡浠�
@@ -336,6 +384,7 @@
                     ac.ReadAutoSetpoint();
                     ac.ReadFanMode();
                     ac.ReadSystemMode();
+                    ac.ReadSystemFansSwingMode();
                 });
             }
             else
@@ -350,18 +399,12 @@
                     ac.ReadAutoSetpoint();
                     ac.ReadFanMode();
                     ac.ReadSystemMode();
+                    ac.ReadSystemFansSwingMode();
                 }
             }
 
-        }
-
-        /// <summary>
-        /// Inits the collection.
-        /// </summary>
-        private void InitCollection()
-        {
-            var dev = Shared.Common.Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
-            if (dev == null)
+            var de = Shared.Common.Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
+            if (de == null)
             {
                 collectionBtn.IsSelected = false;
             }
@@ -369,32 +412,22 @@
             {
                 collectionBtn.IsSelected = true;
             }
-        }
 
 
-        #endregion
+            BindEvent();
 
-        #region 鈼� 鏄剧ず鐣岄潰_______________________
-        /// <summary>
-        /// 鏄剧ず鐣岄潰
-        /// </summary>
-        /// <param name="device">Device.</param>
-        /// <param name="room">Room.</param>
-        public void Show(DeviceUI device, Shared.Common.Room room)
-        {
-            InitAC(device, room);
         }
 
         #endregion
 
-        #region 鈼� topview_______________________
+        #region 鈼� Add____________________________
 
         /// <summary>
-        /// Adds the top view.
+        /// AddTop
         /// </summary>
-        private void AddTopView()
+        public void AddTop()
         {
-            top = new CommonForm.TopFrameLayout();
+            var top = new TopFrameLayout();
             AddChidren(top);
             top.InitTopview();
             top.backButton.MouseUpEventHandler += (sender, e) =>
@@ -402,146 +435,107 @@
                 RemoveFromParent();
             };
 
-            AddMoreview();
-        }
-
-        /// <summary>
-        /// Adds the moreview.
-        /// </summary>
-        private void AddMoreview()
-        {
-            moreBtn = new CommonForm.SelectedStatuButton()
+            var sharedBtn = new Button
             {
-                X = Application.GetRealWidth(CommonPage.AppRealWidth - 150),
-                Width = Application.GetMinReal(110),
-                Height = Application.GetMinReal(110),
+                X = Application.GetRealWidth(850),
+                Width = Application.GetMinReal(69),
+                Height = Application.GetMinReal(69),
                 Gravity = Gravity.CenterVertical,
-                UnSelectedImagePath = "Item/More.png",
-                SelectedImagePath = "Item/MoreSelected.png",
+                UnSelectedImagePath = "Item/Shared.png"
+            };
+            top.topView.AddChidren(sharedBtn);
+
+            var moreBtn = new Button
+            {
+                X = Application.GetRealWidth(953),
+                Width = Application.GetMinReal(69),
+                Height = Application.GetMinReal(69),
+                Gravity = Gravity.CenterVertical,
+                UnSelectedImagePath = "Item/More.png"
             };
             top.topView.AddChidren(moreBtn);
-        }
 
+            moreBtn.MouseUpEventHandler += More;
+
+        }
         /// <summary>
-        /// 鏇村璁剧疆
+        /// AddBodyView
         /// </summary>
-        /// <param name="sender">Sender.</param>
-        /// <param name="e">E.</param>
-        private void MoreEvent(object sender, MouseEventArgs e)
+        public void AddBodyView(DeviceUI device)
         {
-            var detailInfo = new Device.CommonForm.DeviceDetailInfo { };
-            UserView.HomePage.Instance.AddChidren(detailInfo);
-            UserView.HomePage.Instance.PageIndex += 1;
-            detailInfo.Show(device, room);
-            detailInfo.action = () =>
+            bodyFrameLayout = new FrameLayout()
             {
-                Show(device, room);
+                Y = Application.GetRealHeight(184),
+                Height = Application.GetRealHeight(1737),
+                BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor,
             };
-        }
+            AddChidren(bodyFrameLayout);
 
-        #endregion
-
-        #region 鈼� midview_______________________
-
-        /// <summary>
-        /// Adds the midview.
-        /// </summary>
-        private void AddMidview()
-        {
-            midFL = new FrameLayout()
-            {
-                Height = Application.GetRealHeight(CommonPage.AppRealHeight - CommonPage.Navigation_Height),
-                Y = top.Bottom,
-                BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
-            };
-            AddChidren(midFL);
-
-            AddItemview();
-        }
-
-        #endregion
-
-        #region 鈼� itemview_______________________
-        /// <summary>
-        /// Adds the itemview.
-        /// </summary>
-        private void AddItemview()
-        {
             var itemView = new FrameLayout()
             {
-                Y=Application.GetRealHeight(115),
+                Y = Application.GetRealHeight(115),
                 Width = Application.GetRealWidth(965),
-                Height = Application.GetRealHeight(1316),
-                Radius = CommonPage.BigFormRadius,
+                Height = Application.GetRealHeight(1457),
+                Radius = (uint)Application.GetRealHeight(CommonFormResouce.BigFormRadius),
                 Gravity = Gravity.CenterHorizontal,
-                BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor
+                BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
             };
-            midFL.AddChidren(itemView);
-            var deviceView = new FrameLayout()
-            {
-                X = 2,
-                Y = 2,
-                Width = itemView.Width - 4,
-                Height = itemView.Height - Application.GetRealHeight(138),
-                BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
-                Tag = device
-            };
-            itemView.AddChidren(deviceView);
+            bodyFrameLayout.AddChidren(itemView);
 
             collectionBtn = new Button()
             {
-                X = deviceView.Width - Application.GetRealWidth(130),
-                Y = Application.GetRealHeight(20),
-                Width = Application.GetMinReal(110),
-                Height = Application.GetMinReal(110),
+                X = Application.GetRealWidth(850),
+                Y = Application.GetRealHeight(46),
+                Width = Application.GetMinReal(69),
+                Height = Application.GetMinReal(69),
                 UnSelectedImagePath = "Item/Collection.png",
                 SelectedImagePath = "Item/CollectionSelected.png"
             };
-            deviceView.AddChidren(collectionBtn);
+            itemView.AddChidren(collectionBtn);
 
-            var deviceName = new Button()
+            var deviceNameBtn = new Button()
             {
-                Y = Application.GetRealHeight(50),
-                Height = Application.GetRealHeight(80),
+                Y = Application.GetRealHeight(184),
+                Width = Application.GetRealWidth(500),
+                Height = Application.GetRealHeight(60),
+                Gravity = Gravity.CenterHorizontal,
+                Text = device.CommonDevice.DeviceEpointName,
+                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
+                TextSize = 15
+            };
+            itemView.AddChidren(deviceNameBtn);
+
+            indoorTemperatureBtn = new Button
+            {
+                Y = Application.GetRealHeight(256),
                 Width = Application.GetRealWidth(600),
+                Height = Application.GetRealHeight(60),
                 Gravity = Gravity.CenterHorizontal,
-                Text=device.CommonDevice.DeviceEpointName,
-                TextSize=15,
-                TextColor=ZigbeeColor.Current.GXCTextBlackColor
+                TextColor = ZigbeeColor.Current.GXCTextGrayColor,
+                Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {ac.currentLocalTemperature} 鈩�"
             };
-            deviceView.AddChidren(deviceName);
+            itemView.AddChidren(indoorTemperatureBtn);
 
-            indoorTemperatureBtn = new Button()
-            {
-                Y = deviceName.Bottom,
-                Height = Application.GetRealHeight(80),
-                Width = Application.GetRealWidth(300),
-                Gravity = Gravity.CenterHorizontal,
-                Text = $"{Language.StringByID(R.MyInternationalizationString.IndoorTemperature)} {ac.currentLocalTemperature}掳C" ,
-                TextSize = 12,
-                TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor
-            };
-            deviceView.AddChidren(indoorTemperatureBtn);
 
             var controlBG = new FrameLayout()
             {
-                Y = Application.GetRealHeight(323),
+                Y = Application.GetRealHeight(412),
                 Height = Application.GetMinRealAverage(547),
                 Width = Application.GetMinRealAverage(671),
                 Gravity = Gravity.CenterHorizontal,
                 BackgroundImagePath = "AC/Group.png"
             };
-            deviceView.AddChidren(controlBG);
+            itemView.AddChidren(controlBG);
 
             var controlBG2 = new Button()
             {
-                Y=Application.GetRealHeight(783),
-                Height=Application.GetMinRealAverage(121),
-                Width=Application.GetMinRealAverage(351),
-                UnSelectedImagePath="AC/Path.png",
-                Gravity=Gravity.CenterHorizontal
+                Y = Application.GetRealHeight(873),
+                Height = Application.GetMinRealAverage(121),
+                Width = Application.GetMinRealAverage(351),
+                UnSelectedImagePath = "AC/Path.png",
+                Gravity = Gravity.CenterHorizontal
             };
-            deviceView.AddChidren(controlBG2);
+            itemView.AddChidren(controlBG2);
             //褰撳墠妯″紡
             currentModeBtn = new Button()
             {
@@ -549,8 +543,8 @@
                 Height = Application.GetRealHeight(80),
                 Width = Application.GetRealWidth(200),
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                Gravity=Gravity.CenterHorizontal,
-                Text=ACControlBase.GetModeNameByModeId(ac.currentSystemMode)
+                Gravity = Gravity.CenterHorizontal,
+                Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode)
             };
             controlBG.AddChidren(currentModeBtn);
             //闄嶄綆娓╁害
@@ -571,10 +565,10 @@
                 Y = Application.GetRealHeight(248),
                 Width = Application.GetRealWidth(180),
                 Height = Application.GetRealHeight(100),
-                TextColor=ZigbeeColor.Current.GXCTextBlackColor,
-                TextSize=15,
-                Text=$"{ACControlBase.GetCurrentModeTemperature(ac)} 掳C",
-                Gravity=Gravity.CenterHorizontal
+                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
+                TextSize = 15,
+                Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 掳C",
+                Gravity = Gravity.CenterHorizontal
             };
             controlBG.AddChidren(currentTemperatureBtn);
 
@@ -589,68 +583,142 @@
             };
             controlBG.AddChidren(addTemperatureBtn);
 
+            //鎵
+            FanSwingModeBtn = new Button()
+            {
+                X = Application.GetRealWidth(156),
+                Y = Application.GetRealHeight(1086),
+                Width = Application.GetMinRealAverage(80),
+                Height = Application.GetMinRealAverage(80),
+                UnSelectedImagePath = ACControlBase.GetFanSwingModeUnSelectedImagePathByFanSwingModeId(ac.currentFanSwingMode),
+                SelectedImagePath = ACControlBase.GetFanSwingModeSelectedImagePathByFanSwingModeId(ac.currentFanSwingMode),
+                IsSelected = ACControlBase.IsOpen(ac)
+            };
+            itemView.AddChidren(FanSwingModeBtn);
+            
             //妯″紡
             modeBtn = new Button()
             {
-                X = Application.GetRealWidth(207),
-                Y = Application.GetRealHeight(996),
+                X = Application.GetRealWidth(346),
+                Y = Application.GetRealHeight(1086),
                 Width = Application.GetMinRealAverage(80),
                 Height = Application.GetMinRealAverage(80),
                 UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode),
                 SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode),
                 IsSelected = ACControlBase.IsOpen(ac)
             };
-            deviceView.AddChidren(modeBtn);
+            itemView.AddChidren(modeBtn);
 
             //寮�鍏�
             switchBtn = new Button()
             {
-                X = Application.GetRealWidth(446),
-                Y = Application.GetRealHeight(996),
+                X = Application.GetRealWidth(536),
+                Y = Application.GetRealHeight(1086),
                 Width = Application.GetMinRealAverage(80),
                 Height = Application.GetMinRealAverage(80),
                 UnSelectedImagePath = "AC/OpenOrClose.png",
                 SelectedImagePath = "AC/OpenOrCloseSelected.png",
                 IsSelected = ACControlBase.IsOpen(ac)
             };
-            deviceView.AddChidren(switchBtn);
+            itemView.AddChidren(switchBtn);
 
             //椋庨��
             fanModeBtn = new Button()
             {
-                X = Application.GetRealWidth(667),
-                Y = Application.GetRealHeight(996),
+                X = Application.GetRealWidth(729),
+                Y = Application.GetRealHeight(1086),
                 Width = Application.GetMinRealAverage(80),
                 Height = Application.GetMinRealAverage(80),
                 UnSelectedImagePath = ACControlBase.GetFanModeUnSelectedImagePathByFanModeId(ac.currentFanMode),
                 SelectedImagePath = ACControlBase.GetFanModeSelectedImagePathByFanModeId(ac.currentFanMode),
                 IsSelected = ACControlBase.IsOpen(ac)
             };
-            deviceView.AddChidren(fanModeBtn);
+            itemView.AddChidren(fanModeBtn);
 
-            var roomBtn = new Button()
+            var roomBG = new Button
             {
-                X = Application.GetRealWidth(50),
-                Y = Application.GetRealHeight(25) + deviceView.Bottom,
+                Y = Application.GetRealHeight(1322 - 50),
+                Height = Application.GetRealHeight(138 + 50),
+                BackgroundColor = ZigbeeColor.Current.GXCBlackBackgroundColor,
+                Radius = (uint)Application.GetRealHeight(CommonFormResouce.BigFormRadius)
+            };
+            itemView.AddChidren(roomBG);
+
+            var roomBG2 = new Button
+            {
+                Y = Application.GetRealHeight(1322 - 50),
+                Height = Application.GetRealHeight(50),
+                BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
+            };
+            itemView.AddChidren(roomBG2);
+
+            roomBtn = new Button()
+            {
+                X = Application.GetRealWidth(CommonFormResouce.X_Left),
+                Y = Application.GetRealHeight(1351),
                 Width = Application.GetMinReal(80),
                 Height = Application.GetMinReal(80),
-                UnSelectedImagePath = "Item/Room.png",
-                SelectedImagePath = "Item/RoomSelected.png"
+                UnSelectedImagePath = "Item/Room.png"
             };
             itemView.AddChidren(roomBtn);
 
-            var roomName = new Button()
+            roomName = new Button()
             {
-                X = roomBtn.Right + Application.GetRealWidth(20),
-                Y = roomBtn.Y,
+                X = Application.GetRealWidth(150),
+                Y = Application.GetRealHeight(1368),
                 Width = Application.GetRealWidth(400),
-                Height = Application.GetRealHeight(80),
+                Height = Application.GetRealHeight(50),
                 Text = room.Name,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                SelectedTextColor = ZigbeeColor.Current.GXCTextBlueColor
+                TextColor = ZigbeeColor.Current.GXCTextWhiteColor
             };
             itemView.AddChidren(roomName);
+        }
+
+        #endregion
+
+        #region 鈼� 缁戝畾浜嬩欢________________________
+
+        /// <summary>
+        /// 缁戝畾鎸夐挳鐨勪簨浠�
+        /// </summary>
+        private void BindEvent()
+        {
+            switchBtn.MouseUpEventHandler += Switch_MouseUpEvent;
+            collectionBtn.MouseUpEventHandler += Collection;
+            fanModeBtn.MouseUpEventHandler += ShowChangeFan_MouseUpEvent;
+            modeBtn.MouseUpEventHandler += ShowChangeMode_MouseUpEvent;
+            FanSwingModeBtn.MouseUpEventHandler += ShowChangeFanSwing_MouseUpEvent;
+            reduceTemperatureBtn.MouseUpEventHandler += Reduce_MouseUpEvent;
+            addTemperatureBtn.MouseUpEventHandler += Add_MouseUpEvent;
+        }
+
+        #endregion
+
+        #region 鈼� 寮�鍏砡_________________________
+
+        /// <summary>
+        /// 寮�鍏�
+        /// </summary>
+        /// <param name="sender">Sender.</param>
+        /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
+        private void Switch_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs)
+        {
+            switchBtn.IsSelected = !switchBtn.IsSelected;
+            if (switchBtn.IsSelected == true)
+            {
+                ac.Open();
+                modeBtn.IsSelected = true;
+                fanModeBtn.IsSelected = true;
+                FanSwingModeBtn.IsSelected = true;
+            }
+            else
+            {
+                ac.Close();
+                modeBtn.IsSelected = false;
+                fanModeBtn.IsSelected = false;
+                FanSwingModeBtn.IsSelected = false;
+            }
         }
 
         #endregion
@@ -679,8 +747,8 @@
 
             var changeFanModeBG = new Button()
             {
-                X = Application.GetRealWidth(553),
-                Y = Application.GetRealHeight(655),
+                X = Application.GetRealWidth(600),
+                Y = Application.GetRealHeight(750),
                 Height = Application.GetRealHeight(625),
                 Width = Application.GetRealWidth(fanItem_Width),
                 UnSelectedImagePath = "AC/SelectedFanModeBG.png"
@@ -689,8 +757,8 @@
 
             var changeFanModeFL = new FrameLayout()
             {
-                X = Application.GetRealWidth(553),
-                Y = Application.GetRealHeight(655),
+                X = Application.GetRealWidth(600),
+                Y = Application.GetRealHeight(750),
                 Height = Application.GetRealHeight(600),
                 Width = Application.GetRealWidth(fanItem_Width),
                 Radius = CommonPage.BigFormRadius,
@@ -758,7 +826,7 @@
                 {
                     fan_Middle.SetSelectedStatu();
                 }
-                else if (ac.currentFanMode == 3)
+                else
                 {
                     fan_Height.SetSelectedStatu();
                 }
@@ -770,10 +838,10 @@
         /// </summary>
         /// <param name="sender">Sender.</param>
         /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
-        private void ChangeFan_MouseUpEvent(object sender,MouseEventArgs mouseEventArgs)
+        private void ChangeFan_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs)
         {
             var tag = (sender as Button).Tag.ToString();
-            ZigBee.Device.AC.FanMode mode= ZigBee.Device.AC.FanMode.Low;
+            ZigBee.Device.AC.FanMode mode = ZigBee.Device.AC.FanMode.Low;
             if (tag == "Low")
             {
                 mode = ZigBee.Device.AC.FanMode.Low;
@@ -807,7 +875,7 @@
             fanModeBtn.UnSelectedImagePath = ACControlBase.GetFanModeUnSelectedImagePathByFanMode(fanMode);
             ac.currentFanMode = (int)(fanMode);
 
-            (device.CommonDevice as ZigBee.Device.AC).SetFanModeAsync(fanMode);
+            ac.SetFanModeAsync(fanMode);
         }
 
         #endregion
@@ -835,8 +903,8 @@
 
             var changeModeBG = new Button()
             {
-                X = Application.GetRealWidth(80),
-                Y = Application.GetRealHeight(360),
+                X = Application.GetRealWidth(230),
+                Y = Application.GetRealHeight(450),
                 Height = Application.GetRealHeight(933),
                 Width = Application.GetRealWidth(modeItem_Width),
                 UnSelectedImagePath = "AC/SelectedModeBG.png"
@@ -845,8 +913,8 @@
 
             var changeModeFL = new FrameLayout()
             {
-                X = Application.GetRealWidth(80),
-                Y = Application.GetRealHeight(360),
+                X = Application.GetRealWidth(230),
+                Y = Application.GetRealHeight(450),
                 Height = Application.GetRealHeight(900),
                 Width = Application.GetRealWidth(modeItem_Width),
                 Radius = CommonPage.BigFormRadius,
@@ -978,11 +1046,11 @@
             {
                 mode = ZigBee.Device.AC.AcMode.Heat;
             }
-            else if(tag =="Dry")
+            else if (tag == "Dry")
             {
                 mode = ZigBee.Device.AC.AcMode.Dry;
             }
-            else if(tag == "FanOnly")
+            else if (tag == "FanOnly")
             {
                 mode = ZigBee.Device.AC.AcMode.FanOnly;
             }
@@ -1008,34 +1076,230 @@
             currentModeBtn.Text = ACControlBase.GetModeNameByMode(acMode);
             ac.currentSystemMode = (int)acMode;
             currentTemperatureBtn.Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 掳C";
-            (device.CommonDevice as ZigBee.Device.AC).SetSystemModeAsync(acMode);
+            ac.SetSystemModeAsync(acMode);
+
+
         }
 
         #endregion
 
-        #region 鈼� 寮�鍏砡_________________________
+        #region 鈼� 鍒囨崲鎵___________________________
+
 
         /// <summary>
-        /// 寮�鍏�
+        /// 鍒囨崲鎵
         /// </summary>
         /// <param name="sender">Sender.</param>
         /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
-        private void Switch_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs)
+        private void ShowChangeFanSwing_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs)
         {
-            switchBtn.IsSelected = !switchBtn.IsSelected;
-            if (switchBtn.IsSelected == true)
+            int fanItem_X = 80;
+            int fanItem_Height = 150;
+            int fanItem_Width = 449;
+
+            fanModeDialog = new Dialog();
+            fanModeDialog.Show();
+            var closeBGview = new FrameLayout();
+            fanModeDialog.AddChidren(closeBGview);
+            closeBGview.MouseUpEventHandler += (send1, e1) =>
             {
-                ac.Open();
-                modeBtn.IsSelected = true;
-                fanModeBtn.IsSelected = true;
-            }
-            else
+                fanModeDialog.Close();
+            };
+
+            var changeFanModeBG = new Button()
             {
-                ac.Close();
-                modeBtn.IsSelected = false;
-                fanModeBtn.IsSelected = false;
+                X = Application.GetRealWidth(35),
+                Y = Application.GetRealHeight(297),
+                Height = Application.GetRealHeight(1089),
+                Width = Application.GetRealWidth(fanItem_Width),
+                UnSelectedImagePath = "AC/SwingBackground.png"
+            };
+            closeBGview.AddChidren(changeFanModeBG);
+
+            var changeFanModeFL = new FrameLayout()
+            {
+                X = Application.GetRealWidth(35),
+                Y = Application.GetRealHeight(297),
+                Height = Application.GetRealHeight(1050),
+                Width = Application.GetRealWidth(fanItem_Width),
+                Radius = CommonPage.BigFormRadius,
+                BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
+            };
+            closeBGview.AddChidren(changeFanModeFL);
+
+            var changeFanBtn = new Button()
+            {
+                X = Application.GetRealWidth(fanItem_X),
+                Width = Application.GetRealWidth(fanItem_Width - fanItem_X),
+                Height = Application.GetRealHeight(fanItem_Height),
+                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
+                TextID = R.MyInternationalizationString.SelectSwing,
+                TextAlignment = TextAlignment.CenterLeft
+            };
+            changeFanModeFL.AddChidren(changeFanBtn);
+
+            var swing_First = new CommonForm.ACLeftIconButtonRowLayout()
+            {
+                Y = changeFanBtn.Bottom,
+                Width = Application.GetRealWidth(fanItem_Width),
+                Height = Application.GetRealHeight(fanItem_Height),
+                Tag = ZigBee.Device.AC.FanSwingMode.First
+            };
+            changeFanModeFL.AddChidren(swing_First);
+            swing_First.Init("AC/Swing_1.png", "AC/Swing_1Selected.png", Language.StringByID(R.MyInternationalizationString.Swing_First));
+
+            var swing_Second = new CommonForm.ACLeftIconButtonRowLayout()
+            {
+                Y = swing_First.Bottom,
+                Width = Application.GetRealWidth(fanItem_Width),
+                Height = Application.GetRealHeight(fanItem_Height),
+                Tag = ZigBee.Device.AC.FanSwingMode.Second
+            };
+            changeFanModeFL.AddChidren(swing_Second);
+            swing_Second.Init("AC/Swing_2.png", "AC/Swing_2Selected.png", Language.StringByID(R.MyInternationalizationString.Swing_Second));
+
+            var swing_Thrid = new CommonForm.ACLeftIconButtonRowLayout()
+            {
+                Y = swing_Second.Bottom,
+                Width = Application.GetRealWidth(fanItem_Width),
+                Height = Application.GetRealHeight(fanItem_Height),
+                Tag = ZigBee.Device.AC.FanSwingMode.Thrid
+            };
+            changeFanModeFL.AddChidren(swing_Thrid);
+            swing_Thrid.Init("AC/Swing_3.png", "AC/Swing_3Selected.png", Language.StringByID(R.MyInternationalizationString.Swing_Thrid));
+
+            var swing_Fourth = new CommonForm.ACLeftIconButtonRowLayout()
+            {
+                Y = swing_Thrid.Bottom,
+                Width = Application.GetRealWidth(fanItem_Width),
+                Height = Application.GetRealHeight(fanItem_Height),
+                Tag = ZigBee.Device.AC.FanSwingMode.Fourth
+            };
+            changeFanModeFL.AddChidren(swing_Fourth);
+            swing_Fourth.Init("AC/Swing_4.png", "AC/Swing_4Selected.png", Language.StringByID(R.MyInternationalizationString.Swing_Fourth));
+
+            var swing_Fifth = new CommonForm.ACLeftIconButtonRowLayout()
+            {
+                Y = swing_Fourth.Bottom,
+                Width = Application.GetRealWidth(fanItem_Width),
+                Height = Application.GetRealHeight(fanItem_Height),
+                Tag = ZigBee.Device.AC.FanSwingMode.Fifth
+            };
+            changeFanModeFL.AddChidren(swing_Fifth);
+            swing_Fifth.Init("AC/Swing_5.png", "AC/Swing_5Selected.png", Language.StringByID(R.MyInternationalizationString.Swing_Fifth));
+
+            var swing_Auto = new CommonForm.ACLeftIconButtonRowLayout()
+            {
+                Y = swing_Fifth.Bottom,
+                Width = Application.GetRealWidth(fanItem_Width),
+                Height = Application.GetRealHeight(fanItem_Height),
+                Tag = ZigBee.Device.AC.FanSwingMode.Auto
+            };
+            changeFanModeFL.AddChidren(swing_Auto);
+            swing_Auto.Init("AC/Swing_Auto.png", "AC/Swing_AutoSelected.png", Language.StringByID(R.MyInternationalizationString.Swing_Auto),false);
+
+
+            swing_First.TitleButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent;
+            swing_First.IconButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent;
+
+            swing_Second.TitleButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent;
+            swing_Second.IconButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent;
+
+            swing_Thrid.TitleButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent;
+            swing_Thrid.IconButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent;
+
+            swing_Fourth.TitleButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent;
+            swing_Fourth.IconButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent;
+
+            swing_Fifth.TitleButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent;
+            swing_Fifth.IconButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent;
+
+            swing_Auto.TitleButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent;
+            swing_Auto.IconButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent;
+
+            if (ACControlBase.IsOpen(ac))
+            {
+                if (ac.currentFanSwingMode == 0)
+                {
+                    swing_First.SetSelectedStatu();
+                }
+                else if (ac.currentFanSwingMode == 1)
+                {
+                    swing_Second.SetSelectedStatu();
+                }
+                else if (ac.currentFanSwingMode == 2)
+                {
+                    swing_Thrid.SetSelectedStatu();
+                }
+                else if (ac.currentFanSwingMode == 3)
+                {
+                    swing_Fourth.SetSelectedStatu();
+                }
+                else if (ac.currentFanSwingMode == 4)
+                {
+                    swing_Fifth.SetSelectedStatu();
+                }
+                else if (ac.currentFanSwingMode == 7)
+                {
+                    swing_Auto.SetSelectedStatu();
+                }
             }
         }
+
+        /// <summary>
+        /// 鍒囨崲鎵
+        /// </summary>
+        /// <param name="sender">Sender.</param>
+        /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
+        private void ChangeFanSwing_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs)
+        {
+            var tag = (sender as Button).Tag.ToString();
+            ZigBee.Device.AC.FanSwingMode mode = ZigBee.Device.AC.FanSwingMode.Auto;
+            if (tag == "First")
+            {
+                mode = ZigBee.Device.AC.FanSwingMode.First;
+            }
+            else if (tag == "Second")
+            {
+                mode = ZigBee.Device.AC.FanSwingMode.Second;
+            }
+            else if (tag == "Thrid")
+            {
+                mode = ZigBee.Device.AC.FanSwingMode.Thrid;
+            }
+            else if(tag=="Fourth")
+            {
+                mode = ZigBee.Device.AC.FanSwingMode.Fourth;
+            }
+            else if (tag == "Fifth")
+            {
+                mode = ZigBee.Device.AC.FanSwingMode.Fifth;
+            }
+
+
+            ChangeFanSwing(mode);
+        }
+
+        /// <summary>
+        /// 鍒囨崲鎵
+        /// </summary>
+        /// <param name="fanSwingMode">Fan mode.</param>
+        private void ChangeFanSwing(ZigBee.Device.AC.FanSwingMode fanSwingMode)
+        {
+            fanModeDialog.Close();
+            if (ACControlBase.IsOpen(ac) == false)
+            {
+                ACControlBase.ShowACIsCloseTip();
+                return;
+            }
+            FanSwingModeBtn.IsSelected = true;
+            FanSwingModeBtn.SelectedImagePath = ACControlBase.GetFanSwingModeSelectedImagePathByFanSwingMode(fanSwingMode);
+            FanSwingModeBtn.UnSelectedImagePath = ACControlBase.GetFanSwingModeUnSelectedImagePathByFanSwingMode(fanSwingMode);
+            ac.currentFanSwingMode = (int)fanSwingMode;
+
+            ac.SetFanSwingAsyncMode(fanSwingMode);
+        }
+
 
         #endregion
 
@@ -1053,25 +1317,25 @@
                 return;
             }
             //cool  //dry
-            if (ac.currentSystemMode == 3 || ac.currentSystemMode==8)
+            if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
             {
-                if(ac.currentCoolingSetpoint>=ACControlBase.Temperature_High)
+                if (ac.currentCoolingSetpoint >= ACControlBase.Temperature_High)
                 {
                     return;
                 }
                 ac.currentCoolingSetpoint += 1;
-                ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint*100);
+                ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100);
                 currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C";
             }
             //heat
             else if (ac.currentSystemMode == 4)
             {
-                if(ac.currentHeatingSetpoint>=ACControlBase.Temperature_High)
+                if (ac.currentHeatingSetpoint >= ACControlBase.Temperature_High)
                 {
                     return;
                 }
                 ac.currentHeatingSetpoint += 1;
-                ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint*100);
+                ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100);
                 currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C";
             }
             //auto
@@ -1082,7 +1346,7 @@
                     return;
                 }
                 ac.currentAutoSetpoint += 1;
-                ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint*100);
+                ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100);
                 currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C";
             }
 
@@ -1113,7 +1377,7 @@
                     return;
                 }
                 ac.currentCoolingSetpoint -= 1;
-                ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint*100);
+                ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100);
 
                 currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C";
             }
@@ -1125,7 +1389,7 @@
                     return;
                 }
                 ac.currentHeatingSetpoint -= 1;
-                ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint*100);
+                ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100);
 
                 currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C";
             }
@@ -1137,7 +1401,7 @@
                     return;
                 }
                 ac.currentAutoSetpoint -= 1;
-                ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint*100);
+                ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100);
 
                 currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C";
             }
@@ -1146,7 +1410,70 @@
 
         #endregion
 
-        #region 鈼� 鏀惰棌__________________________
+       
+
+        #region 鈼� 鎺у埗鍙嶉_________________________
+
+        /// <summary>
+        /// 鏄剧ず璁惧鎺у埗鐘舵��
+        /// </summary>
+        /// <param name="command">Command.</param>
+        /// <param name="objValue">Object value.</param>
+        private void UpdateDeviceControllStatu(string command, object objValue)
+        {
+            if (command != "DeviceDefaultAck" || objValue == null)
+            {
+                return;
+            }
+            var tempDevice = (CommonDevice)objValue;
+            if (tempDevice.DeviceEpoint != this.device.CommonDevice.DeviceEpoint || tempDevice.DeviceAddr != this.device.CommonDevice.DeviceAddr)
+            {
+                //涓嶆槸褰撳墠璁惧鐨勬帹閫侊紝鍒欎笉澶勭悊
+                return;
+            }
+            //鏍囪宸茬粡鍙戦�佹帶鍒跺懡浠ゅ埌缃戝叧
+            sendedControlCommand = true;
+            //鎴愬姛涓嶆彁绀�
+            //DeviceUI.ShowStatuTip(R.MyInternationalizationString.Success);
+        }
+
+        /// <summary>
+        /// 绉婚櫎鏇存柊鎺у埗璁惧鐨刟ction
+        /// </summary>
+        private void RemoveUpdateControlDeviceStatuAction()
+        {
+            //绉婚櫎action
+            if (zbGateway != null)
+            {
+                zbGateway.ReportAction -= UpdateDeviceControllStatu;
+            }
+        }
+
+        #endregion
+
+        #region 鈼� 鏇村璁剧疆________________________
+
+        /// <summary>
+        /// 鏇村璁剧疆
+        /// </summary>
+        /// <param name="sender">Sender.</param>
+        /// <param name="e">E.</param>
+        private void More(object sender, MouseEventArgs e)
+        {
+            var detailInfo = new Device.CommonForm.DeviceDetailInfo { };
+            UserView.HomePage.Instance.AddChidren(detailInfo);
+            UserView.HomePage.Instance.PageIndex += 1;
+            detailInfo.Show(device, room);
+            detailInfo.action = () =>
+            {
+                Show(device, room);
+            };
+        }
+
+        #endregion
+
+        #region 鈼� 鏀惰棌鍒颁富椤礯______________________
+
         /// <summary>
         /// 鏀惰棌鍒颁富椤�
         /// </summary>
@@ -1169,19 +1496,17 @@
 
         #endregion
 
-        #region 鈼� 缁戝畾鎸夐挳_______________________
+        #region 鈼� 鍥炲埌涓婚〉________________________
+
         /// <summary>
-        /// 缁戝畾鎸夐挳鐨勪簨浠�
+        /// 鍥炲埌涓婚〉
         /// </summary>
-        private void BindEvent()
+        /// <param name="sender">Sender.</param>
+        /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
+        private void BackToRoomHandler(object sender, MouseEventArgs mouseEventArgs)
         {
-            switchBtn.MouseUpEventHandler += Switch_MouseUpEvent;
-            reduceTemperatureBtn.MouseUpEventHandler += Reduce_MouseUpEvent;
-            addTemperatureBtn.MouseUpEventHandler += Add_MouseUpEvent;
-            collectionBtn.MouseUpEventHandler += Collection;
-            moreBtn.MouseUpEventHandler += MoreEvent;
-            fanModeBtn.MouseUpEventHandler += ShowChangeFan_MouseUpEvent;
-            modeBtn.MouseUpEventHandler += ShowChangeMode_MouseUpEvent;
+            //backToRoom
+
         }
 
         #endregion
diff --git a/ZigbeeApp/Shared/Phone/Device/AC/ACControlBase.cs b/ZigbeeApp/Shared/Phone/Device/AC/ACControlBase.cs
index 73a886b..d30aff2 100755
--- a/ZigbeeApp/Shared/Phone/Device/AC/ACControlBase.cs
+++ b/ZigbeeApp/Shared/Phone/Device/AC/ACControlBase.cs
@@ -240,6 +240,90 @@
 
         #endregion
 
+        #region 鈼� 鑾峰彇鎵妯″紡鍥剧墖鍚嶇О_____________________
+        /// <summary>
+        /// 閫氳繃鎵妯″紡鑾峰彇閫変腑鍥剧墖
+        /// </summary>
+        /// <returns>The fan mode selected image path by fan mode identifier.</returns>
+        /// <param name="swingMode">Fan mode.</param>
+        public static string GetFanSwingModeSelectedImagePathByFanSwingModeId(int swingMode)
+        {
+            if (swingMode == 0)
+            {
+                return "AC/Swing_1Selected.png";
+            }
+            else if (swingMode == 1)
+            {
+                return "AC/Swing_2Selected.png";
+            }
+            else if (swingMode == 2)
+            {
+                return "AC/Swing_3Selected.png";
+            }
+            else if (swingMode == 3)
+            {
+                return "AC/Swing_4Selected.png";
+            }
+            else if (swingMode == 4)
+            {
+                return "AC/Swing_5Selected.png";
+            }
+            return "AC/Swing_AutoSelected.png";
+        }
+
+        /// <summary>
+        /// 閫氳繃鎵妯″紡鑾峰彇鍥剧墖
+        /// </summary>
+        /// <returns>The fan mode selected image path by fan mode identifier.</returns>
+        /// <param name="swingMode">Fan mode.</param>
+        public static string GetFanSwingModeUnSelectedImagePathByFanSwingModeId(int swingMode)
+        {
+            if (swingMode == 0)
+            {
+                return "AC/Swing_1.png";
+            }
+            else if (swingMode == 1)
+            {
+                return "AC/Swing_2.png";
+            }
+            else if (swingMode == 2)
+            {
+                return "AC/Swing_3.png";
+            }
+            else if (swingMode == 3)
+            {
+                return "AC/Swing_4.png";
+            }
+            else if (swingMode == 4)
+            {
+                return "AC/Swing_5.png";
+            }
+            return "AC/Swing_Auto.png";
+        }
+
+        /// <summary>
+        /// 閫氳繃鎵妯″紡鑾峰彇閫変腑鍥剧墖
+        /// </summary>
+        /// <returns>The fan mode selected image path by fan mode identifier.</returns>
+        /// <param name="swingMode">Fan mode.</param>
+        public static string GetFanSwingModeSelectedImagePathByFanSwingMode(ZigBee.Device.AC.FanSwingMode swingMode)
+        {
+            return GetFanSwingModeSelectedImagePathByFanSwingModeId((int)swingMode);
+        }
+
+        /// <summary>
+        /// 閫氳繃鎵妯″紡鑾峰彇鍥剧墖
+        /// </summary>
+        /// <returns>The fan mode selected image path by fan mode identifier.</returns>
+        /// <param name="swingMode">Fan mode.</param>
+        public static string GetFanSwingModeUnSelectedImagePathByFanSwingMode(ZigBee.Device.AC.FanSwingMode swingMode)
+        {
+            return GetFanSwingModeUnSelectedImagePathByFanSwingModeId((int)swingMode);
+        }
+
+        #endregion
+
+
         #region 鈼� 鑾峰彇椋庨�熷浘鐗囧悕绉癬____________________
 
         /// <summary>
@@ -249,15 +333,15 @@
         /// <param name="fanMode">Fan mode.</param>
         public static string GetFanModeSelectedImagePathByFanModeId(int fanMode)
         { 
-            if(fanMode==1)
+            if(fanMode == 1)
             {
                 return "AC/Fan_LowSelected.png";
             }
-            else if(fanMode==2)
+            else if(fanMode == 2)
             {
                 return "AC/Fan_MiddleSelected.png";
             }
-            else if(fanMode==3)
+            else if(fanMode == 3)
             {
                 return "AC/Fan_HeightSelected.png";
             }
@@ -293,41 +377,17 @@
         /// <param name="fanMode">Fan mode.</param>
         public static string GetFanModeSelectedImagePathByFanMode(ZigBee.Device.AC.FanMode fanMode)
         {
-            if (fanMode == ZigBee.Device.AC.FanMode.Low)
-            {
-                return GetFanModeSelectedImagePathByFanModeId(1);
-            }
-            else if (fanMode == ZigBee.Device.AC.FanMode.Medium)
-            {
-                return GetFanModeSelectedImagePathByFanModeId(2);
-            }
-            else if (fanMode == ZigBee.Device.AC.FanMode.High)
-            {
-                return GetFanModeSelectedImagePathByFanModeId(3);
-            }
-            return GetFanModeSelectedImagePathByFanModeId(1);
+            return GetFanModeSelectedImagePathByFanModeId((int)fanMode);
         }
 
         /// <summary>
         /// 閫氳繃椋庨�熸ā寮忚幏鍙栭閫熷浘鐗�
         /// </summary>
         /// <returns>The fan mode selected image path by fan mode identifier.</returns>
-        /// <param name="fanMode">Fan mode.</param>
+        /// <param name="swingMode">Fan mode.</param>
         public static string GetFanModeUnSelectedImagePathByFanMode(ZigBee.Device.AC.FanMode fanMode)
         {
-            if (fanMode == ZigBee.Device.AC.FanMode.Low)
-            {
-                return GetFanModeUnSelectedImagePathByFanModeId(1);
-            }
-            else if (fanMode == ZigBee.Device.AC.FanMode.Medium)
-            {
-                return GetFanModeUnSelectedImagePathByFanModeId(2);
-            }
-            else if (fanMode == ZigBee.Device.AC.FanMode.High)
-            {
-                return GetFanModeUnSelectedImagePathByFanModeId(3);
-            }
-            return GetFanModeUnSelectedImagePathByFanModeId(1);
+            return GetFanModeUnSelectedImagePathByFanModeId((int)fanMode);
         }
 
         #endregion
@@ -391,7 +451,7 @@
         /// <param name="ac">Ac.</param>
         public static bool IsOpen(ZigBee.Device.AC ac)
         {
-            if(ac.currentSystemMode==0)
+            if (ac.currentSystemMode == 0)
             {
                 return false;
             }
@@ -409,8 +469,8 @@
             Application.RunOnMainThread(() =>
             {
                 string msg = Language.StringByID(R.MyInternationalizationString.TheACIsClose);
-                var tip = new Phone.UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Tip, msg);
-                tip.Show();
+                //var tip = new Phone.UserCenter.TipViewControl(msg, 1000, 1);
+                //tip.ShowView();
             });
         }
 
diff --git a/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs b/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs
index 5dcf41b..a7280e5 100755
--- a/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs
@@ -1,11 +1,7 @@
 锘縰sing System;
-using System.Collections.Generic;
-using System.Net;
-using System.Text;
 using Shared.Common;
 using Shared.Phone.UserView;
 using Shared.Phone.Device.CommonForm;
-using Com.Tencent.MM.Sdk.Openapi;
 
 namespace Shared.Phone.Device.Account
 {
diff --git a/ZigbeeApp/Shared/Phone/Device/AirSwitch/AirSwitchControl.cs b/ZigbeeApp/Shared/Phone/Device/AirSwitch/AirSwitchControl.cs
index ecb3c7e..91cab32 100755
--- a/ZigbeeApp/Shared/Phone/Device/AirSwitch/AirSwitchControl.cs
+++ b/ZigbeeApp/Shared/Phone/Device/AirSwitch/AirSwitchControl.cs
@@ -175,7 +175,7 @@
                         if (deviceUI.CommonDevice.Type == DeviceType.AirSwitch)
                         {
                             var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch;
-                            airSwitch.IsOnline = (common as ZigBee.Device.AirSwitch).IsOnline;
+                            airSwitch.IsOnline = common.IsOnline;
                             deviceIMG.IsSelected = airSwitch.IsOnline == 1;
                             airSwitch.LastDateTime = DateTime.Now;
                         }
diff --git a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
index 7150dfc..d725284 100755
--- a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
@@ -5,6 +5,7 @@
 using Shared.R;
 using ZigBee.Device;
 using Shared.Phone.Device.CommonForm;
+using Shared.Phone.Device.AC;
 
 namespace Shared.Phone.Device.Category
 {
@@ -166,17 +167,14 @@
                                     {
                                         var light = deviceUI.CommonDevice as ToggleLight;
                                         light.DeviceStatusReport = common.DeviceStatusReport;
-                                        //璁板綍銆佹洿鏂扮姸鎬�
                                         if (light.DeviceStatusReport.AttriBute == null || light.DeviceStatusReport.AttriBute.Count == 0)
                                         {
                                             continue;
                                         }
                                         light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData;
                                         var row = rowLayout.GetChildren(0) as CategoryFunctionRow;
-
                                         row.SetStatu(light.OnOffStatus == 1);
                                         row.SetStatuText(deviceUI.GetDeviceStatu());
-                                        //璁板綍鍥炲鏃堕棿
                                         light.LastDateTime = DateTime.Now;
                                     }
                                     if (common.DeviceStatusReport.CluterID == 3)
@@ -194,7 +192,6 @@
                                     {
                                         var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch;
                                         airSwitch.DeviceStatusReport = common.DeviceStatusReport;
-                                        //璁板綍銆佹洿鏂扮姸鎬�
                                         if (airSwitch.DeviceStatusReport.AttriBute == null || airSwitch.DeviceStatusReport.AttriBute.Count == 0)
                                         {
                                             return;
@@ -203,7 +200,6 @@
                                         var row = rowLayout.GetChildren(0) as CategoryFunctionRow;
                                         row.SetStatu(airSwitch.OnOffStatus == 1);
                                         row.SetStatuText(deviceUI.GetDeviceStatu());
-                                        //璁板綍鍥炲鏃堕棿
                                         airSwitch.LastDateTime = DateTime.Now;
                                     }
                                     if (common.DeviceStatusReport.CluterID == 3)
@@ -257,72 +253,74 @@
                                         }
                                         var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
                                         ac.DeviceStatusReport = common.DeviceStatusReport;
+
+                                        var curTemp = (attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
                                         switch (attriButeList[0].AttributeId)
                                         {
                                             case 0:
-                                                //姝ゅ睘鎬ц〃鏄庡鍐呭綋鍓嶇殑娓╁害 * 100锛屽疄闄呮俯搴︿负鈥淟ocalTemperature / 100鈥濓紝鍗曚綅锛氣剝
-                                                ac.currentLocalTemperature = attriButeList[0].AttriButeData / 100;
+                                                ac.currentLocalTemperature = curTemp;
                                                 ac.LastDateTime = DateTime.Now;
                                                 break;
 
                                             case 17:
-                                                //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鍐锋俯搴︼紝瀹為檯娓╁害涓衡�淐oolingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
-                                                ac.currentCoolingSetpoint = attriButeList[0].AttriButeData / 100;
+                                                ac.currentCoolingSetpoint = curTemp;
                                                 ac.LastDateTime = DateTime.Now;
                                                 break;
 
                                             case 18:
-                                                //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鐑俯搴︼紝瀹為檯娓╁害涓衡�淗eatingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
-                                                ac.currentHeatingSetpoint = attriButeList[0].AttriButeData / 100;
+                                                ac.currentHeatingSetpoint = curTemp;
+                                                ac.LastDateTime = DateTime.Now;
+                                                break;
+
+                                            case 4096:
+                                                ac.currentAutoSetpoint = curTemp;
                                                 ac.LastDateTime = DateTime.Now;
                                                 break;
 
                                             case 28:
                                                 //姝ゅ睘鎬ф弿杩版亽娓╄澶囨澶勪簬鍝妯″紡
-                                                //Off = 0  Auto = 1 Cool = 3 Heat = 4 FanOnly = 7  Dry = 8
                                                 ac.currentSystemMode = attriButeList[0].AttriButeData;
                                                 ac.LastDateTime = DateTime.Now;
-                                                for (int j = 0; j < rowLayout.ChildrenCount; j++)
-                                                {
-                                                    var tempView = rowLayout.GetChildren(j);
-                                                    if (tempView.Tag == null)
-                                                    {
-                                                        continue;
-                                                    }
-                                                    if (tempView.Tag.ToString() == deviceStatus_OnOffStatus)
-                                                    {
-                                                        if (ac.currentSystemMode == 0)
-                                                        {
-                                                            (tempView as Button).IsSelected = false;
-                                                        }
-                                                        else
-                                                        {
-                                                            (tempView as Button).IsSelected = true;
-                                                        }
-                                                    }
-                                                }
                                                 break;
                                         }
 
+                                        var row = rowLayout.GetChildren(0) as CategoryFunctionRow;
+                                        row.SetStatu(ac.currentSystemMode != 0);
+                                        row.SetStatuText(deviceUI.GetDeviceStatu());
                                     }
+
+                                    if (common.DeviceStatusReport.CluterID == 514)
+                                    {
+                                        var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
+                                        var attriButeList = common.DeviceStatusReport.AttriBute;
+                                        if (attriButeList == null || attriButeList.Count == 0)
+                                        {
+                                            return;
+                                        }
+                                        ac.DeviceStatusReport = common.DeviceStatusReport;
+                                        switch (attriButeList[0].AttributeId)
+                                        {
+                                            case 0:
+                                                ac.currentFanMode = attriButeList[0].AttriButeData;
+                                                ac.LastDateTime = DateTime.Now;
+                                                break;
+                                            case 4096:
+                                                ac.currentFanSwingMode = attriButeList[0].AttriButeData;
+                                                ac.LastDateTime = DateTime.Now;
+                                                break;
+                                        }
+                                        var row = rowLayout.GetChildren(0) as CategoryFunctionRow;
+                                        row.SetStatu(ac.currentSystemMode != 0);
+                                        row.SetStatuText(deviceUI.GetDeviceStatu());
+                                    }
+
                                     if (common.DeviceStatusReport.CluterID == 3)
                                     {
                                         var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
                                         ac.IsOnline = 1;
-                                        //璁板綍鍥炲鏃堕棿
                                         ac.LastDateTime = DateTime.Now;
-                                        for (int j = 0; j < rowLayout.ChildrenCount; j++)
-                                        {
-                                            var tempView = rowLayout.GetChildren(j);
-                                            if (tempView.Tag == null)
-                                            {
-                                                continue;
-                                            }
-                                            if (tempView.Tag.ToString() == deviceStatus_Online)
-                                            {
-                                                (tempView as Button).IsSelected = ac.IsOnline == 1;
-                                            }
-                                        }
+                                        var row = rowLayout.GetChildren(0) as CategoryFunctionRow;
+                                        row.SetStatu(true);
                                     }
                                     break;
                                 case DeviceType.DimmableLight:
@@ -338,10 +336,8 @@
                                         }
                                         dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData;
                                         var row = rowLayout.GetChildren(0) as CategoryFunctionRow;
-
                                         row.SetStatu(dimmableLight.OnOffStatus == 1);
                                         row.SetStatuText(deviceUI.GetDeviceStatu());
-                                        //璁板綍鍥炲鏃堕棿
                                         dimmableLight.LastDateTime = DateTime.Now;
                                     }
                                     if (common.DeviceStatusReport.CluterID == 3)
@@ -409,8 +405,8 @@
                                 case DeviceType.Thermostat:
                                     deviceUI.CommonDevice.LastDateTime = DateTime.Now;
                                     deviceUI.CommonDevice.IsOnline = common.IsOnline;
-                                    //var row4 = rowLayout.GetChildren(0) as CategoryFunctionRow;
-                                    //row4.SetStatu(deviceUI.CommonDevice.IsOnline == 1);
+                                    var row5 = rowLayout.GetChildren(0) as CategoryFunctionRow;
+                                    row5.SetStatu(deviceUI.CommonDevice.IsOnline == 1);
                                     break;
                             }
                         }
@@ -442,6 +438,7 @@
         {
             BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
             instance = this;
+            ZbGateway.StatusList.Add(this);
         }
 
         /// <summary>
@@ -450,8 +447,6 @@
         /// <param name="selectedBtn">閫変腑閭d釜鐣岄潰 0--鍔熻兘 1--鍦烘櫙 2--鑷姩鍖� </param>
         public void Show(int selectedBtn = 1)
         {
-            
-            ZbGateway.StatusList.Add(this);
             RemoveAll();
 
             #region topview
@@ -880,10 +875,10 @@
                             detailInfo.action = RefreshBodyView;
                         };
 
-                        if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput)
+                        if (deviceUI.CommonDevice.Type == DeviceType.OnOffOutput)
                         {
                             //鐏�
-                            var light = deviceUI.CommonDevice as ZigBee.Device.ToggleLight;
+                            var light = deviceUI.CommonDevice as ToggleLight;
                             //琛ヤ笂闈炶繙绋�
                             if (light.Gateway == null)
                             {
@@ -1216,11 +1211,13 @@
                                 UserView.UserHomeView.ReadStatus(ac, () =>
                                 {
                                     ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
-                                    ac.ReadFanMode();
-                                    ac.ReadSystemMode();
                                     ac.ReadLocalTemperature();
                                     ac.ReadCoolingSetpoint();
                                     ac.ReadHeatingSetpoint();
+                                    ac.ReadAutoSetpoint();
+                                    ac.ReadFanMode();
+                                    ac.ReadSystemMode();
+                                    ac.ReadSystemFansSwingMode();
                                 });
                             }
                             else
@@ -1229,11 +1226,13 @@
                                 if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
                                 {
                                     ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
-                                    ac.ReadFanMode();
-                                    ac.ReadSystemMode();
                                     ac.ReadLocalTemperature();
                                     ac.ReadCoolingSetpoint();
                                     ac.ReadHeatingSetpoint();
+                                    ac.ReadAutoSetpoint();
+                                    ac.ReadFanMode();
+                                    ac.ReadSystemMode();
+                                    ac.ReadSystemFansSwingMode();
                                 }
                             }
 
@@ -1260,8 +1259,8 @@
                                 zbGateway.ReportAction += UpdateDeviceControllStatu;
                                 AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
 
-                                (send2 as CommonForm.SelectedStatuButton).IsSelected = !(send2 as CommonForm.SelectedStatuButton).IsSelected;
-                                if ((send2 as CommonForm.SelectedStatuButton).IsSelected)
+                                (send2 as Button).IsSelected = !(send2 as Button).IsSelected;
+                                if ((send2 as Button).IsSelected)
                                 {
                                     ac.Open();
                                 }
@@ -1300,6 +1299,16 @@
                             };
                             deviceTypeRowLayout.AddRightView(delBtn);
                             delBtn.MouseUpEventHandler += delEvent;
+
+                            deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) =>
+                            {
+                                var acControl = new Phone.Device.AC.ACControl();
+                                UserView.HomePage.Instance.AddChidren(acControl);
+                                UserView.HomePage.Instance.PageIndex += 1;
+                                UserView.HomePage.Instance.ScrollEnabled = false;
+                                //rollerShadeControl.action = RefreshBodyView;
+                                acControl.Show(deviceUI, room);
+                            };
                         }
                         else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice)
                         {
@@ -1649,11 +1658,24 @@
                         Tag = scene
                     };
 
-                    if (!room.IsSharedRoom)
+
+                    if(room.IsSharedRoom)
                     {
-                        sceneRowLayout.AddRightView(settingBtn);
-                        sceneRowLayout.AddRightView(deleteBtn);
+
                     }
+                    else
+                    {
+                        if(room.IsLove)
+                        {
+                            sceneRowLayout.AddRightView(deleteBtn);
+                        }
+                        else
+                        {
+                            sceneRowLayout.AddRightView(settingBtn);
+                            sceneRowLayout.AddRightView(deleteBtn);
+                        }
+                    }
+
 
                     //璋冪敤鍦烘櫙
                     EventHandler<MouseEventArgs> sceneUpHandler = async (sender, e) =>
diff --git a/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs b/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs
index bb2ee90..682e1f0 100755
--- a/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs
@@ -445,7 +445,7 @@
             }
             else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat)
             {
-                SelectWindowCoveringDevice(dialog, device, sceneTarget);
+                SelectThermostat(dialog, device, sceneTarget);
             }
         }
 
@@ -1120,7 +1120,7 @@
                     {
                         TaskType = taskType,
                         Data1 = 3,
-                        Data2 = open.modeList[fanid]
+                        Data2 = open.modeList[modelId]
                     };
                     taskList.Add(taskInfo2);
 
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs
index 6e89f8d..7aeb0a2 100755
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs
@@ -250,7 +250,7 @@
                                                                                                //鏍囬:閫夋嫨鍔熻兘绫诲瀷
                     var title = Language.StringByID(R.MyInternationalizationString.uSelectFunctionType);
 
-                    var form = new BottomDialogSelectForm();
+                    var form = new BottomItemSelectForm();
                     form.AddForm(title, listText, nowSelectNo);
                     form.FinishSelectEvent += (selectNo) =>
                     {
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs b/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs
index 1b5ddfc..299fba0 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs
@@ -8,13 +8,14 @@
 
 namespace Shared.Phone.Device.Logic
 {
+    
     public class AddLogicPage : FrameLayout
     {
-        public AddLogicPage ()
+        public AddLogicPage()
         {
             Tag = "Logic";
         }
-        public void Show()                                                                                                                                                                                                                                                                                                                    
+        public void Show()
         {
 
             #region  鏈�涓婇潰鐨勫竷灞�浠g爜
@@ -22,7 +23,7 @@
             {
                 BackgroundColor = ZigbeeColor.Current.LogicTopBackgroundColor,
                 Height = Application.GetRealHeight(184),
-                LineColor= ZigbeeColor.Current.LogicRowLayoutTopLineColor,
+                LineColor = ZigbeeColor.Current.LogicRowLayoutTopLineColor,
             };
             this.AddChidren(topRowLayout);
 
@@ -41,8 +42,8 @@
             var clickBtn = new Button
             {
                 Width = Application.GetRealWidth(81 + 51),
-                Height = Application.GetRealHeight(58+40),
-                Y = Application.GetRealHeight(98-40),
+                Height = Application.GetRealHeight(58 + 40),
+                Y = Application.GetRealHeight(98 - 40),
             };
             topRowLayout.AddChidren(clickBtn);
             clickBtn.MouseDownEventHandler += (sender, e) =>
@@ -59,28 +60,28 @@
                 //Gravity = Gravity.CenterVertical;
                 UnSelectedImagePath = "ZigeeLogic/back.png",
             };
-            topRowLayout.AddChidren (back);
+            topRowLayout.AddChidren(back);
             back.MouseDownEventHandler += (sender, e) => {
-                RemoveFromParent ();
+                RemoveFromParent();
             };
             #endregion
 
             #region  鏈�涓嬮潰鐨勫竷灞�浠g爜
             var middle = new FrameLayout {
-                Y=topRowLayout.Bottom,
-                Height=Application.GetRealHeight(1920-184),
+                Y = topRowLayout.Bottom,
+                Height = Application.GetRealHeight(1920 - 184),
                 BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
             };
-            this.AddChidren (middle);
+            this.AddChidren(middle);
 
             #region   ----鏃堕棿鏉′欢----
-            var timeframelayout= new FrameLayout
+            var timeframelayout = new FrameLayout
             {
                 Height = Application.GetRealHeight(160),
                 BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
             };
             middle.AddChidren(timeframelayout);
-            
+
 
             var timeiconBtn = new Button
             {
@@ -99,16 +100,16 @@
                 Width = Application.GetRealWidth(850),
                 Height = Application.GetRealHeight(130),
                 X = Application.GetRealWidth(176),
-                LineColor= ZigbeeColor.Current.LogicRowLayoutLineColor,
+                LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
             };
             timeframelayout.AddChidren(timerow);
             ///鏃堕棿鏉′欢
             var btntime = new Button {
-                Text=Language.StringByID (MyInternationalizationString.timecondition),
+                Text = Language.StringByID(MyInternationalizationString.timecondition),
                 TextAlignment = TextAlignment.CenterLeft,
                 TextColor = ZigbeeColor.Current.LogicTextBlackColor,
             };
-            timerow.AddChidren (btntime);
+            timerow.AddChidren(btntime);
 
             var btntimeback = new Button {
                 Width = Application.GetRealWidth(58),
@@ -117,7 +118,7 @@
                 X = Application.GetRealWidth(789),
                 Gravity = Gravity.CenterVertical,
             };
-            timerow.AddChidren (btntimeback);
+            timerow.AddChidren(btntimeback);
 
             EventHandler<MouseEventArgs> timeclick = (sender, e) =>
             {
@@ -129,8 +130,8 @@
             timeiconBtn.MouseUpEventHandler += timeclick;
             timerow.MouseUpEventHandler += timeclick;
 
-            #endregion                
-                                                                                                                                              
+            #endregion
+
             #region   ----璁惧鐘舵�佹潯浠�----
             var deviceframelayout = new FrameLayout
             {
@@ -138,7 +139,7 @@
                 BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
                 Y = timeframelayout.Bottom,
             };
-            middle.AddChidren (deviceframelayout);
+            middle.AddChidren(deviceframelayout);
 
             var deviceiconBtn = new Button
             {
@@ -161,7 +162,7 @@
             };
             deviceframelayout.AddChidren(devicerow);
 
-          
+
             ///璁惧鐘舵�佹潯浠�
             var btndevice = new Button {
                 //Text = "璁惧鐘舵�佹潯浠�",
@@ -169,7 +170,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextColor = ZigbeeColor.Current.LogicTextBlackColor,
             };
-            devicerow.AddChidren (btndevice);
+            devicerow.AddChidren(btndevice);
 
             var btndeviceback = new Button {
                 Width = Application.GetRealWidth(58),
@@ -179,7 +180,7 @@
                 UnSelectedImagePath = "ZigeeLogic/next.png",
 
             };
-            devicerow.AddChidren (btndeviceback);
+            devicerow.AddChidren(btndeviceback);
 
             EventHandler<MouseEventArgs> devicestateclick = (sender, e) =>
             {
@@ -240,7 +241,7 @@
                 Height = Application.GetRealHeight(58),
                 UnSelectedImagePath = "ZigeeLogic/next.png",
                 X = Application.GetRealWidth(789),
-                Gravity=Gravity.CenterVertical,
+                Gravity = Gravity.CenterVertical,
             };
             securityrow.AddChidren(btnsecurityback);
 
@@ -319,8 +320,8 @@
 
             #region   ----宸叉湁鑷姩鍖栨潯浠�----
             var existencerowlayout = new RowLayout {
-                Height = Application.GetRealHeight (180),
-                Y= securityframelayout.Bottom,
+                Height = Application.GetRealHeight(180),
+                Y = securityframelayout.Bottom,
             };
             //middle.AddChidren (existencerowlayout);
             ///宸叉湁鑷姩鍖栨潯浠�
@@ -332,34 +333,35 @@
                 TextID = MyInternationalizationString.automation,
                 TextColor = ZigbeeColor.Current.LogicTextBlackColor,
             };
-            existencerowlayout.AddChidren (btnexistence);
+            existencerowlayout.AddChidren(btnexistence);
 
             var btnexistenceback = new Button {
-                Width = Application.GetRealWidth (110),
-                Height = Application.GetRealHeight (110),
+                Width = Application.GetRealWidth(110),
+                Height = Application.GetRealHeight(110),
                 UnSelectedImagePath = "ZigeeLogic/next.png",
                 SelectedImagePath = "ZigeeLogic/NextSelecte.png",
-                X = Application.GetRealWidth (1080 - 140),
-                Gravity=Gravity.CenterVertical,
+                X = Application.GetRealWidth(1080 - 140),
+                Gravity = Gravity.CenterVertical,
             };
-            existencerowlayout.AddChidren (btnexistenceback);
+            existencerowlayout.AddChidren(btnexistenceback);
 
             EventHandler<MouseEventArgs> logicclick = (sender, e) => {
-                var logicListAutomation = new LogicListAutomation ();
-                UserView.HomePage.Instance.AddChidren (logicListAutomation);
+                var logicListAutomation = new LogicListAutomation();
+                UserView.HomePage.Instance.AddChidren(logicListAutomation);
                 UserView.HomePage.Instance.PageIndex += 1;
-                logicListAutomation.Show ();
+                logicListAutomation.Show();
             };
             btnexistenceback.MouseUpEventHandler += logicclick;
             btnexistence.MouseUpEventHandler += logicclick;
             existencerowlayout.MouseUpEventHandler += logicclick;
             #endregion
 
-            
+
 
             #endregion
 
         }
+       
         /// <summary>
         /// 瀹夐槻鏉′欢View
         /// </summary>
@@ -376,7 +378,7 @@
                 flMain.RemoveFromParent();
             };
 
-            var securityfra1= new FrameLayout
+            var securityfra1 = new FrameLayout
             {
                 Width = Application.GetRealWidth(1080),
                 Height = Application.GetRealHeight(100),
@@ -388,7 +390,7 @@
             {
                 Width = Application.GetRealWidth(1080),
                 Height = Application.GetRealHeight(690),
-                Y = Application.GetRealHeight(1920-690),
+                Y = Application.GetRealHeight(1920 - 690),
                 BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
                 Radius = (uint)Application.GetRealHeight(60),
             };
@@ -696,7 +698,7 @@
                 UserView.HomePage.Instance.PageIndex += 1;
                 logicCommunalPage.Show(() => { });
             };
-           
+
         }
         /// <summary>
         /// 鍦扮悊鍥存爮View
@@ -1029,8 +1031,8 @@
                 TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
                 Height = Application.GetRealHeight(140),
                 Width = Application.GetRealWidth(200),
-                X=Application.GetRealWidth(80),
-                TextAlignment=TextAlignment.CenterLeft,
+                X = Application.GetRealWidth(80),
+                TextAlignment = TextAlignment.CenterLeft,
             };
             timetype.AddChidren(Btncancel);
             Btncancel.MouseUpEventHandler += (sender16, e16) =>
@@ -1039,14 +1041,14 @@
                 UserView.HomePage.Instance.ScrollEnabled = true;
             };
 
-            var Btntitle= new Button
+            var Btntitle = new Button
             {
                 TextID = MyInternationalizationString.type,
                 TextColor = ZigbeeColor.Current.LogicBtnTypeColor,
                 Height = Application.GetRealHeight(140),
                 Width = Application.GetRealWidth(320),
                 TextAlignment = TextAlignment.Center,
-                X= Btncancel.Right+Application.GetRealWidth(100),
+                X = Btncancel.Right + Application.GetRealWidth(100),
                 TextSize = 16,
             };
             timetype.AddChidren(Btntitle);
@@ -1058,7 +1060,7 @@
                 Width = Application.GetRealWidth(200),
                 TextAlignment = TextAlignment.CenterRight,
                 X = Btntitle.Right + Application.GetRealWidth(100),
-                
+
             };
             timetype.AddChidren(Btncomplete);
             #endregion
@@ -1069,7 +1071,7 @@
             var timepointFrameLayout = new FrameLayout
             {
                 Height = Application.GetRealHeight(160),
-                Y = timetype.Bottom+Application.GetRealHeight(20),
+                Y = timetype.Bottom + Application.GetRealHeight(20),
             };
             timetypeframelayout.AddChidren(timepointFrameLayout);
 
@@ -1103,7 +1105,7 @@
             var timeFrameLayout = new FrameLayout
             {
                 Height = Application.GetRealHeight(160),
-                Y =timepointFrameLayout.Bottom,
+                Y = timepointFrameLayout.Bottom,
             };
             timetypeframelayout.AddChidren(timeFrameLayout);
 
@@ -1131,7 +1133,7 @@
             time1row.AddChidren(timeSelected);
             #endregion
 
-        
+
             ///绔嬪嵆鎵ц鐐瑰嚮浜嬩欢
             EventHandler<MouseEventArgs> timepointclick = (sedner14, e14) =>
             {
@@ -1200,4 +1202,5 @@
         }
 
     }
+ 
 }
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/AddScenePage.cs b/ZigbeeApp/Shared/Phone/Device/Logic/AddScenePage.cs
index 1c4c759..08ea232 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/AddScenePage.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/AddScenePage.cs
@@ -347,9 +347,14 @@
                     SceneView(room.SceneUIList);
 
                 }
-                
+
                 EventHandler<MouseEventArgs> roomclick = (sender, e) =>
                 {
+                    clickTag = "no";
+                    tempScene = null;
+                    clickbutton = null;
+                    clickbutton = new Button();
+
                     roombjButton.IsSelected = false;
                     roombjButton = roombjBtn;
                     roombjBtn.IsSelected = true;
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
index cc03759..a8393fd 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
@@ -23,6 +23,7 @@
         FrameLayout clickframeLayout = new FrameLayout();
         Button clickbutton = new Button();
         Button clicktextcolcrbutton = new Button();
+        HorizontalScrolViewLayout devicetypehorizontalScrol1;
         public void Show()
         {
 
@@ -108,7 +109,7 @@
             ///娌℃湁鎴块棿鐩存帴杩斿洖鍘伙紱
             if (Common.Room.Lists.Count == 0)
             {
-                return; 
+                return;
             }
             ///鎴块棿婊戝姩鎺т欢
             var roomhorizontalScrol = new HorizontalScrolViewLayout()
@@ -120,7 +121,7 @@
             };
             this.AddChidren(roomhorizontalScrol);
 
-            var devicetypehorizontalScrol1 = new HorizontalScrolViewLayout()
+            devicetypehorizontalScrol1 = new HorizontalScrolViewLayout()
             {
                 Width = Application.GetRealWidth(1080 - 58 - 200),
                 Height = Application.GetRealHeight(280),
@@ -345,6 +346,18 @@
                         }
                         list.Add(device);
                     }
+                    if (list.Count == 0)
+                    {
+                        devicetypehorizontalScrol.Height = 0;
+                        devicetypehorizontalScrol1.Height = 0;
+                        middle.Height = 0;
+                    }
+                    else
+                    {
+                        devicetypehorizontalScrol.Height = Application.GetRealHeight(280);
+                        devicetypehorizontalScrol1.Height = Application.GetRealHeight(280);
+                        middle.Height = Application.GetRealHeight(1920 - 40) - devicetypehorizontalScrol.Bottom;
+                    }
 
                     AllDeviceTypeView(list, devicetypehorizontalScrol);
 
@@ -377,6 +390,19 @@
                         list.Add(device);
                     }
 
+                    if (list.Count == 0)
+                    {
+                        devicetypehorizontalScrol.Height = 0;
+                        devicetypehorizontalScrol1.Height = 0;
+                        middle.Height = 0;
+                    }
+                    else
+                    {
+                        devicetypehorizontalScrol.Height = Application.GetRealHeight(280);
+                        devicetypehorizontalScrol1.Height = Application.GetRealHeight(280);
+                        middle.Height = Application.GetRealHeight(1920 - 40) - devicetypehorizontalScrol.Bottom;
+                    }
+
                     AllDeviceTypeView(list, devicetypehorizontalScrol);
 
 
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs
index 2c95b60..ea49ce1 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs
@@ -76,25 +76,42 @@
             };
             this.AddChidren(middle);
 
-
-            if (Send.LinkageventLockList.Count == 0)
+            bool d = false;
+            string macport = Send.CurrentDoorLock.DeviceAddr + "_" + Send.CurrentDoorLock.DeviceEpoint.ToString();
+            for (int i = 0; i < Send.LockList.Count; i++)
             {
-                var allMemberslist = await Send.AllMembers(Send.CurrentDoorLock.DeviceAddr);
-                Send.LinkageventLockList.AddRange(allMemberslist);
+                if (Send.LockList[i].DoorLockMacPort == macport)
+                {
+                    ///宸茬粡瀛樺湪璇ラ棬閿佷俊鎭�
+                    d = true;
+                    break;
+                }
+
             }
-            UserAllView(middle);
+
+            if (!d)
+            {
+               
+                var allMemberslist = await Send.AllMembers(Send.CurrentDoorLock.DeviceAddr);
+                Send.LockList.AddRange(allMemberslist);
+            }
+            UserAllView(middle, macport);
 
         }
         /// <summary>
         /// 鏄剧ず鎵�鏈夌敤鎴�
         /// </summary>
         /// <param name="middle"></param>
-        void UserAllView(VerticalScrolViewLayout middle)
+        void UserAllView(VerticalScrolViewLayout middle,string macport)
         {
 
-            for (int i = 0; i < Send.LinkageventLockList.Count; i++)
+            for (int i = 0; i < Send.LockList.Count; i++)
             {
-                var user = Send.LinkageventLockList[i];
+                var user = Send.LockList[i];
+                if (user.DoorLockMacPort != macport)
+                {
+                    continue;
+                }
                 var userFramelayout = new FrameLayout
                 {
                     Height = Application.GetRealHeight(160),
@@ -114,12 +131,12 @@
 
                 var usernameBtn = new Button
                 {
-                    Text = user.MembershipName,
+                    Text = user.UserName,
                     TextAlignment = TextAlignment.CenterLeft,
                     TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                     Width = Application.GetRealWidth(600),
                     Height = Application.GetRealHeight(130),
-                    Tag = Send.LinkageventLockList[i],
+                    Tag = Send.LockList[i],
                 };
                 userRow.AddChidren(usernameBtn);
 
@@ -151,7 +168,7 @@
         /// </summary>
         /// <param name="membershipIfon">瑙﹀彂婧愬垪琛�</param>
         /// <param name="userName">鐢ㄦ埛鍚嶅瓧</param>
-        void SelectedUserID(List<Send.LockMode> membershipIfon, string userName) {
+        void SelectedUserID(List<Send.UnlockingMode> membershipIfon, string userName) {
 
            var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor };
             this.AddChidren(flMain);
@@ -259,28 +276,28 @@
                     Width = Application.GetRealWidth(600),
                     TextAlignment = TextAlignment.CenterLeft,
                     TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                    Text = userIdmode.ModeName,
                 };
                 doorlockRow.AddChidren(doorlockBtn);
                 //(0鎸夐敭/3鍗�/15鎸囩汗)
-                switch (userIdmode.OpenMode.ToString())
-                {
-                    case "0":
-                        {
-                            doorlockBtn.Text = Language.StringByID(MyInternationalizationString.lockpassword);
-                        }
-                        break;
-                    case "3":
-                        {
-                            doorlockBtn.Text = Language.StringByID(MyInternationalizationString.ic);
-                        }
-                        break;
-                    case "15":
-                        {
-                            doorlockBtn.Text = Language.StringByID(MyInternationalizationString.fingerprint);
-                        }
-                        break;
-
-                }
+                //switch (userIdmode.OpenMode.ToString())
+                //{
+                //    case "0":
+                //        {
+                //            doorlockBtn.Text = Language.StringByID(MyInternationalizationString.lockpassword);
+                //        }
+                //        break;
+                //    case "3":
+                //        {
+                //            doorlockBtn.Text = Language.StringByID(MyInternationalizationString.ic);
+                //        }
+                //        break;
+                //    case "15":
+                //        {
+                //            doorlockBtn.Text = Language.StringByID(MyInternationalizationString.fingerprint);
+                //        }
+                //        break;
+                //}
 
 
                 var doorlockSelected = new Button
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockAddScene.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockAddScene.cs
index 0010bc2..b838838 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockAddScene.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockAddScene.cs
@@ -347,6 +347,12 @@
 
                 EventHandler<MouseEventArgs> roomclick = (sender, e) =>
                 {
+
+                    clickTag = "no";
+                    tempScene = null;
+                    clickbutton = null;
+                    clickbutton = new Button();
+
                     roombjButton.IsSelected = false;
                     roombjButton = roombjBtn;
                     roombjBtn.IsSelected = true;
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs b/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs
index cf09619..98ebe1a 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs
@@ -1907,10 +1907,6 @@
             btnsave.MouseUpEventHandler += async (sender, e) =>
             {
                 var name = logicTextBox.Text.Trim();
-                //if (Common.Logic.CurrentLogic.Conditions.Count != 0 && Common.Logic.CurrentLogic.Actions.Count != 0)
-                //{
-                //    AddChidren(btnsave);
-                //}
                 if (string.IsNullOrEmpty(logicTextBox.Text.Trim()))
                 {
                     new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.PleaseEnterLogicName), Language.StringByID(MyInternationalizationString.Close)).Show();
@@ -1946,11 +1942,7 @@
                 CommonPage.Loading.Hide();
                 UserView.HomePage.Instance.RemoveViewByTag("Logic");
                 Category.Category.instance?.RefreshBodyView();
-                //UserView.HomePage.Instance.RemoveAt("Logic1");
-                //Category.Category category = new Category.Category();
-                //UserView.HomePage.Instance.AddChidren(category);
-                //UserView.HomePage.Instance.PageIndex += 1;
-                //category.Show(2);
+           
             };
 
 
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs
index 9077c94..c69ca44 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs
@@ -82,14 +82,34 @@
                 BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
             };
             this.AddChidren(middle);
-            if (Send.UserList.Count == 0)
+
+
+            bool d = false;
+            string macport = common.DeviceAddr + "_" + common.DeviceEpoint.ToString();
+            for (int i = 0; i < Send.LockList.Count; i++)
+            {
+                if (Send.LockList[i].DoorLockMacPort == macport)
+                {
+                    ///宸茬粡瀛樺湪璇ラ棬閿佷俊鎭�
+                    d = true;
+                    break;
+                }
+
+            }
+
+            if (!d)
             {
                 var allMemberslist = await Send.AllMembers(common.DeviceAddr);
-                Send.UserList.AddRange(allMemberslist);
+                Send.LockList.AddRange(allMemberslist);
             }
-            foreach (var user in Send.UserList)
-            {
 
+       
+            foreach (var user in Send.LockList)
+            {
+                if (user.DoorLockMacPort != macport)
+                {
+                    continue;
+                }
                 var userFramelayout = new RowLayout
                 {
                     Height = Application.GetRealHeight(160),
@@ -111,7 +131,7 @@
 
                 var userBtn = new Button
                 {
-                    Text = user.MembershipName,
+                    Text = user.UserName,
                     TextAlignment = TextAlignment.CenterLeft,
                     TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                 };
@@ -188,7 +208,7 @@
                         TextAlignment = TextAlignment.Center,
                         X = Btncancel.Right + Application.GetRealWidth(100),
                         TextSize = 16,
-                        Text = user.MembershipName,
+                        Text = user.UserName,
                     };
                     lockRow.AddChidren(Btntitle);
                     var Btncomplete = new Button
@@ -232,27 +252,28 @@
                             Width = Application.GetRealWidth(600),
                             TextAlignment = TextAlignment.CenterLeft,
                             TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                            Text= userifon.ModeName,
                         };
                         doorlockRow.AddChidren(doorlockBtn);
                         //(1鎸夐敭/3鍗�/15鎸囩汗)
-                        switch (userifon.OpenMode.ToString())
-                        {
-                            case "0":
-                                {
-                                    doorlockBtn.Text = Language.StringByID(MyInternationalizationString.lockpassword);
-                                }
-                                break;
-                            case "3":
-                                {
-                                    doorlockBtn.Text = Language.StringByID(MyInternationalizationString.ic);
-                                }
-                                break;
-                            case "15":
-                                {
-                                    doorlockBtn.Text = Language.StringByID(MyInternationalizationString.fingerprint);
-                                }
-                                break;
-                        }
+                        //switch (userifon.OpenMode.ToString())
+                        //{
+                        //    case "0":
+                        //        {
+                        //            doorlockBtn.Text = Language.StringByID(MyInternationalizationString.lockpassword);
+                        //        }
+                        //        break;
+                        //    case "3":
+                        //        {
+                        //            doorlockBtn.Text = Language.StringByID(MyInternationalizationString.ic);
+                        //        }
+                        //        break;
+                        //    case "15":
+                        //        {
+                        //            doorlockBtn.Text = Language.StringByID(MyInternationalizationString.fingerprint);
+                        //        }
+                        //        break;
+                        //}
                         var doorlockSelected = new Button
                         {
                             X = Application.GetRealWidth(860),
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs
index 1060bd2..baa7047 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs
@@ -715,176 +715,7 @@
         #endregion
 
         #region  ----鑾峰彇闂ㄩ攣
-        #region ---绗�1绉�
-        public static List<LogicLock> ReadDoorLockIfon(string doorlockMac)
-        {
-            List<LogicLock> list = new List<LogicLock>();
-            string url = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/App/GetHomePager";//瀛愯处鍙峰拰涓昏处鍙峰彲鑳介摼鎺ヤ笉鍚�
-            System.Net.WebClient webClient = new System.Net.WebClient();
-            System.Collections.Specialized.NameValueCollection postValues = new System.Collections.Specialized.NameValueCollection();
-            postValues.Add("RequestVersion", CommonPage.RequestVersion);
-            postValues.Add("ReqDto.LoginAccessToken", Config.Instance.Token);
-            System.Threading.Tasks.Task.Run(() =>
-            {
-                try
-                {
 
-                    byte[] responseArray = webClient.UploadValues(url, postValues);
-                    var str = System.Text.Encoding.UTF8.GetString(responseArray);
-                    var jObject = JObject.Parse(str);
-                    if (jObject == null || jObject["StateCode"].ToString() != "Success")
-                    {
-                        return;
-                    }
-                    var pageData = jObject["ResponseData"]["PageData"].ToString();
-                    var datalist = JArray.Parse(pageData);
-                    for (int i = 0; i < datalist.Count; i++)
-                    {
-                        var data = JObject.Parse(datalist[i].ToString());
-                        if (Config.Instance.HomeId == data["Id"].ToString())
-                        {
-                            Residential residential = new Residential();
-
-                            if (Convert.ToBoolean(data["IsOthreShare"].ToString()))
-                            {
-                                //鍒嗕韩鑰匢D
-                                residential.Id = data["Id"].ToString();
-                                //鏄惁鏄垎浜处鍙穂true(鏄垎浜�);false;(涓嶆槸鍒嗕韩)];
-                                residential.IsOthreShare = Convert.ToBoolean(data["IsOthreShare"].ToString());
-                                //鍒嗕韩鑰呬綇瀹匢D
-                                residential.MainUserDistributedMark = data["MainUserDistributedMark"].ToString();
-                                residential.IsOtherAccountCtrl = true;
-                                residential.doorlockmac = doorlockMac;
-                                list = ReadToken(residential);
-                            }
-                            else
-                            {
-                                residential.Url = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/DoorLock/GetDoorLockPager";
-                                residential.Token = Config.Instance.Token;
-                                residential.Id = Config.Instance.HomeId;
-                                residential.IsOtherAccountCtrl = false;
-                                residential.doorlockmac = doorlockMac;
-                                list = ReadDoorLock(residential);
-
-                            }
-                        }
-
-                    }
-                }
-                catch { }
-            });
-            var datetime = DateTime.Now;
-            while ((DateTime.Now - datetime).TotalMilliseconds < 3 * 1000)
-            {
-                if (list.Count != 0)
-                {
-                    break;
-                }
-            }
-            return list;
-
-        }
-
-        public static List<LogicLock> ReadToken(Residential residential)
-        {
-            List<LogicLock> list = new List<LogicLock>();
-            string url = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/App/GetSharedHomeApiControl";
-            System.Net.WebClient webClient = new System.Net.WebClient();
-            System.Collections.Specialized.NameValueCollection postValues = new System.Collections.Specialized.NameValueCollection();
-            postValues.Add("RequestVersion", CommonPage.RequestVersion);
-            postValues.Add("LoginAccessToken", Config.Instance.Token);
-            postValues.Add("MainAccountId", residential.MainUserDistributedMark);
-            postValues.Add("SharedHid", residential.Id);
-            System.Threading.Tasks.Task.Run(() =>
-            {
-                try
-                {
-                    byte[] responseArray = webClient.UploadValues(url, postValues);
-                    var str = System.Text.Encoding.UTF8.GetString(responseArray);
-                    var jObject = JObject.Parse(str);
-                    if (jObject == null || jObject["StateCode"].ToString() != "Success")
-                    {
-                        return;
-                    }
-                    var RequestBaseUrl = jObject["ResponseData"]["RequestBaseUrl"].ToString();
-                    var RequestToken = jObject["ResponseData"]["RequestToken"].ToString();
-                    Residential lockifon = new Residential();
-                    lockifon.Url = RequestBaseUrl + "/DoorLock/GetDoorLockPager";
-                    lockifon.Token = RequestToken;
-                    lockifon.Id = Config.Instance.HomeId;
-                    lockifon.IsOtherAccountCtrl = true;
-                    lockifon.doorlockmac = residential.doorlockmac;
-                    list = ReadDoorLock(lockifon);
-
-                }
-                catch { }
-            });
-            var datetime = DateTime.Now;
-            while ((DateTime.Now - datetime).TotalMilliseconds < 3 * 1000)
-            {
-                if (list.Count != 0)
-                {
-                    break;
-                }
-            }
-            return list;
-        }
-
-        public static List<LogicLock> ReadDoorLock(Residential lockifon)
-        {
-            List<LogicLock> list = new List<LogicLock>();
-            System.Net.WebClient webClient = new System.Net.WebClient();
-            System.Collections.Specialized.NameValueCollection postValues = new System.Collections.Specialized.NameValueCollection();
-            postValues.Add("RequestVersion", CommonPage.RequestVersion);
-            postValues.Add("LoginAccessToken", lockifon.Token);
-            postValues.Add("HomeId", lockifon.Id);
-            postValues.Add("DoorLockId", lockifon.doorlockmac);//闂ㄩ攣Mac19091
-            postValues.Add("IsOtherAccountCtrl", lockifon.IsOtherAccountCtrl.ToString());
-            System.Threading.Tasks.Task.Run(() =>
-            {
-                try
-                {
-
-                    byte[] responseArray = webClient.UploadValues(lockifon.Url, postValues);
-                    var str = System.Text.Encoding.UTF8.GetString(responseArray);
-                    var jObject = JObject.Parse(str);
-                    if (jObject == null || jObject["StateCode"].ToString() != "Success")
-                    {
-                        return;
-                    }
-                    var pageData = jObject["ResponseData"]["PageData"].ToString();
-                    var datalist = JArray.Parse(pageData);
-                    for (int i = 0; i < datalist.Count; i++)
-                    {
-                        var data = JObject.Parse(datalist[i].ToString());
-                        LogicLock doorLock = new LogicLock();
-                        doorLock.DoorLockLocalUserId = data["DoorLockLocalUserId"].ToString();
-                        doorLock.OpenLockMode = int.Parse(data["OpenLockMode"].ToString());
-                        doorLock.CloudAccountId = data["CloudAccountId"].ToString();
-                        list.Add(doorLock);
-                    }
-
-                }
-                catch (Exception e)
-                {
-                    var s = e.Message;
-                }
-
-            });
-            var datetime = DateTime.Now;
-            while ((DateTime.Now - datetime).TotalMilliseconds < 3 * 1000)
-            {
-                if (list.Count != 0)
-                {
-                    break;
-                }
-            }
-            return list;
-        }
-
-        #endregion
-
-        #region ---绗�2绉�
         /// <summary>
         /// 鑾峰彇鑷繁+鍏朵粬鎴愬憳淇℃伅
         /// </summary>
@@ -894,30 +725,35 @@
         {
             var userlist = new List<MembershipIfon>();
             ///鍒ゆ柇APP鐧诲綍杩涙潵鐢ㄦ埛韬唤(涓讳汉锛岀鐞嗗憳锛屾垚鍛�)
-            var doorlockifonlist = await ReadUserListIfon(doorlockMac);
-            var membershipIfon = new MembershipIfon();
-            membershipIfon.MembershipId = Config.Instance.Guid;
-            if (string.IsNullOrEmpty(Config.Instance.Name))
+            var AllUserIfon = await ReadUserListIfon(doorlockMac);
+            var currUserIfon = new MembershipIfon();
+            currUserIfon.CloudAccountId = Config.Instance.Guid;
+            if (string.IsNullOrEmpty(UserCenter.UserCenterResourse.UserInfo.UserName))
             {
-                membershipIfon.MembershipName = Config.Instance.Account;
+                currUserIfon.UserName = UserCenter.UserCenterResourse.UserInfo.Account;
             }
             else
             {
-                membershipIfon.MembershipName = Config.Instance.Name;
+                currUserIfon.UserName = UserCenter.UserCenterResourse.UserInfo.UserName;
             }
-            foreach (var o in doorlockifonlist)
+            foreach (var o in AllUserIfon)
             {
+                if (string.IsNullOrEmpty(currUserIfon.DoorLockMacPort))
+                {
+                    currUserIfon.DoorLockMacPort = o.DoorLockMacPort;
+                }
                 if (o.CloudAccountId == Config.Instance.Guid)
                 {
-                    LockMode lockMode = new LockMode();
-                    lockMode.OpenMode = o.OpenLockMode;
-                    lockMode.UserId = o.DoorLockLocalUserId;
-                    membershipIfon.UserIdMode.Add(lockMode);
+                    UnlockingMode unlockingMode = new UnlockingMode();
+                    unlockingMode.OpenMode = o.OpenMode;
+                    unlockingMode.UserId = o.UserId;
+                    unlockingMode.ModeName = o.ModeName;
+                    currUserIfon.UserIdMode.Add(unlockingMode);
                 }
             }
-            if (membershipIfon.UserIdMode.Count != 0)
+            if (currUserIfon.UserIdMode.Count != 0)
             {
-                userlist.Add(membershipIfon);
+                userlist.Add(currUserIfon);
             }
 
             if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo != 3)
@@ -928,37 +764,43 @@
                 for (int i = 0; i < listInfo.Count; i++)
                 {
 
-                    var membership = new MembershipIfon();
-                    var membershipifon = listInfo[i];
-                    membership.MembershipId = membershipifon.SubAccountDistributedMark;
-                    if (string.IsNullOrEmpty(membershipifon.UserName))
+                    var userIfon = new MembershipIfon();
+                    var user = listInfo[i];
+                    userIfon.CloudAccountId = user.SubAccountDistributedMark;
+                    if (string.IsNullOrEmpty(user.UserName))
                     {
-                        membership.MembershipName = membershipifon.Account;
+                        userIfon.UserName = user.Account;
+
                     }
                     else
                     {
-                        membership.MembershipName = membershipifon.UserName;
+                        userIfon.UserName = user.UserName;
 
                     }
-                    for (int j = 0; j < doorlockifonlist.Count; j++)
+                    for (int j = 0; j < AllUserIfon.Count; j++)
                     {
-                        ///鏌ユ壘鎴愬憳浠ュ強鎴愬憳闂ㄩ攣瑙﹀彂婧�(1鎸夐敭/3鍗�/15鎸囩汗)
-                        if (membershipifon.SubAccountDistributedMark == doorlockifonlist[j].CloudAccountId)
+                        if (string.IsNullOrEmpty(userIfon.DoorLockMacPort))
                         {
-                            LockMode lockMode = new LockMode();
-                            lockMode.OpenMode = doorlockifonlist[j].OpenLockMode;
-                            lockMode.UserId = doorlockifonlist[j].DoorLockLocalUserId;
-                            membership.UserIdMode.Add(lockMode);
+                            userIfon.DoorLockMacPort = AllUserIfon[j].DoorLockMacPort;
+                        }
+                        ///鏌ユ壘鎴愬憳浠ュ強鎴愬憳闂ㄩ攣瑙﹀彂婧�(1鎸夐敭/3鍗�/15鎸囩汗)
+                        if (user.SubAccountDistributedMark == AllUserIfon[j].CloudAccountId)
+                        {
+                            UnlockingMode unlockingMode = new UnlockingMode();
+                            unlockingMode.OpenMode = AllUserIfon[j].OpenMode;
+                            unlockingMode.UserId = AllUserIfon[j].UserId;
+                            unlockingMode.ModeName = AllUserIfon[j].ModeName;
+                            userIfon.UserIdMode.Add(unlockingMode);
                         }
 
                     }
-                    if (membership.UserIdMode.Count != 0)
+                    if (userIfon.UserIdMode.Count != 0)
                     {
                         ///杩囨护鎺夐噸澶嶆暟鎹紱
-                        var str = userlist.Find((c) => { return c.MembershipId == membershipifon.SubAccountDistributedMark; });
+                        var str = userlist.Find((c) => { return c.CloudAccountId == user.SubAccountDistributedMark; });
                         if (str == null)
                         {
-                            userlist.Add(membership);
+                            userlist.Add(userIfon);
                         }
                     }
 
@@ -972,9 +814,9 @@
         /// </summary>
         /// <param name="doorlockMac">闂ㄩ攣Mac</param>
         /// <returns></returns>
-        public static async System.Threading.Tasks.Task<List<LogicLock>> ReadUserListIfon(string doorlockMac)
+        public static async System.Threading.Tasks.Task<List<User>> ReadUserListIfon(string doorlockMac)
         {
-            List<LogicLock> list = new List<LogicLock>();
+            var list = new List<User>();
             var s = await ReadUserList(doorlockMac);
             var jObject = JObject.Parse(s);
             if (jObject == null || jObject["StateCode"].ToString() != "Success")
@@ -986,19 +828,22 @@
             for (int i = 0; i < datalist.Count; i++)
             {
                 var data = JObject.Parse(datalist[i].ToString());
-                LogicLock doorLock = new LogicLock();
-                doorLock.DoorLockLocalUserId = data["DoorLockLocalUserId"].ToString();
-                doorLock.OpenLockMode = int.Parse(data["OpenLockMode"].ToString());
-                doorLock.CloudAccountId = data["CloudAccountId"].ToString();
-                list.Add(doorLock);
+                var user = new User();
+                user.UserId = data["DoorLockLocalUserId"].ToString();
+                user.OpenMode = int.Parse(data["OpenLockMode"].ToString());
+                user.CloudAccountId = data["CloudAccountId"].ToString();
+                user.DoorLockMacPort = data["DoorLockId"].ToString();
+                user.ModeName = data["UserIdRemarks"].ToString();
+                list.Add(user);
             }
             return list;
         }
 
         public static async System.Threading.Tasks.Task<string> ReadUserList(string doorlockMac)
         {
-            string s = null;
-            var str = await WebClientAsync(0, "https://global.hdlcontrol.com/HangZhouHdlCloudApi/App/GetHomePager");
+            string s = null; 
+            var str = await WebClientAsync(0, CommonPage.RequestHttpsHost+"/App/GetHomePager");//涓嶅悓鍖哄煙鍩熷悕鍓嶇紑涓嶄竴鏍�
+           // var str = await WebClientAsync(0, "https://global.hdlcontrol.com/HangZhouHdlCloudApi/App/GetHomePager");
             var jObject = JObject.Parse(str);
             if (jObject == null || jObject["StateCode"].ToString() != "Success")
             {
@@ -1022,12 +867,14 @@
                         residential.MainUserDistributedMark = data["MainUserDistributedMark"].ToString();
                         residential.IsOtherAccountCtrl = true;
                         residential.doorlockmac = doorlockMac;
-                        residential.Url = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/App/GetSharedHomeApiControl";
+                        residential.Url = CommonPage.RequestHttpsHost + "/App/GetSharedHomeApiControl";
+                        //residential.Url = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/App/GetSharedHomeApiControl";
                         s = await ReadUserDoorLock(residential);
                     }
                     else
                     {
-                        residential.Url = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/DoorLock/GetDoorLockPager";
+                        residential.Url = CommonPage.RequestHttpsHost + "/DoorLock/GetDoorLockPager";
+                        //residential.Url = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/DoorLock/GetDoorLockPager";
                         residential.Token = Config.Instance.Token;
                         residential.Id = Config.Instance.HomeId;
                         residential.IsOtherAccountCtrl = false;
@@ -1039,7 +886,7 @@
             }
             return s;
         }
-
+     
         public static async System.Threading.Tasks.Task<string> ReadUserDoorLock(Residential residential)
         {
 
@@ -1071,10 +918,12 @@
         {
 
             NameValueCollection postValues = new NameValueCollection();
+
             if (value == 0)
             {
                 postValues.Add("RequestVersion", CommonPage.RequestVersion);
-                postValues.Add("ReqDto.LoginAccessToken", Config.Instance.Token);
+                postValues.Add("ReqDto.LoginAccessToken", Config.Instance.Token);
+                postValues.Add("ReqDto.PageSetting.PageSize", Int32.MaxValue.ToString());//
 
             }
             else if (value == 1)
@@ -1082,7 +931,7 @@
                 postValues.Add("RequestVersion", CommonPage.RequestVersion);
                 postValues.Add("LoginAccessToken", Config.Instance.Token);
                 postValues.Add("MainAccountId", residential.MainUserDistributedMark);
-                postValues.Add("SharedHid", residential.Id);
+                postValues.Add("SharedHid", residential.Id);
             }
             else if (value == 2)
             {
@@ -1090,16 +939,15 @@
                 postValues.Add("LoginAccessToken", residential.Token);
                 postValues.Add("HomeId", residential.Id);
                 postValues.Add("DoorLockId", residential.doorlockmac);//闂ㄩ攣Mac
-                postValues.Add("IsOtherAccountCtrl", residential.IsOtherAccountCtrl.ToString());
+                postValues.Add("IsOtherAccountCtrl", residential.IsOtherAccountCtrl.ToString());
+                postValues.Add("PageSetting.PageSize", Int32.MaxValue.ToString());
             }
             System.Net.WebClient webClient = new System.Net.WebClient();
             byte[] responseArray = webClient.UploadValues(url, postValues);
-            return System.Text.Encoding.UTF8.GetString(responseArray);
+            var s = System.Text.Encoding.UTF8.GetString(responseArray);
+            return s;
+
         }
-
-
-
-        #endregion
 
         public class Residential
         {
@@ -1124,39 +972,29 @@
             public string doorlockmac;
         }
 
-        public class LogicLock
+        public class MembershipIfon 
         {
-            /// <summary>
-            /// 瑙﹀彂婧怚D
-            /// </summary>
-            public string DoorLockLocalUserId = string.Empty;
-            /// <summary>
-            /// 瑙﹀彂婧愭ā寮�(0:瀵嗙爜;3:鍗�;15:鎸囩汗;)
-            /// </summary>
-            public int OpenLockMode;
             /// <summary>
             /// 璇嗗埆鐢ㄦ埛韬唤
             /// </summary>
             public string CloudAccountId = string.Empty;
-        }
-
-        public class MembershipIfon
-        {
             /// <summary>
-            /// 璇嗗埆鐢ㄦ埛韬唤
+            /// 闂ㄩ攣Mac+Port,璇嗗埆闂ㄩ攣锛�
             /// </summary>
-            public string MembershipId = string.Empty;
+            public string DoorLockMacPort = string.Empty;
             /// <summary>
-            /// 瑙﹀彂婧怚D+妯″紡(0:瀵嗙爜;3:鍗�;15:鎸囩汗;)
+            /// 瑙﹀彂婧愬垪琛�
             /// </summary>
-            public List<LockMode> UserIdMode = new List<LockMode>();
+            public List<UnlockingMode> UserIdMode = new List<UnlockingMode>();
             /// <summary>
             /// 鐢ㄦ埛鏄电О
             /// </summary>
-            public string MembershipName = string.Empty;
+            public string UserName = string.Empty;
+
+
         }
 
-        public class LockMode
+        public class UnlockingMode
         {
             /// <summary>
             /// 瑙﹀彂婧怚D
@@ -1166,16 +1004,43 @@
             /// 瑙﹀彂婧愭ā寮�(0:瀵嗙爜;3:鍗�;15:鎸囩汗;)
             /// </summary>
             public int OpenMode;
+            /// <summary>
+            /// 鑷畾涔夎Е鍙戞簮鍚嶇О
+            /// </summary>
+            public string ModeName = string.Empty;
 
         }
+
+        public class User
+        {
+            /// <summary>
+            /// 璇嗗埆鐢ㄦ埛韬唤
+            /// </summary>
+            public string CloudAccountId = string.Empty;
+            /// <summary>
+            /// 瑙﹀彂婧怚D
+            /// </summary>
+            public string UserId = string.Empty;
+            /// <summary>
+            /// 瑙﹀彂婧愭ā寮�(0:瀵嗙爜;3:鍗�;15:鎸囩汗;)
+            /// </summary>
+            public int OpenMode;
+            /// <summary>
+            /// 鑷畾涔夎Е鍙戞簮鍚嶇О
+            /// </summary>
+            public string ModeName = string.Empty;
+            /// <summary>
+            /// 闂ㄩ攣Mac+Port,璇嗗埆闂ㄩ攣锛�
+            /// </summary>
+            public string DoorLockMacPort = string.Empty;
+
+        }
+
+
         /// <summary>
-        /// 鑷姩鍖栭棬閿佹垚鍛樹俊鎭綔涓烘潯浠跺垪琛�
+        /// 闂ㄩ攣鍒楄〃
         /// </summary>
-        public static List<MembershipIfon> UserList = new List<MembershipIfon>();
-        /// <summary>
-        ///鑱斿姩浜嬩欢闂ㄩ攣鎴愬憳淇℃伅浣滀负鏉′欢鐨勫垪琛�
-        /// </summary>
-        public static List<MembershipIfon> LinkageventLockList = new List<MembershipIfon>();
+        public static List<MembershipIfon> LockList = new List<MembershipIfon>();
 
         /// <summary>
         /// 褰撳墠闂ㄩ攣
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/GatewayBackupEnum.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/GatewayBackupEnum.cs
index 5228f2b..fd437d9 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/GatewayBackupEnum.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/GatewayBackupEnum.cs
@@ -38,16 +38,20 @@
         /// </summary>
         A骞叉帴鐐圭鏈夊睘鎬� = 7,
         /// <summary>
+        /// 绐楀笜涓婁笅闄愪綅(杩欎釜涓滆タ闇�瑕佸湪绗竴)
+        /// </summary>
+        A绐楀笜涓婁笅闄愪綅 = 8,
+        /// <summary>
         /// 绐楀笜鎵嬫媺鎺у埗
         /// </summary>
-        A绐楀笜鎵嬫媺鎺у埗 = 8,
-        /// <summary>
-        /// 绐楀笜涓婁笅闄愪綅
-        /// </summary>
-        A绐楀笜涓婁笅闄愪綅 = 9,
+        A绐楀笜鎵嬫媺鎺у埗 = 9,
         /// <summary>
         /// 绐楀笜鏂瑰悜
         /// </summary>
         A绐楀笜鏂瑰悜 = 10,
+        /// <summary>
+        /// 绌鸿皟鑷畾涔夋ā寮�
+        /// </summary>
+        A绌鸿皟鑷畾涔夋ā寮� = 11
     }
 }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs
index 9720e27..ff34a16 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs
@@ -189,6 +189,10 @@
             dic = dicMsg[keys];
             //璐﹀彿鏈敞鍐�
             dic["AccountNoExists"] = R.MyInternationalizationString.GetAccountInfo_AccountNoExists;
+            //璇锋眰鍙傛暟閿欒
+            dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError;
+            //鏃犳晥鐨勭櫥褰昑oken
+            dic["NoLogin"] = R.MyInternationalizationString.uNoLogin;
 
             //鑾峰彇浣忓畢鍒嗛〉
             keys = "App/GetHomePager";
@@ -502,7 +506,25 @@
             dic = dicMsg[keys];
             //璇锋眰鍙傛暟閿欒
             dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError;
-            //纭瀵嗙爜涓嶄竴鑷达紝璇烽噸鏂拌緭鍏�
+            //鏃犳晥鐧诲綍Token
+            dic["NoLogin"] = R.MyInternationalizationString.uNoLogin;
+
+            //鏇存柊楠岃瘉瀵嗙爜
+            keys = "ZigbeeUsers/UpdatEexpandPwd";
+            dicMsg[keys] = new Dictionary<string, int>();
+            dic = dicMsg[keys];
+            //璇锋眰鍙傛暟閿欒
+            dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError;
+            //鏃犳晥鐧诲綍Token
+            dic["NoLogin"] = R.MyInternationalizationString.uNoLogin;
+
+            //娣诲姞鎰忚鍙嶉
+            keys = "App/AddOpinionFeedback";
+            dicMsg[keys] = new Dictionary<string, int>();
+            dic = dicMsg[keys];
+            //璇锋眰鍙傛暟閿欒
+            dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError;
+            //鏃犳晥鐧诲綍Token
             dic["NoLogin"] = R.MyInternationalizationString.uNoLogin;
         }
 
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterColor.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterColor.cs
index d704e95..f13c53d 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterColor.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterColor.cs
@@ -135,8 +135,11 @@
         /// <summary>
         /// 鈽嗘鑹茬殑鏂囨湰棰滆壊(0xfffc744b)
         /// </summary>
-        public uint TextOrangeColor = 0xfffc744b;
-
+        public uint TextOrangeColor = 0xfffc744b;
+        /// <summary>
+        /// 鈽嗚鎺т欢閫夋嫨鐘舵�佹椂鐨勮儗鏅壊
+        /// </summary>
+        public uint RowSelectBackColor = 0xfffbfbfb;
 
 
 
@@ -153,10 +156,6 @@
         /// 閫変腑鐨勯鑹�(钃濊壊)
         /// </summary>
         public uint SelectTextColor = 0xff00aaf0;
-        /// <summary>
-        /// 琛屾帶浠堕�夋嫨鐘舵�佹椂鐨勮儗鏅壊
-        /// </summary>
-        public uint RowSelectBackColor = 0xfffbfbfb;
         /// <summary>
         /// 娣辫摑鑹�
         /// </summary>
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs
index 5004d73..113ad7b 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs
@@ -68,9 +68,17 @@
         [Newtonsoft.Json.JsonIgnore]
         public bool UserIconFileChanged = false;
         /// <summary>
-        /// 鐢ㄦ埛澶村儚鏁版嵁
+        /// 鐢ㄦ埛澶村儚鏁版嵁(涓存椂鐢�,浼氱疆绌�)
         /// </summary>
         public byte[] HeadImage = null;
+        /// <summary>
+        /// 鎵嬪娍瀵嗙爜(涓存椂鐢�,浼氱疆绌�)
+        /// </summary>
+        public string GesturePwd = string.Empty;
+        /// <summary>
+        /// 瀵嗙爜楠岃瘉(涓存椂鐢�,浼氱疆绌�)
+        /// </summary>
+        public string StringPwd = string.Empty;
     }
 
     /// <summary>
@@ -162,6 +170,10 @@
         /// 鎵嬫満鍙�
         /// </summary>
         public string Phone = string.Empty;
+        /// <summary>
+        /// 澶村儚鏁版嵁
+        /// </summary>
+        public byte[] HeadImage = null;
     }
 
     #endregion
@@ -1000,4 +1012,38 @@
     }
 
     #endregion
+
+    #region 鈻� 浣忓畢淇℃伅绫籣_________________________
+
+    /// <summary>
+    ///  缂栬緫浣忓畢鐨勫惎鍔ㄥ弬鏁�
+    /// </summary>
+    public class EditorResidencePra : IfacePraCommon
+    {
+        /// <summary>
+        /// RequestVersion
+        /// </summary>
+        public string RequestVersion = Common.CommonPage.RequestVersion;
+        /// <summary>
+        /// LoginAccessToken
+        /// </summary>
+        public string LoginAccessToken = Common.Config.Instance.Token;
+        /// <summary>
+        /// ZigbeeHomeId
+        /// </summary>
+        public string HomeId = "";
+        /// <summary>
+        /// Name
+        /// </summary>
+        public string Name = string.Empty;
+        /// <summary>
+        /// 缁忓害
+        /// </summary>
+        public double Longitude = 0;
+        /// <summary>
+        /// 绾害
+        /// </summary>
+        public double Latitude = 0;
+    }
+    #endregion
 }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressFormBar.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressFormBar.cs
new file mode 100755
index 0000000..4d6dd4c
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressFormBar.cs
@@ -0,0 +1,246 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter
+{
+    /// <summary>
+    /// 鐣岄潰绫诲瀷鐨勮繘搴︽潯鎺т欢
+    /// </summary>
+    public class ProgressFormBar
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// 鐣岄潰绫诲瀷鐨勮繘搴︽潯鎺т欢
+        /// </summary>
+        private static ProgressFormBar m_Current = null;
+        /// <summary>
+        /// 鐣岄潰绫诲瀷鐨勮繘搴︽潯鎺т欢
+        /// </summary>
+        public static ProgressFormBar Current
+        {
+            get
+            {
+                if (m_Current == null)
+                {
+                    m_Current = new ProgressFormBar();
+                }
+                return m_Current;
+            }
+        }
+
+        /// <summary>
+        /// 瀹瑰櫒鎺т欢
+        /// </summary>
+        private FrameLayout bodyFrameLayout = null;
+        /// <summary>
+        /// 淇℃伅鎺т欢
+        /// </summary>
+        private NormalViewControl btnText = null;
+        /// <summary>
+        /// 杩涘害鍊兼枃鏈殑鏄剧ず鎺т欢
+        /// </summary>
+        private NormalViewControl btnProgressView = null;
+        /// <summary>
+        /// 杩涘害鍊艰兘澶熺Щ鍔ㄧ殑閭d釜妗嗘帶浠�
+        /// </summary>
+        private FrameLayout frameProgress = null;
+        /// <summary>
+        /// 杩涘害鏉�
+        /// </summary>
+        private FrameLayout btnProgressBar = null;
+        /// <summary>
+        /// 杩涘害鏉″鍣ㄧ殑鏈�澶у搴�
+        /// </summary>
+        private int ProRowWidth = 0;
+        /// <summary>
+        /// 鍘熸潵鐨勬粦鍔ㄦ爣璇�
+        /// </summary>
+        private bool oldScrollEnabled = false;
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鍒濆鍖栬繘搴︽潯
+        /// </summary>
+        private void InitProgressFormBar()
+        {
+            var nowForm = UserView.HomePage.Instance.GetChildren(UserView.HomePage.Instance.ChildrenCount - 1);
+            if (nowForm == null || (nowForm is ViewGroup) == false)
+            {
+                //杩欑鎯呭喌搴旇涓嶅瓨鍦�
+                var alert = new ShowMsgControl(ShowMsgType.Error, "ERROR:Not Found The ActionForm!");
+                alert.Show();
+                return;
+            }
+            //瀹夊崜鍙互鐐瑰嚮绯荤粺鐨勮繑鍥為敭
+            this.oldScrollEnabled = UserView.HomePage.Instance.ScrollEnabled;
+            UserView.HomePage.Instance.ScrollEnabled = false;
+            Shared.Common.CommonPage.BackKeyCanClick = false;
+
+            //瀹瑰櫒
+            bodyFrameLayout = new FrameLayout();
+            bodyFrameLayout.BackgroundColor = UserCenterColor.Current.DialogBackColor;
+            ((ViewGroup)nowForm).AddChidren(bodyFrameLayout);
+
+            var frameBack = new FrameLayout();
+            frameBack.Width = Application.GetRealWidth(674);
+            frameBack.Height = Application.GetRealHeight(386);
+            frameBack.BackgroundColor = UserCenterColor.Current.White;
+            frameBack.Gravity = Gravity.CenterHorizontal;
+            frameBack.Y = Application.GetRealHeight(683);
+            frameBack.Radius = 6;
+            bodyFrameLayout.AddChidren(frameBack);
+
+            //杩涘害鏄剧ず鏂囨湰
+            this.btnText = new NormalViewControl(frameBack.Width, Application.GetRealHeight(58), false);
+            btnText.Y = Application.GetRealHeight(248);
+            btnText.TextColor = UserCenterColor.Current.TextGrayColor1;
+            btnText.TextAlignment = TextAlignment.Center;
+            frameBack.AddChidren(btnText);
+
+            //杩涘害鏉�
+            var btnProRow = new FrameLayout();
+            btnProRow.Gravity = Gravity.CenterHorizontal;
+            btnProRow.Y = Application.GetRealHeight(161);
+            btnProRow.Width = Application.GetRealWidth(559);
+            btnProRow.Height = Application.GetRealHeight(29);
+            btnProRow.BackgroundColor = 0xfff5f5f5;
+            btnProRow.Radius = (uint)Application.GetRealHeight(29) / 2;
+            frameBack.AddChidren(btnProRow);
+            this.btnProgressBar = new FrameLayout();
+            btnProgressBar.Width = 0;
+            btnProgressBar.Height = btnProRow.Height;
+            btnProgressBar.Radius = btnProRow.Radius;
+            btnProgressBar.BackgroundColor = 0xfffb744a;
+            btnProgressBar.Radius = (uint)Application.GetRealHeight(29) / 2;
+            btnProRow.AddChidren(btnProgressBar);
+
+            //杩涘害鍊兼枃鏈�
+            this.frameProgress = new FrameLayout();
+            frameProgress.Width = Application.GetRealWidth(84);
+            frameProgress.Height = Application.GetRealHeight(60);
+            frameProgress.Y = Application.GetRealHeight(86);
+            frameBack.AddChidren(frameProgress);
+            frameProgress.X = btnProRow.X + btnProgressBar.Right - frameProgress.Width / 2;
+            var btnProgressPic = new PicViewControl(84, 60);
+            btnProgressPic.UnSelectedImagePath = "Item/ProgressMsg.png";
+            frameProgress.AddChidren(btnProgressPic);
+            this.btnProgressView = new NormalViewControl(84, 32, true);
+            btnProgressView.TextSize = 10;
+            btnProgressView.TextAlignment = TextAlignment.Center;
+            btnProgressView.Text = "0%";
+            frameProgress.AddChidren(btnProgressView);
+
+            this.ProRowWidth = btnProRow.Width;
+        }
+
+        #endregion
+
+        #region 鈻� 璁剧疆淇℃伅___________________________
+
+        /// <summary>
+        /// 璁剧疆鏄剧ず淇℃伅
+        /// </summary>
+        /// <param name="msg"></param>
+        public void SetMsg(string msg)
+        {
+            HdlThreadLogic.Current.RunMain(() =>
+            {
+                btnText.Text = msg;
+            });
+        }
+
+        #endregion
+
+        #region 鈻� 璁剧疆杩涘害鍊糭________________________
+
+        /// <summary>
+        /// 璁剧疆杩涘害鍊�
+        /// </summary>
+        /// <param name="value">姝ゅ�间负鐧惧垎姣斿��(涔熷氨鏄皬浜庢垨鑰呯瓑浜�1鐨�)</param>
+        public void SetValue(decimal value)
+        {
+            this.SetValueEx(value);
+        }
+
+        /// <summary>
+        /// 璁剧疆杩涘害鍊�
+        /// </summary>
+        /// <param name="value">杩涘害鍊�,鍐呴儴浼氶櫎浠axValue</param>
+        /// <param name="maxValue">鏈�澶у��</param>
+        public void SetValue2(decimal value, decimal maxValue)
+        {
+            decimal result = value / maxValue;
+            this.SetValueEx(result);
+        }
+
+        /// <summary>
+        /// 璁剧疆杩涘害鍊�
+        /// </summary>
+        /// <param name="value"></param>
+        private void SetValueEx(decimal value)
+        {
+            HdlThreadLogic.Current.RunMain(() =>
+            {
+                int width = (int)(value * ProRowWidth);
+                btnProgressBar.Width = width;
+                //鏂囨湰鏄剧ず
+                btnProgressView.Text = ((int)(value * 100)) + "%";
+                //鏂囨湰鏄剧ず鐨勯偅涓浘鐗囨绉诲姩
+                frameProgress.X = ControlCommonResourse.XXLeft + btnProgressBar.Right - frameProgress.Width / 2;
+            });
+        }
+
+        #endregion
+
+        #region 鈻� 寮�鍚繘搴︽潯_________________________
+
+        /// <summary>
+        /// 寮�鍚繘搴︽潯
+        /// </summary>
+        public void Start()
+        {
+            if (this.bodyFrameLayout == null)
+            {
+                HdlThreadLogic.Current.RunMain(() =>
+                {
+                    //鍒濆鍖栬繘搴︽潯
+                    this.InitProgressFormBar();
+                });
+            }
+        }
+
+        #endregion
+
+        #region 鈻� 鍏抽棴杩涘害鏉________________________
+
+        /// <summary>
+        /// 鍏抽棴杩涘害鏉�
+        /// </summary>
+        public void Close()
+        {
+            if (this.oldScrollEnabled == true)
+            {
+                //濡傛灉瀹冨師鏉ュ氨鏄笉鍙互婊戝姩鐨勮瘽锛屼笉澶勭悊
+                UserView.HomePage.Instance.ScrollEnabled = true;
+            }
+            Shared.Common.CommonPage.BackKeyCanClick = true;
+
+            HdlThreadLogic.Current.RunMain(() =>
+            {
+                bodyFrameLayout?.RemoveFromParent();
+                bodyFrameLayout = null;
+                btnText = null;
+                btnProgressView = null;
+                frameProgress = null;
+                btnProgressBar = null;
+            });
+        }
+
+        #endregion
+    }
+}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/PswNumberInputControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/PswNumberInputControl.cs
index ab75e36..711cbee 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/PswNumberInputControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/PswNumberInputControl.cs
@@ -290,8 +290,7 @@
         /// 閲嶇疆鎺т欢
         /// </summary>
         /// <param name="i_title">鏍囬淇℃伅</param>
-        /// <param name="clearError">鏄惁娓呴櫎閿欒淇℃伅</param>
-        public void ResetControlInfo(string i_title, bool clearError = true)
+        public void ResetControlInfo(string i_title)
         {
             //鏍囬
             btnTitle.Text = i_title;
@@ -302,11 +301,8 @@
             {
                 listPswIcon[i].BackgroundColor = UserCenterColor.Current.Transparent;
             }
-            if (clearError == true)
-            {
-                //閿欒淇℃伅
-                btnError.Text = string.Empty;
-            }
+            //閿欒淇℃伅
+            btnError.Text = string.Empty;
         }
 
         #endregion
@@ -324,6 +320,14 @@
                 btnError.Visible = true;
             }
             btnError.Text = i_msg;
+
+            //璁板綍鐨勫瘑鐮�
+            inputPassword = string.Empty;
+            //瀵嗙爜鍥炬爣
+            for (int i = 0; i < listPswIcon.Count; i++)
+            {
+                listPswIcon[i].BackgroundColor = UserCenterColor.Current.Transparent;
+            }
         }
 
         #endregion
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs
index 0a8b19e..fece7db 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs
@@ -89,10 +89,14 @@
             //鍒楄〃鎺т欢
             this.listView = new VerticalListControl();
             listView.Height = frameTable.Height;
-            if (rowCount == 5 && titleText != null)
+            if (rowCount == 5)
             {
                 //杩炲甫鏍囬,鍙兘鏄剧ず5琛�
                 listView.Height = frameTable.Height - Application.GetRealHeight(RowHeight);
+            }
+            if (titleText != null)
+            {
+                //鎷ユ湁鏍囬
                 listView.Y = Application.GetRealHeight(RowHeight);
             }
             listView.Radius = frameTable.Radius;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/GatewayRowControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/GatewayRowControl.cs
index c3a0bc0..ebaab67 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/GatewayRowControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/GatewayRowControl.cs
@@ -121,7 +121,11 @@
             frameTable.AddChidren(btnName, ChidrenBindMode.BindEventOnly);
 
             //鎴块棿
-            string strIp = HdlGatewayLogic.Current.GetGatewayBaseInfoAttribute(tempWay, "IpAddress").ToString();
+            string strIp = string.Empty;
+            if (tempWay != null)
+            {
+                strIp = tempWay.getGatewayBaseInfo.IpAddress;
+            }
             this.btnIp = frameTable.AddLeftCaption(strIp, 600, 50, true);
             //杩欎釜鍧愭爣鏈夌偣鐗规畩
             btnIp.Y = Application.GetRealHeight(72) + this.chidrenYaxis;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameLayoutControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameLayoutControl.cs
index 05f38cb..7b0c5ef 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameLayoutControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameLayoutControl.cs
@@ -91,6 +91,13 @@
 
                 this.BindChidrenEvent(view, chidrenBindMode);
             }
+            else if (view is ImageView)
+            {
+                view.MouseUpEventHandler -= ChildrenUpEvent;
+                view.MouseDownEventHandler -= ChildrenDownEvent;
+
+                this.BindChidrenEvent(view, chidrenBindMode);
+            }
             else if (view is ViewGroup)
             {
                 ViewGroup groupContr = (ViewGroup)view;
@@ -124,7 +131,11 @@
         /// <param name="chidrenBindMode"></param>
         private void BindChidrenEvent(View view, ChidrenBindMode chidrenBindMode)
         {
-            if (view is ButtonBase && chidrenBindMode != ChidrenBindMode.NotBind)
+            if (chidrenBindMode == ChidrenBindMode.NotBind)
+            {
+                return;
+            }
+            if (view is ButtonBase)
             {
                 //涓哄瓙鎺т欢娣诲姞浜嬩欢
                 ButtonBase button = (ButtonBase)view;
@@ -134,7 +145,16 @@
                 button.ButtonClickEvent += ChildrenUpEvent;
                 button.MouseDownEventHandler += ChildrenDownEvent;
             }
-            else if (view is ViewGroup && chidrenBindMode != ChidrenBindMode.NotBind)
+            else if (view is ImageView)
+            {
+                //鑷韩涔熸坊鍔犱簨浠�
+                view.MouseUpEventHandler -= ChildrenUpEvent;
+                view.MouseDownEventHandler -= ChildrenDownEvent;
+
+                view.MouseUpEventHandler += ChildrenUpEvent;
+                view.MouseDownEventHandler += ChildrenDownEvent;
+            }
+            else if (view is ViewGroup)
             {
                 //涓哄瓙鎺т欢娣诲姞浜嬩欢
                 ViewGroup groupContr = (ViewGroup)view;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs
index 9d31add..5dc08ac 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs
@@ -129,6 +129,41 @@
             }
         }
 
+        /// <summary>
+        /// 閽堝搴曢儴鐐瑰嚮鎸夐挳,璋冩暣鎺т欢鐪熷疄楂樺害
+        /// </summary>
+        /// <param name="bottomSpace">搴曢儴绌虹櫧闂磋窛(鐪熷疄鍊�,濡傛灉鍒楄〃鎺т欢鐪熷疄楂樺害娌℃湁瓒呰繃鏃�,浣跨敤姝ゅ��)</param>
+        public void AdjustRealHeightByBottomButton(int bottomSpace)
+        {
+            if (this.ChildrenCount == 0)
+            {
+                frameBackTemp?.RemoveFromParent();
+                frameBackTemp = null;
+                if (maxHeight != -1)
+                {
+                    //杩樺師涓烘渶澶ч珮搴�
+                    this.Height = maxHeight;
+                }
+                return;
+            }
+            var realHeight = this.ChildrenCount * this.GetChildren(0).Height + this.Y;
+            var btnTemp = new BottomClickButton();
+            if (btnTemp.Yaxis >= realHeight)
+            {
+                //娌℃湁瓒呰繃
+                this.AdjustRealHeight(bottomSpace);
+                return;
+            }
+            //瓒呰繃鏃�,閲嶇疆鑷虫渶澶�
+            this.RecoverHeight();
+
+            //娣诲姞涓存椂鎺т欢,鐩磋嚦鍙互婊戝姩瓒呰繃搴曢儴鎸夐挳
+            frameBackTemp?.RemoveFromParent();
+            frameBackTemp = new FrameLayout();
+            frameBackTemp.Height = ControlCommonResourse.BodyFrameHeight - btnTemp.Y;
+            this.AddChidren(frameBackTemp);
+        }
+
         #endregion
     }
 }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/LoadingControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/LoadingControl.cs
new file mode 100755
index 0000000..979d63f
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/LoadingControl.cs
@@ -0,0 +1,45 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter
+{
+    /// <summary>
+    /// Loading鎺т欢
+    /// </summary>
+    public class LoadingControl : Button
+    {
+        /// <summary>
+        /// 鍒濆鍖�
+        /// </summary>
+        public LoadingControl()
+        {
+            this.Width = Application.GetMinRealAverage(74);
+            this.Height = Application.GetMinRealAverage(76);
+        }
+
+        /// <summary>
+        /// 寮�鍚姩鐢绘晥鏋�
+        /// </summary>
+        public void StartAction()
+        {
+            HdlThreadLogic.Current.RunThread(() =>
+            {
+                int index = 1;
+                while (this.Parent != null)
+                {
+                    System.Threading.Thread.Sleep(50);
+                    Application.RunOnMainThread(() =>
+                    {
+                        this.UnSelectedImagePath = "Loading/" + index + ".png";
+                    });
+                    index++;
+                    if (index > 32)
+                    {
+                        index = 1;
+                    }
+                }
+            });
+        }
+    }
+}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/PswErrorRowLayout.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/PswErrorRowLayout.cs
deleted file mode 100755
index 30c57be..0000000
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/PswErrorRowLayout.cs
+++ /dev/null
@@ -1,185 +0,0 @@
-锘縰sing System;
-namespace Shared.Phone.UserCenter
-{
-    /// <summary>
-    /// 瀵嗙爜閿欒淇℃伅鎻愮ず鎺т欢
-    /// </summary>
-    public class PswErrorRowLayout : RowLayout
-    {
-        /// <summary>
-        /// 鐜伴樁娈垫槸鍚﹂敊璇�
-        /// </summary>
-        public bool IsError = true;
-        /// <summary>
-        /// 瀵嗙爜闀垮害涓嶄綆浜�8浣嶆暟
-        /// </summary>
-        private Button btnLength = null;
-        /// <summary>
-        /// 鑷冲皯鏈変竴涓ぇ鍐欏瓧姣�
-        /// </summary>
-        private Button btnUpper = null;
-        /// <summary>
-        /// 鑷冲皯鏈変竴涓皬鍐欏瓧姣�
-        /// </summary>
-        private Button btnLower = null;
-        /// <summary>
-        /// 鑷冲皯鏈変竴涓暟瀛楁垨绗﹀彿
-        /// </summary>
-        private Button btnNumber = null;
-        /// <summary>
-        /// 鍏跺畠
-        /// </summary>
-        private Button btnOther = null;
-        /// <summary>
-        /// 姝g‘鐨勫浘鏍�
-        /// </summary>
-        private string rightIcon = "鈭� ";
-        /// <summary>
-        /// 閿欒鐨勫浘鏍�
-        /// </summary>
-        private string wrongIcon = "脳 ";
-        /// <summary>
-        /// 瀵嗙爜闀垮害涓嶄綆浜�8浣嶆暟
-        /// </summary>
-        private string LengthMsg = Language.StringByID(R.MyInternationalizationString.PswLengthMsg);
-        /// <summary>
-        /// 鑷冲皯鏈変竴涓ぇ鍐欏瓧姣�
-        /// </summary>
-        private string UpperMsg = Language.StringByID(R.MyInternationalizationString.PswLowerMsg);
-        /// <summary>
-        /// 鑷冲皯鏈変竴涓皬鍐欏瓧姣�
-        /// </summary>
-        private string LowerMsg = Language.StringByID(R.MyInternationalizationString.PswLowerMsg);
-        /// <summary>
-        /// 鑷冲皯鏈変竴涓暟瀛楁垨绗﹀彿
-        /// </summary>
-        private string NumberMsg = Language.StringByID(R.MyInternationalizationString.PswNumberMsg);
-
-        /// <summary>
-        /// 鍒濆鍖�
-        /// </summary>
-        /// <param name="width">Width.</param>
-        /// <param name="height">Height.</param>
-        public void Init(int width = 300, int height = 35)
-        {
-            //X杞村亸绉婚噺
-            //int XX = UserCenterResourse.XXLeft;
-
-            //btnLength = UserCenterControls.MakeViewButton(width, height, true);
-            //btnLength.X = XX;
-            //btnLength.Y = Application.GetRealHeight(6);
-            //btnLength.TextAlignment = TextAlignment.CenterLeft;
-            //btnLength.TextColor = UserCenterColor.Current.Red;
-            //btnLength.Text = wrongIcon + LengthMsg;
-            //this.AddChidren(btnLength);
-
-            //btnUpper = UserCenterControls.MakeViewButton(width, height, true);
-            //btnUpper.X = XX;
-            //btnUpper.Y = btnLength.Bottom + Application.GetRealHeight(6);
-            //btnUpper.TextAlignment = TextAlignment.CenterLeft;
-            //btnUpper.TextColor = UserCenterColor.Current.Red;
-            //btnUpper.Text = wrongIcon + UpperMsg;
-            //this.AddChidren(btnUpper);
-
-            //btnLower = UserCenterControls.MakeViewButton(width, height, true);
-            //btnLower.X = XX;
-            //btnLower.Y = btnUpper.Bottom + Application.GetRealHeight(6);
-            //btnLower.TextAlignment = TextAlignment.CenterLeft;
-            //btnLower.TextColor = UserCenterColor.Current.Red;
-            //btnLower.Text = wrongIcon + LowerMsg;
-            //this.AddChidren(btnLower);
-
-            //btnNumber = UserCenterControls.MakeViewButton(width, height, true);
-            //btnNumber.X = XX;
-            //btnNumber.Y = btnLower.Bottom + Application.GetRealHeight(6);
-            //btnNumber.TextAlignment = TextAlignment.CenterLeft;
-            //btnNumber.TextColor = UserCenterColor.Current.Red;
-            //btnNumber.Text = wrongIcon + NumberMsg;
-            //this.AddChidren(btnNumber);
-
-            //btnOther = UserCenterControls.MakeViewButton(width, height, true);
-            //btnOther.X = XX;
-            //btnOther.Y = btnNumber.Bottom + Application.GetRealHeight(6);
-            //btnOther.TextAlignment = TextAlignment.CenterLeft;
-            //btnOther.TextColor = UserCenterColor.Current.Red;
-            //this.AddChidren(btnOther);
-        }
-
-        /// <summary>
-        /// 瀵嗙爜妫�娴�
-        /// </summary>
-        /// <returns><c>true</c>, if password was checked, <c>false</c> otherwise.</returns>
-        /// <param name="password">Password.</param>
-        public bool CheckPassword(string password)
-        {
-            btnOther.Visible = false;
-
-            //鍒ゆ柇瀵嗙爜闀垮害 
-            bool flag1 = password.Length >= 8;
-            if (flag1)
-            {
-                btnLength.TextColor = UserCenterColor.Current.Green;
-                btnLength.Text = rightIcon + LengthMsg;
-            }
-            else
-            {
-                btnLength.TextColor = UserCenterColor.Current.Red;
-                btnLength.Text = wrongIcon + LengthMsg;
-            }
-
-            //鍒ゆ柇鏄惁鍖呭惈澶у啓瀛楁瘝
-            bool flag2 = UserCenterLogic.CheckContainUpper(password);
-            if (flag2 == true)
-            {
-                btnUpper.TextColor = UserCenterColor.Current.Green;
-                btnUpper.Text = rightIcon + UpperMsg;
-            }
-            else
-            {
-                btnUpper.TextColor = UserCenterColor.Current.Red;
-                btnUpper.Text = wrongIcon + UpperMsg;
-            }
-
-            //鍒ゆ柇鏄惁鍖呭惈灏忓啓瀛楁瘝
-            bool flag3 = UserCenterLogic.CheckContainLower(password);
-            if (flag3 == true)
-            {
-                btnLower.TextColor = UserCenterColor.Current.Green;
-                btnLower.Text = rightIcon + LowerMsg;
-            }
-            else
-            {
-                btnLower.TextColor = UserCenterColor.Current.Red;
-                btnLower.Text = wrongIcon + LowerMsg;
-            }
-
-            //鍒ゆ柇鏄惁鍖呭惈鏁板瓧鎴栬�呯鍙�
-            bool flag4 = UserCenterLogic.CheckContainNum(password);
-            bool flag5 = UserCenterLogic.CheckContainSymbol(password);
-            if (flag4 == true && flag5 == true)
-            {
-                btnNumber.TextColor = UserCenterColor.Current.Green;
-                btnNumber.Text = rightIcon + NumberMsg;
-            }
-            else
-            {
-                btnNumber.TextColor = UserCenterColor.Current.Red;
-                btnNumber.Text = wrongIcon + NumberMsg;
-            }
-            IsError = flag1 && flag2 && flag3 && flag4 && flag5;
-
-            return IsError;
-        }
-
-        /// <summary>
-        /// 鍦ㄦ渶鍚庝竴琛屾樉绀哄叾瀹冮敊璇俊鎭�
-        /// </summary>
-        /// <param name="error">Error.</param>
-        public void ShowOtherError(string error)
-        {
-            IsError = true;
-            btnOther.Text = wrongIcon + error;
-            btnOther.Visible = true;
-        }
-    }
-}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs
index cd3d842..3afd627 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs
@@ -72,27 +72,50 @@
         #region 鈻� 鍏抽棴鐣岄潰___________________________
 
         /// <summary>
+        /// 鐢婚潰鍏抽棴涔嬪墠(搴曞眰鍙樻洿,涓嶈兘閲嶈浇CloseForm鏂规硶浜�)
+        /// </summary>
+        public virtual void CloseFormBefore()
+        {
+        }
+
+        /// <summary>
+        /// 鐢婚潰鍏抽棴涔嬪悗(鏂板)
+        /// </summary>
+        public virtual void CloseFormAfter()
+        {
+        }
+
+        /// <summary>
         /// 鐢婚潰鍏抽棴
         /// </summary>
         public virtual void CloseForm()
         {
             //Log鍑哄姏
             HdlLogLogic.Current.WriteLog(1, this.FormID + " 鐣岄潰鍏抽棴");
+            try
+            {
+                //绉婚櫎鎺ュ彈鍦ㄧ嚎鐘舵�佹帹閫�
+                this.RemoveGatewayOnlinePush();
+                //绉婚櫎璁惧灞炴�у彉鏇存帹閫�
+                this.RemoveDeviceAttributePush();
 
-            //绉婚櫎鎺ュ彈鍦ㄧ嚎鐘舵�佹帹閫�
-            this.RemoveGatewayOnlinePush();
-            //绉婚櫎璁惧灞炴�у彉鏇存帹閫�
-            this.RemoveDeviceAttributePush();
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar();
 
-            //鍏抽棴杩涘害鏉�
-            this.CloseProgressBar();
+                //璋冪敤鐨勬槸Base鐨勭Щ闄ゆ帶浠跺嚱鏁�
+                //鑰屼笉鏄皟鐢╰his鐨勭Щ闄ゆ帶浠跺嚱
+                base.RemoveFromParent();
 
-            //璋冪敤鐨勬槸Base鐨勭Щ闄ゆ帶浠跺嚱鏁�
-            //鑰屼笉鏄皟鐢╰his鐨勭Щ闄ゆ帶浠跺嚱
-            base.RemoveFromParent();
-
-            //浠庡垪琛ㄤ腑绉婚櫎(闃叉鐢婚潰浜岄噸娣诲姞)
-            UserCenterLogic.RemoveActionForm(this);
+                //浠庡垪琛ㄤ腑绉婚櫎(闃叉鐢婚潰浜岄噸娣诲姞)
+                UserCenterLogic.RemoveActionForm(this);
+            }
+            catch (Exception ex)
+            {
+                //鍑虹幇鏈煡閿欒
+                this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
+                //Log鍑哄姏
+                HdlLogLogic.Current.WriteLog(ex);
+            }
         }
 
         /// <summary>
@@ -370,7 +393,6 @@
                 }
                 var myMethod = form.GetType().GetMethod(method);
                 return myMethod.Invoke(form, parameter);
-                //return form.GetType().InvokeMember(method, System.Reflection.BindingFlags.InvokeMethod, null, form, parameter);
             }
             catch (Exception ex)
             {
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomDialogSelectForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomItemSelectForm.cs
similarity index 97%
rename from ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomDialogSelectForm.cs
rename to ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomItemSelectForm.cs
index 38dca06..6665467 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomDialogSelectForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomItemSelectForm.cs
@@ -5,9 +5,9 @@
 namespace Shared.Phone.UserCenter
 {
     /// <summary>
-    /// 搴曢儴寮圭獥閫夋嫨鐣岄潰(鍒楄〃鏁板敖鍙兘鍒紕閭d箞澶�)
+    /// 搴曢儴寮圭獥椤圭洰閫夋嫨鐣岄潰(鍒楄〃鏁板敖鍙兘鍒紕閭d箞澶�)
     /// </summary>
-    public class BottomDialogSelectForm : DialogCommonForm
+    public class BottomItemSelectForm : DialogCommonForm
     {
         #region 鈻� 鍙橀噺澹版槑___________________________
 
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomMenuSelectForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomMenuSelectForm.cs
new file mode 100755
index 0000000..1a9f925
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomMenuSelectForm.cs
@@ -0,0 +1,144 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter
+{
+    /// <summary>
+    /// 搴曢儴寮圭獥鐨勮彍鍗曢�夋嫨鎺т欢
+    /// </summary>
+    public class BottomMenuSelectForm : DialogCommonForm
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// 鑿滃崟楂樺害
+        /// </summary>
+        private int menuHeight = Application.GetRealHeight(156);
+        /// <summary>
+        /// 鑿滃崟鎬绘暟
+        /// </summary>
+        private int m_MenuCount = 0;
+        /// <summary>
+        /// 鑿滃崟妗屽竷鎺т欢
+        /// </summary>
+        private FrameLayout frameMenuTable = null;
+        /// <summary>
+        /// 瀹瑰櫒
+        /// </summary>
+        private FrameLayout frameAnimateTable = null;
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        /// <param name="menuCount">鑿滃崟鎬绘暟(涓嶅惈鍙栨秷鑿滃崟)</param>
+        public void ShowForm(int menuCount)
+        {
+            this.m_MenuCount = menuCount;
+            //鍒濆鍖栦腑閮ㄤ俊鎭�
+            this.InitMiddleFrame(menuCount);
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+        /// </summary>
+        /// <param name="menuCount">鑿滃崟鎬绘暟(涓嶅惈鍙栨秷鑿滃崟)</param>
+        private void InitMiddleFrame(int menuCount)
+        {
+            //瀹瑰櫒
+            int framebackHeight = this.menuHeight * (menuCount + 1) + Application.GetRealHeight(23) * 2;
+            this.frameAnimateTable = new FrameLayout();
+            frameAnimateTable.Height = framebackHeight;
+            frameAnimateTable.Y = bodyFrameLayout.Height - framebackHeight;
+            bodyFrameLayout.AddChidren(frameAnimateTable);
+
+            //鑿滃崟鐨勬甯冩帶浠�
+            this.frameMenuTable = new FrameLayout();
+            frameMenuTable.Gravity = Gravity.CenterHorizontal;
+            frameMenuTable.Radius = 12;
+            frameMenuTable.Width = Application.GetRealWidth(1034);
+            frameMenuTable.Height = this.menuHeight * menuCount;
+            frameMenuTable.BackgroundColor = UserCenterColor.Current.White;
+            frameAnimateTable.AddChidren(frameMenuTable);
+
+            //鍙栨秷
+            var frameCancel = new FrameLayout();
+            frameCancel.Y = frameAnimateTable.Height - this.menuHeight - Application.GetRealHeight(23);
+            frameCancel.Gravity = Gravity.CenterHorizontal;
+            frameCancel.Radius = 12;
+            frameCancel.Width = Application.GetRealWidth(1034);
+            frameCancel.Height = this.menuHeight;
+            frameCancel.BackgroundColor = UserCenterColor.Current.White;
+            frameAnimateTable.AddChidren(frameCancel);
+            var btnCancel = new NormalViewControl(Application.GetRealWidth(900), this.menuHeight, false);
+            btnCancel.Y = frameAnimateTable.Height - this.menuHeight - Application.GetRealHeight(23);
+            btnCancel.Gravity = Gravity.CenterHorizontal;
+            btnCancel.TextAlignment = TextAlignment.Center;
+            btnCancel.TextColor = 0xff0075ff;
+            btnCancel.TextSize = 17;
+            btnCancel.TextID = R.MyInternationalizationString.uCancel;
+            frameAnimateTable.AddChidren(btnCancel);
+            btnCancel.ButtonClickEvent += (sender, e) =>
+            {
+                //鍏抽棴鐣岄潰
+                this.CloseForm();
+            };
+        }
+
+        #endregion
+
+        #region 鈻� 涓�鑸柟娉昣__________________________
+
+        /// <summary>
+        /// 娣诲姞鑿滃崟
+        /// </summary>
+        /// <param name="strMenu">鑿滃崟鏂囨湰</param>
+        /// <param name="selectEvent">鑿滃崟閫夋嫨鐨勪簨浠�</param>
+        /// <param name="clickClose">鑿滃崟鐐瑰嚮鏃�,鏄惁鏃犳潯浠跺叧闂晫闈�</param>
+        public void AddMenu(string strMenu, Action selectEvent, bool clickClose = true)
+        {
+            //绾�
+            if (this.frameMenuTable.ChildrenCount > 0)
+            {
+                var btnLine = new NormalViewControl(frameMenuTable.Width, ControlCommonResourse.BottomLineHeight, false);
+                btnLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
+                btnLine.Y = this.frameMenuTable.GetChildren(this.frameMenuTable.ChildrenCount - 1).Bottom;
+                this.frameMenuTable.AddChidren(btnLine);
+            }
+
+            //鑿滃崟
+            var btnMenu = new NormalViewControl(Application.GetRealWidth(900), this.menuHeight, false);
+            if (this.frameMenuTable.ChildrenCount > 0)
+            {
+                btnMenu.Y = this.frameMenuTable.GetChildren(this.frameMenuTable.ChildrenCount - 1).Bottom;
+            }
+            btnMenu.Gravity = Gravity.CenterHorizontal;
+            btnMenu.TextAlignment = TextAlignment.Center;
+            btnMenu.TextColor = 0xff0075ff;
+            btnMenu.TextSize = 17;
+            btnMenu.Text = strMenu;
+            this.frameMenuTable.AddChidren(btnMenu);
+            btnMenu.ButtonClickEvent += (sender, e) =>
+            {
+                if (clickClose == true)
+                {
+                    //鍏抽棴鐣岄潰
+                    this.CloseForm();
+                }
+                selectEvent?.Invoke();
+                selectEvent = null;
+            };
+
+            if ((this.frameMenuTable.ChildrenCount / 2) + 1 == this.m_MenuCount)
+            {
+                this.frameAnimateTable.Animate = Animate.DownToUp;
+            }
+        }
+
+        #endregion
+    }
+}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DialogInputFrameControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/DialogInputForm.cs
similarity index 91%
rename from ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DialogInputFrameControl.cs
rename to ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/DialogInputForm.cs
index 2e11d1d..f29c96d 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DialogInputFrameControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/DialogInputForm.cs
@@ -9,7 +9,7 @@
     /// <para>瀛愭帶浠舵坊鍔犲畬鎴愬悗锛岃璋冪敤銆怚nitLastControl銆戝嚱鏁板畬鎴愭渶鍚庣殑鍒濆鍖�(浠呴檺None妯″紡)</para>
     /// <para>纭鎸夐挳鐨勫崟鍑讳簨浠朵负锛欳omfirmClickEvent</para>
     /// </summary>
-    public class DialogInputFrameControl : FrameLayout
+    public class DialogInputForm : DialogCommonForm
     {
         #region 鈻� 鍙橀噺澹版槑___________________________
 
@@ -77,37 +77,20 @@
         /// <para>瀛愭帶浠舵坊鍔犲畬鎴愬悗锛岃璋冪敤銆怓inishInitControl銆戝嚱鏁板畬鎴愭渶鍚庣殑鍒濆鍖�(浠呴檺None妯″紡)</para>
         /// <para>纭鎸夐挳鐨勫崟鍑讳簨浠朵负锛欳omfirmClickEvent</para>
         /// </summary>
-        /// <param name="mainFrame">
-        /// <para>杞戒綋鐖舵帶浠�(浼氳嚜鍔ㄥ皢璇ユ帶浠跺姞鍏ユ杞戒綋鐖舵帶浠�)</para>
-        /// <para>鍙互涓虹┖,褰撲负绌烘椂,璇峰湪娣诲姞鍏ヨ浇浣撶埗鎺т欢鍚�,璋冪敤InitframeControl鍑芥暟杩涜鍒濆鍖�</para>
-        /// </param>
         /// <param name="i_dialogFrameMode">寮圭獥妯″紡</param>
-        public DialogInputFrameControl(FrameLayout mainFrame, DialogFrameMode i_dialogFrameMode = DialogFrameMode.None)
+        public void ShowForm(DialogFrameMode i_dialogFrameMode = DialogFrameMode.None)
         {
             this.dialogFrameMode = i_dialogFrameMode;
 
-            if (mainFrame != null)
-            {
-                mainFrame.AddChidren(this);
-                //鍒濆鍖栨甯冩帶浠�
-                this.InitframeControl();
-            }
+            //鍒濆鍖栨甯冩帶浠�
+            this.InitMiddleFrame();
         }
 
         /// <summary>
         /// 鍒濆鍖栨甯冩帶浠�
         /// </summary>
-        public void InitframeControl()
+        public void InitMiddleFrame()
         {
-            if (this.frameLayout != null)
-            {
-                this.frameLayout.RemoveAll();
-            }
-            else
-            {
-                this.BackgroundColor = UserCenterColor.Current.DialogBackColor;
-            }
-
             //杩欐槸涓�涓
             this.frameLayout = new FrameLayout();
             frameLayout.Height = Application.GetRealHeight(538);
@@ -282,7 +265,7 @@
             frameLayout.AddChidren(btnCancel);
             btnCancel.MouseUpEventHandler += (sender, e) =>
             {
-                this.RemoveFromParent();
+                this.CloseForm();
             };
 
             //纭
@@ -291,9 +274,15 @@
             frameLayout.AddChidren(btnOk);
             btnOk.MouseUpEventHandler += (sender, e) =>
             {
+                if (this.Text == string.Empty && this.txtInput != null && string.IsNullOrEmpty(this.txtInput.PlaceholderText) == false)
+                {
+                    var alert = new ShowMsgControl(ShowMsgType.Error, this.txtInput.PlaceholderText);
+                    alert.Show();
+                    return;
+                }
                 if (this.ComfirmClickEvent == null)
                 {
-                    this.RemoveFromParent();
+                    this.CloseForm();
                     return;
                 }
                 this.ComfirmClickEvent(this.Text);
@@ -334,10 +323,11 @@
         /// <summary>
         /// 鐢婚潰鍏抽棴
         /// </summary>
-        public void CloseDialog()
+        public override void CloseFormBefore()
         {
             this.ComfirmClickEvent = null;
-            this.RemoveFromParent();
+
+            base.CloseFormBefore();
         }
 
         #endregion
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/NumberPswInputDialogForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/NumberPswInputDialogForm.cs
new file mode 100755
index 0000000..c140919
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/NumberPswInputDialogForm.cs
@@ -0,0 +1,105 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter
+{
+    /// <summary>
+    /// 鏁板瓧琛ㄧ洏瀵嗙爜杈撳叆鐨勫脊绐楃晫闈�
+    /// </summary>
+    public class NumberPswInputDialogForm : DialogCommonForm
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// 杈撳叆缁撴潫浜嬩欢
+        /// </summary>
+        public Action<string> FinishInputEvent = null;
+        /// <summary>
+        /// 瀵嗙爜杈撳叆鎺т欢
+        /// </summary>
+        private PswNumberInputControl pswControl = null;
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        /// <param name="i_PasswordText">鏍囬鎻愮ず</param>
+        /// <param name="i_pswLenth">瀵嗙爜闀垮害</param>
+        public void ShowForm(string i_PasswordText, int i_pswLenth)
+        {
+            //鍒濆鍖栦腑閮ㄤ俊鎭�
+            this.InitMiddleFrame(i_PasswordText, i_pswLenth);
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+        /// </summary>
+        /// <param name="i_PasswordText">鏍囬鎻愮ず</param>
+        /// <param name="i_pswLenth">瀵嗙爜闀垮害</param>
+        private void InitMiddleFrame(string i_PasswordText, int i_pswLenth)
+        {
+            var frameBack = new FrameLayout();
+            frameBack.Y = Application.GetRealHeight(160);
+            frameBack.Gravity = Gravity.CenterHorizontal;
+            frameBack.Width = Application.GetRealWidth(965);
+            frameBack.Height = Application.GetRealHeight(1584);
+            frameBack.BackgroundColor = UserCenterColor.Current.White;
+            frameBack.Radius = 6;
+            bodyFrameLayout.AddChidren(frameBack);
+
+            //瀵嗙爜杈撳叆鎺т欢
+            this.pswControl = new PswNumberInputControl(i_PasswordText, i_pswLenth);
+            pswControl.Gravity = Gravity.CenterHorizontal;
+            pswControl.Y = Application.GetRealHeight(81);
+            frameBack.AddChidren(pswControl);
+            pswControl.InitControl();
+            //鏀瑰彉鍒犻櫎鎸夐挳鐨勫潗鏍�
+            pswControl.ChangedDeleteButtonPoint(-1, pswControl.Height, false);
+            //娣诲姞鍏抽棴鎸夐挳
+            var btnClose = pswControl.AddCloseButton();
+            btnClose.ButtonClickEvent += (sender, e) =>
+            {
+                this.CloseForm();
+            };
+            pswControl.FinishInputEvent += (strPsw) =>
+            {
+                this.FinishInputEvent?.Invoke(strPsw);
+            };
+        }
+
+        #endregion
+
+        #region 鈻� 涓�鑸柟娉昣__________________________
+
+        /// <summary>
+        /// 璁剧疆閿欒淇℃伅
+        /// </summary>
+        /// <param name="i_Msg"></param>
+        public void SetErrorMsg(string i_Msg)
+        {
+            this.pswControl?.SetErrorMsg(i_Msg);
+        }
+
+        #endregion
+
+        #region 鈻� 鐣岄潰鍏抽棴___________________________
+
+        /// <summary>
+        /// 鐣岄潰鍏抽棴
+        /// </summary>
+        public override void CloseFormBefore()
+        {
+            //鍙栨秷浜嬩欢
+            this.FinishInputEvent = null;
+            this.pswControl = null;
+
+            base.CloseFormBefore();
+        }
+
+        #endregion
+    }
+}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswSecondarySecurityForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswSecondarySecurityForm.cs
index 7017148..0467e69 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswSecondarySecurityForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswSecondarySecurityForm.cs
@@ -75,7 +75,6 @@
                     }
                     //瀵嗙爜閿欒锛岃閲嶆柊杈撳叆
                     pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.uOldPsswordIsError));
-                    pswControl.ResetControlInfo(i_PasswordText, false);
                     return;
                 }
                 //閲嶇疆鍓╀綑瀵嗙爜娆℃暟
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs
index e92ecfe..af1fb24 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs
@@ -500,11 +500,11 @@
             string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupNotPromptedFile);
             if (System.IO.File.Exists(fullName) == false)
             {
-                Application.RunOnMainThread(() =>
-                {
-                    var form = new HdlBackup.HdlAutoBackupSettionForm();
-                    form.AddForm();
-                });
+                //Application.RunOnMainThread(() =>
+                //{
+                //    var form = new HdlBackup.HdlAutoBackupSettionForm();
+                //    form.AddForm();
+                //});
                 return;
             }
             BackupNotPrompted info = null;
@@ -517,12 +517,12 @@
             }
             if (info.Day == 0)
             {
-                Application.RunOnMainThread(() =>
-                {
-                    var form = new HdlBackup.HdlAutoBackupSettionForm();
-                    form.AddForm();
-                });
-                return;
+                //Application.RunOnMainThread(() =>
+                //{
+                //    var form = new HdlBackup.HdlAutoBackupSettionForm();
+                //    form.AddForm();
+                //});
+                //return;
             }
 
             DateTime oldTime = Convert.ToDateTime(info.OldDay);
@@ -530,11 +530,11 @@
             //鏃堕棿宸茬粡瓒呰繃
             if (intDay > info.Day)
             {
-                Application.RunOnMainThread(() =>
-                {
-                    var form = new HdlBackup.HdlAutoBackupSettionForm();
-                    form.AddForm();
-                });
+                //Application.RunOnMainThread(() =>
+                //{
+                //    var form = new HdlBackup.HdlAutoBackupSettionForm();
+                //    form.AddForm();
+                //});
             }
         }
 
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAirConditionerLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAirConditionerLogic.cs
index b8c406b..24712e7 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAirConditionerLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAirConditionerLogic.cs
@@ -141,9 +141,11 @@
             {
                 //璁剧疆绌鸿皟妯″紡澶辫触
                 string msg = Language.StringByID(R.MyInternationalizationString.uSetAcModeFail);
-                this.ShowTipMsg(msg); ;
+                this.ShowTipMsg(msg);
                 return false;
             }
+            await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(device, GatewayBackupEnum.A绌鸿皟鑷畾涔夋ā寮�, data);
+
             return true;
         }
 
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceCurtainLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceCurtainLogic.cs
index cbd5a0a..9801090 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceCurtainLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceCurtainLogic.cs
@@ -139,7 +139,7 @@
         /// <param name="upLimit">涓婇檺浣嶇殑鍊�,鐧惧垎姣�(澶囦唤鐢�)</param>
         /// <param name="downLimit">涓嬮檺浣嶇殑鍊�,鐧惧垎姣�(澶囦唤鐢�)</param>
         /// <returns></returns>
-        public async Task<bool> CommitCurtainLimitPoint(Rollershade rollershade, Rollershade.CurtainPrivateInstalledLimi limiType,int upLimit,int downLimit)
+        public async Task<bool> CommitCurtainLimitPoint(Rollershade rollershade, Rollershade.CurtainPrivateInstalledLimi limiType, int upLimit, int downLimit)
         {
             var result = await rollershade.SetCurtainInstalledLimitAsync(limiType);
             //妫�娴嬬綉鍏宠繑鍥炵殑鍏遍�氶敊璇姸鎬佺爜
@@ -171,7 +171,7 @@
                 //澶囦唤璁惧
                 await this.BackupCurtainLimitPoint(rollershade, upLimit, downLimit);
             }
-            
+
             return true;
         }
 
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayBackupLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayBackupLogic.cs
new file mode 100755
index 0000000..b641687
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayBackupLogic.cs
@@ -0,0 +1,346 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using ZigBee.Device;
+
+namespace Shared.Phone.UserCenter
+{
+    /// <summary>
+    /// 缃戝叧澶囦唤涓氬姟鐨勯�昏緫
+    /// </summary>
+    public class HdlGatewayBackupLogic
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// 澶囦唤涓氬姟鐨勯�昏緫
+        /// </summary>
+        private static HdlGatewayBackupLogic m_Current = null;
+        /// <summary>
+        /// 澶囦唤涓氬姟鐨勯�昏緫
+        /// </summary>
+        public static HdlGatewayBackupLogic Current
+        {
+            get
+            {
+                if (m_Current == null)
+                {
+                    m_Current = new HdlGatewayBackupLogic();
+                }
+                return m_Current;
+            }
+        }
+
+        #endregion
+
+        #region 鈻� 缃戝叧澶囦唤___________________________
+
+        /// <summary>
+        /// 缃戝叧鎵ц澶囦唤
+        /// </summary>
+        /// <param name="realGateway">鐪熷疄鐗╃悊缃戝叧瀵硅薄</param>
+        /// <param name="backupName">闇�瑕佸垱寤虹殑澶囦唤鐨勫悕瀛�</param>
+        public async void DoBackupGateway(ZbGateway realGateway, string backupName)
+        {
+            //灞曞紑杩涘害鏉�
+            ProgressFormBar.Current.Start();
+            //鍒涘缓澶囦唤鏂囦欢
+            ProgressFormBar.Current.SetMsg(Language.StringByID(R.MyInternationalizationString.uCreatBackupFile));
+            await System.Threading.Tasks.Task.Delay(1000);
+
+            //鍒涘缓涓�涓浠藉悕瀛�
+            string backupClassId = await HdlBackupLogic.Current.CreatNewBackupNameToDB(backupName, 2, HdlGatewayLogic.Current.GetGatewayId(realGateway));
+            if (backupClassId == null)
+            {
+                //鍏抽棴杩涘害鏉�
+                ProgressFormBar.Current.Close();
+                return;
+            }
+
+            //淇濆瓨鍗忚皟鍣ㄧ殑nv鍒嗗尯缁勭綉淇℃伅
+            bool result = this.SaveNVFile(realGateway);
+            if (result == false)
+            {
+                //濡傛灉涓婁紶澶辫触鐨勮瘽锛屽氨鎶婂畠鍒犻櫎
+                await HdlBackupLogic.Current.DeleteDbBackupData(backupClassId);
+                //鍏抽棴杩涘害鏉�
+                ProgressFormBar.Current.Close();
+                return;
+            }
+
+            //鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳�
+            result = this.OpenZbMsComSend(realGateway);
+            if (result == false)
+            {
+                //濡傛灉涓婁紶澶辫触鐨勮瘽锛屽氨鎶婂畠鍒犻櫎
+                await HdlBackupLogic.Current.DeleteDbBackupData(backupClassId);
+                //鍏抽棴杩涘害鏉�
+                ProgressFormBar.Current.Close();
+                return;
+            }
+
+            //寮�濮嬩笂浼犳暟鎹�
+            result = this.StartUpLoadData(realGateway, backupClassId);
+            if (result == false)
+            {
+                //濡傛灉涓婁紶澶辫触鐨勮瘽锛屽氨鎶婂畠鍒犻櫎
+                await HdlBackupLogic.Current.DeleteDbBackupData(backupClassId);
+                //鍏抽棴杩涘害鏉�
+                ProgressFormBar.Current.Close();
+                return;
+            }
+            //鍏抽棴杩涘害鏉�
+            ProgressFormBar.Current.Close();
+        }
+
+        #endregion
+
+        #region 鈻� 淇濆瓨鍗忚皟鍣ㄧ殑nv鍒嗗尯缁勭綉淇℃伅_________
+
+        /// <summary>
+        /// 淇濆瓨鍗忚皟鍣ㄧ殑nv鍒嗗尯缁勭綉淇℃伅
+        /// </summary>
+        /// <param name="realGateway"></param>
+        /// <returns></returns>
+        private bool SaveNVFile(ZbGateway realGateway)
+        {
+            //姝e湪淇濆瓨鍗忚皟鍣╪v鍒嗗尯缁勭綉淇℃伅
+            ProgressFormBar.Current.SetMsg(Language.StringByID(R.MyInternationalizationString.uGatewayNVFileSaving));
+            ProgressFormBar.Current.SetValue(0);
+            System.Threading.Thread.Sleep(1000);
+
+            int result = -1;
+            Action<string, string> action = (topic, message) =>
+            {
+                var gatewayID = topic.Split('/')[0];
+                if (topic == gatewayID + "/" + "ZbGwOperation/SaveNVFile_Respon")
+                {
+                    var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
+                    result = Convert.ToInt32(jobject["Data"]["Flag"].ToString());
+                }
+            };
+            realGateway.Actions += action;
+
+            var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 0 }, { "Command", 500 } };
+            var data = new Newtonsoft.Json.Linq.JObject { { "ImageName", "NVImage.bin" }, { "ImagePath", "/etc/hdlDat/" } };
+            jObject.Add("Data", data);
+            realGateway.Send("ZbGwOperation/SaveNVFile", jObject.ToString());
+
+            int TimeOut = 0;
+            while (result == -1 && TimeOut < 60)
+            {
+                System.Threading.Thread.Sleep(1000);
+                TimeOut++;
+                ProgressFormBar.Current.SetValue2(TimeOut, 60);
+            }
+            realGateway.Actions -= action;
+            if (result != 0)
+            {
+                //淇濆瓨鍗忚皟鍣ㄧ殑nv鍒嗗尯缁勭綉淇℃伅澶辫触
+                string msg = Language.StringByID(R.MyInternationalizationString.uSaveGatewayNVFileFail);
+                if (result == -1)
+                {
+                    msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂");
+                }
+                this.ShowErrorMsg(msg);
+                return false;
+            }
+
+            return true;
+        }
+
+        #endregion
+
+        #region 鈻� 鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳絖____________
+
+        /// <summary>
+        /// 鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳�
+        /// </summary>
+        /// <param name="realGateway"></param>
+        /// <returns></returns>
+        private bool OpenZbMsComSend(ZbGateway realGateway)
+        {
+            //姝e湪鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳�
+            ProgressFormBar.Current.SetMsg(Language.StringByID(R.MyInternationalizationString.uZbMsComSendOpening));
+            ProgressFormBar.Current.SetValue(0);
+            System.Threading.Thread.Sleep(1000);
+
+            int result = -1;
+            Action<string, string> action = (topic, message) =>
+            {
+                var gatewayID = topic.Split('/')[0];
+                if (topic == gatewayID + "/" + "OpenZbMsComSend_Respon")
+                {
+                    var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
+                    result = Convert.ToInt32(jobject["Data"]["Status"].ToString());
+                }
+            };
+            realGateway.Actions += action;
+
+            var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 0 }, { "Command", 6119 } };
+            realGateway.Send("OpenZbMsComSend", jObject.ToString());
+
+            int TimeOut = 0;
+            while (result == -1 && TimeOut < 30)
+            {
+                System.Threading.Thread.Sleep(100);
+                TimeOut++;
+            }
+            realGateway.Actions -= action;
+            if (result != 0)
+            {
+                //鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳藉け璐�
+                string msg = Language.StringByID(R.MyInternationalizationString.uOpenZbMsComSendFail);
+                if (result == -1)
+                {
+                    msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂");
+                }
+                this.ShowErrorMsg(msg);
+                return false;
+            }
+
+            return true;
+        }
+
+        #endregion
+
+        #region 鈻� 寮�濮嬬綉鍏虫暟鎹浠絖__________________
+
+        /// <summary>
+        /// 寮�濮嬩笂浼犳暟鎹�
+        /// </summary>
+        /// <param name="realGateway"></param>
+        /// <param name="backupClassId"></param>
+        private bool StartUpLoadData(ZbGateway realGateway, string backupClassId)
+        {
+            //寮�濮嬪浠界綉鍏虫暟鎹�
+            ProgressFormBar.Current.SetMsg(Language.StringByID(R.MyInternationalizationString.uStartBackupgatewayData));
+            ProgressFormBar.Current.SetValue(0);
+            System.Threading.Thread.Sleep(1000);
+
+            bool threadAction = true;
+            bool success = false;
+            //绛夊緟鏃堕棿
+            int waitime = 60;
+            //璁℃椂鏃堕棿
+            int TimeOut = 0;
+
+            Action<string, string> action = (topic, message) =>
+            {
+                var gatewayID = topic.Split('/')[0];
+                if (topic == gatewayID + "/BackupGwDataFile_Respon")
+                {
+                    var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
+                    var statu = Convert.ToInt32(jobject["Data"]["Status"].ToString());
+                    if (statu == 1)
+                    {
+                        threadAction = false;
+                        //缃戝叧鏁版嵁澶囦唤澶辫触
+                        this.ShowErrorMsg(Language.StringByID(R.MyInternationalizationString.uBackupgatewayDataFail));
+                        return;
+                    }
+                    if (statu == 2)
+                    {
+                        threadAction = false;
+                        success = true;
+                        //涓婁紶鏁版嵁鎴愬姛
+                        string msg2 = Language.StringByID(R.MyInternationalizationString.uUploadDataSuccess);
+                        this.ShowTipMsg(msg2);
+                    }
+                    //灏嗘椂闂村埛鏂�,鐒跺悗绛夊緟鏃堕棿鍙樻洿涓�30绉�
+                    TimeOut = 0;
+                    waitime = 300;
+                }
+                else if (topic == gatewayID + "/BackupGwDataFileProgress_Respon")
+                {
+                    //鍒锋柊绛夊緟鏃堕棿
+                    TimeOut = 0;
+                    //涓婁紶杩涘害鐧惧垎姣�
+                    var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
+                    var statu = Convert.ToInt32(jobject["Data"]["Status"].ToString());
+                    if (statu != 0)
+                    {
+                        threadAction = false;
+                        //缃戝叧鏁版嵁澶囦唤澶辫触
+                        this.ShowErrorMsg(Language.StringByID(R.MyInternationalizationString.uBackupgatewayDataFail));
+                        return;
+                    }
+                    //璁剧疆杩涘害鐧惧垎姣�
+                    var persent = Convert.ToInt32(jobject["Data"]["BackupPercent"].ToString());
+                    ProgressFormBar.Current.SetValue2(persent, 100);
+                }
+            };
+            realGateway.Actions += action;
+
+            //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮�
+            string fullUrl = string.Empty;
+            var connectMode = UserCenterLogic.GetHttpConnectMode(true);
+            if (connectMode == HttpConnectMode.Normal)
+            {
+                //鏅�氳闂�
+                fullUrl = $"{Common.CommonPage.RequestHttpsHost}/{"App/UploadHomeAppGatewaySubFiles"}";
+            }
+            else if (connectMode == HttpConnectMode.Admin)
+            {
+                //浠ョ鐞嗗憳鐨勮韩浠借闂紝鑷韩鏄垚鍛�
+                fullUrl = $"{Common.Config.Instance.AdminRequestBaseUrl}/{"App/UploadHomeAppGatewaySubFiles"}";
+            }
+
+            var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 0 }, { "Command", 6200 } };
+            var data = new Newtonsoft.Json.Linq.JObject {
+                { "url", fullUrl }, { "RequestVersion", Common.CommonPage.RequestVersion },
+                { "LoginAccessToken", UserCenterLogic.GetConnectMainToken() }, { "BackupClassId", backupClassId },
+                { "ManualBackupType", 2 },{ "IsOtherAccountCtrl",connectMode == HttpConnectMode.Admin?1:0}
+            };
+            jObject.Add("Data", data);
+            realGateway.Send("BackupGwDataFile", jObject.ToString());
+
+            while (threadAction == true && TimeOut < waitime)
+            {
+                System.Threading.Thread.Sleep(100);
+                TimeOut++;
+            }
+            realGateway.Actions -= action;
+            if (TimeOut >= waitime)
+            {
+                //鍝嶅簲瓒呮椂,缃戝叧鏁版嵁澶囦唤澶辫触
+                string msg = Language.StringByID(R.MyInternationalizationString.uResponseTimeoutsAndBackupgatewayDataFail);
+                this.ShowErrorMsg(msg);
+                return false;
+            }
+            return success;
+        }
+
+        #endregion
+
+        #region 鈻� 涓�鑸柟娉昣__________________________
+
+        /// <summary>
+        /// 鏄剧ず閿欒淇℃伅绐楀彛
+        /// </summary>
+        /// <param name="msg"></param>
+        private void ShowErrorMsg(string msg)
+        {
+            Application.RunOnMainThread(() =>
+            {
+                var contr = new ShowMsgControl(ShowMsgType.Error, msg);
+                contr.Show();
+            });
+        }
+
+        /// <summary>
+        /// 鏄剧ずTip淇℃伅绐楀彛
+        /// </summary>
+        /// <param name="msg"></param>
+        private void ShowTipMsg(string msg)
+        {
+            Application.RunOnMainThread(() =>
+            {
+                var contr = new ShowMsgControl(ShowMsgType.Tip, msg);
+                contr.Show();
+            });
+        }
+
+        #endregion
+    }
+}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs
index 7bfa527..168cc2b 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs
@@ -15,11 +15,11 @@
         #region 鈻� 鍙橀噺澹版槑___________________________
 
         /// <summary>
-        /// 澶囦唤涓氬姟鐨勯�昏緫
+        /// 缃戝叧涓氬姟鐨勯�昏緫绫�
         /// </summary>
         private static HdlGatewayLogic m_Current = null;
         /// <summary>
-        /// 澶囦唤涓氬姟鐨勯�昏緫
+        /// 缃戝叧涓氬姟鐨勯�昏緫绫�
         /// </summary>
         public static HdlGatewayLogic Current
         {
@@ -179,20 +179,34 @@
         #region 鈻� 娣诲姞缃戝叧___________________________
 
         /// <summary>
-        /// 娣诲姞鏂扮綉鍏�(浠呴檺杩藉姞鏂扮殑缃戝叧  1:姝e父  -1:寮傚父  0:褰撳墠鐨勭綉鍏崇粦瀹氬湪浜嗗綋鍓嶈处鍙蜂笅鐨勪笉鍚屼綇瀹呴噷闈�)
+        /// 娣诲姞鏂扮綉鍏�(浠呴檺杩藉姞鏂扮殑缃戝叧)
         /// </summary>
         /// <param name="zbGateway">缃戝叧</param>
         /// <param name="mode">鏄惁鏄剧ず閿欒</param>
-        public async Task<int> AddNewGateway(ZbGateway zbGateway, ShowErrorMode mode)
+        public async Task<bool> AddNewGateway(ZbGateway zbGateway, ShowErrorMode mode)
         {
             //鎵ц娣诲姞缃戝叧鍒板唴瀛�
             var result = await this.DoAddGatewayToMemory(zbGateway, mode);
+            //鍓嶇殑缃戝叧缁戝畾鍦ㄤ簡褰撳墠璐﹀彿涓嬬殑涓嶅悓浣忓畢閲岄潰
+            if (result == 0)
+            {
+                if (mode == ShowErrorMode.YES)
+                {
+                    //缃戝叧缁戝畾鍦ㄥ綋鍓嶈处鍙蜂笅鐨勫叾浠栦綇瀹呴噷\r\n璇疯В闄ょ粦瀹氬悗鍐嶈瘯
+                    string msg = Language.StringByID(R.MyInternationalizationString.uTheGatewayInOtherResidenceMsg);
+                    if (msg.Contains("{0}") == true)
+                    {
+                        msg = string.Format(msg, "\r\n");
+                    }
+                    this.ShowTipMsg(msg);
+                }
+                return false;
+            }
             if (result != 1)
             {
-                return result;
+                return false;
             }
-
-            return 1;
+            return true;
         }
 
         /// <summary>
@@ -1013,6 +1027,198 @@
 
         #endregion
 
+        #region 鈻� 鑾峰彇鍗忚皟鍣ㄥ綋鍓嶄俊閬揰________________
+
+        /// <summary>
+        /// 鑾峰彇鍗忚皟鍣ㄥ綋鍓嶄俊閬�(浼氭湁绛夊緟寤惰繜,杩斿洖-1浠h〃閿欒)
+        /// </summary>
+        /// <param name="zbGateway"></param>
+        /// <returns></returns>
+        public int GetGatewayChannelId(ZbGateway zbGateway)
+        {
+            ZbGateway realWay = null;
+            if (this.GetRealGateway(ref realWay, zbGateway) == false)
+            {
+                //閿欒:缃戝叧瀵硅薄涓㈠け
+                this.ShowTipMsg(Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg));
+                return -1;
+            }
+            ChannelIdInfo data = null;
+            Action<string, string> action = (topic, message) =>
+            {
+                var gatewayID = topic.Split('/')[0];
+                if (topic == gatewayID + "/" + "ZbGw/GetChannel_Respon")
+                {
+                    var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
+                    data = Newtonsoft.Json.JsonConvert.DeserializeObject<ChannelIdInfo>(jobject["Data"].ToString());
+                }
+            };
+            realWay.Actions += action;
+
+            var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 64512 }, { "Command", 8 } };
+            realWay.Send("ZbGw/GetChannel", jObject.ToString());
+
+            int TimeOut = 0;
+            while (data == null && TimeOut < 30)
+            {
+                System.Threading.Thread.Sleep(100);
+                TimeOut++;
+            }
+
+            realWay.Actions -= action;
+            if (data == null)
+            {
+                //鑾峰彇鍗忚皟鍣ㄤ俊閬撳け璐�
+                string msg = Language.StringByID(R.MyInternationalizationString.uGetGatewayChannelIdFail);
+                msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂");
+                this.ShowTipMsg(msg);
+                return -1;
+            }
+
+            return data.Channel;
+        }
+
+        /// <summary>
+        /// 缃戝叧淇¢亾淇℃伅
+        /// </summary>
+        private class ChannelIdInfo
+        {
+            /// <summary>
+            /// 缃戝叧淇¢亾
+            /// </summary>
+            public int Channel = -1;
+        }
+
+        #endregion
+
+        #region 鈻� 鑾峰彇鍗忚皟鍣∕AC______________________
+
+        /// <summary>
+        /// 鑾峰彇鍗忚皟鍣∕AC鍦板潃(浼氭湁绛夊緟寤惰繜,杩斿洖null浠h〃閿欒)
+        /// </summary>
+        /// <param name="zbGateway"></param>
+        /// <returns></returns>
+        public string GetGatewayCoordinatorMac(ZbGateway zbGateway)
+        {
+            ZbGateway realWay = null;
+            if (this.GetRealGateway(ref realWay, zbGateway) == false)
+            {
+                //閿欒:缃戝叧瀵硅薄涓㈠け
+                this.ShowTipMsg(Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg));
+                return null;
+            }
+            CoordinatorMacInfo data = null;
+            Action<string, string> action = (topic, message) =>
+            {
+                var gatewayID = topic.Split('/')[0];
+                if (topic == gatewayID + "/" + "ZbGw/GetMac_Respon")
+                {
+                    var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
+                    data = Newtonsoft.Json.JsonConvert.DeserializeObject<CoordinatorMacInfo>(jobject["Data"].ToString());
+                }
+            };
+            realWay.Actions += action;
+
+            var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 64512 }, { "Command", 13 } };
+            realWay.Send("ZbGw/GetMac", jObject.ToString());
+
+            int TimeOut = 0;
+            while (data == null && TimeOut < 30)
+            {
+                System.Threading.Thread.Sleep(100);
+                TimeOut++;
+            }
+
+            realWay.Actions -= action;
+            if (data == null)
+            {
+                //鑾峰彇鍗忚皟鍣∕ac澶辫触
+                string msg = Language.StringByID(R.MyInternationalizationString.uGetGatewayCoordinatorMacFail);
+                msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂");
+                this.ShowTipMsg(msg);
+                return null;
+            }
+
+            return data.MacAddr;
+        }
+
+        /// <summary>
+        /// 缃戝叧鍗忚皟鍣∕ac淇℃伅
+        /// </summary>
+        private class CoordinatorMacInfo
+        {
+            /// <summary>
+            /// 璋冨櫒Mac
+            /// </summary>
+            public string MacAddr = string.Empty;
+        }
+
+        #endregion
+
+        #region 鈻� 鑾峰彇鍗忚皟鍣≒anID____________________
+
+        /// <summary>
+        /// 鑾峰彇鍗忚皟鍣≒anID(浼氭湁绛夊緟寤惰繜,杩斿洖-1浠h〃閿欒)
+        /// </summary>
+        /// <param name="zbGateway"></param>
+        /// <returns></returns>
+        public int GetGatewayPanId(ZbGateway zbGateway)
+        {
+            ZbGateway realWay = null;
+            if (this.GetRealGateway(ref realWay, zbGateway) == false)
+            {
+                //閿欒:缃戝叧瀵硅薄涓㈠け
+                this.ShowTipMsg(Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg));
+                return -1;
+            }
+            PanIdInfo data = null;
+            Action<string, string> action = (topic, message) =>
+            {
+                var gatewayID = topic.Split('/')[0];
+                if (topic == gatewayID + "/" + "ZbGw/GetPanId_Respon")
+                {
+                    var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
+                    data = Newtonsoft.Json.JsonConvert.DeserializeObject<PanIdInfo>(jobject["Data"].ToString());
+                }
+            };
+            realWay.Actions += action;
+
+            var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 64512 }, { "Command", 12 } };
+            realWay.Send("ZbGw/GetPanId", jObject.ToString());
+
+            int TimeOut = 0;
+            while (data == null && TimeOut < 30)
+            {
+                System.Threading.Thread.Sleep(100);
+                TimeOut++;
+            }
+
+            realWay.Actions -= action;
+            if (data == null)
+            {
+                //鑾峰彇鍗忚皟鍣≒anID澶辫触
+                string msg = Language.StringByID(R.MyInternationalizationString.uGetGatewayPanIDFail);
+                msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂");
+                this.ShowTipMsg(msg);
+                return -1;
+            }
+
+            return data.PANID;
+        }
+
+        /// <summary>
+        /// 缃戝叧PanId淇℃伅
+        /// </summary>
+        private class PanIdInfo
+        {
+            /// <summary>
+            /// PanId
+            /// </summary>
+            public int PANID = -1;
+        }
+
+        #endregion
+
         #region 鈻� 鑾峰彇缃戝叧GwInfo閲岄潰鐨勫睘鎬__________
 
         /// <summary>
@@ -1044,44 +1250,6 @@
             {
                 //鑾峰彇鏈湴鐨勫睘鎬� 
                 objValue = localWay.getGwInfo.GetType().InvokeMember(attributeName, System.Reflection.BindingFlags.GetField, null, localWay.getGwInfo, null);
-            }
-
-            if (objValue == null)
-            {
-                return defult;
-            }
-            return objValue;
-        }
-
-        /// <summary>
-        /// 鑾峰彇缃戝叧GatewayBaseInfo閲岄潰鐨勫睘鎬�
-        /// </summary>
-        /// <param name="zbGateway">缃戝叧瀵硅薄</param>
-        /// <param name="attributeName">GatewayBaseInfo閲岄潰灞炴�х殑鍚嶅瓧</param>
-        /// <param name="defult">濡傛灉鑾峰彇涓嶅埌鏃讹紝璁剧疆鐨勯粯璁ゅ��</param>
-        /// <returns></returns>
-        public object GetGatewayBaseInfoAttribute(ZbGateway zbGateway, string attributeName, string defult = "")
-        {
-            string gwID = this.GetGatewayId(zbGateway);
-            var localWay = this.GetLocalGateway(gwID);
-
-            object objValue = null;
-            if (localWay == null || localWay.getGatewayBaseInfo == null)
-            {
-                //鏈湴娌℃湁璁板綍鏈夎繖涓笢瑗�,鍒欑洿鎺ヨ繑鍥炲弬鏁扮殑鏁版嵁
-                if (zbGateway.getGatewayBaseInfo != null)
-                {
-                    objValue = zbGateway.getGatewayBaseInfo.GetType().InvokeMember(attributeName, System.Reflection.BindingFlags.GetField, null, zbGateway.getGatewayBaseInfo, null);
-                }
-                else
-                {
-                    return defult;
-                }
-            }
-            else
-            {
-                //鑾峰彇鏈湴灞炴�� 
-                objValue = localWay.getGatewayBaseInfo.GetType().InvokeMember(attributeName, System.Reflection.BindingFlags.GetField, null, localWay.getGatewayBaseInfo, null);
             }
 
             if (objValue == null)
@@ -1966,6 +2134,74 @@
 
         #endregion
 
+        #region 鈻� 璁剧疆缃戝叧缁忕含搴____________________
+
+        /// <summary>
+        /// 璁剧疆缃戝叧缁忕含搴�
+        /// </summary>
+        /// <param name="gateway">缃戝叧瀵硅薄</param>
+        /// <param name="Longitude">缁忓害</param>
+        /// <param name="Latitude">缁村害</param>
+        /// <returns></returns>
+        public bool SetGatewaySite(ZbGateway gateway, double Longitude, double Latitude)
+        {
+            ZbGateway realWay = null;
+            if (this.GetRealGateway(ref realWay, gateway) == false)
+            {
+                //閿欒:缃戝叧瀵硅薄涓㈠け
+                string msg = Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg);
+                this.ShowTipMsg(msg);
+                return false;
+            }
+
+            int result = -1;
+            Action<string, string> action = (topic, message) =>
+            {
+                var gatewayID = topic.Split('/')[0];
+                if (topic == gatewayID + "/" + "Logic/SetSite_Respon")
+                {
+                    var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
+                    result = Convert.ToInt32(jobject["Data"]["Result"].ToString());
+                }
+            };
+            realWay.Actions += action;
+            //涓や綅灏忔暟
+            Longitude = Math.Round(Longitude, 2);
+            Latitude = Math.Round(Latitude, 2);
+
+            int intLongitude = Convert.ToInt32(Longitude.ToString().Replace(".", string.Empty));
+            int intLatitude = Convert.ToInt32(Latitude.ToString().Replace(".", string.Empty));
+
+            var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 0 }, { "Command", 2013 } };
+            var data = new Newtonsoft.Json.Linq.JObject { { "Longitude", intLongitude }, { "Latitude", intLatitude } };
+            jObject.Add("Data", data);
+            realWay.Send("Logic/SetSite", jObject.ToString());
+
+            int TimeOut = 0;
+            while (result == -1 && TimeOut < 30)
+            {
+                System.Threading.Thread.Sleep(100);
+                TimeOut++;
+            }
+
+            realWay.Actions -= action;
+            if (result != 0)
+            {
+                //璁剧疆缃戝叧缁忕含搴﹀け璐�
+                string msg = Language.StringByID(R.MyInternationalizationString.uSetGatewaySiteFail);
+                if (result == -1)
+                {
+                    msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂");
+                }
+                this.ShowTipMsg(msg);
+                return false;
+            }
+
+            return true;
+        }
+
+        #endregion
+
         #region 鈻� 瑙g粦浜戠缃戝叧_______________________
 
         /// <summary>
@@ -2120,6 +2356,7 @@
         {
             //鑾峰彇浠庝簯绔偅閲屽緱鏉ョ殑鍏ㄩ儴鏂囦欢
             var listBackFile = HdlAutoBackupLogic.GetFileFromDirectory(UserCenterLogic.CombinePath(backDirectory));
+            listBackFile.Sort();
             //娣诲姞闄勫姞鎯呮姤:杩樺師璁惧閰嶇疆
             ProgressBar.SetAppendText(Language.StringByID(R.MyInternationalizationString.uRecoverDeviceSettion));
             ProgressBar.SetMaxValue(listBackFile.Count);
@@ -2276,12 +2513,62 @@
             }
             else if (backType == GatewayBackupEnum.A绐楀笜鏂瑰悜)
             {
+                var statu = Newtonsoft.Json.JsonConvert.DeserializeObject<bool>(System.Text.Encoding.UTF8.GetString(byteData));
+                result = await HdlDeviceCurtainLogic.Current.SetCurtainDirection((Rollershade)device, statu);
             }
             else if (backType == GatewayBackupEnum.A绐楀笜鎵嬫媺鎺у埗)
             {
+                var statu = Newtonsoft.Json.JsonConvert.DeserializeObject<bool>(System.Text.Encoding.UTF8.GetString(byteData));
+                result = await HdlDeviceCurtainLogic.Current.SetHandPullControl((Rollershade)device, statu);
             }
             else if (backType == GatewayBackupEnum.A绐楀笜涓婁笅闄愪綅)
             {
+                var curtainDevice = (Rollershade)device;
+                var recoverData = Newtonsoft.Json.JsonConvert.DeserializeObject<Newtonsoft.Json.Linq.JObject>(System.Text.Encoding.UTF8.GetString(byteData));
+                int upLimit = Convert.ToInt32(recoverData["upLimit"]);
+                int downLimit = Convert.ToInt32(recoverData["downLimit"]);
+                //鍏堥噸缃獥甯�
+                result = await HdlDeviceCurtainLogic.Current.RestoreCurtain(curtainDevice);
+                if (result == false) { return -1; }
+                await Task.Delay(5000);
+                //閲嶇疆涓婇檺浣�
+                result = await HdlDeviceCurtainLogic.Current.DeleteCurtainLimitPoint(curtainDevice, Rollershade.LimiType.UpLimit);
+                if (result == false) { return -1; }
+                //灏嗙獥甯樿皟鏁村埌鎸囧畾鐧惧垎姣�
+                curtainDevice.WcdGoToTiltValue(upLimit);
+                await Task.Delay(3000);
+                //鎵ц纭鍙婅鐩栫獥甯橀檺浣嶇偣
+                result = await HdlDeviceCurtainLogic.Current.CommitCurtainLimitPoint(curtainDevice, Rollershade.CurtainPrivateInstalledLimi.UpLimit, -1, -1);
+                if (result == false) { return -1; }
+
+                await Task.Delay(2000);
+                //閲嶇疆涓嬮檺浣�
+                result = await HdlDeviceCurtainLogic.Current.DeleteCurtainLimitPoint(curtainDevice, Rollershade.LimiType.DownLimit);
+                if (result == false) { return -1; }
+                //灏嗙獥甯樿皟鏁村埌鎸囧畾鐧惧垎姣�
+                curtainDevice.WcdGoToTiltValue(downLimit);
+                await Task.Delay(3000);
+                //鎵ц纭鍙婅鐩栫獥甯橀檺浣嶇偣
+                result = await HdlDeviceCurtainLogic.Current.CommitCurtainLimitPoint(curtainDevice, Rollershade.CurtainPrivateInstalledLimi.DownLimit, -1, -1);
+            }
+            else if (backType == GatewayBackupEnum.A绌鸿皟鑷畾涔夋ā寮�)
+            {
+                var data = Newtonsoft.Json.JsonConvert.DeserializeObject<int>(System.Text.Encoding.UTF8.GetString(byteData));
+                result = await HdlDeviceAirConditionerLogic.Current.SetAcModeSupport((AC)device, data);
+                if (result == true)
+                {
+                    //杞崲涓轰簩杩涘埗
+                    var value = Convert.ToString(data, 2).PadLeft(16, '0');
+                    //杩欎簲涓缃槸鏀惧湪鍚庨潰鐨�
+                    var fixValue = value.Substring(0, value.Length - 5);
+                    var reportValue = value.Substring(fixValue.Length);
+                    //鏇存敼缂撳瓨
+                    for (int i = 0; i < reportValue.Length; i++)
+                    {
+                        ((AC)device).listSupportMode[i] = Convert.ToInt32(reportValue[i]);
+                    }
+                    device.ReSave();
+                }
             }
             return result == true ? 1 : -1;
         }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs
index e5b8bcd..9f5fe85 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs
@@ -1640,22 +1640,13 @@
         /// </summary>
         public async Task<string> ShowInputUserPasswordForm()
         {
-            //鑾峰彇褰撳墠姝e湪婵�娲荤殑鐢婚潰
-            var form = UserCenterLogic.GetNowActionForm();
-            if (form == null)
-            {
-                //杩欑鎯呭喌搴旇涓嶅瓨鍦�
-                this.ShowErrorMsg("ERROR:Not Found The ActionForm!");
-                return null;
-            }
-
-            DialogInputFrameControl Dialogform = null;
+            NumberPswInputDialogForm Dialogform = null;
 
             bool isShowingProgressBar = false;
             string ProgressBarText = string.Empty;
 
             string pasword = null;
-            Application.RunOnMainThread(() =>
+            HdlThreadLogic.Current.RunMain(() =>
             {
                 isShowingProgressBar = CommonPage.Loading.Visible;
                 ProgressBarText = CommonPage.Loading.Text;
@@ -1665,21 +1656,12 @@
                     CommonPage.Loading.Hide();
                 }
 
-                Dialogform = new DialogInputFrameControl(form, DialogFrameMode.OnlyPassword);
-                //鐢ㄦ埛瀵嗙爜
-                Dialogform.SetTitleText(Language.StringByID(R.MyInternationalizationString.uSafetyPassword));
-                //璁剧疆鎻愮ず淇℃伅:璇疯緭鍏ョ敤鎴峰瘑鐮�
-                Dialogform.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInputUserPassword));
+                Dialogform = new NumberPswInputDialogForm();
+                Dialogform.AddForm(Language.StringByID(R.MyInternationalizationString.uPleaseInputUserPassword), 4);
                 //纭鎸夐挳
-                Dialogform.ComfirmClickEvent += ((textValue) =>
+                Dialogform.FinishInputEvent += ((textValue) =>
                 {
-                    if (textValue == string.Empty)
-                    {
-                        this.ShowErrorMsg(Language.StringByID(R.MyInternationalizationString.uPleaseInputUserPassword));
-                        return;
-                    }
-                    Dialogform.CloseDialog();
-
+                    Dialogform.CloseForm();
                     //鐢ㄦ埛瀵嗙爜
                     pasword = textValue;
                     //鍔犲瘑瀵嗙爜
@@ -1874,36 +1856,66 @@
         /// <summary>
         /// 璁剧疆鑳佽揩鐨勮仈绯讳汉鏂瑰紡
         /// </summary>
-        /// <param name="dicPhone">keys:鑱旂郴鏂瑰紡 values:鍦板尯鐮�</param>
+        /// <param name="listPhone">鍦板尯鐮�-鑱旂郴鏂瑰紡</param>
+        /// <param name="listNote">鑱旂郴浜哄娉�</param>
+        /// <param name="addPhone">鏄惁鏄柊寤鸿仈绯讳汉,false鐨勬椂鍊�,鍙敼澶囨敞</param>
         /// <returns></returns>
-        public async Task<bool> SetCoercePhoneNumber(Dictionary<string, string> dicPhone)
+        public async Task<bool> SetCoercePhoneNumber(List<string> listPhone, List<string> listNote, bool addPhone = true)
         {
-            var Pra = new Safeguard.SetCoercePhoneNumberData();
-            var Actonobj = new Safeguard.PushTargetActionObj();
-            Actonobj.Type = 2;
-            Pra.Actions.Add(Actonobj);
-            Pra.LoginToken = this.GetLoginToken();
-
-            foreach (string phoneNum in dicPhone.Keys)
+            if (addPhone == true)
             {
-                var phoneInfo = new Safeguard.PushTargetInfo();
-                Actonobj.PushTarget.Add(phoneInfo);
-                //鐢佃瘽鍙风爜
-                phoneInfo.PushNumber = dicPhone[phoneNum] + "-" + phoneNum;
-            }
+                var Pra = new Safeguard.SetCoercePhoneNumberData();
+                var Actonobj = new Safeguard.PushTargetActionObj();
+                Actonobj.Type = 2;
+                Pra.Actions.Add(Actonobj);
+                Pra.LoginToken = this.GetLoginToken();
 
-            var result = await Safeguard.SetCoercePhoneNumberAsync(Pra);
-            if (result == null || result.setCoercePhoneNumberResponseData == null || result.setCoercePhoneNumberResponseData.Result != 0)
+                for (int i = 0; i < listPhone.Count; i++)
+                {
+                    var phoneInfo = new Safeguard.PushTargetInfo();
+                    Actonobj.PushTarget.Add(phoneInfo);
+                    //鐢佃瘽鍙风爜
+                    phoneInfo.PushNumber = listPhone[i];
+                }
+                var result = await Safeguard.SetCoercePhoneNumberAsync(Pra);
+                if (result == null || result.setCoercePhoneNumberResponseData == null || result.setCoercePhoneNumberResponseData.Result != 0)
+                {
+                    //淇敼鑳佽揩鑱旂郴鏂瑰紡澶辫触
+                    string msg = Language.StringByID(R.MyInternationalizationString.uChangedCoercePhoneNumberFail);
+                    //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg
+                    msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result);
+
+                    this.ShowErrorMsg(msg);
+                    return false;
+                }
+            }
+            for (int i = 0; i < listNote.Count; i++)
             {
-                //淇敼鑳佽揩鑱旂郴鏂瑰紡澶辫触
-                string msg = Language.StringByID(R.MyInternationalizationString.uChangedCoercePhoneNumberFail);
-                //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg
-                msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result);
-
-                this.ShowErrorMsg(msg);
-                return false;
+                var result = await Safeguard.SetCoercePhoneNumberNoteAsync(listPhone[i], listNote[i]);
+                if (result == null)
+                {
+                    //淇敼澶囨敞淇℃伅澶辫触
+                    string msg = Language.StringByID(R.MyInternationalizationString.uEditorNoteInformationFail);
+                    //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg
+                    msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂");
+                    this.ShowErrorMsg(msg);
+                    return false;
+                }
+                if (result.Result == -2)
+                {
+                    //閿欒:缃戝叧瀵硅薄涓㈠け
+                    string msg = Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg);
+                    this.ShowErrorMsg(msg);
+                    return false;
+                }
+                if (result.Result != 0)
+                {
+                    //淇敼澶囨敞淇℃伅澶辫触
+                    string msg = Language.StringByID(R.MyInternationalizationString.uEditorNoteInformationFail);
+                    this.ShowErrorMsg(msg);
+                    return false;
+                }
             }
-
             return true;
         }
 
@@ -1939,6 +1951,29 @@
             }
 
             return true;
+        }
+
+        /// <summary>
+        /// 缁欒仈绯诲彿鐮佹坊鍔犲娉ㄧ殑淇℃伅
+        /// </summary>
+        private class AddPushNumberNoteInfo
+        {
+            /// <summary>
+            /// 鍥哄畾253
+            /// </summary>
+            public int ActionType = 253;
+            /// <summary>
+            /// LoginToken
+            /// </summary>
+            public string LoginToken = string.Empty;
+            /// <summary>
+            /// 鍦板尯鐮�-鑱旂郴鏂瑰紡
+            /// </summary>
+            public string PushNumber = string.Empty;
+            /// <summary>
+            /// 鑱旂郴浜哄彿鐮佸娉紝鏈�澶�63byte
+            /// </summary>
+            public string PushNumberNote = string.Empty;
         }
 
         #endregion
@@ -2201,10 +2236,11 @@
         /// 鑾峰彇鐧婚檰鑰呯殑Token(濂藉儚绠$悊鍛樼櫥闄嗙殑鏃跺��,闇�瑕佸彉鏇碩oken,鎵�浠ユ殏涓斿畾涔変竴涓嚱鏁板嚭鏉�)
         /// </summary>
         /// <returns></returns>
-        private string GetLoginToken()
+        public string GetLoginToken()
         {
             //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken
-            return UserCenterLogic.GetConnectMainToken();
+            //return UserCenterLogic.GetConnectMainToken();
+            return Config.Instance.Token;
         }
 
         #endregion
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs
new file mode 100755
index 0000000..b8058f2
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs
@@ -0,0 +1,121 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter
+{
+    /// <summary>
+    /// WiFi鐨勯�昏緫
+    /// </summary>
+    public class HdlWifiLogic
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// WiFi鐨勯�昏緫
+        /// </summary>
+        private static HdlWifiLogic m_Current = null;
+        /// <summary>
+        /// WiFi鐨勯�昏緫
+        /// </summary>
+        public static HdlWifiLogic Current
+        {
+            get
+            {
+                if (m_Current == null)
+                {
+                    m_Current = new HdlWifiLogic();
+                }
+                return m_Current;
+            }
+        }
+
+        /// <summary>
+        /// 褰撳墠wifi鐨凷SID,涔熷彨Wifi鐨勫悕瀛�
+        /// </summary>
+        public string SSID
+        {
+            get
+            {
+                string ssiD = Shared.WiimuUPnP.SSID;
+                if (string.IsNullOrEmpty(ssiD) == false && ssiD.StartsWith("\"") && ssiD.EndsWith("\""))
+                {
+                    ssiD = ssiD.Substring(1, ssiD.Length - 2);
+                }
+                return ssiD;
+            }
+        }
+#if Android
+        /// <summary>
+        /// 瀹氫箟鍏ㄥ眬鍙橀噺
+        /// </summary>
+        private Com.Hdl.Hdlelianzigbee.ElianNative hdlWiFi = null;
+#endif
+
+        #endregion
+
+        #region 鈻� 涓�鑸柟娉昣__________________________
+
+#if Android
+        /// <summary>
+        /// 寮�濮媁i-Fi閰嶇綉
+        /// </summary>
+        /// <param name="wifiName">wifi鍚嶅瓧</param>
+        /// <param name="wifiPsw">wifi瀵嗙爜</param>
+        /// <param name="p2">鎴戜篃涓嶇煡閬撹繖涓槸浠�涔堜笢瑗�</param>
+        /// <returns></returns>
+        public bool StartSmartConnection(string wifiName, string wifiPsw, string p2 = "1")
+        {
+            if (hdlWiFi == null)
+            {
+                //鍒濆鍖朩i-Fi閰嶇綉
+                this.hdlWiFi = new Com.Hdl.Hdlelianzigbee.ElianNative();
+                hdlWiFi.InitSmartConnection(null, 1, 1);
+            }
+            //寮�濮媁i-Fi閰嶇綉
+            var result = hdlWiFi.StartSmartConnection(wifiName, wifiPsw, p2);
+            return true;
+        }
+
+        /// <summary>
+        /// 鍋滄Wi-Fi閰嶇綉
+        /// </summary>
+        public void StopSmartConnection()
+        {
+            if (hdlWiFi != null)
+            {
+                //鍋滄Wi-Fi閰嶇綉
+                hdlWiFi.StopSmartConnection();
+            }
+        }
+#endif
+#if iOS
+        /// <summary>
+        /// 寮�濮媁i-Fi閰嶇綉
+        /// </summary>
+        /// <param name="wifiName">wifi鍚嶅瓧</param>
+        /// <param name="wifiPsw">wifi瀵嗙爜</param>
+        /// <param name="p2">鎴戜篃涓嶇煡閬撹繖涓槸浠�涔堜笢瑗�</param>
+        /// <returns></returns>
+        public bool StartSmartConnection(string wifiName, string wifiPsw, string p2 = "1")
+        {
+            //鍒濆鍖朩i-Fi杩炴帴
+            Com.Mediatek.Elian.ElianNative.InitSmartConnection(null, 1, 1);
+            //寮�濮媁i-Fi杩炴帴
+            var result = Com.Mediatek.Elian.ElianNative.StartSmartConnection(wifiName, wifiPsw, p2);
+            return true;
+        }
+
+        /// <summary>
+        /// 鍋滄Wi-Fi閰嶇綉
+        /// </summary>
+        public void StopSmartConnection()
+        {
+            //鍋滄Wi-Fi閰嶇綉
+            Com.Mediatek.Elian.ElianNative.StopSmartConnection();
+        }
+#endif
+
+        #endregion
+    }
+}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
index 9d45e5b..b778f68 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
@@ -309,7 +309,7 @@
         /// </summary>
         /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄�</param>
         /// <returns></returns>
-        private static HttpConnectMode GetHttpConnectMode(bool checkAuthority)
+        public static HttpConnectMode GetHttpConnectMode(bool checkAuthority)
         {
             if (checkAuthority == false)
             {
@@ -960,6 +960,12 @@
                 Shared.IO.FileUtils.WriteFileByBytes(UserCenterResourse.UserInfo.UserIconFile, UserCenterResourse.UserInfo.HeadImage);
             }
             UserCenterResourse.UserInfo.HeadImage = null;
+            //鎵嬪娍瀵嗙爜
+            UserCenterResourse.Option.GestureAuthentication = UserCenterResourse.UserInfo.GesturePwd == null ? string.Empty : UserCenterResourse.UserInfo.GesturePwd;
+            UserCenterResourse.UserInfo.GesturePwd = null;
+            //瀵嗙爜楠岃瘉
+            UserCenterResourse.Option.PswAuthentication = UserCenterResourse.UserInfo.StringPwd == null ? string.Empty : UserCenterResourse.UserInfo.StringPwd;
+            UserCenterResourse.UserInfo.StringPwd = null;
 
             //鍒濆鍖栫鐞嗗憳鎺у埗涓讳汉鐨勮繛鎺ュ湴鍧�(鍥犱负杩欎釜杩炴帴Token鏄笉浼氭敼鍙樼殑,鎵�浠ュ彧闇�瑕佸垵濮嬪寲涓�娆�)
             await InitAdminConnectMainInfo();
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/DirectoryFileNameResourse.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/DirectoryFileNameResourse.cs
index 27d65b3..81f0a60 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/DirectoryFileNameResourse.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/DirectoryFileNameResourse.cs
@@ -114,5 +114,9 @@
         /// 鐗╃悊璁惧灞炰簬鍝釜鎴块棿鐨勩�愭枃浠躲��
         /// </summary>
         public const string DeviceRoomIdFile = "020945dd7966a7550090d3c04a04d93cd2278eb4e6aebcf6";
+        /// <summary>
+        /// 淇濆瓨鎰忚鍙嶉娆℃暟鐨勩�愭枃浠躲��
+        /// </summary>
+        public const string SuggestionFile = "f782709778b751ef2b3840f17e407ead";
     }
 }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs
index b740b67..93da3b6 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs
@@ -179,12 +179,8 @@
                     roomList.Add(room);
                 }
             }
-            //褰撳墠鎸夐敭鎵�鏈夋樉绀烘埧闂寸殑鎵�鏈夎澶囧鐞�
-            var aa = GetALlDispalyRoomDeviceList();
             //棣栨鎷垮埌鎵�鏈夋埧闂翠腑鎸夐敭鐨勭洰鏍囧苟瀛樺偍
-            //if (IsInitEntry)
-            //{
-            //棣栨鎷垮埌鎵�鏈夋埧闂翠腑鎸夐敭鐨勭洰鏍囧苟瀛樺偍
+            GetALlDispalyRoomDeviceList();
             if (currentKeyAllRoomDeviceList.Count != 0)
             {
                 if (currentKey.bindList != null && currentKey.bindList.Count != 0)
@@ -203,7 +199,7 @@
                     }
                 }
             }
-            if (oldTargetList != null)
+            if (oldTargetList.Count != 0)
             {
                 foreach (var de in oldTargetList.Keys)
                 {
@@ -212,7 +208,10 @@
                 }
             }
 
-            //}
+            if (roomList.Count == 0)
+            {
+                return;
+            }
             Shared.Common.Room curRoom = roomList[0];
             int index = 0;
             RefreshRoomList(curRoom, btnChooseKeyMode, ref index);
@@ -522,6 +521,10 @@
             int curIndex = 0;
             foreach (var device in curTypeDeviceList)
             {
+                if (device.CommonDevice != null && device.CommonDevice.IsOnline == 0)
+                {
+                    continue;
+                }
                 #region 缁戝畾琛║I鏄撅紙鏃犳暟鎹鐞嗭級
                 var rowLayout = new FrameLayout()
                 {
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs
index 6c5273b..3bd0b32 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs
@@ -1,6 +1,5 @@
 锘縰sing System;
 using System.Collections.Generic;
-using Java.Util;
 using Microsoft.AppCenter.Crashes;
 using Shared.Common;
 using Shared.Phone.Device.Light;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
index bd43ae4..11acf4a 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
@@ -18,14 +18,8 @@
         /// <param name="common">Common.</param>
         public void Changed(CommonDevice common)
         {
-            //if (common.Type != ZigBee.Device.DeviceType.OnOffSwitch)
-            //{
-            //    return;
-            //}
-
             Shared.Application.RunOnMainThread(() =>
             {
-                //var dev = common as Panel;
             });
         }
 
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs
index f39ebc4..1819ec7 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs
@@ -1,6 +1,5 @@
 锘縰sing System;
 using System.Collections.Generic;
-using Com.Amap.Api.Location;
 using Shared.Common;
 using ZigBee.Device;
 using static ZigBee.Device.BindObj;
@@ -14,14 +13,8 @@
         /// <param name="common">Common.</param>
         public void Changed(CommonDevice common)
         {
-            //if (common.Type != ZigBee.Device.DeviceType.OnOffSwitch)
-            //{
-            //    return;
-            //}
-
             Shared.Application.RunOnMainThread(() =>
             {
-                //var dev = common as Panel;
             });
         }
 
@@ -154,44 +147,6 @@
                             return;
                         }
                     }
-                    //if (oldModeID != 65535 && oldModeID != currentModeID)
-                    //{
-                    //var bindResult = await currentKey.ClearBindInfoAsync();
-                    //if (bindResult.clearBindInfoResponseData != null)
-                    //{
-                    //    if (bindResult.clearBindInfoResponseData.Result != 0)
-                    //    {
-                    //        Application.RunOnMainThread(() =>
-                    //        {
-                    //            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
-                    //        });
-                    //        CommonPage.Loading.Hide();
-                    //        this.RemoveFromParent();
-                    //        btnFinifh.Enable = true;
-                    //        return;
-                    //    }
-                    //    else
-                    //    {
-                    //        currentKey.bindList.Clear();
-                    //    }
-                    //}
-                    //}
-                    //else
-                    //{
-                    //    foreach (var bindedDev in currentKey.bindList)
-                    //    {
-                    //        for (int i = 0; i < targetList.Count; i++)
-                    //        {
-                    //            var de = targetList[i];
-                    //            if (de.DeviceAddr == bindedDev.BindMacAddr && de.DeviceEpoint == bindedDev.BindEpoint)
-                    //            {
-                    //                oldTargetList.Add(de);
-                    //                targetList.RemoveAt(i);
-                    //                i--;
-                    //            }
-                    //        }
-                    //    }
-                    //}
 
                     //2銆侀厤缃ā寮�
                     Panel.SetWritableValueResponAllData temp = null;
@@ -237,155 +192,146 @@
                             temp = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Wcd_Down_Stop);
                             break;
                     }
-                    if (temp != null && temp.setWritableValueResponData != null && temp.setWritableValueResponData.Status == 0)
+                    if (temp != null && temp.setWritableValueResponData != null)
                     {
-                        ////鍒犻櫎琚嬀鎺夌殑鏁版嵁
-                        //foreach (var delDev in oldTargetList)
-                        //{
-                        //    var delDev1 = new BindObj.BindListResponseObj();
-                        //    delDev1.BindType = 0;
-                        //    delDev1.BindCluster = currentClusterID;
-                        //    delDev1.BindMacAddr = delDev.DeviceAddr;
-                        //    delDev1.BindEpoint = delDev.DeviceEpoint;
-                        //    var result = await BindInfo.RemoveTargets(delDev1, currentKey);
-
-                        //    if (result == 0)
-                        //    {
-                        //        var bindSc = currentKey.bindList.Find(obj =>
-                        //        (obj.BindType == 0
-                        //        && obj.BindCluster == currentClusterID
-                        //        && obj.BindMacAddr == delDev.DeviceAddr
-                        //        && obj.BindEpoint == delDev.DeviceEpoint
-                        //        ));
-                        //        currentKey.bindList.Remove(bindSc);
-                        //    }
-                        //}
-
-                        //3銆佺粦瀹氭柊鐨勬暟鎹�
-                        var addBindeDev = new AddBindData();
-                        addBindeDev.DeviceAddr = currentKey.DeviceAddr;
-                        addBindeDev.Epoint = currentKey.DeviceEpoint;
-
-                        foreach (var de in targetList)
+                        if (temp.setWritableValueResponData.Status == 0)
                         {
-                            if (de.DeviceAddr != null)
-                            {
-                                var addBindInfo = new AddBindListObj();
-                                addBindInfo.BindType = 0;
-                                addBindInfo.BindCluster = currentClusterID;
-                                addBindInfo.BindMacAddr = de.DeviceAddr;
-                                addBindInfo.BindEpoint = de.DeviceEpoint;
-                                addBindeDev.BindList.Add(addBindInfo);
-                            }
-                        }
+                            //3銆佺粦瀹氭柊鐨勬暟鎹�
+                            var addBindeDev = new AddBindData();
+                            addBindeDev.DeviceAddr = currentKey.DeviceAddr;
+                            addBindeDev.Epoint = currentKey.DeviceEpoint;
 
-                        var dev = new AddedDeviceBindResponseAllData();
-                        dev = await currentKey.AddDeviceBindAsync(addBindeDev);
-                        if (dev.addedDeviceBindResponseData == null)
-                        {
-                            Application.RunOnMainThread(() =>
+                            foreach (var de in targetList)
                             {
-                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
-                            });
-                            btnFinifh.Enable = true;
-                            btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
-                        }
-                        else
-                        {
-                            foreach (var ab in dev.addedDeviceBindResponseData?.BindList)
-                            {
-                                switch (ab.Result)
+                                if (de.DeviceAddr != null)
                                 {
-                                    case 0:
-                                        currentKey.bindList.Add((BindListResponseObj)ab);
+                                    var addBindInfo = new AddBindListObj();
+                                    addBindInfo.BindType = 0;
+                                    addBindInfo.BindCluster = currentClusterID;
+                                    addBindInfo.BindMacAddr = de.DeviceAddr;
+                                    addBindInfo.BindEpoint = de.DeviceEpoint;
+                                    addBindeDev.BindList.Add(addBindInfo);
+                                }
+                            }
 
-                                        for (int i = 0; i < targetList.Count; i++)
-                                        {
-                                            var de = targetList[i];
-                                            var sc1 = new SceneUI();
-                                            if (de.DeviceAddr == null)
-                                            {
-                                                sc1 = (SceneUI)de;
+                            var dev = new AddedDeviceBindResponseAllData();
+                            dev = await currentKey.AddDeviceBindAsync(addBindeDev);
+                            if (dev.addedDeviceBindResponseData == null)
+                            {
+                                Application.RunOnMainThread(() =>
+                                {
+                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                                });
+                                btnFinifh.Enable = true;
+                                btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+                            }
+                            else
+                            {
+                                foreach (var ab in dev.addedDeviceBindResponseData?.BindList)
+                                {
+                                    switch (ab.Result)
+                                    {
+                                        case 0:
+                                            currentKey.bindList.Add((BindListResponseObj)ab);
 
-                                                if (sc1.Id == ab.BindScenesId)
-                                                {
-                                                    targetList.RemoveAt(i);
-                                                    i--;
-                                                }
-                                            }
-                                        }
-                                        isFinish = true;
-                                        break;
-                                    case 1:
-                                        Application.RunOnMainThread(() =>
-                                        {
-                                            new Tip()
+                                            for (int i = 0; i < targetList.Count; i++)
                                             {
-                                                MaxWidth = 150,
-                                                Text = Language.StringByID(R.MyInternationalizationString.BindErrorAbsence),
-                                                Direction = AMPopTipDirection.Up,
-                                                CloseTime = 1
-                                            }.Show(btnFinifh);
-                                        });
-                                        break;
-                                    case 2:
-                                        var abr = dev.addBindResultResponseData?.Result;
-                                        switch (dev.addBindResultResponseData?.Result)
-                                        {
-                                            case 0:
-                                                currentKey.bindList.Add((BindListResponseObj)ab);
-                                                for (int i = 0; i < targetList.Count; i++)
+                                                var de = targetList[i];
+                                                var sc1 = new SceneUI();
+                                                if (de.DeviceAddr == null)
                                                 {
-                                                    var de = targetList[i];
-                                                    if (de.DeviceAddr == ab.BindMacAddr && de.DeviceEpoint == ab.BindEpoint)
+                                                    sc1 = (SceneUI)de;
+
+                                                    if (sc1.Id == ab.BindScenesId)
                                                     {
                                                         targetList.RemoveAt(i);
                                                         i--;
                                                     }
                                                 }
-                                                isFinish = true;
-                                                break;
-                                            case 140:
-                                                Application.RunOnMainThread(() =>
+                                            }
+                                            //isFinish = true;
+                                            break;
+                                        case 1:
+                                            Application.RunOnMainThread(() =>
+                                            {
+                                                new Tip()
                                                 {
-                                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFull), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
-                                                });
-                                                break;
-                                            default:
-                                                Application.RunOnMainThread(() =>
-                                                {
-                                                    new Tip() { MaxWidth = 150, Text = ab.ESName + Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
-                                                });
-                                                break;
-                                        }
-                                        break;
-                                    case 3:
-                                        Application.RunOnMainThread(() =>
-                                        {
-                                            new Tip() { MaxWidth = 150, Text = ab.ESName + Language.StringByID(R.MyInternationalizationString.BindErrorExisted), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
-                                        });
-                                        break;
-                                    case 4:
-                                        Application.RunOnMainThread(() =>
-                                        {
-                                            new Tip() { MaxWidth = 150, Text = ab.ESName + Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
-                                        });
-                                        break;
-                                    default:
-                                        Application.RunOnMainThread(() =>
-                                        {
-                                            new Tip() { MaxWidth = 150, Text = ab.ESName + Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
-                                        });
-                                        break;
+                                                    MaxWidth = 150,
+                                                    Text = Language.StringByID(R.MyInternationalizationString.BindErrorAbsence),
+                                                    Direction = AMPopTipDirection.Up,
+                                                    CloseTime = 1
+                                                }.Show(btnFinifh);
+                                            });
+                                            break;
+                                        case 2:
+                                            var abr = dev.addBindResultResponseData?.Result;
+                                            switch (dev.addBindResultResponseData?.Result)
+                                            {
+                                                case 0:
+                                                    currentKey.bindList.Add((BindListResponseObj)ab);
+                                                    for (int i = 0; i < targetList.Count; i++)
+                                                    {
+                                                        var de = targetList[i];
+                                                        if (de.DeviceAddr == ab.BindMacAddr && de.DeviceEpoint == ab.BindEpoint)
+                                                        {
+                                                            targetList.RemoveAt(i);
+                                                            i--;
+                                                        }
+                                                    }
+                                                    //isFinish = true;
+                                                    break;
+                                                case 140:
+                                                    Application.RunOnMainThread(() =>
+                                                    {
+                                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFull), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                                                    });
+                                                    break;
+                                                default:
+                                                    Application.RunOnMainThread(() =>
+                                                    {
+                                                        new Tip() { MaxWidth = 150, Text = ab.ESName + Language.StringByID(R.MyInternationalizationString.BindUnknownError), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                                                    });
+                                                    break;
+                                            }
+                                            break;
+                                        case 3:
+                                            Application.RunOnMainThread(() =>
+                                            {
+                                                new Tip() { MaxWidth = 150, Text = ab.ESName + Language.StringByID(R.MyInternationalizationString.BindErrorExisted), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                                            });
+                                            break;
+                                        case 4:
+                                            Application.RunOnMainThread(() =>
+                                            {
+                                                new Tip() { MaxWidth = 150, Text = ab.ESName + Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                                            });
+                                            break;
+                                        default:
+                                            Application.RunOnMainThread(() =>
+                                            {
+                                                new Tip() { MaxWidth = 150, Text = ab.ESName + Language.StringByID(R.MyInternationalizationString.BindUnknownError), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                                            });
+                                            break;
+                                    }
                                 }
                             }
+                        }
+                        else
+                        {
+                            Application.RunOnMainThread(() =>
+                            {
+                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnFinifh);
+                            });
+                            btnFinifh.Enable = true;
+                            btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+                            return;
                         }
                     }
                     else
                     {
                         Application.RunOnMainThread(() =>
                         {
-                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnFinifh);
+                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnFinifh);
                         });
                         btnFinifh.Enable = true;
                         btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
@@ -395,19 +341,23 @@
                 catch { }
                 finally
                 {
-                    if (isFinish)
+                    //if (isFinish)
+                    //{
+                    //    if (action != null)
+                    //    {
+                    //        action(currentKey.bindList); 
+                    //    }
+                    //    this.RemoveFromParent();
+                    //}
+                    //else
+                    //{
+                    //    this.RemoveFromParent();
+                    //}
+                    if (action != null)
                     {
-                        if (action != null)
-                        {
-                            action(currentKey.bindList);
-
-                        }
-                        this.RemoveFromParent();
+                        action(currentKey.bindList);
                     }
-                    else
-                    {
-                        this.RemoveFromParent();
-                    }
+                    this.RemoveFromParent();
                     CommonPage.Loading.Hide();
                     btnFinifh.Enable = true;
                     btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs
index d1ff0f7..9200520 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs
@@ -143,7 +143,7 @@
                 listText.Add(Language.StringByID(R.MyInternationalizationString.uForwardDirection));//姝e悜
                 listText.Add(Language.StringByID(R.MyInternationalizationString.uReverseDirection));//鍙嶅悜
 
-                var form = new BottomDialogSelectForm();
+                var form = new BottomItemSelectForm();
                 form.AddForm(Language.StringByID(R.MyInternationalizationString.uDirectionSelect), listText, nowSelectNo);
                 form.FinishSelectEvent += async (index) =>
                 {
@@ -639,8 +639,12 @@
                                 this.ShowMassage(ShowMsgType.Confirm, msg, async () =>
                                 {
                                     //鎵ц纭鍙婅鐩栦笂闄愪綅鐐�
-                                    await HdlDeviceCurtainLogic.Current.CommitCurtainLimitPoint(curtainDevice, Rollershade.CurtainPrivateInstalledLimi.UpLimit,
+                                    var result = await HdlDeviceCurtainLogic.Current.CommitCurtainLimitPoint(curtainDevice, Rollershade.CurtainPrivateInstalledLimi.UpLimit,
                                         curtainData.OpenLimitPersent, curtainData.CloseLimitPersent);
+                                    if (result == true)
+                                    {
+                                        curtainData.DeleteOpenLimit = true;
+                                    }
                                 });
                             }
                             //鍚堥檺浣�
@@ -654,8 +658,12 @@
                                 this.ShowMassage(ShowMsgType.Confirm, msg, async () =>
                                 {
                                     //鎵ц纭鍙婅鐩栧悎闄愪綅鐐�
-                                    await HdlDeviceCurtainLogic.Current.CommitCurtainLimitPoint(curtainDevice, Rollershade.CurtainPrivateInstalledLimi.DownLimit,
+                                    var result = await HdlDeviceCurtainLogic.Current.CommitCurtainLimitPoint(curtainDevice, Rollershade.CurtainPrivateInstalledLimi.DownLimit,
                                         curtainData.OpenLimitPersent, curtainData.CloseLimitPersent);
+                                    if (result == true)
+                                    {
+                                        curtainData.DeleteCloseLimit = true;
+                                    }
                                 });
                             }
                         }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/SiphonateDirectionAndLimitSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/SiphonateDirectionAndLimitSettionForm.cs
index 43cb75a..e7a78d2 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/SiphonateDirectionAndLimitSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/SiphonateDirectionAndLimitSettionForm.cs
@@ -119,7 +119,7 @@
                 listText.Add(Language.StringByID(R.MyInternationalizationString.uForwardDirection));//姝e悜
                 listText.Add(Language.StringByID(R.MyInternationalizationString.uReverseDirection));//鍙嶅悜
 
-                var form = new BottomDialogSelectForm();
+                var form = new BottomItemSelectForm();
                 form.AddForm(Language.StringByID(R.MyInternationalizationString.uDirectionSelect), listText, nowSelectNo);
                 form.FinishSelectEvent += async (index) =>
                 {
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs
index 0dd4842..b894572 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs
@@ -267,7 +267,7 @@
             }
             //娣诲姞璁惧鍒板垪琛�
             this.LoadFormMethodByName("DeviceListMainForm", "AddDeviceToFormTable", listNewDevice[0].DeviceAddr);
-           
+
             base.CloseForm();
         }
         #endregion
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs
index e406864..3404c78 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs
@@ -312,7 +312,7 @@
                     //鏍囬:閫夋嫨骞叉帴鐐瑰姛鑳�
                     var title = Language.StringByID(R.MyInternationalizationString.uSelectDryContactFunction);
 
-                    var form = new BottomDialogSelectForm();
+                    var form = new BottomItemSelectForm();
                     form.AddForm(title, listText, nowSelectNo);
                     form.FinishSelectEvent += async (selectNo) =>
                     {
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
index dab5d02..cd52804 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
@@ -326,7 +326,7 @@
                         //鏍囬:閫夋嫨鍔熻兘绫诲瀷
                         var title = Language.StringByID(R.MyInternationalizationString.uSelectFunctionType);
 
-                        var form = new BottomDialogSelectForm();
+                        var form = new BottomItemSelectForm();
                         form.AddForm(title, listText, nowSelectNo);
                         form.FinishSelectEvent += (selectNo) =>
                         {
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceGeneralInformationForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceGeneralInformationForm.cs
index 5da1d10..13a7e13 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceGeneralInformationForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceGeneralInformationForm.cs
@@ -39,9 +39,9 @@
 
             var listDevice = Common.LocalDevice.Current.GetDevicesByMac(i_deviceMac);
 
-            var listView = new FrameListControl(12);
+            var listView = new VerticalListControl(12);
             listView.BackgroundColor = UserCenterColor.Current.White;
-            listView.Height = Application.GetRealHeight(876);
+            listView.Height = bodyFrameLayout.Height;
             bodyFrameLayout.AddChidren(listView);
 
             //璁惧鍚嶇О
@@ -94,6 +94,8 @@
             listView.AddChidren(rowProtuct);
             rowProtuct.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uManufacturerName), 300);
             rowProtuct.AddMostRightView(listDevice[0].ManufacturerName, 600);
+
+            listView.AdjustRealHeight(Application.GetRealHeight(23));
         }
 
         #endregion
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
index a17a61c..db02ddd 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
@@ -215,9 +215,9 @@
             rowInfo.MenuRow = rowMenu;
             //鍚戝彸鍥炬爣
             var btnRight = rowMenu.frameTable.AddMostRightEmptyIcon(58, 58);
-            rowMenu.frameTable.ChangedChidrenBindMode(btnRight, ChidrenBindMode.NotBind);
             btnRight.UnSelectedImagePath = "Item/Next.png";
             btnRight.SelectedImagePath = "Item/Down.png";
+            rowMenu.frameTable.ChangedChidrenBindMode(btnRight, ChidrenBindMode.NotBind);
 
             //鎻愮ず鏂扮増鏈�
             var btnNew = new InformationTipView(rowMenu.btnIcon);
@@ -247,9 +247,21 @@
             //灞曞紑,鎶樺彔
             btnRight.ButtonClickEvent += (sender, e) =>
             {
-                btnRight.IsSelected = !btnRight.IsSelected;
-                //灞曞紑鎴栬�呮姌鍙犳槑缁嗗垪琛�
-                this.ShowDetailList(deviceMac, btnRight.IsSelected);
+                //鍥炶矾鏁板ぇ浜�1鎵嶅睍寮�
+                if (Common.LocalDevice.Current.GetDevicesCountByMac(deviceMac) > 1)
+                {
+                    btnRight.IsSelected = !btnRight.IsSelected;
+                    //灞曞紑鎴栬�呮姌鍙犳槑缁嗗垪琛�
+                    this.ShowDetailList(deviceMac, btnRight.IsSelected);
+                }
+                else
+                {
+                    btnNew.Visible = false;
+                    var form = new DeviceMacInfoEditorForm();
+                    form.AddForm(deviceMac);
+                    //鐣岄潰璺宠浆,璁板綍褰撳墠鐨勬鍦ㄦ搷浣滅殑璁惧鐨凪ac鍦板潃
+                    this.nowActionDeviceMac = deviceMac;
+                }
             };
 
             rowMenu.frameTable.ButtonClickEvent += (sender, e) =>
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
index b472ed0..3fb79d1 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
@@ -252,13 +252,33 @@
                 //搴曠嚎
                 btnRow.AddBottomLine();
                 var doorLock = this.listNewDevice[0] as ZigBee.Device.DoorLock;
-                btnRow.ButtonClickEvent += (sender, e) =>
-                {
-                    var userManagement = new Shared.Phone.UserCenter.DoorLock.UserManagement(doorLock);
-                    Shared.Phone.UserView.HomePage.Instance.AddChidren(userManagement);
-                    Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
-                    userManagement.Show();
-                };
+                btnRow.ButtonClickEvent += async (sender, e) =>
+                 {
+                     if (UserCenterResourse.UserInfo.AuthorityNo == 1)
+                     {
+                         var userManagement = new Shared.Phone.UserCenter.DoorLock.UserManagement(doorLock);
+                         Shared.Phone.UserView.HomePage.Instance.AddChidren(userManagement);
+                         Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                         userManagement.Show();
+                     }
+                     else
+                     {
+                         CommonPage.Loading.Start("");
+                         var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
+                         if (result == false)
+                         {
+                             var userManagement = new Shared.Phone.UserCenter.DoorLock.UserManagement(doorLock);
+                             Shared.Phone.UserView.HomePage.Instance.AddChidren(userManagement);
+                             Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                             userManagement.Show();
+                         }
+                         else
+                         {
+                             this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.AccountIsFreezed));
+                         }
+                         CommonPage.Loading.Hide();
+                     }
+                 };
             }
         }
 
@@ -284,24 +304,56 @@
                 var btnswitch = btnRow.AddMostRightSwitchIcon();
                 //搴曠嚎
                 btnRow.AddBottomLine();
-                if (string.IsNullOrEmpty(ZigBee.Device.DoorLock.RemoteUnlockPassword) == false)
+
+                var doorLock = (ZigBee.Device.DoorLock)listNewDevice[0];
+                if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword) == false)
                 {
                     btnswitch.IsSelected = true;
                 }
 
-               var doorLock= (ZigBee.Device.DoorLock)listNewDevice[0];
-                btnswitch.ButtonClickEvent += (sender, e) =>
-                {
-                    if (btnswitch.IsSelected == true)
-                    {
-                        btnswitch.IsSelected = false;
-                        ZigBee.Device.DoorLock.RemoteUnlockPassword = string.Empty;
-                        return;
-                    }
-                    var frame = new DoorLock.DoorLockCommonLayout();
-                    frame.RemotePasswordDialog((ZigBee.Device.DoorLock)listNewDevice[0], btnswitch.btnIcon);
-                    frame = null;
-                };
+                btnswitch.ButtonClickEvent += async (sender, e) =>
+                 {
+                     if (UserCenterResourse.UserInfo.AuthorityNo == 1)
+                     {
+                         if (btnswitch.IsSelected == true)
+                         {
+                             btnswitch.IsSelected = false;
+                             doorLock.RemoteUnlockPassword = string.Empty;
+                             return;
+                         }
+                         var frame = new DoorLock.DoorLockCommonLayout();
+                         frame.RemotePasswordDialog((ZigBee.Device.DoorLock)listNewDevice[0], btnswitch.btnIcon);
+                         frame = null;
+                     }
+                     else
+                     {
+                         var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
+                         if (result == false)
+                         {
+                             var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid);
+                             if (result1 == true)
+                             {
+                                 if (btnswitch.IsSelected == true)
+                                 {
+                                     btnswitch.IsSelected = false;
+                                     doorLock.RemoteUnlockPassword = string.Empty;
+                                     return;
+                                 }
+                                 var frame = new DoorLock.DoorLockCommonLayout();
+                                 frame.RemotePasswordDialog((ZigBee.Device.DoorLock)listNewDevice[0], btnswitch.btnIcon);
+                                 frame = null;
+                             }
+                             else
+                             {
+                                 this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.NoAccess));
+                             }
+                         }
+                         else
+                         {
+                             this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.AccountIsFreezed));
+                         }
+                     }
+                 };
             }
         }
 
@@ -327,13 +379,31 @@
                 //搴曠嚎
                 btnRow.AddBottomLine();
                 var doorLock = this.listNewDevice[0] as ZigBee.Device.DoorLock;
-                btnRow.ButtonClickEvent += (sender, e) =>
-                {
-                    var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime");
-                    Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
-                    Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
-                    tempPage.Show();
-                };
+                btnRow.ButtonClickEvent += async (sender, e) =>
+                 {
+                     if (UserCenterResourse.UserInfo.AuthorityNo == 1)
+                     {
+                         var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime");
+                         Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
+                         Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                         tempPage.Show();
+                     }
+                     else
+                     {
+                         var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
+                         if (result == false)
+                         {
+                             var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime");
+                             Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
+                             Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                             tempPage.Show();
+                         }
+                         else
+                         {
+                             this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.AccountIsFreezed));
+                         }
+                     }
+                 };
             }
         }
 
@@ -442,6 +512,12 @@
         /// </summary>
         private void AddFunctionSettionRow()
         {
+            //鍙湁鍥炶矾鏁板ぇ浜�1鎵嶈兘鏈夎繖涓彍鍗�
+            if (Common.LocalDevice.Current.GetDevicesCountByMac(listNewDevice[0].DeviceAddr) == 1)
+            {
+                return;
+            }
+
             //鍔熻兘璁剧疆
             string caption = Language.StringByID(R.MyInternationalizationString.uFunctionSettingUp);
             var btnFunction = new FrameRowControl(listview.rowSpace / 2);
@@ -823,23 +899,14 @@
         /// </summary>
         private async void DoDeleteDevice()
         {
-            //寮�鍚繘搴︽潯
-            this.ShowProgressBar();
             //鍒犻櫎璁惧
             bool result = await Common.LocalDevice.Current.DeleteDevice(listNewDevice);
-
-            this.CloseProgressBar();
-
             if (result == false)
             {
                 return;
             }
-
-            Application.RunOnMainThread(() =>
-            {
-                //鍏抽棴鐣岄潰
-                this.CloseForm();
-            });
+            //鍏抽棴鐣岄潰
+            this.CloseForm();
         }
         #endregion
 
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceSearchForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceSearchForm.cs
index 3a76b64..e714665 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceSearchForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceSearchForm.cs
@@ -151,9 +151,6 @@
 
             //娣诲姞鐩戣璁惧鏂颁笂鎶ョ殑浜嬩欢
             GatewayResourse.NowSelectGateway.GwResDataAction += this.AdjustGatewayResultData;
-
-            //寮�鍚繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉绾跨▼
-            this.StartConcetionAnimeteThread();
         }
 
         #endregion
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/CommonForm/DirectionCommonForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/CommonForm/DirectionCommonForm.cs
index 590f42d..e7bf9bb 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/CommonForm/DirectionCommonForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/CommonForm/DirectionCommonForm.cs
@@ -34,7 +34,6 @@
                 var form = new DeviceDirectionHelpForm();
                 form.AddForm("Device");
             };
-            bodyFrameLayout.AddChidren(btnHelp);
 
             //涓嬩竴姝�
             var btnNext = new BottomClickButton();
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs
index d358696..0a7ed17 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs
@@ -320,7 +320,7 @@
                         //鏍囬:閫夋嫨鍔熻兘绫诲瀷
                         var title = Language.StringByID(R.MyInternationalizationString.uSelectFunctionType);
 
-                        var form = new BottomDialogSelectForm();
+                        var form = new BottomItemSelectForm();
                         form.AddForm(title, listText, nowSelectNo);
                         form.FinishSelectEvent += (selectNo) =>
                         {
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodFailedTip.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodFailedTip.cs
deleted file mode 100755
index 4428879..0000000
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodFailedTip.cs
+++ /dev/null
@@ -1,312 +0,0 @@
-锘縰sing System;
-using Newtonsoft.Json.Linq;
-using Shared.Common;
-using ZigBee.Device;
-
-namespace Shared.Phone.UserCenter.DoorLock
-{
-    public class AddUnLockMethodFailedTip : DoorLockCommonLayout, ZigBee.Common.IStatus
-    {
-        /// <summary>
-        /// 鏋勯�犲嚱鏁�
-        /// </summary>
-        /// <param name="doorLock"></param>
-        public AddUnLockMethodFailedTip(ZigBee.Device.DoorLock doorLock, string entryType)
-        {
-            this.doorLock = doorLock;
-            this.currentType = entryType;
-            BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
-        }
-
-        #region 鈼� 鍙橀噺鐢虫槑__________________________
-        ZigBee.Device.DoorLock doorLock;
-        string currentType = string.Empty;
-        Action<string, string> action;//鎺ユ敹閫氱煡
-        DateTime waitTime;//绛夊緟鎺ユ敹褰曞叆鐢ㄦ埛鎴愬姛鐨勬椂闂�
-        #endregion
-
-        /// <summary>
-        /// UI鏄剧ず 
-        /// </summary>
-        public void Show()
-        {
-            string currentTitle = "";
-            if (currentType == "password")
-            {
-                currentTitle = Language.StringByID(R.MyInternationalizationString.AddPassword);
-            }
-            else if (currentType == "fingerprint")
-            {
-                currentTitle = Language.StringByID(R.MyInternationalizationString.AddFingerprint);
-            }
-            else
-            {
-                currentTitle = Language.StringByID(R.MyInternationalizationString.AddIcCard);
-            }
-            this.TopFrameLayout(this, currentTitle);
-
-            EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
-            {
-                if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null)
-                {
-                    doorLock.Gateway.GwResDataAction -= action;
-                }
-
-                this.RemoveFromParent();
-            };
-            this.btnBack.MouseUpEventHandler += eHandlerBack;
-            this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack;
-            this.MidFrameLayout(this);
-
-            MidFrameLayoutContent();
-        }
-
-        public void MidFrameLayoutContent()
-        {
-            var topMidFrameLayout = new FrameLayout
-            {
-                X = Application.GetRealWidth(104),
-                Y = Application.GetRealHeight(112),
-                Height = Application.GetRealHeight(873),
-                Width = Application.GetRealWidth(876),
-            };
-            this.midFrameLayout.AddChidren(topMidFrameLayout);
-
-            var btnPicTip1 = new Button
-            {
-                X = Application.GetRealWidth(446),
-                Y = Application.GetRealHeight(330),
-                Height = Application.GetRealHeight(81 / 2),
-                Width = Application.GetRealWidth(407),
-                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
-                TextSize = 10,
-                TextAlignment = TextAlignment.CenterLeft,
-            };
-            topMidFrameLayout.AddChidren(btnPicTip1);
-
-            var btnPicTip2 = new Button
-            {
-                X = Application.GetRealWidth(446),
-                Y = btnPicTip1.Bottom,
-                Height = Application.GetRealHeight(81 / 2),
-                Width = Application.GetRealWidth(207),
-                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
-                TextSize = 10,
-                TextAlignment = TextAlignment.CenterLeft,
-            };
-            topMidFrameLayout.AddChidren(btnPicTip2);
-
-            var btnPicTip3 = new Button
-            {
-                X = Application.GetRealWidth(294),
-                Y = Application.GetRealHeight(1089),
-                Height = Application.GetRealHeight(173 / 2),
-                Width = Application.GetRealWidth(488),
-                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
-                Gravity = Gravity.CenterHorizontal,
-                TextSize = 14,
-            };
-            this.midFrameLayout.AddChidren(btnPicTip3);
-
-            var btnPicTip4 = new Button
-            {
-                X = Application.GetRealWidth(397),
-                Y = btnPicTip3.Bottom,
-                Width = Application.GetRealWidth(288),
-                Height = Application.GetRealHeight(173 / 2),
-                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
-                Gravity = Gravity.CenterHorizontal,
-                TextSize = 14,
-            };
-            this.midFrameLayout.AddChidren(btnPicTip4);
-
-            var btnPicTip5 = new Button
-            {
-                X = Application.GetRealWidth(202),
-                Y = Application.GetRealHeight(1388),
-                Height = Application.GetRealHeight(49),
-                Width = Application.GetRealWidth(694),
-                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
-                Gravity = Gravity.CenterHorizontal,
-                BackgroundColor = 0xff00ff00,
-                TextSize = 12,
-            };
-            this.midFrameLayout.AddChidren(btnPicTip5);
-
-            var nextBtn = new Button
-            {
-                X = Application.GetRealWidth(86),
-                Y = Application.GetRealHeight(1472),
-                Height = Application.GetRealHeight(127),
-                Width = Application.GetRealWidth(907),
-                Text = Language.StringByID(R.MyInternationalizationString.NextStepXm),
-                TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
-                Gravity = Gravity.CenterHorizontal,
-                BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack,
-                Radius = 10,
-                TextSize = 20,
-                Visible = false,
-            };
-            this.midFrameLayout.AddChidren(nextBtn);
-
-            if (currentType == "password")
-            {
-                topMidFrameLayout.BackgroundImagePath = "DoorLock/AddPasswordTicPic.png";
-                btnPicTip1.Width = Application.GetRealWidth(307);
-                btnPicTip1.X = Application.GetRealWidth(500);
-                btnPicTip1.Y = Application.GetRealHeight(350);
-                btnPicTip2.X = Application.GetRealWidth(543);
-                btnPicTip2.Y = btnPicTip1.Bottom + Application.GetRealHeight(10);
-                btnPicTip2.Width = Application.GetRealWidth(207);
-                btnPicTip1.Text = Language.StringByID(R.MyInternationalizationString.EntryPasswordTip1);
-                btnPicTip2.Text = Language.StringByID(R.MyInternationalizationString.EntryPassword);
-                btnPicTip3.Text = Language.StringByID(R.MyInternationalizationString.EntryPasswordTip2);
-                btnPicTip4.Text = btnPicTip2.Text;
-                btnPicTip5.Text = Language.StringByID(R.MyInternationalizationString.EntryTip);
-            }
-            else if (currentType == "fingerprint")
-            {
-                topMidFrameLayout.BackgroundImagePath = "DoorLock/AddFingerprintTipPic.png";
-                btnPicTip1.Text = Language.StringByID(R.MyInternationalizationString.EntryFingerprintTip1);
-                btnPicTip2.Text = Language.StringByID(R.MyInternationalizationString.EntryFingerprint);
-                btnPicTip3.Text = Language.StringByID(R.MyInternationalizationString.EntryFingerprintTip2);
-                btnPicTip4.Text = btnPicTip2.Text;
-                btnPicTip1.X = Application.GetRealWidth(486);
-                btnPicTip1.Y = Application.GetRealHeight(320);
-                btnPicTip2.X = Application.GetRealWidth(543);
-                btnPicTip2.Width = Application.GetRealWidth(207);
-                btnPicTip1.X = Application.GetRealWidth(450);
-                btnPicTip5.Text = Language.StringByID(R.MyInternationalizationString.EntryTip);
-            }
-            else
-            {
-                topMidFrameLayout.BackgroundImagePath = "DoorLock/AddIcCardTipPic.png";
-                btnPicTip3.Width = Application.GetRealWidth(495);
-                btnPicTip1.X = Application.GetRealWidth(440);
-                btnPicTip1.Y = Application.GetRealHeight(313);
-                btnPicTip2.X = Application.GetRealWidth(538);
-                btnPicTip2.Width = Application.GetRealWidth(207);
-                btnPicTip1.Text = Language.StringByID(R.MyInternationalizationString.EntryProximityTip1);
-                btnPicTip2.Text = Language.StringByID(R.MyInternationalizationString.EntryProximityCard);
-                btnPicTip3.Text = Language.StringByID(R.MyInternationalizationString.EntryProximityTip2);
-                btnPicTip4.Text = btnPicTip2.Text;
-                btnPicTip5.Text = Language.StringByID(R.MyInternationalizationString.EntryTip);
-            }
-
-            action = (topic, data) =>
-            {
-                var gatewayID = topic.Split('/')[0];
-                var jObjectdata = JObject.Parse(data);
-                if (jObjectdata == null)
-                {
-                    return;
-                }
-                if (topic == $"{gatewayID}/DoorLock/DoorLockOperatingEventNotificationCommand")
-                {
-                    var OperatingEventNotificationDatad = Newtonsoft.Json.JsonConvert.DeserializeObject<ZigBee.Device.DoorLock.DoorLockOperatingEventNotificationCommand>(jObjectdata["Data"].ToString());
-                    if (OperatingEventNotificationDatad != null)
-                    {
-                        doorLock.doorLockOperatingEventNotificationCommand = OperatingEventNotificationDatad;
-                    }
-                }
-                if (topic == $"{gatewayID}/DoorLock/DoorLockProgrammingEventNotificationCommand")
-                {
-                    var ProgrammingEventNotificationData = Newtonsoft.Json.JsonConvert.DeserializeObject<ZigBee.Device.DoorLock.DoorLockProgrammingEventNotificationCommand>(jObjectdata["Data"].ToString());
-                    if (ProgrammingEventNotificationData != null)
-                    {
-                        Application.RunOnMainThread(() =>
-                        {
-                            nextBtn.Visible = true;
-                        });
-                        doorLock.doorLockProgrammingEventNotificationCommand = ProgrammingEventNotificationData;
-                        var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
-                        localDoorLockObj.UserID = ProgrammingEventNotificationData.UserID;
-                        localDoorLockObj.UnlockType = ProgrammingEventNotificationData.ProgramEventSoure;
-                        var entryTime = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetLocalTime(ProgrammingEventNotificationData.ZigbeeLocalTime);
-                        localDoorLockObj.EntryTime = entryTime;
-                        doorLock.localDoorLockUserList.Add(ProgrammingEventNotificationData.UserID, localDoorLockObj);
-                    }
-                }
-            };
-
-            if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null)
-            {
-                doorLock.Gateway.GwResDataAction += action;
-            }
-
-            nextBtn.MouseDownEventHandler += (sende, e) =>
-            {
-                waitTime = DateTime.Now;
-                doorLock.doorLockProgrammingEventNotificationCommand = null;
-                new System.Threading.Thread(async () =>
-                {
-                    while ((DateTime.Now - waitTime).TotalMilliseconds < 5000)
-                    {
-                        await System.Threading.Tasks.Task.Delay(10);
-                        if (doorLock.doorLockProgrammingEventNotificationCommand != null)
-                        {
-                            //var entryStatusPage = new Shared.Phone.UserCenter.DoorLock.EntryStatusPage(doorLock,accountObj, currentType);
-                            //Shared.Phone.UserView.HomePage.Instance.AddChidren(entryStatusPage);
-                            //Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
-                            //entryStatusPage.Show();
-                            //this.RemoveFromParent();
-                            break;
-                        }
-                    }
-
-                    if ((DateTime.Now - waitTime).TotalMilliseconds > 5000)
-                    {
-                        var addUnLockMethodFailedTip = new Shared.Phone.UserCenter.DoorLock.AddUnLockMethodFailedTip(doorLock, currentType);
-                        Shared.Phone.UserView.HomePage.Instance.AddChidren(addUnLockMethodFailedTip);
-                        Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
-                        addUnLockMethodFailedTip.Show();
-                        this.RemoveFromParent();
-                    }
-                })
-                { IsBackground = true }.Start();
-            };
-
-            btnPicTip1.MouseDownEventHandler += (sende, e) =>
-            {
-                nextBtn.Visible = true;
-            };
-        }
-
-
-        #region 鈼� 鎺ュ彛瀹炵幇__________________________
-        /// <summary>
-        /// 澶勭悊鍙樺寲浜嬩欢 --灏嗗純鐢� 鏀圭敤DeviceInfoChange()
-        /// </summary>
-        /// <returns>The changed.</returns>
-        /// <param name="common">Common.</param>
-        public void Changed(CommonDevice common)
-        {
-
-        }
-        /// <summary>
-        /// 澶勭悊鍙樺寲浜嬩欢
-        /// </summary>
-        /// <param name="common"></param>
-        /// <param name="typeTag"></param>
-        public void DeviceInfoChange(CommonDevice common, string typeTag)
-        {
-        }
-        /// <summary>
-        /// Changeds the IL ogic status.
-        /// </summary>
-        /// <param name="logic">Logic.</param>
-        public void ChangedILogicStatus(ZigBee.Device.Logic logic)
-        {
-        }
-        /// <summary>
-        /// Changeds the IS cene status.
-        /// </summary>
-        /// <param name="scene">Scene.</param>
-        public void ChangedISceneStatus(Scene scene)
-        {
-        }
-        #endregion
-    }
-}
-
-
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs
index 910f6da..bb7014c 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs
@@ -48,11 +48,6 @@
 
             EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
             {
-                if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null)
-                {
-                    doorLock.Gateway.GwResDataAction -= action;
-                }
-
                 this.RemoveFromParent();
             };
             this.btnBack.MouseUpEventHandler += eHandlerBack;
@@ -60,6 +55,19 @@
             this.MidFrameLayout(this);
 
             MidFrameLayoutContent();
+        }
+
+        /// <summary>
+        /// 閲嶅啓绉婚櫎鏂规硶
+        /// </summary>
+        public override void RemoveFromParent()
+        {
+            ZbGateway.StatusList.Remove(this);
+            if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null)
+            {
+                doorLock.Gateway.GwResDataAction -= action;
+            }
+            base.RemoveFromParent();
         }
 
         public void MidFrameLayoutContent()
@@ -248,13 +256,6 @@
                                 nextBtn.Enable = true;
                                 nextBtn.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                             });
-                        }
-                        else
-                        {
-                            //Application.RunOnMainThread(() =>
-                            //{
-                            //new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.EntryCurrentUnlockMethod), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                            //});
                         }
                     }
                 }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
index 9fa27b6..f61b0ff 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
@@ -1,6 +1,7 @@
 锘縰sing System;
 using System.Collections.Generic;
 using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
 using ZigBee.Device;
 
 namespace Shared.Phone.UserCenter.DoorLock
@@ -24,13 +25,73 @@
         public static int InValidDateSecond = 0;
         #endregion
 
+        /// <summary>
+        /// 鑾峰彇褰撳墠璐︽埛闂ㄩ攣鎿嶄綔鏉冮檺锛堟槸鍚﹁鍐荤粨锛�
+        /// </summary>
+        /// <param name="doorLock:褰撳墠闂ㄩ攣"></param>
+        /// <param name="subAccountDistributedMark锛氱櫥褰曡处鎴风殑GUID"></param>
+        /// <returns></returns>
+        public static async System.Threading.Tasks.Task<bool> GetDoorLockOperateAccess(ZigBee.Device.DoorLock doorLock, string subAccountDistributedMark)
+        {
+            return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<bool>>)(async () =>
+            {
+                if (doorLock.IsFreezeAccount.ContainsKey(subAccountDistributedMark) == false)
+                {
+                    doorLock.IsFreezeAccount.Add(subAccountDistributedMark, false);
+                }
+                var resultList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, subAccountDistributedMark);
+                var d = resultList.Find((obj) => { return obj.IsFreezeUser == true; });
+                if (d != null)
+                {
+                    doorLock.IsFreezeAccount[subAccountDistributedMark] = true;
+                }
+                else
+                {
+                    doorLock.IsFreezeAccount[subAccountDistributedMark] = false;
+                }
+                return doorLock.IsFreezeAccount[subAccountDistributedMark];
+            }));
+        }
+
+        /// <summary>
+        /// 鑾峰彇褰撳墠璐︽埛闂ㄩ攣杩滅▼寮�閿佹潈闄愶紙鏄惁琚嫢鏈夎繙绋嬪紑閿佹潈闄愶級
+        /// </summary>
+        /// <param name="doorLock:褰撳墠闂ㄩ攣"></param>
+        /// <param name="subAccountDistributedMark锛氱櫥褰曡处鎴风殑GUID"></param>
+        /// <returns></returns>
+        public static async System.Threading.Tasks.Task<bool> GetDoorLockUnlockAccess(ZigBee.Device.DoorLock doorLock, string subAccountDistributedMark)
+        {
+            return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<bool>>)(async () =>
+            {
+                if (doorLock.HasRemoteUnlockAccess.ContainsKey(subAccountDistributedMark) == false)
+                {
+                    doorLock.HasRemoteUnlockAccess.Add(subAccountDistributedMark, false);
+                }
+                var resultList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, subAccountDistributedMark);
+                var d = resultList.Find((obj) => { return obj.IsTempUnlockAuthority == true; });
+                if (d != null)
+                {
+                    doorLock.HasRemoteUnlockAccess[subAccountDistributedMark] = true;
+                }
+                else
+                {
+                    doorLock.HasRemoteUnlockAccess[subAccountDistributedMark] = false;
+                }
+                return doorLock.HasRemoteUnlockAccess[subAccountDistributedMark];
+            }));
+        }
+
+        /// <summary>
+        ///  鑾峰彇褰撳墠璐︽埛鍒楄〃
+        /// </summary>
         public static async System.Threading.Tasks.Task<List<Shared.Phone.UserCenter.MemberInfoRes>> LocalAccountList()
         {
             return await System.Threading.Tasks.Task.Run(async () =>
             {
                 List<Shared.Phone.UserCenter.MemberInfoRes> localAccountList = new List<Shared.Phone.UserCenter.MemberInfoRes> { };
                 List<Shared.Phone.UserCenter.MemberInfoRes> SubAccounList = new List<Shared.Phone.UserCenter.MemberInfoRes> { };
-                if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
+                //鍙湁涓讳汉鎵嶆湁鏉冮檺鑾峰彇鑷繁鐨勫瓙璐︽埛
+                if (UserCenterResourse.UserInfo.AuthorityNo == 1)
                 {
                     SubAccounList = await ZigBee.Device.DoorLock.GetSubAccountByDistributedMark();
                 }
@@ -60,76 +121,76 @@
                  if (getDoorLockInfo == null)
                  {
                      doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = true;
+
                  }
                  else
                  {
                      doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = false;
-                 }
-                 if (getDoorLockInfo != null && getDoorLockInfo.doorLockUserDetailData != null)
-                 {
-                     var dataList = getDoorLockInfo.doorLockUserDetailData.UserObjList;
-                     foreach (var doorData in dataList)
+                     if (getDoorLockInfo != null && getDoorLockInfo.doorLockUserDetailData != null)
                      {
-                         var localDoorLockObj1 = new ZigBee.Device.DoorLock.LocaDoorLockObj()
+                         var dataList = getDoorLockInfo.doorLockUserDetailData.UserObjList;
+                         foreach (var doorData in dataList)
                          {
-                             UserID = doorData.UserId,
-                             UnlockType = doorData.UserType
-                         };
-                         if ((doorLock.localDoorLockUserList.ContainsKey(localDoorLockObj1.UserID)) == false)
-                         {
-                             doorLock.localDoorLockUserList.Add(localDoorLockObj1.UserID, localDoorLockObj1);
-                         }
-                     }
-                 }
-
-                 //  璇诲彇浜戠闂ㄩ攣璁惧涓殑淇℃伅
-                 var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { };
-                 var getDoorLockInfoList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllInfolist(doorLock, curAccountObj.SubAccountDistributedMark);
-                 if (getDoorLockInfoList != null)
-                 {
-                     foreach (var curDoorLockUser in getDoorLockInfoList.PageData)
-                     {
-                         if (curDoorLockUser.DoorLockLocalUserId == null || curDoorLockUser.DoorLockLocalUserId == "")
-                         {
-                             continue;
-                         }
-                         if (doorLock.localDoorLockUserList.ContainsKey(int.Parse(curDoorLockUser.DoorLockLocalUserId)))
-                         {
-                             var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
-                             doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId);
-                             doorLockObj.UnlockType = curDoorLockUser.OpenLockMode;
-                             doorLockObj.PrimaryId = curDoorLockUser.Id;
-                             doorLockObj.EntryTime = curDoorLockUser.EntryTime;
-                             doorLockObj.UserName = curDoorLockUser.UserIdRemarks;
-                             doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId;
-                             doorLock.localDoorLockUserList[int.Parse(curDoorLockUser.DoorLockLocalUserId)] = doorLockObj;
+                             var localDoorLockObj1 = new ZigBee.Device.DoorLock.LocaDoorLockObj()
+                             {
+                                 UserID = doorData.UserId,
+                                 UnlockType = doorData.UserType
+                             };
+                             if ((doorLock.localDoorLockUserList.ContainsKey(localDoorLockObj1.UserID)) == false)
+                             {
+                                 doorLock.localDoorLockUserList.Add(localDoorLockObj1.UserID, localDoorLockObj1);
+                             }
                          }
                      }
 
-                     //鑾峰彇浜戠瀛樺偍鐨勯棬閿佹垚鍛樹俊鎭�
-                     //foreach (var curDoorLockUser in getDoorLockInfoList.PageData)
-                     //{
-                     //    var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj();
-                     //    if (curDoorLockUser.DoorLockLocalUserId != null)
-                     //    {
-                     //        doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId);
-                     //        doorLockObj.UnlockType = curDoorLockUser.OpenLockMode;
-                     //        doorLockObj.UserName = curDoorLockUser.UserIdRemarks;
-                     //    }
-                     //    doorLockObj.PrimaryId = curDoorLockUser.Id;
-                     //    doorLockObj.EntryTime = curDoorLockUser.EntryTime;
-                     //    doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId;
-                     //    if (doorLock.localDoorLockAccountList.ContainsKey(curDoorLockUser.CloudAccountId) == false)
-                     //    {
-                     //        doorLock.localDoorLockAccountList.Add(doorLockObj.ConnectedAccount, doorLockObj);
-                     //    }
-                     //    else
-                     //    {
-                     //        doorLock.localDoorLockAccountList[doorLockObj.ConnectedAccount] = doorLockObj;
-                     //    }
+                     //  璇诲彇浜戠闂ㄩ攣璁惧涓殑淇℃伅
+                     var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { };
+                     var getDoorLockInfoList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllInfolist(doorLock, curAccountObj.SubAccountDistributedMark);
+                     if (getDoorLockInfoList != null)
+                     {
+                         foreach (var curDoorLockUser in getDoorLockInfoList.PageData)
+                         {
+                             if (curDoorLockUser.DoorLockLocalUserId == null || curDoorLockUser.DoorLockLocalUserId == "")
+                             {
+                                 continue;
+                             }
+                             if (doorLock.localDoorLockUserList.ContainsKey(int.Parse(curDoorLockUser.DoorLockLocalUserId)))
+                             {
+                                 var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
+                                 doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId);
+                                 doorLockObj.UnlockType = curDoorLockUser.OpenLockMode;
+                                 doorLockObj.PrimaryId = curDoorLockUser.Id;
+                                 doorLockObj.EntryTime = curDoorLockUser.EntryTime;
+                                 doorLockObj.UserName = curDoorLockUser.UserIdRemarks;
+                                 doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId;
+                                 doorLock.localDoorLockUserList[int.Parse(curDoorLockUser.DoorLockLocalUserId)] = doorLockObj;
+                             }
+                             else
+                             {
+                                 if (curDoorLockUser.DoorLockLocalUserId != null)
+                                 {
+                                     //闂ㄩ攣涓病鏈夛紝浜戠鏈夌敤鎴稩D锛屽悗鍙板垹闄や簯绔繖浜汭D
+                                     var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData();
+                                     if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                                     {
+                                         deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                         deleteDoorLockData.IsOtherAccountCtrl = true;
+                                     }
+                                     if (doorLock.DeviceAddr != null)
+                                     {
+                                         deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                                     }
+                                     deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId;
+                                     deleteDoorLockData.PrimaryId = curDoorLockUser.Id;
+                                     deleteDoorLockData.DelDoorLockDelType = 2;
+                                     var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData);
+                                     int i = 0;
+                                 }
+                             }
+                         }
+                         doorLock.ReSave();
+                     }
 
-                     //}
-                     doorLock.ReSave();
                  }
                  return doorLock.localDoorLockUserList;
              }));
@@ -187,7 +248,7 @@
         }
 
         /// <summary>
-        ///  鑾峰彇浜戠瀛樺偍鐨勬垚鍛樹俊鎭�
+        ///  鑾峰彇浜戠瀛樺偍鐨勫綋鍓嶈处鎴风殑闂ㄩ攣淇℃伅
         /// </summary>
         public static async System.Threading.Tasks.Task<List<ZigBee.Device.DoorLock.CloudDoorLockObj>> GetAccountDoorLockUserList(ZigBee.Device.DoorLock doorLock, string subAccountDistributedMark)
         {
@@ -283,7 +344,6 @@
                         {
                             doorLock.localDoorLockAccountList[curDoorLockUser.DoorLockLocalUserId] = doorLockObj;
                         }
-
                     }
                 }
                 return doorLock.localDoorLockUserList;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs
index a78b742..62d78a5 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs
@@ -1,10 +1,11 @@
 锘縰sing System;
+using Newtonsoft.Json.Linq;
 using Shared.Common;
 using ZigBee.Device;
 
 namespace Shared.Phone.UserCenter.DoorLock
 {
-    public class DoorLockCommonLayout : FrameLayout
+    public class DoorLockCommonLayout : EditorCommonForm
     {
         public DoorLockCommonLayout()
         {
@@ -72,6 +73,8 @@
         public FrameLayout titleFrameLayout = new FrameLayout
         {
             Y = Application.GetRealHeight(92),
+            X = Application.GetRealWidth(58 * 2),
+            Width = Application.GetRealWidth(1080 - 116),
             Height = Application.GetRealHeight(69),
         };
 
@@ -80,9 +83,7 @@
         /// </summary>
         public FrameLayout btnBackFrameLayout = new FrameLayout
         {
-            X = Application.GetRealWidth(58),
-            Height = Application.GetRealHeight(58),
-            Width = Application.GetRealWidth(58),
+            Width = Application.GetRealWidth(58 * 2),
         };
 
         /// <summary>
@@ -92,6 +93,8 @@
         {
             Height = Application.GetRealHeight(51),
             Width = Application.GetRealWidth(30),
+            X = Application.GetRealWidth(58),
+            Y = Application.GetRealHeight(98),
             UnSelectedImagePath = "DoorLock/Left.png",
         };
 
@@ -125,8 +128,6 @@
             TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
             BackgroundColor = Shared.Common.ZigbeeColor.Current.XMMidFrameLayout,
         };
-
-
         #endregion
 
         /// <summary>
@@ -136,6 +137,7 @@
         public void TopFrameLayout(FrameLayout frameLayout, string titleText)
         {
             this.AddChidren(topFrameLayout);
+            topFrameLayout.AddChidren(btnBackFrameLayout);
             topFrameLayout.AddChidren(titleFrameLayout);
             topFrameLayout.AddChidren(btnTitleLine);
             var title = new Button()
@@ -143,13 +145,12 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 Text = titleText,
                 TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText,
-                X = Application.GetRealWidth(161),
                 Width = Application.GetRealWidth(1080 - 161),
                 Height = Application.GetRealWidth(69),
                 TextSize = 17,
+                X = Application.GetRealWidth(161 - 116),
             };
             titleFrameLayout.AddChidren(title);
-            titleFrameLayout.AddChidren(btnBackFrameLayout);
             btnBackFrameLayout.AddChidren(btnBack);
             this.midFrameLayout.AddChidren(this.btnTip);
         }
@@ -237,7 +238,7 @@
                 if (DateTime.Now < ZigBee.Device.DoorLock.minValue)
                 {
                     CommonPage.Loading.Hide();
-                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AfterFiftySeconds), Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword);
+                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NoFiftySeconds), Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword);
                     return;
                 }
 
@@ -266,71 +267,89 @@
                 }
 
                 var verifyResult = await doorLock.VerifyPasswordAsync(editInputPassword.Text);
-                if (verifyResult != null && verifyResult.result == 0)
+                if (verifyResult != null)
                 {
-                    System.Threading.Thread.Sleep(500);
-                    ZigBee.Device.DoorLock.RemoteUnlockPassword = editInputPassword.Text;
-                    ZigBee.Device.DoorLock.minValue = DateTime.MinValue;
-                    ZigBee.Device.DoorLock.RemoteUnlockCount = 5;
-                    oldTime = DateTime.MaxValue;
-                    CommonPage.Loading.Hide();
-                    dialog.Close();
-                    if (btnNext != null)
+                    if (verifyResult.result == 0)
                     {
-                        btnNext.IsSelected = true;
-                    }
-                    if (!UserCenterResourse.Option.DoorUnLockByRemote)
-                    {
-                        var dialog2 = new Dialog { };
-                        var doorDialog2 = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog2, Language.StringByID(R.MyInternationalizationString.Tip));
-                        doorDialog2.Show();
-                        doorDialog2.dialogMidFraFrameLayout.Width = Application.GetRealWidth(674);
-                        doorDialog2.dialogMidFraFrameLayout.Height = Application.GetRealHeight(115);
-                        doorDialog2.dialogMidFraFrameLayout.X = Application.GetRealWidth(60);
-                        doorDialog2.dialogMidFraFrameLayout.Y = Application.GetRealHeight(167);
-                        doorDialog2.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.GoSetting);
-                        var midText1 = new Button()
+                        System.Threading.Thread.Sleep(500);
+                        doorLock.RemoteUnlockPassword = editInputPassword.Text;
+                        ZigBee.Device.DoorLock.minValue = DateTime.MinValue;
+                        ZigBee.Device.DoorLock.RemoteUnlockCount = 5;
+                        oldTime = DateTime.MaxValue;
+                        CommonPage.Loading.Hide();
+                        dialog.Close();
+                        if (btnNext != null)
                         {
-                            Width = Application.GetRealWidth(674),
-                            Height = Application.GetRealHeight(115 / 2),
-                            TextSize = 14,
-                            TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
-                            TextAlignment = TextAlignment.Center,
-                            TextID = R.MyInternationalizationString.RemoteUnlockBindSucessTip1,
-                        };
-                        doorDialog2.dialogMidFraFrameLayout.AddChidren(midText1);
-                        var midText2 = new Button()
+                            btnNext.IsSelected = true;
+                        }
+                        if (!UserCenterResourse.Option.DoorUnLockByRemote)
                         {
-                            Width = Application.GetRealWidth(674),
-                            Height = Application.GetRealHeight(115 / 2),
-                            Y = Application.GetRealHeight(115 / 2),
-                            TextSize = 14,
-                            TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
-                            TextAlignment = TextAlignment.Center,
-                            TextID = R.MyInternationalizationString.RemoteUnlockBindSucessTip2,
-                        };
-                        doorDialog2.dialogMidFraFrameLayout.AddChidren(midText2);
+                            var dialog2 = new Dialog { };
+                            var doorDialog2 = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog2, Language.StringByID(R.MyInternationalizationString.Tip));
+                            doorDialog2.Show();
+                            doorDialog2.dialogMidFraFrameLayout.Width = Application.GetRealWidth(674);
+                            doorDialog2.dialogMidFraFrameLayout.Height = Application.GetRealHeight(115);
+                            doorDialog2.dialogMidFraFrameLayout.X = Application.GetRealWidth(60);
+                            doorDialog2.dialogMidFraFrameLayout.Y = Application.GetRealHeight(167);
+                            doorDialog2.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.GoSetting);
+                            var midText1 = new Button()
+                            {
+                                Width = Application.GetRealWidth(674),
+                                Height = Application.GetRealHeight(115 / 2),
+                                TextSize = 14,
+                                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+                                TextAlignment = TextAlignment.Center,
+                                TextID = R.MyInternationalizationString.RemoteUnlockBindSucessTip1,
+                            };
+                            doorDialog2.dialogMidFraFrameLayout.AddChidren(midText1);
+                            var midText2 = new Button()
+                            {
+                                Width = Application.GetRealWidth(674),
+                                Height = Application.GetRealHeight(115 / 2),
+                                Y = Application.GetRealHeight(115 / 2),
+                                TextSize = 14,
+                                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+                                TextAlignment = TextAlignment.Center,
+                                TextID = R.MyInternationalizationString.RemoteUnlockBindSucessTip2,
+                            };
+                            doorDialog2.dialogMidFraFrameLayout.AddChidren(midText2);
 
-                        doorDialog2.dialogBtnCancel.MouseUpEventHandler += (sender2, e2) =>
-                        {
-                            dialog2.Close();
-                        };
-                        doorDialog2.dialogBtnConfirm.MouseUpEventHandler += async (sender2, e2) =>
-                        {
-                            var form = new UserCenter.UserMain.SecondAuthenticationForm();
-                            form.AddForm();
-                            dialog2.Close();
-                        };
+                            doorDialog2.dialogBtnCancel.MouseUpEventHandler += (sender2, e2) =>
+                            {
+                                dialog2.Close();
+                            };
+                            doorDialog2.dialogBtnConfirm.MouseUpEventHandler += async (sender2, e2) =>
+                            {
+                                var form = new UserCenter.UserMain.SecondAuthenticationForm();
+                                form.AddForm();
+                                dialog2.Close();
+                            };
+                        }
+                        doorLock.ReSave();
+                    }
+                    else
+                    {
+                        ZigBee.Device.DoorLock.RemoteUnlockCount--;
+                        string tipText = Language.StringByID(R.MyInternationalizationString.OperrateFailed) + "," + Language.StringByID(R.MyInternationalizationString.Surplus) + ZigBee.Device.DoorLock.RemoteUnlockCount.ToString() + Language.StringByID(R.MyInternationalizationString.Opportunity);
+                        CommonPage.Loading.Hide();
+                        new Tip() { MaxWidth = 150, Text = tipText, Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1);
+                        return;
                     }
                 }
                 else
                 {
-                    ZigBee.Device.DoorLock.RemoteUnlockCount--;
-                    string tipText = Language.StringByID(R.MyInternationalizationString.OperrateFailed) + "," + Language.StringByID(R.MyInternationalizationString.Surplus) + ZigBee.Device.DoorLock.RemoteUnlockCount.ToString() + Language.StringByID(R.MyInternationalizationString.Opportunity);
                     CommonPage.Loading.Hide();
-                    new Tip() { MaxWidth = 150, Text = tipText, Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1);
+                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1);
                     return;
                 }
+            };
+            doorDialog.flMain.MouseUpEventHandler += (sender11, e11) =>
+            {
+                if (btnNext != null)
+                {
+                    btnNext.IsSelected = false;
+                }
+                dialog.Close();
             };
         }
 
@@ -343,7 +362,7 @@
         /// <param name="btnDoorLockPic">闂ㄩ攣鍥剧墖寮�/鍏虫樉绀�</param>
         public void RemoteUnlockRequest(ZigBee.Device.DoorLock doorLock, Action action, Button progressButton = null, Button btnDoorLockPic = null, Button btnStatus = null)
         {
-            if (ZigBee.Device.DoorLock.RemoteUnlockPassword == "")
+            if (doorLock.RemoteUnlockPassword == "")
             {
                 var dialog = new Dialog { };
                 var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog, Language.StringByID(R.MyInternationalizationString.Tip));
@@ -362,15 +381,7 @@
                 };
                 doorDialog.dialogBtnConfirm.MouseUpEventHandler += (sender1, e1) =>
                 {
-                    if (UserCenterResourse.UserInfo.AuthorityNo == 3)
-                    {
-                        var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSettingSub(doorLock);
-                        Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage);
-                        Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
-                        userDoorLockPage.Show();
-                        dialog.Close();
-                    }
-                    else
+                    if (UserCenterResourse.UserInfo.AuthorityNo == 1)
                     {
                         var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock);
                         Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage);
@@ -378,7 +389,14 @@
                         userDoorLockPage.Show();
                         dialog.Close();
                     }
-
+                    else
+                    {
+                        var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSettingSub(doorLock);
+                        Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage);
+                        Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                        userDoorLockPage.Show();
+                        dialog.Close();
+                    }
                 };
                 return;
             }
@@ -447,55 +465,142 @@
             {
                 action = async () =>
                 {
-                    //杩滅▼寮�閿�
-                    if (progressButton != null)
-                    {
-                        progressButton.Y = Application.GetRealHeight(10);
-                    }
-                    if (btnDoorLockPic != null)
-                    {
-                        btnDoorLockPic.IsSelected = true;
-                    }
-                    if (btnStatus != null)
-                    {
-                        btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Opening);
-                    }
+                    //System.Threading.Tasks.Task.Run(async () =>
+                    //{
                     Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); });
-                    var remoteControlResult = await doorLock.RemoteControlAsync(ZigBee.Device.DoorLock.RemoteUnlockPassword);
-
-                    if (remoteControlResult != null && remoteControlResult.responseData != null && remoteControlResult.responseData.status == 0)
+                    try
                     {
-
+                        //杩滅▼寮�閿�
                         if (progressButton != null)
                         {
-                            progressButton.Y = Application.GetRealHeight(347);
+                            progressButton.Y = Application.GetRealHeight(10);
                         }
                         if (btnDoorLockPic != null)
                         {
-                            btnDoorLockPic.IsSelected = false;
+                            btnDoorLockPic.IsSelected = true;
                         }
                         if (btnStatus != null)
                         {
-                            System.Threading.Thread.Sleep(2000);
-                            //btnStatus.Text = Language.StringByID(R.MyInternationalizationString.DoorLockOpen);
-                            System.Threading.Thread.Sleep(3000);
-                            btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose);
+                            Application.RunOnMainThread(() =>
+                            {
+                                btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Opening);
+                            });
                         }
-                        CommonPage.Loading.Hide();
-                    }
-                    else
-                    {
-                        if (progressButton != null)
+                        var remoteControlResult = await doorLock.RemoteControlAsync(doorLock.RemoteUnlockPassword);
+                        //寮�閿佹垚鍔燂紝杩斿洖榛樿鍝嶅簲
+                        if (remoteControlResult != null && remoteControlResult.responseData != null)
                         {
-                            progressButton.Y = Application.GetRealHeight(347);
+                            if (remoteControlResult.responseData.status == 0)
+                            {
+                                if (progressButton != null)
+                                {
+                                    progressButton.Y = Application.GetRealHeight(347);
+                                }
+                                if (btnDoorLockPic != null)
+                                {
+                                    btnDoorLockPic.IsSelected = false;
+                                }
+                                if (btnStatus != null)
+                                {
+                                    Application.RunOnMainThread(() =>
+                                    {
+                                        btnStatus.Text = Language.StringByID(R.MyInternationalizationString.DoorLockOpen);
+                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockSuccess), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1);
+                                    });
+                                }
+                                System.Threading.Thread.Sleep(5000);
+                            }
+                            else
+                            {
+                                if (progressButton != null)
+                                {
+                                    progressButton.Y = Application.GetRealHeight(347);
+                                }
+                                if (btnDoorLockPic != null)
+                                {
+                                    btnDoorLockPic.IsSelected = false;
+                                }
+                                Application.RunOnMainThread(() =>
+                                {
+                                    if (btnStatus != null)
+                                    {
+                                        btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose);
+                                    }
+                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1);
+                                });
+                            }
                         }
-                        if (btnDoorLockPic != null)
+                        else if (remoteControlResult != null && remoteControlResult.IsPawDispear == true)
                         {
-                            btnDoorLockPic.IsSelected = false;
-                        }
+                            if (progressButton != null)
+                            {
+                                progressButton.Y = Application.GetRealHeight(347);
+                            }
+                            if (btnDoorLockPic != null)
+                            {
+                                btnDoorLockPic.IsSelected = false;
+                            }
+                            Application.RunOnMainThread(() =>
+                            {
+                                if (btnStatus != null)
+                                {
+                                    btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose);
+                                }
+                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.DoorlockPasswordDispear), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1);
+                                CommonPage.Loading.Hide();
+                                doorLock.RemoteUnlockPassword = "";
+                            });
+                            dialog3.Close();
 
-                        CommonPage.Loading.Hide();
+                            if (UserCenterResourse.UserInfo.AuthorityNo == 1)
+                            {
+                                var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock);
+                                Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage);
+                                Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                                userDoorLockPage.Show();
+
+                            }
+                            else
+                            {
+                                var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSettingSub(doorLock);
+                                Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage);
+                                Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                                userDoorLockPage.Show();
+                            }
+                        }
+                        else
+                        {
+                            if (progressButton != null)
+                            {
+                                progressButton.Y = Application.GetRealHeight(347);
+                            }
+                            if (btnDoorLockPic != null)
+                            {
+                                btnDoorLockPic.IsSelected = false;
+                            }
+                            Application.RunOnMainThread(() =>
+                            {
+                                if (btnStatus != null)
+                                {
+                                    btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose);
+                                }
+                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1);
+                            });
+                        }
                     }
+                    catch { }
+                    finally
+                    {
+                        Application.RunOnMainThread(() =>
+                        {
+                            if (btnStatus != null)
+                            {
+                                btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose);
+                            }
+                            CommonPage.Loading.Hide();
+                        });
+                    }
+                    //});
                 };
                 HdlCheckLogic.Current.CheckSecondarySecurity(action);
                 dialog3.Close();
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockListPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockListPage.cs
deleted file mode 100755
index 7dc7039..0000000
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockListPage.cs
+++ /dev/null
@@ -1,189 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using Shared.Common;
-using ZigBee.Device;
-
-namespace Shared.Phone.UserCenter.DoorLock
-{
-    public class DoorLockListPage : FrameLayout, ZigBee.Common.IStatus
-    {
-        /// <summary>
-        /// 鎸夐敭妯″紡鎺ユ敹
-        /// </summary>
-        /// <param name="common">Common.</param>
-        public void Changed(CommonDevice common)
-        {
-            //if (common.Type != ZigBee.Device.DeviceType.OnOffSwitch)
-            //{
-            //    return;
-            //}
-
-            Shared.Application.RunOnMainThread(() =>
-            {
-                //var dev = common as Panel;
-            });
-        }
-
-        #region 鍙橀噺澹版槑
-        /// <summary>
-        /// 鍒楄〃鎺т欢
-        /// </summary>
-        private VerticalScrolViewLayout listView = null;
-        /// <summary>
-        /// 闂ㄩ攣璁惧鍒楄〃
-        /// </summary>
-        private List<ZigBee.Device.CommonDevice> localDoorLocklist = new List<ZigBee.Device.CommonDevice>();
-        #endregion
-
-        /// <summary>
-        /// 鐣岄潰鍔犺浇
-        /// </summary>
-        public void Show()
-        {
-            #region topFrameLayout 锛堝彧鏈塙I锛屾棤鏁版嵁澶勭悊锛�
-            var topFrameLayout = new FrameLayout()
-            {
-                Height = Application.GetRealHeight(220),
-                BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor,
-            };
-            this.AddChidren(topFrameLayout);
-
-            var titleFrameLayout = new FrameLayout()
-            {
-                Y = Application.GetRealHeight(80),
-                Height = Application.GetRealHeight(140),
-                BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor,
-            };
-            topFrameLayout.AddChidren(titleFrameLayout);
-
-            var title = new Button()
-            {
-                TextAlignment = TextAlignment.Center,
-                Text = Language.StringByID(R.MyInternationalizationString.DoorLock),
-                TextColor = Shared.Common.ZigbeeColor.Current.GXCTextBlackColor,
-                Width = Application.GetRealWidth(1080 - 500),
-                Gravity = Gravity.CenterHorizontal,
-            };
-            titleFrameLayout.AddChidren(title);
-            var back = new Button()
-            {
-                X = Application.GetRealWidth(50),
-                Height = Application.GetRealHeight(100),
-                Width = Application.GetRealWidth(100),
-                UnSelectedImagePath = "Item/Back.png",
-                SelectedImagePath = "Item/BackOn.png",
-                Gravity = Gravity.CenterVertical,
-            };
-            titleFrameLayout.AddChidren(back);
-            #endregion
-
-            #region midFrameLayout
-            var midFrameLayout = new FrameLayout()
-            {
-                Width = LayoutParams.MatchParent,
-                Height = Application.GetRealHeight(1920 - 220),
-                Y = topFrameLayout.Bottom,
-                BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCBackgroundColor,
-            };
-            this.AddChidren(midFrameLayout);
-
-            listView = new VerticalScrolViewLayout();
-            midFrameLayout.AddChidren(listView);
-            #endregion
-
-            #region 鏁版嵁淇℃伅澶勭悊
-            listView.RemoveAll();
-            localDoorLocklist.Clear();
-
-            //foreach (var dev in Shared.Common.LocalDevice.Current.listAllDevice)
-            //{
-            //    if(dev.Type ==ZigBee.Device.DeviceType.DoorLock)
-            //    {
-            //        localDoorLocklist.Add(dev);
-            //    }
-            //} 
-
-            //娴嬭瘯浠g爜
-            for (int i = 0; i < 3; i++)
-            {
-                var tempDoorLock = new ZigBee.Device.DoorLock();
-                localDoorLocklist.Add(tempDoorLock);
-            }
-
-            foreach (var doorLock in localDoorLocklist)
-            {
-                this.AddDoorLockRow(doorLock);
-            }
-            #endregion
-        }
-
-        /// <summary>
-        /// 娣诲姞璁惧鐨勮彍鍗曡
-        /// </summary>
-        /// <param name="listDevice">璁惧瀵硅薄</param>
-        private void AddDoorLockRow(ZigBee.Device.CommonDevice doorLock)
-        {
-            var doorLockView = new RowLayout()
-            {
-                Height = Application.GetRealHeight(180),
-            };
-            listView.AddChidren(doorLockView);
-
-            var btnPoint = new Button()
-            {
-                Width = Application.GetRealWidth(10),
-                Height = Application.GetRealHeight(10),
-                X = Application.GetRealWidth(40),
-                Gravity = Gravity.CenterVertical,
-                //UnSelectedImagePath = "Item/Point.png",
-                //SelectedImagePath = "Item/Point.png",
-            };
-            doorLockView.AddChidren(btnPoint);
-
-            var tempDeviceName = new Button()
-            {
-                Width = Application.GetRealWidth(340),
-                X = btnPoint.Right + Application.GetRealWidth(20),
-                TextAlignment = TextAlignment.CenterLeft,
-                Text = "闂ㄩ攣1",
-                TextColor = 0xff000000,
-                Tag = doorLock,
-            };
-            doorLockView.AddChidren(tempDeviceName);
-
-            var btnRight = new Button()
-            {
-                Height = Application.GetRealHeight(110),
-                Width = Application.GetRealWidth(110),
-                UnSelectedImagePath = "Item/Next.png",
-                SelectedImagePath = "Item/Down.png",
-                Gravity = Gravity.CenterVertical,
-                X = Application.CurrentWidth - Application.GetRealWidth(150),
-            };
-            doorLockView.AddChidren(btnRight);
-
-            EventHandler<MouseEventArgs> openDoorLockControlPageEvent = (button, mouseEventArgs) =>
-            {
-                //var doorLockManagement = new Shared.Phone.UserCenter.DoorLock.DoorLockManagement();
-                //Shared.Phone.UserView.HomePage.Instance.AddChidren(doorLockManagement);
-                //Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
-                //doorLockManagement.Show();
-            };
-            doorLockView.MouseUpEventHandler += openDoorLockControlPageEvent;
-            tempDeviceName.MouseUpEventHandler += openDoorLockControlPageEvent;
-            btnRight.MouseUpEventHandler += openDoorLockControlPageEvent;
-        }
-
-        public void DeviceInfoChange(CommonDevice common, string typeTag)
-        {
-        }
-
-        public void ChangedILogicStatus(ZigBee.Device.Logic logic)
-        {
-        }
-
-        public void ChangedISceneStatus(Scene scene)
-        {
-        }
-    }
-}
\ No newline at end of file
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockUserMangement.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockUserMangement.cs
deleted file mode 100755
index 97e4c56..0000000
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockUserMangement.cs
+++ /dev/null
@@ -1,130 +0,0 @@
-锘縰sing System;
-namespace Shared.Phone.UserCenter.DoorLock
-{
-    public class DoorLockUserMangement : DoorLockCommonLayout
-    {
-
-        /// 鏋勯�犲嚱鏁�
-        /// </summary>
-        /// <param name="doorLock"></param>
-        public DoorLockUserMangement(ZigBee.Device.DoorLock doorLock)
-        {
-            this.doorLock = doorLock;
-            BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
-        }
-
-        #region 鈼� 鍙橀噺鐢虫槑__________________________
-        ZigBee.Device.DoorLock doorLock;
-        #endregion
-
-        /// <summary>
-        /// UI鏄剧ず 
-        /// </summary>
-        public void Show()
-        {
-            this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.UserManagement));
-
-            EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
-            {
-                RemoveFromParent();
-            };
-            this.btnBack.MouseUpEventHandler += eHandlerBack;
-            this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack;
-            this.MidFrameLayout(this);
-
-            MidFrameLayoutContent();
-        }
-        public void MidFrameLayoutContent()
-        {
-            var bodyView = new VerticalScrolViewLayout()
-            {
-            };
-            this.midFrameLayout.AddChidren(bodyView);
-
-            for (int i = 0; i < 3; i++)
-            {
-                var RowView = new FrameLayout()
-                {
-                    Height = Application.GetRealHeight(110),
-                };
-                bodyView.AddChidren(RowView);
-
-                var btnIcon = new Button()
-                {
-                    Width = Application.GetRealHeight(13),
-                    Height = Application.GetRealHeight(13),
-                    X = Application.GetRealWidth(40),
-                    UnSelectedImagePath = "Item/Point.png",
-                    SelectedImagePath = "Item/PointSelected.png",
-                    Gravity = Gravity.CenterVertical,
-                };
-                RowView.AddChidren(btnIcon);
-
-                var UnEditedItem = new Button()
-                {
-                    X = btnIcon.Right + Application.GetRealWidth(20),
-                    Width = Application.GetRealWidth(300),
-                    Height = Application.GetRealHeight(110),
-                    TextAlignment = TextAlignment.CenterLeft,
-                };
-                RowView.AddChidren(UnEditedItem);
-                if (i == 0)
-                {
-                    UnEditedItem.TextID = R.MyInternationalizationString.UneditFingerprint;
-                }
-                else if (i == 1)
-                {
-                    UnEditedItem.TextID = R.MyInternationalizationString.PasswordList;
-                }
-                else if (i == 2)
-                {
-                    UnEditedItem.TextID = R.MyInternationalizationString.ProximityCard;
-                }
-
-                var btnRight = new Button()
-                {
-                    Width = Application.GetRealWidth(28),
-                    Height = Application.GetRealHeight(40),
-                    X = UnEditedItem.Right + Application.GetRealWidth(200),
-                    UnSelectedImagePath = "Item/Right.png",
-                    SelectedImagePath = "Item/RightSelected.png",
-                    Gravity = Gravity.CenterVertical,
-                };
-                RowView.AddChidren(btnRight);
-
-                var line2 = new Button()
-                {
-                    Y = RowView.Height - 1,
-                    Height = 1,
-                    BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
-                };
-                RowView.AddChidren(line2);
-
-                int currentIndex = i;
-
-                EventHandler<MouseEventArgs> eHandler = (sender, e) =>
-                {
-                    if (currentIndex == 0)
-                    {
-                        //new FingerPrint(tempDoorLock).Show();
-                    }
-                    else if (currentIndex == 1)
-                    {
-                        //PasswordList passwordListView = new PasswordList(tempDoorLock);
-                        //UserMiddle.DevicePageView.AddChidren(passwordListView);
-                        //passwordListView.ShowUserPasswordPrint();
-                        //UserMiddle.DevicePageView.PageIndex = UserMiddle.DevicePageView.ChildrenCount - 1;
-                    }
-                    else if (currentIndex == 2)
-                    {
-                        //new ProximityCard(tempDoorLock).Show();
-                    }
-                };
-                btnRight.MouseUpEventHandler += eHandler;
-                btnIcon.MouseUpEventHandler += eHandler;
-                RowView.MouseUpEventHandler += eHandler;
-                UnEditedItem.MouseUpEventHandler += eHandler;
-            }
-        }
-    }
-}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorlockDialog.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorlockDialog.cs
index 35fec25..696a6b1 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorlockDialog.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorlockDialog.cs
@@ -59,11 +59,17 @@
             TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
         };
 
+        /// <summary>
+        /// 闃村奖閮ㄥ垎
+        /// </summary>
+        public FrameLayout flMain = new FrameLayout
+        {
+            BackgroundColor = 0x00000000,
+        };
+
         public void Show()
         {
             dialog.Show();
-
-            var flMain = new FrameLayout { BackgroundColor = 0x00000000 };
             dialog.AddChidren(flMain);
             flMain.MouseUpEventHandler += (sender11, e11) =>
             {
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs
index 54e6830..053522c 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs
@@ -213,6 +213,10 @@
             completeBtn.MouseDownEventHandler += async (sender, e) =>
              {
                  completeBtn.Enable = false;
+                 if (doorLock.doorLockProgrammingEventNotificationCommand == null)
+                 {
+                     return;
+                 }
                  var addLockInfo = new ZigBee.Device.DoorLock.AddDoorLockData();
                  if (UserCenterResourse.UserInfo.AuthorityNo != 1)
                  {
@@ -246,44 +250,51 @@
                          {
                              if (doorLock.localDoorLockUserList.ContainsKey(doorLock.doorLockProgrammingEventNotificationCommand.UserID))
                              {
-                                 //瀛樿处鎴蜂俊鎭�
-                                 // var resultList1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetCloudLocalAccountlist(doorLock, curAccountObj.SubAccountDistributedMark);
                                  //瀛橀棬閿佷俊鎭�
                                  var resultList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetCloudLocalDoorLocklist(doorLock, curAccountObj.SubAccountDistributedMark);
-                                 if (resultList.ContainsKey(doorLock.doorLockProgrammingEventNotificationCommand.UserID) == true)
+                                 if (resultList != null)
                                  {
-                                     var a = resultList[doorLock.doorLockProgrammingEventNotificationCommand.UserID];
-                                     if (a?.ConnectedAccount == curAccountObj.SubAccountDistributedMark)
+                                     if (resultList.ContainsKey(doorLock.doorLockProgrammingEventNotificationCommand.UserID) == true)
                                      {
-                                         completeBtn.Enable = true;
-                                         this.RemoveFromParent();
-                                         for (int i = UserView.HomePage.Instance.ChildrenCount - 1; i >= 0; i--)
+                                         var a = resultList[doorLock.doorLockProgrammingEventNotificationCommand.UserID];
+                                         if (a?.ConnectedAccount == curAccountObj.SubAccountDistributedMark)
                                          {
-                                             var form = UserView.HomePage.Instance.GetChildren(i);
+                                             completeBtn.Enable = true;
+                                             this.RemoveFromParent();
+                                             for (int i = UserView.HomePage.Instance.ChildrenCount - 1; i >= 0; i--)
+                                             {
+                                                 var form = UserView.HomePage.Instance.GetChildren(i);
 
-                                             if (form is UnLockMethod)
-                                             {
-                                                 ((UnLockMethod)form).RefreshList();
-                                                 break;
-                                             }
-                                             else
-                                             {
-                                                 form.RemoveFromParent();
+                                                 if (form is UnLockMethod)
+                                                 {
+                                                     ((UnLockMethod)form).RefreshList();
+                                                     break;
+                                                 }
+                                                 else
+                                                 {
+                                                     form.RemoveFromParent();
+                                                 }
                                              }
                                          }
-                                     }
-                                     else
-                                     {
-                                         completeBtn.Enable = true;
-                                         new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnPasswordRemarkContent);
+                                         else
+                                         {
+                                             completeBtn.Enable = true;
+                                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnPasswordRemarkContent);
+                                         }
                                      }
                                  }
+                                 else
+                                 {
+                                     completeBtn.Enable = true;
+                                     new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnPasswordRemarkContent);
+                                 }
+
                              }
                          }
                          else
                          {
                              completeBtn.Enable = true;
-                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ModigfyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnPasswordRemarkContent);
+                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AddFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnPasswordRemarkContent);
                          }
                      }
                      else
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
index 7e1b6b2..ecffb1c 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
@@ -20,6 +20,22 @@
 
         #region 鈼� 鍙橀噺鐢虫槑__________________________
         ZigBee.Device.DoorLock doorLock;
+        /// <summary>
+        /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍚嶅瓧
+        /// </summary>
+        private Dictionary<int, string> dicDeviceSaveName = new Dictionary<int, string>();
+        /// <summary>
+        /// 褰撳墠閫夋嫨鐨勮澶�
+        /// </summary>
+        private CommonDevice nowSelectDevice = null;
+        /// <summary>
+        /// 璁惧澶囨敞鐨勬帶浠�
+        /// </summary>
+        private FrameCaptionInputControl btnDeviceName = null;
+        /// <summary>
+        /// 璁惧鐨勬煇涓�鍥炶矾
+        /// </summary>
+        private CommonDevice deviceObj = null;
         #endregion
 
         /// <summary>
@@ -27,7 +43,7 @@
         /// </summary>
         public void Show()
         {
-            this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.FunctionSetting));
+            this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.DoorLockFunctionSetting));
 
             EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
             {
@@ -78,7 +94,7 @@
 
             var bottomFrameLayout2 = new FrameLayout()
             {
-                Height = Application.GetRealHeight(1319),
+                Height = Application.GetRealHeight(1054),
                 Y = Application.GetRealHeight(418),
             };
             this.midFrameLayout.AddChidren(bottomFrameLayout2);
@@ -91,11 +107,11 @@
                 Text = Language.StringByID(R.MyInternationalizationString.InformationEdit),
                 TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = 12,
+                TextSize = 15,
             };
             bottomFrameLayout2.AddChidren(informationEdit);
 
-            for (int i = 0; i < 7; i++)
+            for (int i = 0; i < 6; i++)
             {
                 var bottomRowLayout = new FrameLayout()
                 {
@@ -108,9 +124,9 @@
                     Width = Application.GetRealWidth(233),
                     Height = Application.GetRealHeight(58),
                     X = Application.GetRealWidth(58),
-                    TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
+                    TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText,
                     TextAlignment = TextAlignment.CenterLeft,
-                    TextSize = 12,
+                    TextSize = 14,
                 };
                 bottomRowLayout.AddChidren(btnName);
 
@@ -133,7 +149,7 @@
                 var btnLine = new FrameLayout()
                 {
                     Width = Application.GetRealWidth(965),
-                    Height = Application.GetRealHeight(2),
+                    Height = 1,
                     X = Application.GetRealWidth(58),
                     BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
                     Visible = false,
@@ -208,7 +224,7 @@
                     btnNext.SelectedImagePath = "DoorLock/SwitchOn.png";
                     btnLine.Visible = true;
                     btnLine.Y = Application.GetRealHeight(853);
-                    if (ZigBee.Device.DoorLock.RemoteUnlockPassword == "")
+                    if (doorLock.RemoteUnlockPassword == "")
                     {
                         btnNext.IsSelected = false;
                     }
@@ -223,73 +239,168 @@
                     btnName.Text = Language.StringByID(R.MyInternationalizationString.DoorLockTime);
                     btnNextFrameLayout.Y = btnName.Y;
                     btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png";
-                    btnLine.Visible = true;
+                    btnLine.Visible = false;
                     btnLine.Y = Application.GetRealHeight(992);
                 }
-                else if (i == 6)
-                {
-                    bottomRowLayout.Y = Application.GetRealHeight(999 + 35);
-                    btnName.Text = Language.StringByID(R.MyInternationalizationString.DoorLockShare);
-                    btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png";
-                    btnLine.Visible = true;
-                    btnLine.Y = Application.GetRealHeight(1131);
-                }
+                //else if (i == 6)
+                //{
+                //    bottomRowLayout.Y = Application.GetRealHeight(999 + 35);
+                //    btnName.Text = Language.StringByID(R.MyInternationalizationString.DoorLockShare);
+                //    btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png";
+                //    btnLine.Visible = true;
+                //    btnLine.Y = Application.GetRealHeight(1131);
+                //}
                 int currentIndex = i;
-                EventHandler<MouseEventArgs> eHandler = (sender, e) =>
-                {
-                    if (currentIndex == 1)
-                    {
-                        //鑾峰彇璁惧鎵�灞炴埧闂�
-                        var aa = Common.Room.CurrentRoom.GetRoomByDevice(doorLock);
-                        //鑾峰彇璁惧鎵�鍦ㄦゼ灞�
-                        var bb = aa.FloorId;
-                        //鑾峰彇璁惧鎵�鍦ㄦゼ灞�
-                        var cc = aa.FloorId;
-                        //鑾峰彇妤煎眰鐨勫悕瀛�
-                        var dd = Common.Config.Instance.Home.GetFloorNameById(cc);
-                        //if (Common.Config.Instance.Home.FloorDics.Count == 0)//杩欎釜鏄棤妤煎眰妯″紡
+                EventHandler<MouseEventArgs> eHandler = async (sender, e) =>
+                 {
+                     if (currentIndex == 1)
+                     {
+                         //鑾峰彇璁惧鎵�灞炴埧闂�
+                         var aa = Common.Room.CurrentRoom.GetRoomByDevice(doorLock);
+                         //鑾峰彇璁惧鎵�鍦ㄦゼ灞�
+                         var bb = aa.FloorId;
+                         //鑾峰彇璁惧鎵�鍦ㄦゼ灞�
+                         var cc = aa.FloorId;
+                         //鑾峰彇妤煎眰鐨勫悕瀛�
+                         var dd = Common.Config.Instance.Home.GetFloorNameById(cc);
+                         //if (Common.Config.Instance.Home.FloorDics.Count == 0)//杩欎釜鏄棤妤煎眰妯″紡
 
-                        var listCheck = new List<string>();
-                    }
-                    else if (currentIndex == 3)
-                    {
-                        var temporaryPassword = new Shared.Phone.UserCenter.DoorLock.TemporaryPassword(doorLock);
-                        Shared.Phone.UserView.HomePage.Instance.AddChidren(temporaryPassword);
-                        Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
-                        temporaryPassword.Show();
-                    }
-                    else if (currentIndex == 4)
-                    {
-                        btnNext.IsSelected = !btnNext.IsSelected;
-                        if (btnNext.IsSelected)
-                        {
-                            if (ZigBee.Device.DoorLock.RemoteUnlockPassword == "")
-                            {
-                                RemotePasswordDialog(doorLock, btnNext);
-                            }
-                        }
-                        else
-                        {
-                            ZigBee.Device.DoorLock.RemoteUnlockPassword = "";
-                        }
-                    }
-                    else if (currentIndex == 5)
-                    {
-                        var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime");
-                        Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
-                        Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
-                        tempPage.Show();
-                    }
-                    else if (currentIndex == 6)
-                    {
-                    }
-                };
+                         var listCheck = new List<string>();
+                     }
+                     else if (currentIndex == 3)
+                     {
+                         var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
+                         if (result == false)
+                         {
+                             var temporaryPassword = new Shared.Phone.UserCenter.DoorLock.TemporaryPassword(doorLock);
+                             Shared.Phone.UserView.HomePage.Instance.AddChidren(temporaryPassword);
+                             Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                             temporaryPassword.Show();
+                         }
+                         else
+                         {
+                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                         }
+
+                     }
+                     else if (currentIndex == 4)
+                     {
+                         if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                         {
+                             var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
+                             if (result == false)
+                             {
+                                 var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid);
+                                 if (result1 == true)
+                                 {
+                                     btnNext.IsSelected = !btnNext.IsSelected;
+                                     if (btnNext.IsSelected)
+                                     {
+                                         if (doorLock.RemoteUnlockPassword == "")
+                                         {
+                                             RemotePasswordDialog(doorLock, btnNext);
+                                         }
+                                     }
+                                     else
+                                     {
+                                         doorLock.RemoteUnlockPassword = "";
+                                     }
+                                 }
+                                 else
+                                 {
+                                     new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NoAccess), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                                 }
+                             }
+                             else
+                             {
+                                 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                             }
+                         }
+                         else
+                         {
+                             btnNext.IsSelected = !btnNext.IsSelected;
+                             if (btnNext.IsSelected)
+                             {
+                                 if (doorLock.RemoteUnlockPassword == "")
+                                 {
+                                     RemotePasswordDialog(doorLock, btnNext);
+                                 }
+                             }
+                             else
+                             {
+                                 doorLock.RemoteUnlockPassword = "";
+                             }
+                         }
+                     }
+                     else if (currentIndex == 5)
+                     {
+                         var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
+                         if (result == false)
+                         {
+                             var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime");
+                             Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
+                             Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                             tempPage.Show();
+                         }
+                         else
+                         {
+                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                         }
+                     }
+                 };
                 bottomRowLayout.MouseDownEventHandler += eHandler;
                 btnNext.MouseDownEventHandler += eHandler;
                 btnName.MouseDownEventHandler += eHandler;
                 btnNextFrameLayout.MouseDownEventHandler += eHandler;
                 #endregion
             }
+
+            //淇濆瓨
+            //var btnFinifh = new Button()
+            //{
+            //    Width = Application.GetRealWidth(907),
+            //    Height = Application.GetRealHeight(127),
+            //    Y = Application.GetRealHeight(1472),
+            //    Gravity = Gravity.CenterHorizontal,
+            //    Radius = (uint)Application.GetRealHeight(127) / 2,
+            //    TextID = R.MyInternationalizationString.Save,
+            //    BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack,
+            //    TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
+            //    TextSize = 16,
+            //};
+            //this.midFrameLayout.AddChidren(btnFinifh);
+            //btnFinish.MouseUpEventHandler += async (sender, e) =>
+            //{
+            //    //璁板綍璧峰綋鍓嶆鍦ㄦ搷浣滅殑鍥炶矾鍚嶅瓧
+            //    dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = btnDeviceName.Text.Trim();
+            //    //寮�鍚繘搴︽潯
+            //    this.ShowProgressBar();
+            //    foreach (var epoint in dicDeviceSaveName.Keys)
+            //    {
+            //        var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint);
+            //        if (device == null || dicDeviceSaveName[epoint] == string.Empty)
+            //        {
+            //            //涓嶈兘鍏佽绌虹櫧鍚嶅瓧
+            //            continue;
+            //        }
+            //        string newName = dicDeviceSaveName[epoint];
+            //        string oldName = Common.LocalDevice.Current.GetDeviceEpointName(device);
+            //        if (oldName != newName)
+            //        {
+            //            //璁惧鍚嶇О淇敼
+            //            var result = await Common.LocalDevice.Current.ReName(device, newName);
+            //            if (result == false)
+            //            {
+            //                //鍏抽棴
+            //                this.CloseProgressBar();
+            //                return;
+            //            }
+            //        }
+            //    }
+            //    this.CloseProgressBar();
+            //    //鍏抽棴鑷韩
+            //    this.CloseForm();
+            //};
         }
 
         #region 鈼� 鎺ュ彛瀹炵幇__________________________
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs
index 5198645..fe70ffa 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs
@@ -27,7 +27,7 @@
         /// </summary>
         public void Show()
         {
-            this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.FunctionSetting));
+            this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.DoorLockFunctionSetting));
 
             EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
             {
@@ -90,7 +90,7 @@
                 Text = Language.StringByID(R.MyInternationalizationString.InformationEdit),
                 TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = 12,
+                TextSize = 15,
             };
             bottomFrameLayout2.AddChidren(informationEdit);
 
@@ -109,7 +109,7 @@
                     X = Application.GetRealWidth(58),
                     TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
                     TextAlignment = TextAlignment.CenterLeft,
-                    TextSize = 12,
+                    TextSize = 14,
                 };
                 bottomRowLayout.AddChidren(btnName);
 
@@ -132,7 +132,7 @@
                 var btnLine = new FrameLayout()
                 {
                     Width = Application.GetRealWidth(965),
-                    Height = Application.GetRealHeight(2),
+                    Height = 1,
                     X = Application.GetRealWidth(58),
                     BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
                     Visible = false,
@@ -188,7 +188,7 @@
                 }
                 else if (i == 3)
                 {
-                    bottomRowLayout.Y = Application.GetRealHeight(723 + 35);
+                    bottomRowLayout.Y = Application.GetRealHeight(585 + 35);
                     btnNext.X = Application.GetRealWidth(0);
                     btnName.Text = Language.StringByID(R.MyInternationalizationString.RemotelyUnlock);
                     btnNext.Width = Application.GetRealWidth(104);
@@ -196,8 +196,8 @@
                     btnNext.UnSelectedImagePath = "DoorLock/Switch.png";
                     btnNext.SelectedImagePath = "DoorLock/SwitchOn.png";
                     btnLine.Visible = true;
-                    btnLine.Y = Application.GetRealHeight(853);
-                    if (ZigBee.Device.DoorLock.RemoteUnlockPassword == "")
+                    btnLine.Y = Application.GetRealHeight(714);
+                    if (doorLock.RemoteUnlockPassword == "")
                     {
                         btnNext.IsSelected = false;
                     }
@@ -208,32 +208,40 @@
                 }
 
                 int currentIndex = i;
-                EventHandler<MouseEventArgs> eHandler = (sender, e) =>
-                {
-                    if (currentIndex == 3)
-                    {
-                        //if (doorLock.HasRemoteUnlockAccess[acc.SubAccountDistributedMark] == true)
-                        //{
-
-                        //}
-                        //else
-                        //{
-
-                        //}
-                        btnNext.IsSelected = !btnNext.IsSelected;
-                        if (btnNext.IsSelected)
-                        {
-                            if (ZigBee.Device.DoorLock.RemoteUnlockPassword == "")
-                            {
-                                RemotePasswordDialog(doorLock, btnNext);
-                            }
-                        }
-                        else
-                        {
-                            ZigBee.Device.DoorLock.RemoteUnlockPassword = "";
-                        }
-                    }
-                };
+                EventHandler<MouseEventArgs> eHandler = async (sender, e) =>
+                 {
+                     if (currentIndex == 3)
+                     {
+                         var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
+                         if (result == false)
+                         {
+                             var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid);
+                             if (result1 == true)
+                             {
+                                 btnNext.IsSelected = !btnNext.IsSelected;
+                                 if (btnNext.IsSelected)
+                                 {
+                                     if (doorLock.RemoteUnlockPassword == "")
+                                     {
+                                         RemotePasswordDialog(doorLock, btnNext);
+                                     }
+                                 }
+                                 else
+                                 {
+                                     doorLock.RemoteUnlockPassword = "";
+                                 }
+                             }
+                             else
+                             {
+                                 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NoAccess), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                             }
+                         }
+                         else
+                         {
+                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                         }
+                     }
+                 };
                 bottomRowLayout.MouseDownEventHandler += eHandler;
                 btnNext.MouseDownEventHandler += eHandler;
                 btnName.MouseDownEventHandler += eHandler;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs
index 02107ae..bb4f462 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs
@@ -28,9 +28,7 @@
                 Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); });
                 try
                 {
-                    CommonDevice.DebugPrintLog($"11111111111111F");
                     await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetLocaDoorLocklist(doorLock, accountObj);
-                    CommonDevice.DebugPrintLog($"11111111111111G");
                 }
                 catch { }
                 finally
@@ -38,7 +36,6 @@
                     Application.RunOnMainThread(() =>
                     {
                         MidFrameLayoutContent();
-                        CommonDevice.DebugPrintLog($"11111111111111E");
                         CommonPage.Loading.Hide();
                     });
                 }
@@ -50,8 +47,16 @@
         /// </summary>
         public void Show()
         {
-            CommonDevice.DebugPrintLog($"11111111111111A");
-            this.TopFrameLayout(this, accountObj.Account);
+            string accountTitle = "";
+            if (accountObj.UserName != null)
+            {
+                accountTitle = accountObj.UserName;
+            }
+            else
+            {
+                accountTitle = accountObj.Account;
+            }
+            this.TopFrameLayout(this, accountTitle);
 
             EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
             {
@@ -60,14 +65,11 @@
             this.btnBack.MouseUpEventHandler += eHandlerBack;
             this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack;
             this.MidFrameLayout(this);
-            CommonDevice.DebugPrintLog($"11111111111111B");
             ReadDoorLockUserInfo();
-            CommonDevice.DebugPrintLog($"11111111111111C");
         }
 
         public void MidFrameLayoutContent()
         {
-            CommonDevice.DebugPrintLog($"11111111111111D");
             var bodyView = new VerticalScrolViewLayout()
             {
             };
@@ -134,7 +136,7 @@
                         unLockMethod.Show();
                     }
                     else
-                    {
+                    {
                         ///澶囨敞锛歐JC鐨�
                         ///璁板綍褰撳墠鐢ㄦ埛淇℃伅
                         Phone.Device.Logic.Send.UserMemberInfoRes = accountObj;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs
index fb955b1..29ec891 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs
@@ -193,13 +193,14 @@
                     }
                     else if (currentIndex == 2)
                     {
+                        btnRight.IsSelected = !btnRight.IsSelected;
                         if (btnRight.IsSelected)
                         {
-                            HasRemoteUnlockAccess(true);
+                            HasRemoteUnlockAccessMethod(true);
                         }
                         else
                         {
-                            HasRemoteUnlockAccess(false);
+                            HasRemoteUnlockAccessMethod(false);
                         }
                     }
                 };
@@ -217,317 +218,340 @@
             var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.SureToFreezeAccount),
                                                  Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim));
             alert.Show();
-            alert.ResultEventHandler += (sender1, e1) =>
-             {
-                 if (e1)
-                 {
-                     System.Threading.Tasks.Task.Run(async () =>
-                     {
-                         int successConunt = 0;
-                         int operateConunt = -1;
-                         Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); });
-                         try
-                         {
-                             var doorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                             var curAccountDoorLockUserList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, curAccountObj.SubAccountDistributedMark);
-
-                             if (curAccountDoorLockUserList.Count != 0)
-                             {
-                                 //淇敼浜戠瀛樺偍淇℃伅
-                                 operateConunt = curAccountDoorLockUserList.Count;
-                                 foreach (var curDoorLockUser in curAccountDoorLockUserList)
-                                 {
-                                     // 璐︽埛涓病鏈夐棬閿佺敤鎴�
-                                     if (curDoorLockUser.DoorLockLocalUserId == null || curDoorLockUser.DoorLockLocalUserId == "")
-                                     {
-                                         if (isFreeze)
-                                         {
-                                             var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
-                                             if (UserCenterResourse.UserInfo.AuthorityNo != 1)
-                                             {
-                                                 refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-                                                 refreshDoorLockData.IsOtherAccountCtrl = true;
-                                             }
-                                             if (doorLock.DeviceAddr != null)
-                                             {
-                                                 refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                                             }
-                                             refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
-                                             refreshDoorLockData.IsFreezeUser = true;
-                                             //鍐荤粨浜戠
-                                             var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
-                                             if (result != null)
-                                             {
-                                                 if (result.StateCode == "Success")
-                                                 {
-                                                     successConunt++;
-                                                 }
-                                                 else
-                                                 {
-                                                     Application.RunOnMainThread(() =>
-                                                     {
-                                                         if (isFreeze)
-                                                         {
-                                                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                                                         }
-                                                         else
-                                                         {
-                                                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                                                         }
-                                                         return;
-                                                     });
-                                                 }
-                                             }
-                                         }
-                                         else
-                                         {
-                                             var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
-                                             if (UserCenterResourse.UserInfo.AuthorityNo != 1)
-                                             {
-                                                 refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-                                                 refreshDoorLockData.IsOtherAccountCtrl = true;
-                                             }
-                                             if (doorLock.DeviceAddr != null)
-                                             {
-                                                 refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                                             }
-                                             refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
-                                             refreshDoorLockData.IsFreezeUser = false;
-                                             //瑙e喕浜戠
-                                             var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
-                                             if (result != null)
-                                             {
-                                                 if (result.StateCode == "Success")
-                                                 {
-                                                     successConunt++;
-                                                 }
-                                                 else
-                                                 {
-                                                     Application.RunOnMainThread(() =>
-                                                     {
-                                                         new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                                                     });
-                                                 }
-                                             }
-                                         }
-                                     }
-                                     else
-                                     {
-                                         ZigBee.Device.DoorLock.AccessType accessType;
-                                         if (isFreeze)
-                                         {
-                                             accessType = ZigBee.Device.DoorLock.AccessType.DisEnable;
-                                         }
-                                         else
-                                         {
-                                             accessType = ZigBee.Device.DoorLock.AccessType.Enable;
-                                         }
-                                         //鍐荤粨/瑙e喕鐢ㄦ埛
-                                         var passData = doorLock.SetUserAccessData(int.Parse(curDoorLockUser.DoorLockLocalUserId), accessType);
-                                         var resultData = await doorLock.DefaultControlAsync(passData);
-                                         if (resultData != null && resultData.defaultControlResponseData != null)
-                                         {
-                                             if (resultData.defaultControlResponseData.status == 32)
-                                             {
-                                                 var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
-                                                 if (UserCenterResourse.UserInfo.AuthorityNo != 1)
-                                                 {
-                                                     refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-                                                     refreshDoorLockData.IsOtherAccountCtrl = true;
-                                                 }
-                                                 if (doorLock.DeviceAddr != null)
-                                                 {
-                                                     refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                                                 }
-
-                                                 refreshDoorLockData.OpenLockMode = curDoorLockUser.OpenLockMode;
-                                                 refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId;
-                                                 refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
-                                                 refreshDoorLockData.IsFreezeUser = true;
-                                                 //鍐荤粨浜戠
-                                                 var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
-                                                 if (result != null)
-                                                 {
-                                                     if (result.StateCode == "Success")
-                                                     {
-                                                         successConunt++;
-                                                     }
-                                                     else
-                                                     {
-                                                         Application.RunOnMainThread(() =>
-                                                         {
-                                                             if (isFreeze)
-                                                             {
-                                                                 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                                                             }
-                                                             else
-                                                             {
-                                                                 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                                                             }
-                                                             return;
-                                                         });
-                                                     }
-                                                 }
-                                             }
-                                             else if (resultData.defaultControlResponseData.status == 33)
-                                             {
-                                                 var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
-                                                 if (UserCenterResourse.UserInfo.AuthorityNo != 1)
-                                                 {
-                                                     refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-                                                     refreshDoorLockData.IsOtherAccountCtrl = true;
-                                                 }
-                                                 if (doorLock.DeviceAddr != null)
-                                                 {
-                                                     refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                                                 }
-
-                                                 refreshDoorLockData.OpenLockMode = curDoorLockUser.OpenLockMode;
-                                                 refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId;
-                                                 refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
-                                                 refreshDoorLockData.IsFreezeUser = false;
-                                                 //瑙e喕浜戠
-                                                 var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
-                                                 if (result != null)
-                                                 {
-                                                     if (result.StateCode == "Success")
-                                                     {
-                                                         successConunt++;
-                                                     }
-                                                     else
-                                                     {
-                                                         Application.RunOnMainThread(() =>
-                                                         {
-                                                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                                                         });
-                                                     }
-                                                 }
-                                             }
+            alert.ResultEventHandler += (sender1, e1) =>
+             {
+                 if (e1)
+                 {
+                     System.Threading.Tasks.Task.Run(async () =>
+                     {
+                         int successConunt = 0;
+                         int operateConunt = -1;
+                         Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); });
+                         try
+                         {
+                             var doorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                             var curAccountDoorLockUserList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, curAccountObj.SubAccountDistributedMark);
+
+                             if (curAccountDoorLockUserList.Count != 0)
+                             {
+                                 //淇敼浜戠瀛樺偍淇℃伅
+                                 operateConunt = curAccountDoorLockUserList.Count;
+                                 foreach (var curDoorLockUser in curAccountDoorLockUserList)
+                                 {
+                                     // 璐︽埛涓病鏈夐棬閿佺敤鎴�
+                                     if (curDoorLockUser.DoorLockLocalUserId == null || curDoorLockUser.DoorLockLocalUserId == "")
+                                     {
+                                         if (isFreeze)
+                                         {
+                                             var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
+                                             if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                                             {
+                                                 refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                                 refreshDoorLockData.IsOtherAccountCtrl = true;
+                                             }
+                                             if (doorLock.DeviceAddr != null)
+                                             {
+                                                 refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                                             }
+                                             refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
+                                             refreshDoorLockData.IsFreezeUser = true;
+                                             refreshDoorLockData.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark];
+                                             //鍐荤粨浜戠
+                                             var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
+                                             if (result != null)
+                                             {
+                                                 if (result.StateCode == "Success")
+                                                 {
+                                                     successConunt++;
+                                                 }
+                                                 else
+                                                 {
+                                                     Application.RunOnMainThread(() =>
+                                                     {
+                                                         if (isFreeze)
+                                                         {
+                                                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                                                         }
+                                                         else
+                                                         {
+                                                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                                                         }
+                                                         return;
+                                                     });
+                                                 }
+                                             }
                                              else
                                              {
                                                  Application.RunOnMainThread(() =>
                                                  {
-                                                     if (isFreeze)
-                                                     {
-                                                         new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed) + ".", Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip);
-                                                     }
-                                                     else
-                                                     {
-                                                         new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed) + ".", Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip);
-                                                     }
-                                                     return;
+                                                     new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
                                                  });
                                              }
-                                         }
-                                         else
-                                         {
-                                             Application.RunOnMainThread(() =>
+                                         }
+                                         else
+                                         {
+                                             var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
+                                             if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                                             {
+                                                 refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                                 refreshDoorLockData.IsOtherAccountCtrl = true;
+                                             }
+                                             if (doorLock.DeviceAddr != null)
+                                             {
+                                                 refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                                             }
+                                             refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
+                                             refreshDoorLockData.IsFreezeUser = false;
+                                             refreshDoorLockData.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark];
+                                             //瑙e喕浜戠
+                                             var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
+                                             if (result != null)
+                                             {
+                                                 if (result.StateCode == "Success")
+                                                 {
+                                                     successConunt++;
+                                                 }
+                                                 else
+                                                 {
+                                                     Application.RunOnMainThread(() =>
+                                                     {
+                                                         new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                                                     });
+                                                 }
+                                             }
+                                             else
                                              {
-                                                 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip);
-                                             });
-                                         }
+                                                 Application.RunOnMainThread(() =>
+                                                 {
+                                                     new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                                                 });
+                                             }
+                                         }
+                                     }
+                                     else
+                                     {
+                                         ZigBee.Device.DoorLock.AccessType accessType;
+                                         if (isFreeze)
+                                         {
+                                             accessType = ZigBee.Device.DoorLock.AccessType.DisEnable;
+                                         }
+                                         else
+                                         {
+                                             accessType = ZigBee.Device.DoorLock.AccessType.Enable;
+                                         }
+                                         //鍐荤粨/瑙e喕鐢ㄦ埛
+                                         var passData = doorLock.SetUserAccessData(int.Parse(curDoorLockUser.DoorLockLocalUserId), accessType);
+                                         var resultData = await doorLock.DefaultControlAsync(passData);
+                                         if (resultData != null && resultData.defaultControlResponseData != null)
+                                         {
+                                             if (resultData.defaultControlResponseData.status == 32)
+                                             {
+                                                 var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
+                                                 if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                                                 {
+                                                     refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                                     refreshDoorLockData.IsOtherAccountCtrl = true;
+                                                 }
+                                                 if (doorLock.DeviceAddr != null)
+                                                 {
+                                                     refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                                                 }
+
+                                                 refreshDoorLockData.OpenLockMode = curDoorLockUser.OpenLockMode;
+                                                 refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId;
+                                                 refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
+                                                 refreshDoorLockData.IsFreezeUser = true;
+                                                 refreshDoorLockData.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark];
+                                                 //鍐荤粨浜戠
+                                                 var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
+                                                 if (result != null)
+                                                 {
+                                                     if (result.StateCode == "Success")
+                                                     {
+                                                         successConunt++;
+                                                     }
+                                                     else
+                                                     {
+                                                         Application.RunOnMainThread(() =>
+                                                         {
+                                                             if (isFreeze)
+                                                             {
+                                                                 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                                                             }
+                                                             else
+                                                             {
+                                                                 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                                                             }
+                                                             return;
+                                                         });
+                                                     }
+                                                 }
+                                                 else
+                                                 {
+                                                     Application.RunOnMainThread(() =>
+                                                     {
+                                                         new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip);
+                                                     });
+                                                 }
+                                             }
+                                             else if (resultData.defaultControlResponseData.status == 33)
+                                             {
+                                                 var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
+                                                 if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                                                 {
+                                                     refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                                     refreshDoorLockData.IsOtherAccountCtrl = true;
+                                                 }
+                                                 if (doorLock.DeviceAddr != null)
+                                                 {
+                                                     refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                                                 }
+
+                                                 refreshDoorLockData.OpenLockMode = curDoorLockUser.OpenLockMode;
+                                                 refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId;
+                                                 refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
+                                                 refreshDoorLockData.IsFreezeUser = false;
+                                                 refreshDoorLockData.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark];
+                                                 //瑙e喕浜戠
+                                                 var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
+                                                 if (result != null)
+                                                 {
+                                                     if (result.StateCode == "Success")
+                                                     {
+                                                         successConunt++;
+                                                     }
+                                                     else
+                                                     {
+                                                         Application.RunOnMainThread(() =>
+                                                         {
+                                                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                                                         });
+                                                     }
+                                                 }
+                                                 else
+                                                 {
+                                                     Application.RunOnMainThread(() =>
+                                                     {
+                                                         new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip);
+                                                     });
+                                                 }
+                                             }
+                                             else
+                                             {
+                                                 Application.RunOnMainThread(() =>
+                                                 {
+                                                     if (isFreeze)
+                                                     {
+                                                         new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed) + ".", Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip);
+                                                     }
+                                                     else
+                                                     {
+                                                         new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed) + ".", Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip);
+                                                     }
+                                                     return;
+                                                 });
+                                             }
+                                         }
+                                         else
+                                         {
+                                             Application.RunOnMainThread(() =>
+                                             {
+                                                 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip);
+                                             });
+                                         }
+                                     }
+                                 }
+                             }
+                             else
+                             {
+                                 //娣诲姞浜戠瀛樺偍淇℃伅
+                                 //鍐荤粨/瑙e喕浜戠
+                                 var addLockInfo = new ZigBee.Device.DoorLock.AddDoorLockData();
+                                 if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                                 {
+                                     addLockInfo.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                     addLockInfo.IsOtherAccountCtrl = true;
+                                 }
+                                 addLockInfo.CloudAccountId = curAccountObj.SubAccountDistributedMark;
+                                 if (doorLock.DeviceAddr != null)
+                                 {
+                                     addLockInfo.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                                 }
+                                 addLockInfo.EntryTime = System.DateTime.Now;
+                                 if (isFreeze)
+                                 {
+                                     addLockInfo.IsFreezeUser = true;
+                                 }
+                                 else
+                                 {
+                                     addLockInfo.IsFreezeUser = false;
+                                 }
+                                 addLockInfo.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark];
+                                 var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLock", addLockInfo);
+                                 if (result != null)
+                                 {
+                                     if (result.StateCode == "Success")
+                                     {
+                                         operateConunt = 0;
+                                     }
+                                     else
+                                     {
+                                         Application.RunOnMainThread(() =>
+                                         {
+                                             if (isFreeze)
+                                             {
+                                                 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                                             }
+                                             else
+                                             {
+                                                 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                                             }
+                                             return;
+                                         });
                                      }
-                                 }
-                             }
-                             else
-                             {
-                                 //娣诲姞浜戠瀛樺偍淇℃伅
-                                 //鍐荤粨/瑙e喕浜戠
-                                 var addLockInfo = new ZigBee.Device.DoorLock.AddDoorLockData();
-                                 if (UserCenterResourse.UserInfo.AuthorityNo != 1)
-                                 {
-                                     addLockInfo.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-                                     addLockInfo.IsOtherAccountCtrl = true;
-                                 }
-                                 addLockInfo.CloudAccountId = curAccountObj.SubAccountDistributedMark;
-                                 if (doorLock.DeviceAddr != null)
-                                 {
-                                     addLockInfo.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                                 }
-                                 addLockInfo.EntryTime = System.DateTime.Now;
-                                 if (isFreeze)
-                                 {
-                                     addLockInfo.IsFreezeUser = true;
-                                 }
-                                 else
-                                 {
-                                     addLockInfo.IsFreezeUser = false;
-                                 }
-                                 var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLock", addLockInfo);
-                                 if (result != null && result.StateCode == "Success")
-                                 {
-                                     operateConunt = 0;
-                                     // 娣诲姞鍒颁簯绔垚鍔燂紝闇�瑕侀噸鏂拌幏鍙栦繚瀛樺埌鏈湴
-                                     //var resultList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetCloudLocalAccountlist(doorLock, curAccountObj.SubAccountDistributedMark);
-                                     //if (resultList.ContainsKey(curAccountObj.SubAccountDistributedMark) == true)
-                                     //{
-                                     //    var a = resultList[curAccountObj.SubAccountDistributedMark];
-                                     //    if (a?.ConnectedAccount == curAccountObj.SubAccountDistributedMark)
-                                     //    {
-                                     //        operateConunt = 0;
-                                     //    }
-                                     //    else
-                                     //    {
-                                     //        Application.RunOnMainThread(() =>
-                                     //        {
-                                     //            if (isFreeze)
-                                     //            {
-                                     //                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                                     //            }
-                                     //            else
-                                     //            {
-                                     //                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                                     //            }
-                                     //            return;
-                                     //        });
-                                     //    }
-                                     //}
                                  }
                                  else
                                  {
                                      Application.RunOnMainThread(() =>
                                      {
-                                         if (isFreeze)
-                                         {
-                                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                                         }
-                                         else
-                                         {
-                                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                                         }
-                                         return;
-                                     });
-                                 }
-                             }
-                         }
-                         catch { }
-                         finally
-                         {
-                             if (operateConunt == successConunt)
-                             {
-                                 if (isFreeze)
-                                 {
-                                     doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = true;
-                                 }
-                                 else
-                                 {
-                                     doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = false;
-                                 }
-                                 doorLock.ReSave();
-                             }
-                             Application.RunOnMainThread(() =>
-                             {
-                                 MidRefresh();
-                                 CommonPage.Loading.Hide();
-                             });
-                         }
-                     });
-                 }
+                                         new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+
+                                     });
+                                 }
+                             }
+                         }
+                         catch { }
+                         finally
+                         {
+                             if (operateConunt == successConunt)
+                             {
+                                 if (isFreeze)
+                                 {
+                                     doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = true;
+                                 }
+                                 else
+                                 {
+                                     doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = false;
+                                 }
+                                 doorLock.ReSave();
+                             }
+                             Application.RunOnMainThread(() =>
+                             {
+                                 MidRefresh();
+                                 CommonPage.Loading.Hide();
+                             });
+                         }
+                     });
+                 }
+                 else
+                 {
+                     MidRefresh();
+                 }
              };
         }
 
         //鏄惁缁欏瓙璐︽埛鎷ユ湁杩滅▼寮�閿佺殑鏉′欢
-        void HasRemoteUnlockAccess(bool hasAccess)
+        void HasRemoteUnlockAccessMethod(bool hasAccess)
         {
             var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.SureGiveAccessToSubaccount),
                                                  Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim));
@@ -556,11 +580,11 @@
                             if (d != null)
                             {
                                 //淇敼浜戠瀛樺偍淇℃伅
-                                var curAccountDoorLockUserList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetMatchDoorlockAccountList(doorLock, curAccountObj);
-                                operateConunt = curAccountDoorLockUserList.Count;
-                                foreach (var curUserId in curAccountDoorLockUserList.Keys)
+                                var curAccountDoorLockUserList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, curAccountObj.SubAccountDistributedMark);
+
+                                foreach (var curDoorLockUser in curAccountDoorLockUserList)
                                 {
-                                    var curDoorLockUser = curAccountDoorLockUserList[curUserId];
+                                    operateConunt = curAccountDoorLockUserList.Count;
                                     if (hasAccess)
                                     {
                                         var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
@@ -573,10 +597,10 @@
                                         {
                                             refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
                                         }
-                                        refreshDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
+                                        refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
                                         refreshDoorLockData.IsFreezeUser = false;
                                         refreshDoorLockData.IsTempUnlockAuthority = true;
-                                        //鍐荤粨浜戠
+                                        // 鎺堟潈
                                         var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
                                         if (result != null)
                                         {
@@ -588,17 +612,16 @@
                                             {
                                                 Application.RunOnMainThread(() =>
                                                 {
-                                                    if (hasAccess)
-                                                    {
-                                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountSuccess), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                                                    }
-                                                    else
-                                                    {
-                                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                                                    }
-                                                    return;
+                                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
                                                 });
                                             }
+                                        }
+                                        else
+                                        {
+                                            Application.RunOnMainThread(() =>
+                                            {
+                                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                                            });
                                         }
                                     }
                                     else
@@ -613,10 +636,10 @@
                                         {
                                             refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
                                         }
-                                        refreshDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
+                                        refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
                                         refreshDoorLockData.IsFreezeUser = false;
                                         refreshDoorLockData.IsTempUnlockAuthority = false;
-                                        //瑙e喕浜戠
+                                        //鍙栨秷鏉冮檺
                                         var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
                                         if (result != null)
                                         {
@@ -628,9 +651,16 @@
                                             {
                                                 Application.RunOnMainThread(() =>
                                                 {
-                                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CancelAccessToSubaccountFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
                                                 });
                                             }
+                                        }
+                                        else
+                                        {
+                                            Application.RunOnMainThread(() =>
+                                            {
+                                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                                            });
                                         }
                                     }
                                 }
@@ -660,23 +690,33 @@
                                     addLockInfo.IsTempUnlockAuthority = false;
                                 }
                                 var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLock", addLockInfo);
-                                if (result != null && result.StateCode == "Success")
+                                if (result != null)
                                 {
-                                    operateConunt = 0;
+                                    if (result.StateCode == "Success")
+                                    {
+                                        operateConunt = 0;
+                                    }
+                                    else
+                                    {
+                                        Application.RunOnMainThread(() =>
+                                        {
+                                            if (hasAccess)
+                                            {
+                                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                                            }
+                                            else
+                                            {
+                                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CancelAccessToSubaccountFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                                            }
+                                            return;
+                                        });
+                                    }
                                 }
                                 else
                                 {
                                     Application.RunOnMainThread(() =>
                                     {
-                                        if (hasAccess)
-                                        {
-                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountSuccess), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                                        }
-                                        else
-                                        {
-                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                                        }
-                                        return;
+                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
                                     });
                                 }
                             }
@@ -705,6 +745,10 @@
                         }
                     });
                 }
+                else
+                {
+                    MidRefresh();
+                }
             };
         }
 
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/RemotelyUnlock.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/RemotelyUnlock.cs
deleted file mode 100755
index 29f09b9..0000000
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/RemotelyUnlock.cs
+++ /dev/null
@@ -1,162 +0,0 @@
-锘縰sing System;
-using ZigBee.Device;
-namespace Shared.Phone.UserCenter.DoorLock
-{
-    public class RemotelyUnlock : DoorLockCommonLayout, ZigBee.Common.IStatus
-    {
-        /// <summary>
-        /// 鏋勯�犲嚱鏁�
-        /// </summary>
-        /// <param name="doorLock"></param>
-        public RemotelyUnlock(ZigBee.Device.DoorLock doorLock)
-        {
-            this.doorLock = doorLock;
-            BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
-            ZigBee.Device.ZbGateway.StatusList.Add(this);
-        }
-
-        #region 鈼� 鍙橀噺鐢虫槑__________________________
-        ZigBee.Device.DoorLock doorLock;
-        #endregion
-
-        /// <summary>
-        /// UI鏄剧ず 
-        /// </summary>
-        public void Show()
-        {
-            this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.RemotelyUnlock));
-
-            EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
-            {
-                RemoveFromParent();
-            };
-            this.btnBack.MouseUpEventHandler += eHandlerBack;
-            this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack;
-            this.MidFrameLayout(this);
-
-            MidFrameLayoutContent();
-        }
-
-        public void MidFrameLayoutContent()
-        {
-            var passwordText = new EditText()
-            {
-                Y = Application.GetRealHeight(140),
-                Width = Application.GetRealWidth(480 * 2),
-                Height = Application.GetRealHeight(70),
-                Gravity = Gravity.CenterHorizontal,
-                //PlaceholderText = Language.StringByID(R.MyInternationalizationString.InputSixPassword),
-                TextAlignment = TextAlignment.Center,
-                TextColor = 0xff000000,
-                //UnSelectedImagePath = "Register/Register_Password_kuang.png",
-                //PlaceholderTextColor = SkinStyle.Current.PlaceholderTextColor,
-                Radius = (uint)Application.GetRealHeight(0),
-                //SecureTextEntry = true,
-                TextSize = 15,
-                BackgroundColor = 0xff00ff00,
-            };
-            this.midFrameLayout.AddChidren(passwordText);
-
-            var btnTip = new Button()
-            {
-                Height = Application.GetRealHeight(60),
-                Width = Application.GetRealWidth(60),
-                Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(200),
-                Enable = false,
-                Visible = false,
-            };
-
-            this.midFrameLayout.AddChidren(btnTip);
-            var btnLock = new Button()
-            {
-                Height = Application.GetRealHeight(500),
-                Width = Application.GetRealWidth(501),
-                //UnSelectedImagePath = "DoorLockPic/door_lock_close.png",
-                //SelectedImagePath = "DoorLockPic/door_lock_open.png",
-                BackgroundColor = 0xff00ffff,
-                SelectedBackgroundColor = 0xff00ff00,
-                Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(370),
-                Enable = false,
-            };
-            this.midFrameLayout.AddChidren(btnLock);
-            btnLock.MouseUpEventHandler += (sender, e) =>
-            {
-                btnLock.IsSelected = !btnLock.IsSelected;
-            };
-
-            passwordText.Text = getDynamicPassword();
-            var delayTime = DateTime.Now.AddSeconds(+300);//5鍒嗛挓鍐呮湁鏁�
-            new System.Threading.Thread(() =>
-            {
-                while (true)
-                {
-                    if (DateTime.Now >= delayTime)
-                    {
-                        Application.RunOnMainThread(() =>
-                        {
-                            passwordText.Text = "瀵嗙爜澶辨晥";
-                        });
-                    }
-                }
-            })
-            { IsBackground = true }.Start();
-        }
-
-        /// <summary>
-        /// 閲嶅啓绉婚櫎鏂规硶
-        /// </summary>
-        public override void RemoveFromParent()
-        {
-            ZbGateway.StatusList.Remove(this);
-            base.RemoveFromParent();
-        }
-
-        /// <summary>
-        /// 鐢熸垚6浣嶅姩鎬佸瘑鐮�
-        /// </summary>
-        /// <returns></returns>
-        string getDynamicPassword()
-        {
-            var password = "";
-            password = new Random().Next(100000, 999999).ToString();
-            return password;
-        }
-
-        #region 鈼� 鎺ュ彛瀹炵幇__________________________
-        /// <summary>
-        /// 澶勭悊鍙樺寲浜嬩欢 --灏嗗純鐢� 鏀圭敤DeviceInfoChange()
-        /// </summary>
-        /// <returns>The changed.</returns>
-        /// <param name="common">Common.</param>
-        public void Changed(CommonDevice common)
-        {
-
-        }
-        /// <summary>
-        /// 澶勭悊鍙樺寲浜嬩欢
-        /// </summary>
-        /// <param name="common"></param>
-        /// <param name="typeTag"></param>
-        public void DeviceInfoChange(CommonDevice common, string typeTag)
-        {
-        }
-        /// <summary>
-        /// Changeds the IL ogic status.
-        /// </summary>
-        /// <param name="logic">Logic.</param>
-        public void ChangedILogicStatus(ZigBee.Device.Logic logic)
-        {
-        }
-        /// <summary>
-        /// Changeds the IS cene status.
-        /// </summary>
-        /// <param name="scene">Scene.</param>
-        public void ChangedISceneStatus(Scene scene)
-        {
-        }
-        #endregion
-
-    }
-}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/SubAccountManagementPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/SubAccountManagementPage.cs
deleted file mode 100755
index 6fd76b1..0000000
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/SubAccountManagementPage.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-锘縰sing System;
-namespace Shared.Phone.UserCenter.DoorLock
-{
-    public class SubAccountManagementPage
-    {
-        public SubAccountManagementPage()
-        {
-        }
-    }
-}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
index b6001cf..b392c11 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
@@ -17,7 +17,6 @@
             this.doorLock = doorLock;
             BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
             ZigBee.Device.ZbGateway.StatusList.Add(this);
-            ReadTempPasswordData();
         }
 
         #region 鈼� 鍙橀噺鐢虫槑__________________________
@@ -36,6 +35,7 @@
         /// </summary>
         public void Show()
         {
+            ReadTempPasswordData();
             this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.TemporaryPassword));
 
             EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
@@ -52,7 +52,7 @@
             #region btnDelFrameLayout
             var btnDelFrameLayout = new FrameLayout
             {
-                X = Application.GetRealWidth(953),
+                X = Application.GetRealWidth(953 - 116),
                 Height = Application.GetRealHeight(69),
                 Width = Application.GetRealWidth(1080 - 953),
             };
@@ -291,8 +291,6 @@
             {
                 randomPassword.Text = doorLock.LocalTempPassword;
                 temPasswordVisiable.Visible = true;
-                // topPic.Visible = false;
-                // topPic.Enable = false;
                 if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable)
                 {
                     randomPassword.SecureTextEntry = false;
@@ -514,7 +512,7 @@
                 Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
                 try
                 {
-                    if (doorLock.LocalTempPassword == "")
+                    if (string.IsNullOrEmpty(doorLock.LocalTempPassword))
                     {
                         //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛�
                         Application.RunOnMainThread(() =>
@@ -523,44 +521,23 @@
                         });
                         return;
                     }
-                    //if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour == 100)
-                    //{
-                    //    //璇疯缃敓鏁堟椂闂达紱
-                    //    Application.RunOnMainThread(() =>
-                    //    {
-                    //        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip2), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
-                    //    });
-                    //    return;
-                    //}
-                    //if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth == 0)
-                    //{
-                    //    //璇疯缃敓鏁堟棩鏈燂紱
-                    //    Application.RunOnMainThread(() =>
-                    //    {
-                    //        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip3), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
-                    //    });
-                    //    return;
-                    //}
-                    //if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour == 100)
-                    //{
-                    //    Application.RunOnMainThread(() =>
-                    //    {
-                    //        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip4), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
-                    //    });
-                    //    return;
-                    //}
-                    //if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth == 0)
-                    //{
-                    //    Application.RunOnMainThread(() =>
-                    //    {
-                    //        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip5), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
-                    //    });
-                    //    return;
-                    //}
 
                     var dNow = DateTime.Now;
-                    var validDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute, dNow.Second);
+                    var validDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute - 1, dNow.Second);
                     var inValidDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute, dNow.Second);
+                    if (DateTime.Compare(inValidDateTime, validDateTime) < 0)
+                    {
+                        //鏃犳晥鐨勬椂闂磋缃�
+                        Application.RunOnMainThread(() =>
+                        {
+                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                        });
+                        return;
+                    }
+
+                    var startTimeStr = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(validDateTime);
+                    var endTimeStr = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(inValidDateTime);
+
                     action = (topic, data) =>
                     {
                         var gatewayID = topic.Split('/')[0];
@@ -602,40 +579,57 @@
                     }
                     //璁剧疆涓存椂瀵嗙爜鍒伴棬閿�
                     var addOrModifyResult = await doorLock.TempPasswordAsync(doorLock.LocalTempPassword, validDateTime, inValidDateTime);
-                    if (addOrModifyResult != null && addOrModifyResult.responseData != null && addOrModifyResult.responseData.status == 0)
+                    if (addOrModifyResult != null && addOrModifyResult.responseData != null)
                     {
-                        System.Threading.Thread.Sleep(1000);
-                        if (doorLock.tempPasswordObject != null)
+                        if (addOrModifyResult.responseData.status == 0)
                         {
-                            var addDoorLockTempPasswordData = new ZigBee.Device.DoorLock.AddDoorLockTempPasswordData();
-                            if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                            System.Threading.Thread.Sleep(1000);
+                            if (doorLock.tempPasswordObject != null)
                             {
-                                addDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-                                addDoorLockTempPasswordData.IsOtherAccountCtrl = true;
+                                var addDoorLockTempPasswordData = new ZigBee.Device.DoorLock.AddDoorLockTempPasswordData();
+                                if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                                {
+                                    addDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                    addDoorLockTempPasswordData.IsOtherAccountCtrl = true;
+                                }
+                                addDoorLockTempPasswordData.TempPwd = doorLock.tempPasswordObject.TempPassword;
+                                if (doorLock.DeviceAddr != null)
+                                {
+                                    addDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                                }
+                                addDoorLockTempPasswordData.ValidBeginTime = doorLock.tempPasswordObject.ValidTime;
+                                addDoorLockTempPasswordData.ValidEndTime = doorLock.tempPasswordObject.InValidTime;
+                                addDoorLockTempPasswordData.TempPwdId = doorLock.tempPasswordObject.UserId.ToString();
+                                //瀛樺埌浜�
+                                var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLockPwd", addDoorLockTempPasswordData);
+                                if (result1 == null)
+                                {
+                                    Application.RunOnMainThread(() =>
+                                    {
+                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                                    });
+                                    return;
+                                }
+                                if (result1.StateCode != "Success")
+                                {
+                                    Application.RunOnMainThread(() =>
+                                    {
+                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                                    });
+                                    return;
+                                }
+                                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = false;
+                                doorLock.LocalTempPassword = doorLock.tempPasswordObject.TempPassword;
+                                TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime);
                             }
-                            addDoorLockTempPasswordData.TempPwd = doorLock.tempPasswordObject.TempPassword;
-                            if (doorLock.DeviceAddr != null)
-                            {
-                                addDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                            }
-                            addDoorLockTempPasswordData.ValidBeginTime = doorLock.tempPasswordObject.ValidTime;
-                            addDoorLockTempPasswordData.ValidEndTime = doorLock.tempPasswordObject.InValidTime;
-                            addDoorLockTempPasswordData.TempPwdId = doorLock.tempPasswordObject.UserId.ToString();
-                            //瀛樺埌浜�
-                            var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLockPwd", addDoorLockTempPasswordData);
-                            if (result1 != null && result1.StateCode != "Success")
+                            else
                             {
                                 Application.RunOnMainThread(() =>
                                 {
-                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
                                 });
                                 return;
                             }
-                            //btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;//XMUnSelect  XMBlack
-                            //btnFinifh.Enable = false;
-                            Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = false;
-                            doorLock.LocalTempPassword = doorLock.tempPasswordObject.TempPassword;
-                            TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime);
                         }
                         else
                         {
@@ -650,7 +644,7 @@
                     {
                         Application.RunOnMainThread(() =>
                         {
-                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
                         });
                         return;
                     }
@@ -684,35 +678,58 @@
                 {
                     var passData = doorLock.SetUserAccessData(doorLock.tempPasswordObject.UserId, ZigBee.Device.DoorLock.AccessType.DelCurrentUser);
                     var resultData = await doorLock.DefaultControlAsync(passData);
-                    if (resultData != null && resultData.defaultControlResponseData != null && resultData.defaultControlResponseData.status == 0)
+                    if (resultData != null && resultData.defaultControlResponseData != null)
                     {
-                        var delDoorLockTempPasswordData = new ZigBee.Device.DoorLock.DelDoorLockTempPasswordData();
-                        if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                        if (resultData.defaultControlResponseData.status == 0)
                         {
-                            delDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-                            delDoorLockTempPasswordData.IsOtherAccountCtrl = true;
-                        }
-                        if (doorLock.DeviceAddr != null)
-                        {
-                            delDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                        }
-                        var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLockPwd", delDoorLockTempPasswordData);
-                        if (result1 != null && result1 != null && result1.StateCode == "Success")
-                        {
-                            doorLock.tempPasswordObject = null;
-                            doorLock.LocalTempPassword = "";
-                            TimeDateData(DateTime.Now, DateTime.Now, true);
-                            Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false;
-                            Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true;
+                            var delDoorLockTempPasswordData = new ZigBee.Device.DoorLock.DelDoorLockTempPasswordData();
+                            if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                            {
+                                delDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                delDoorLockTempPasswordData.IsOtherAccountCtrl = true;
+                            }
+                            if (doorLock.DeviceAddr != null)
+                            {
+                                delDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                            }
+                            var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLockPwd", delDoorLockTempPasswordData);
+                            if (result1 != null)
+                            {
+                                if (result1.StateCode == "Success")
+                                {
+                                    doorLock.tempPasswordObject = null;
+                                    doorLock.LocalTempPassword = "";
+                                    TimeDateData(DateTime.Now, DateTime.Now, true);
+                                    Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false;
+                                    Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true;
+                                }
+                                else
+                                {
+                                    Application.RunOnMainThread(() =>
+                                    {
+                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1) + ".", Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                                    });
+                                }
+                            }
+                            else
+                            {
+                                Application.RunOnMainThread(() =>
+                                {
+                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                                });
+                            }
                         }
                         else
                         {
-                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                            Application.RunOnMainThread(() =>
+                            {
+                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                            });
                         }
                     }
                     else
                     {
-                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDelText);
+                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDelText);
 
                     }
                 }
@@ -751,18 +768,33 @@
                         getDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
                     }
                     var result = await ZigBee.Device.DoorLock.GetDoorLockTempPasswordFromServer("DoorLock/GetDoorLockPwdPagger", getDoorLockTempPasswordData);
-                    if (result != null && result.PageData != null)
+                    if (result != null)
                     {
-                        foreach (var curDoorLockTempPaw in result.PageData)
+                        if (result.PageData.Count != 0)
                         {
-                            var tpObj = new ZigBee.Device.DoorLock.TempPasswordObject();
-                            tpObj.UserId = int.Parse(curDoorLockTempPaw.TempPwdId);
-                            tpObj.ValidTime = curDoorLockTempPaw.ValidBeginTime;
-                            tpObj.InValidTime = curDoorLockTempPaw.ValidEndTime;
-                            doorLock.LocalTempPassword = tpObj.TempPassword = curDoorLockTempPaw.TempPwd;
-                            doorLock.tempPasswordObject = tpObj;
-                            TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime);
+                            foreach (var curDoorLockTempPaw in result.PageData)
+                            {
+                                var tpObj = new ZigBee.Device.DoorLock.TempPasswordObject();
+                                tpObj.UserId = int.Parse(curDoorLockTempPaw.TempPwdId);
+                                tpObj.ValidTime = curDoorLockTempPaw.ValidBeginTime;
+                                tpObj.InValidTime = curDoorLockTempPaw.ValidEndTime;
+                                doorLock.LocalTempPassword = tpObj.TempPassword = curDoorLockTempPaw.TempPwd;
+                                doorLock.tempPasswordObject = tpObj;
+                                TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime);
+                            }
                         }
+                        else
+                        {
+                            doorLock.tempPasswordObject = null;
+                            doorLock.LocalTempPassword = "";
+                            TimeDateData(DateTime.Now, DateTime.Now, true);
+                            Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false;
+                            Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true;
+                        }
+                    }
+                    else
+                    {
+                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
                     }
                 }
                 catch { }
@@ -832,6 +864,7 @@
                 Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth = cur.Month;
                 Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay = cur.Day;
                 Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay = cur.Day + 1;
+                //doorLock.ReSave();
             }
             if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour < 10)
             {
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs
index 7108033..1ab6e14 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs
@@ -107,7 +107,6 @@
             this.btnBack.MouseUpEventHandler += eHandlerBack;
             this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack;
             this.MidFrameLayout(this);
-
             MidFrameLayoutContent();
         }
 
@@ -115,10 +114,12 @@
         {
             if (setTimeType == "DoorLockTime")
             {
+                // 鍙湁閲嶆柊鍚姩鏃朵細鎱紝鐒跺悗鍏朵粬鏃跺埢閮芥槸鏈夊�肩殑
                 new System.Threading.Thread(() =>
                 {
                     while (this.Parent != null)
                     {
+                        //璇婚棬閿佹椂闂�
                         doorLock.ReadAttri(ZigBee.Device.Cluster_ID.DoorLock, ZigBee.Device.AttriButeId.DoorLock);
                         System.Threading.Thread.Sleep(5 * 1000);
                     }
@@ -135,6 +136,12 @@
             var dtNow = DateTime.Now;
             for (int i = 0; i < 2; i++)
             {
+                var rowLayout = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(58),
+                };
+                MidTopFrameLayout.AddChidren(rowLayout);
+
                 var btnDateTime = new Button()
                 {
                     Width = Application.GetRealWidth(560),
@@ -144,7 +151,7 @@
                     TextAlignment = TextAlignment.CenterLeft,
                     TextSize = 12,
                 };
-                MidTopFrameLayout.AddChidren(btnDateTime);
+                rowLayout.AddChidren(btnDateTime);
 
                 var textDisplayDateFrameLayout = new FrameLayout()
                 {
@@ -152,7 +159,7 @@
                     Height = Application.GetRealHeight(58),
                     X = Application.GetRealWidth(620),
                 };
-                MidTopFrameLayout.AddChidren(textDisplayDateFrameLayout);
+                rowLayout.AddChidren(textDisplayDateFrameLayout);
 
                 var btnNextFrameLayout = new FrameLayout()
                 {
@@ -160,7 +167,7 @@
                     Height = Application.GetRealHeight(58),
                     X = Application.GetRealWidth(956),
                 };
-                MidTopFrameLayout.AddChidren(btnNextFrameLayout);
+                rowLayout.AddChidren(btnNextFrameLayout);
 
                 var btnNext = new Button()
                 {
@@ -188,7 +195,7 @@
 
                 if (i == 0)
                 {
-                    btnDateTime.Y = Application.GetRealHeight(50);
+                    rowLayout.Y = Application.GetRealHeight(50);
                     btnLine.Y = Application.GetRealHeight(23 + 127);
 
                     textDisplayDate = new Button()
@@ -199,7 +206,7 @@
                         Text = "_" + Language.StringByID(R.MyInternationalizationString.Year) + "_" + Language.StringByID(R.MyInternationalizationString.Month) + "_" + Language.StringByID(R.MyInternationalizationString.Day),
                     };
                     textDisplayDateFrameLayout.AddChidren(textDisplayDate);
-                    textDisplayDateFrameLayout.Y = btnNextFrameLayout.Y = btnDateTime.Y;
+                    //textDisplayDateFrameLayout.Y = btnNextFrameLayout.Y = btnDateTime.Y;
 
                     if (setTimeType != "DoorLockTime")
                     {
@@ -212,7 +219,7 @@
                 }
                 else if (i == 1)
                 {
-                    btnDateTime.Y = Application.GetRealHeight(200);
+                    rowLayout.Y = Application.GetRealHeight(200);
                     btnLine.Y = Application.GetRealHeight(40 + 127 + 127);
                     textDisplayTime = new Button()
                     {
@@ -222,7 +229,7 @@
                         Text = "00:00",
                     };
                     textDisplayDateFrameLayout.AddChidren(textDisplayTime);
-                    textDisplayDateFrameLayout.Y = btnNextFrameLayout.Y = btnDateTime.Y;
+                    //textDisplayDateFrameLayout.Y = btnNextFrameLayout.Y = btnDateTime.Y;
 
                     if (setTimeType != "DoorLockTime")
                     {
@@ -503,6 +510,7 @@
                         }
                     }
                 };
+                rowLayout.MouseDownEventHandler += hander;
                 btnDateTime.MouseDownEventHandler += hander;
                 textDisplayDateFrameLayout.MouseDownEventHandler += hander;
                 btnNextFrameLayout.MouseDownEventHandler += hander;
@@ -523,14 +531,20 @@
                     {
                         CommonPage.Loading.Start("");
                         var rectifyResult = await doorLock.RectifyDoorLockTimeAsync(int.Parse(setTimestamp));
-                        if (rectifyResult != null && rectifyResult.setWritableValueResponData != null && rectifyResult.setWritableValueResponData.Status == 0)
+                        if (rectifyResult != null && rectifyResult.setWritableValueResponData != null)
                         {
-                            this.shadowRadiusFrameLayout.RemoveFromParent();
-                            // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RectifySuccess), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                            if (rectifyResult.setWritableValueResponData.Status == 0)
+                            {
+                                this.shadowRadiusFrameLayout.RemoveFromParent();
+                            }
+                            else
+                            {
+                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RectifyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                            }
                         }
                         else
                         {
-                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RectifyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
                         }
                     }
                     catch { }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs
index 6bd28b7..7580a18 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs
@@ -2,11 +2,39 @@
 using System.Collections.Generic;
 using System.ComponentModel;
 using Shared.Common;
+using ZigBee.Device;
 
 namespace Shared.Phone.UserCenter.DoorLock
 {
-    public class UnLockMethod : DoorLockCommonLayout
+    public class UnLockMethod : DoorLockCommonLayout, ZigBee.Common.IStatus
     {
+        /// <summary>
+        /// 澶勭悊鍙樺寲浜嬩欢
+        /// </summary>
+        /// <param name="common"></param>
+        /// <param name="typeTag"></param>
+        public void DeviceInfoChange(CommonDevice tempDevice, string typeTag)
+        {
+            if (typeTag == "DoorLockProgrammingEventNotificationCommand" && tempDevice != null)
+            {
+                if (tempDevice != null)
+                {
+                    if (tempDevice.DeviceEpoint == doorLock.DeviceEpoint
+                                      && tempDevice.DeviceAddr == doorLock.DeviceAddr)
+                    {
+                        var doorLock = tempDevice as ZigBee.Device.DoorLock;
+                        if (doorLock.doorLockProgrammingEventNotificationCommand != null)
+                        {
+
+                            Application.RunOnMainThread(() =>
+                            {
+
+                            });
+                        }
+                    }
+                }
+            }
+        }
         /// 鏋勯�犲嚱鏁�
         /// </summary>
         /// <param name="doorLock"></param>
@@ -58,7 +86,7 @@
             this.btnTitleLine.Visible = false;
             EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
             {
-                RemoveFromParent();
+                this.RemoveFromParent();
             };
             this.btnBack.MouseUpEventHandler += eHandlerBack;
             this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack;
@@ -66,7 +94,7 @@
 
             var btnAddFrameLayout = new FrameLayout
             {
-                X = Application.GetRealWidth(953),
+                X = Application.GetRealWidth(953 - 116),
                 Height = Application.GetRealHeight(72),
                 Width = Application.GetRealWidth(72),
             };
@@ -79,20 +107,32 @@
                 UnSelectedImagePath = "DoorLock/AddIcon.png",
             };
             btnAddFrameLayout.AddChidren(btnAdd);
-            btnAdd.MouseDownEventHandler += (sender, e) =>
+            if (UserCenterResourse.UserInfo.AuthorityNo != 1)
             {
-                if (doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] == true)
-                {
-                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                }
-                else
-                {
-                    var addUnLockMethod = new Shared.Phone.UserCenter.DoorLock.AddUnLockMethod(doorLock, curAccountObj);
-                    Shared.Phone.UserView.HomePage.Instance.AddChidren(addUnLockMethod);
-                    Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
-                    addUnLockMethod.Show();
-                }
-            };
+                btnAdd.Width = 0;
+            }
+            btnAdd.MouseDownEventHandler += (sender, e) =>
+        {
+            if (doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] == true)
+            {
+                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+            }
+            else
+            {
+                var addUnLockMethod = new Shared.Phone.UserCenter.DoorLock.AddUnLockMethod(doorLock, curAccountObj);
+                Shared.Phone.UserView.HomePage.Instance.AddChidren(addUnLockMethod);
+                Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                addUnLockMethod.Show();
+            }
+        };
+            if (UserCenterResourse.UserInfo.AuthorityNo == 3)
+            {
+                btnAddFrameLayout.Width = 0;
+            }
+            else
+            {
+                btnAddFrameLayout.Width = Application.GetRealWidth(72);
+            }
             MidFrameLayoutContent();
         }
         //涓儴甯冨眬
@@ -174,7 +214,8 @@
 
             bodyView = new VerticalScrolViewLayout()
             {
-                Y = btnLine.Bottom,
+                Y = midTopFrameLayout.Bottom,
+                Height = Application.GetRealHeight(1921 - 184 - 115 - 1),
             };
             this.midFrameLayout.AddChidren(bodyView);
 
@@ -439,6 +480,7 @@
                                         }
                                         else
                                         {
+                                            //寮�鍏冲浘鏍�
                                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
                                         }
                                     }
@@ -948,5 +990,26 @@
             }
         }
 
+        /// <summary>
+        /// 閲嶅啓绉婚櫎鏂规硶
+        /// </summary>
+        public override void RemoveFromParent()
+        {
+            ZbGateway.StatusList.Remove(this);
+            base.RemoveFromParent();
+        }
+
+
+
+        public void Changed(CommonDevice common)
+        {
+        }
+        public void ChangedILogicStatus(ZigBee.Device.Logic logic)
+        {
+        }
+
+        public void ChangedISceneStatus(Scene scene)
+        {
+        }
     }
 }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs
index 7b5c669..4efd8ca 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs
@@ -69,18 +69,43 @@
                             {
                                 foreach (var curDoorLockUser in getDoorLockInfoList.PageData)
                                 {
+                                    if (curDoorLockUser.DoorLockLocalUserId == null || curDoorLockUser.DoorLockLocalUserId == "")
+                                    {
+                                        continue;
+                                    }
                                     if (doorLock.localDoorLockUserList.ContainsKey(int.Parse(curDoorLockUser.DoorLockLocalUserId)))
                                     {
-                                        doorLock.localDoorLockUserList.Remove(int.Parse(curDoorLockUser.DoorLockLocalUserId));
+                                        var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
+                                        doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId);
+                                        doorLockObj.UnlockType = curDoorLockUser.OpenLockMode;
+                                        doorLockObj.PrimaryId = curDoorLockUser.Id;
+                                        doorLockObj.EntryTime = curDoorLockUser.EntryTime;
+                                        doorLockObj.UserName = curDoorLockUser.UserIdRemarks;
+                                        doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId;
+                                        doorLock.localDoorLockUserList[int.Parse(curDoorLockUser.DoorLockLocalUserId)] = doorLockObj;
                                     }
-                                    var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
-                                    doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId);
-                                    doorLockObj.UnlockType = curDoorLockUser.OpenLockMode;
-                                    doorLockObj.PrimaryId = curDoorLockUser.Id;
-                                    doorLockObj.EntryTime = curDoorLockUser.EntryTime;
-                                    doorLockObj.UserName = curDoorLockUser.UserIdRemarks;
-                                    doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId;
-                                    doorLock.localDoorLockUserList.Add(int.Parse(curDoorLockUser.DoorLockLocalUserId), doorLockObj);
+                                    else
+                                    {
+                                        if (curDoorLockUser.DoorLockLocalUserId != null)
+                                        {
+                                            //闂ㄩ攣涓病鏈夛紝浜戠鏈夌敤鎴稩D锛屽悗鍙板垹闄や簯绔繖浜汭D
+                                            var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData();
+                                            if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                                            {
+                                                deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                                deleteDoorLockData.IsOtherAccountCtrl = true;
+                                            }
+                                            if (doorLock.DeviceAddr != null)
+                                            {
+                                                deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                                            }
+                                            deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId;
+                                            deleteDoorLockData.PrimaryId = curDoorLockUser.Id;
+                                            deleteDoorLockData.DelDoorLockDelType = 2;
+                                            var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData);
+                                            int i = 0;
+                                        }
+                                    }
                                 }
                             }
                             else
@@ -88,6 +113,7 @@
                                 Application.RunOnMainThread(() =>
                                 {
                                     new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                                    return;
                                 });
                             }
                         }
@@ -168,9 +194,18 @@
                 SideslipFramelayout();
             };
 
+            var btnLine = new Button
+            {
+                Y = midTopFrameLayout.Bottom,
+                Height = 1,
+                BackgroundColor = Shared.Common.ZigbeeColor.Current.XMTitleLine,
+            };
+            this.midFrameLayout.AddChidren(btnLine);
+
             bodyView = new VerticalScrolViewLayout()
             {
                 Y = midTopFrameLayout.Bottom,
+                Height = Application.GetRealHeight(1921 - 184 - 115 - 1),
             };
             this.midFrameLayout.AddChidren(bodyView);
 
@@ -537,35 +572,42 @@
 
                     addLockInfo.EntryTime = curDoorLockUser.EntryTime;
                     var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLock", addLockInfo);
-                    if (result != null && result.StateCode == "Success")
+                    if (result != null)
                     {
-                        //瀛樿处鎴蜂俊鎭�
-                        //var resultList1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetCloudLocalAccountlist(doorLock, curAccountId);
-                        //瀛橀棬閿佷俊鎭�
-                        var resultList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetCloudLocalDoorLocklist(doorLock, curAccountId);
-                        var uList = new List<int> { };
-                        if (resultList != null)
+                        if (result.StateCode == "Success")
                         {
-                            foreach (var a in resultList.Keys)
+                            //瀛橀棬閿佷俊鎭�
+                            var resultList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetCloudLocalDoorLocklist(doorLock, curAccountId);
+                            var uList = new List<int> { };
+                            if (resultList != null)
                             {
-                                uList.Add(a);
+                                foreach (var a in resultList.Keys)
+                                {
+                                    uList.Add(a);
+                                }
                             }
-                        }
-                        var d = uList.Find((value) => { return value == doorLock.doorLockProgrammingEventNotificationCommand.UserID; });
-                        if (d != null)
-                        {
-                            RefreshList();
-                            flMain.RemoveFromParent();
-                            bottomFrameLayout.RemoveAll();
+                            var d = uList.Find((value) => { return value == curDoorLockUser.UserID; });
+                            if (d != null)
+                            {
+                                RefreshList();
+                                flMain.RemoveFromParent();
+                                bottomFrameLayout.RemoveAll();
+                            }
+                            else
+                            {
+                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                            }
                         }
                         else
                         {
-                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                            flMain.RemoveFromParent();
+                            bottomFrameLayout.RemoveAll();
                         }
                     }
                     else
                     {
-                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
                         flMain.RemoveFromParent();
                         bottomFrameLayout.RemoveAll();
                     }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
index b964c76..4044118 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -9,6 +9,7 @@
         public UserDoorLockPage(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes accountObj)
         {
             this.doorLock = doorLock;
+            //currentRoom = room;Shared.Common.Room room, 
             BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
             ZigBee.Device.ZbGateway.StatusList.Add(this);
         }
@@ -16,6 +17,7 @@
         #region 鈼� 鍙橀噺鐢虫槑__________________________
         ZigBee.Device.DoorLock doorLock;
         FrameLayout bottomFrameLayout;
+        Shared.Common.Room currentRoom;
         Action action;
         #endregion
 
@@ -36,16 +38,15 @@
 
             var btnShare = new Button
             {
-                X = Application.GetRealWidth(850),
+                X = Application.GetRealWidth(850 - 116),
                 Height = Application.GetRealHeight(69),
                 Width = Application.GetRealWidth(69),
-                UnSelectedImagePath = "DoorLock/ShareIcon.png",
             };
             this.titleFrameLayout.AddChidren(btnShare);
 
             var btnFuncSet = new Button
             {
-                X = Application.GetRealWidth(953),
+                X = Application.GetRealWidth(953 - 116),
                 Height = Application.GetRealHeight(69),
                 Width = Application.GetRealWidth(69),
                 UnSelectedImagePath = "DoorLock/SettingIcon.png",
@@ -53,16 +54,16 @@
             this.titleFrameLayout.AddChidren(btnFuncSet);
             btnFuncSet.MouseDownEventHandler += (sender, e) =>
             {
-                if (UserCenterResourse.UserInfo.AuthorityNo == 3)
+                if (UserCenterResourse.UserInfo.AuthorityNo == 1)
                 {
-                    var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSettingSub(doorLock);
+                    var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock);
                     Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage);
                     Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                     userDoorLockPage.Show();
                 }
                 else
                 {
-                    var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock);
+                    var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSettingSub(doorLock);
                     Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage);
                     Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                     userDoorLockPage.Show();
@@ -131,11 +132,21 @@
                 Height = Application.GetRealHeight(69),
                 X = Application.GetRealWidth(850),
                 Y = Application.GetRealHeight(46),
-                UnSelectedImagePath = "DoorLock/FavoriteIcon.png",
+                UnSelectedImagePath = "Item/Collection.png",
+                SelectedImagePath = "Item/CollectionSelected.png"
             };
             midTopFrameLayout.AddChidren(btnCollect);
             btnCollect.MouseDownEventHandler += (sender, e) =>
             {
+                btnCollect.IsSelected = !btnCollect.IsSelected;
+                if (btnCollect.IsSelected)
+                {
+                    // Shared.Common.Room.CurrentRoom.GetLoveRoom().DeleteDevice(doorLock.FileName); //鍙栨秷鏀惰棌
+                }
+                else
+                {
+                    //Shared.Common.Room.CurrentRoom.GetLoveRoom().AddDevice(doorLock.FileName);//鏀惰棌
+                }
             };
 
             var btnCurrentText = new Button()
@@ -268,7 +279,7 @@
                 Height = Application.GetRealHeight(49),
                 X = Application.GetRealWidth(150),
                 Y = Application.GetRealHeight(46),
-                Text = "瀹㈠巺",
+                // Text = currentRoom.Name,
                 TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
                 TextSize = 12,
                 TextAlignment = TextAlignment.CenterLeft,
@@ -278,13 +289,35 @@
 
             EventHandler<MouseEventArgs> hander1 = async (sender, e) =>
              {
-                 RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus);
+                 if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                 {
+                     var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
+                     if (result == false)
+                     {
+                         var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid);
+                         if (result1 == true)
+                         {
+                             RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus);
+                         }
+                         else
+                         {
+                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NoAccess), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                         }
+                     }
+                     else
+                     {
+                         new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+                     }
+                 }
+                 else
+                 {
+                     RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus);
+                 }
              };
             openFrameLayout.MouseUpEventHandler += hander1;
             btnDoorOpenPic.MouseUpEventHandler += hander1;
             EventHandler<MouseEventArgs> hander2 = (sender, e) =>
             {
-                //new Tip() { MaxWidth = 150, Text = "涓嶆敮鎸佽繙绋嬪叧閿�", Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(openFrameLayout);
                 btnDoorLockPic.IsSelected = false;
                 progressButton.Y = Application.GetRealHeight(347);
             };
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
index 191071a..7727d38 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
@@ -17,14 +17,8 @@
         /// <param name="common">Common.</param>
         public void Changed(CommonDevice common)
         {
-            //if (common.Type != ZigBee.Device.DeviceType.OnOffSwitch)
-            //{
-            //    return;
-            //}
-
             Shared.Application.RunOnMainThread(() =>
             {
-                //var dev = common as Panel;
             });
         }
         /// 鏋勯�犲嚱鏁�
@@ -104,7 +98,7 @@
 
             var btnAddFrameLayout = new FrameLayout
             {
-                X = Application.GetRealWidth(829),
+                X = Application.GetRealWidth(829 - 116),
                 Height = Application.GetRealHeight(72),
                 Width = Application.GetRealWidth(190),
             };
@@ -128,7 +122,11 @@
                 TextAlignment = TextAlignment.CenterLeft,
             };
             btnAddFrameLayout.AddChidren(btnUndistributeText);
-
+            if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+            {
+                btnUndistributeIcon.Width = 0;
+                btnUndistributeText.Width = 0;
+            }
             EventHandler<MouseEventArgs> eHandler = (sender, e) =>
             {
                 var undistributeDoorlockUserPage = new Shared.Phone.UserCenter.DoorLock.UndistributeDoorlockUserPage(doorLock, doorLock.localAllAccountList);
@@ -144,7 +142,6 @@
             };
             this.midFrameLayout.AddChidren(midVerticalScrolViewLayout);
             ReadAccountList();
-            // MidFrameLayoutContent();
         }
 
         async void MidFrameLayoutContent()
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/NewGateWayMenuSelectForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/NewGateWayMenuSelectForm.cs
index 88dbcba..b9c9a7f 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/NewGateWayMenuSelectForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/NewGateWayMenuSelectForm.cs
@@ -56,8 +56,20 @@
             row2.AddRightArrow();
             row2.ButtonClickEvent += (sender, e) =>
             {
-                var form = new SearchWirelessMenuControl();
-                form.AddForm();
+                var menuContr = new BottomMenuSelectForm();
+                menuContr.AddForm(2);
+                //UDP妯″紡(鎺ㄨ崘)
+                menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uUdpModeRecommend), () =>
+                {
+                    var form = new WirelessUdpDirectionForm();
+                    form.AddForm();
+                });
+                //AP妯″紡
+                menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uApMode), () =>
+                {
+                    var form = new WirelessApDirection1Form();
+                    form.AddForm();
+                });
             };
         }
 
@@ -115,6 +127,8 @@
                 {
                     //鍏抽棴鐣岄潰
                     this.CloseForm();
+                    var form = new WirelessApDirection1Form();
+                    form.AddForm();
                 };
 
                 var frameBack2 = new FrameLayoutControl();
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs
index d7d27e5..7d156a6 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs
@@ -177,6 +177,11 @@
             var btnGoBack = new BottomClickButton(688);
             btnGoBack.Y = Application.GetRealHeight(1495);
             btnGoBack.TextID = R.MyInternationalizationString.uGobackGatewayManage;
+            if (UserCenterResourse.DicActionForm.ContainsKey("GatewayListForm") == false)
+            {
+                //杩斿洖涓婚〉
+                btnGoBack.TextID = R.MyInternationalizationString.uGobackToHomePage;
+            }
             bodyFrameLayout.AddChidren(btnGoBack);
             btnGoBack.ButtonClickEvent += (sender, e) =>
             {
@@ -289,7 +294,7 @@
                     {
                         if (this.Parent != null)
                         {
-                            var form = new WiredGatewayListForm();
+                            var form = new GatewayManage.GatewaySearchListForm();
                             this.AddFromAndRemoveNowForm(form, listZbGateway, dicZbGatewayDiv);
                         }
                     });
@@ -309,8 +314,7 @@
             List<string> listId = new List<string>();
             for (int i = 0; i < ZbGateway.GateWayList.Count; i++)
             {
-                string strip = HdlGatewayLogic.Current.GetGatewayBaseInfoAttribute(ZbGateway.GateWayList[i], "IpAddress").ToString();
-                if (strip == string.Empty)
+                if (ZbGateway.GateWayList[i].getGatewayBaseInfo.IpAddress == string.Empty)
                 {
                     //IP娌℃湁鐨勭綉鍏筹紝鎴戜篃涓嶇煡閬撳畠鏄共鍢涚殑
                     continue;
@@ -342,8 +346,6 @@
                 {
                     continue;
                 }
-                //鏀堕泦缃戝叧瀵硅薄
-                this.listZbGateway.Add(way);
 
                 //缃戝叧缁戝畾妯″紡
                 GatewayBindMode mode = GatewayBindMode.BindAgain;
@@ -351,7 +353,7 @@
                 if (HdlGatewayLogic.Current.HomeIdIsEmpty(way) == true
                     || way.getGatewayBaseInfo.HomeId == Common.Config.Instance.HomeId)
                 {
-                    if (way.getGatewayBaseInfo.HomeId == Common.Config.Instance.HomeId)
+                    if (way.getGatewayBaseInfo.HomeId != Common.Config.Instance.HomeId)
                     {
                         //绗竴娆$粦瀹�,涔熷氨鏄綉鍏充綇瀹匢D涓虹┖
                         mode = GatewayBindMode.First;
@@ -364,12 +366,14 @@
 
                     //娣诲姞鎼滅储鍒扮殑缃戝叧鍒扮紦瀛�(鎵ц缃戝叧淇濆瓨鎿嶄綔)
                     ShowErrorMode showMode = this.dicIdCheckCount[listId[i]] == 0 ? ShowErrorMode.YES : ShowErrorMode.NO;
-                    var result = await this.DoSaveGateway(way, showMode);
+                    var result = await HdlGatewayLogic.Current.AddNewGateway(way, ShowErrorMode.NO);
                     if (result == false)
                     {
                         continue;
                     }
                 }
+                //鏀堕泦缃戝叧瀵硅薄
+                this.listZbGateway.Add(way);
 
                 //濡傛灉瀹冨凡缁忓畬鍏ㄦ垚鍔熶簡鐨勮瘽锛屽垯灏嗗畠鐨勫墿浣欐鏁扮疆闆�
                 this.dicIdCheckCount[listId[i]] = 0;
@@ -403,44 +407,6 @@
 
         #endregion
 
-        #region 鈻� 鎵ц缃戝叧淇濆瓨_______________________
-
-        /// <summary>
-        /// 鎵ц缃戝叧淇濆瓨
-        /// </summary>
-        /// <param name="zbGateway">缃戝叧瀵硅薄</param>
-        /// <param name="mode">鏄惁鏄剧ず閿欒</param>
-        /// <returns></returns>
-        private async Task<bool> DoSaveGateway(ZbGateway zbGateway, ShowErrorMode mode)
-        {
-            //娣诲姞鎼滅储鍒扮殑缃戝叧鍒扮紦瀛�
-            //1:姝e父  -1:寮傚父  0:褰撳墠鐨勭綉鍏崇粦瀹氬湪浜嗗綋鍓嶈处鍙蜂笅鐨勪笉鍚屼綇瀹呴噷闈�
-            int result = await HdlGatewayLogic.Current.AddNewGateway(zbGateway, mode);
-            if (result == -1)
-            {
-                return false;
-            }
-
-            //鍓嶇殑缃戝叧缁戝畾鍦ㄤ簡褰撳墠璐﹀彿涓嬬殑涓嶅悓浣忓畢閲岄潰
-            if (result == 0)
-            {
-                if (mode == ShowErrorMode.YES)
-                {
-                    //缃戝叧缁戝畾鍦ㄥ綋鍓嶈处鍙蜂笅鐨勫叾浠栦綇瀹呴噷\r\n璇疯В闄ょ粦瀹氬悗鍐嶈瘯
-                    string msg = Language.StringByID(R.MyInternationalizationString.uTheGatewayInOtherResidenceMsg);
-                    if (msg.Contains("{0}") == true)
-                    {
-                        msg = string.Format(msg, "\r\n");
-                    }
-                    this.ShowMassage(ShowMsgType.Tip, msg);
-                }
-                return false;
-            }
-            return true;
-        }
-
-        #endregion
-
         #region 鈻� 鐣岄潰鍏抽棴___________________________
 
         /// <summary>
@@ -466,7 +432,7 @@
                     way.DisConnect("Search");
                 }
             }
-            if (UserCenterResourse.listActionFormId.Contains("GatewayManagementForm") == false)
+            if (UserCenterResourse.listActionFormId.Contains("UserMainForm") == false)
             {
                 //鍒锋柊涓婚〉
                 UserView.UserPage.Instance.Fresh();
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection1Form.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection1Form.cs
new file mode 100755
index 0000000..0a2205d
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection1Form.cs
@@ -0,0 +1,79 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter.GatewayAdd
+{
+    /// <summary>
+    /// 鏃犵嚎缃戝叧AP妯″紡鐨勮鏄庢寚绀虹晫闈�1
+    /// </summary>
+    public class WirelessApDirection1Form : EditorCommonForm
+    {
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        public void ShowForm()
+        {
+            //璁剧疆澶撮儴淇℃伅
+            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway));
+
+            //鍒濆鍖栦腑閮ㄤ俊鎭�
+            this.InitMiddleFrame();
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+        /// </summary>
+        private void InitMiddleFrame()
+        {
+            //娓呯┖bodyFrame
+            this.ClearBodyFrame();
+
+            //鍥剧墖
+            var framePic = new FrameLayout();
+            framePic.Width = Application.GetMinRealAverage(392);
+            framePic.Height = Application.GetMinRealAverage(259);
+            framePic.Gravity = Gravity.CenterHorizontal;
+            framePic.Y = Application.GetRealHeight(426);
+            framePic.BackgroundImagePath = "Gateway/WirelessApDirection.png";
+            bodyFrameLayout.AddChidren(framePic);
+
+            //闀挎寜缃戝叧HID/WCFG鎸夐敭5绉�
+            //绯荤粺鐏父浜�60绉掑悗鍒欒繘鍏ラ厤缃戠姸鎬�
+            string[] ArryMsg = Language.StringByID(R.MyInternationalizationString.uAddApWirelessGatewayMsg1).Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries);
+            int yy = framePic.Bottom + Application.GetRealHeight(291);
+            foreach (var msg in ArryMsg)
+            {
+                var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false);
+                btnMsg.Text = msg;
+                btnMsg.Y = yy;
+                btnMsg.TextAlignment = TextAlignment.Center;
+                btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3;
+                bodyFrameLayout.AddChidren(btnMsg);
+                yy = btnMsg.Bottom;
+            }
+
+            //鏌ョ湅甯姪
+            var btnHelp = this.AddHelpControl();
+            btnHelp.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new DeviceDirection.DeviceDirectionHelpForm();
+                form.AddForm("WirelessUdp");
+            };
+
+            //涓嬩竴姝�
+            var btnNext = new BottomClickButton();
+            btnNext.TextID = R.MyInternationalizationString.uNextway;
+            bodyFrameLayout.AddChidren(btnNext);
+            btnNext.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new WirelessApDirection2Form();
+                this.AddFromAndRemoveNowForm(form);
+            };
+        }
+
+        #endregion
+    }
+}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection2Form.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection2Form.cs
new file mode 100755
index 0000000..7e10cf7
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection2Form.cs
@@ -0,0 +1,98 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter.GatewayAdd
+{
+    /// <summary>
+    /// 鏃犵嚎缃戝叧AP妯″紡鐨勮鏄庢寚绀虹晫闈�2
+    /// </summary>
+    public class WirelessApDirection2Form : EditorCommonForm
+    {
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        public void ShowForm()
+        {
+            //璁剧疆澶撮儴淇℃伅
+            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway));
+
+            //鍒濆鍖栦腑閮ㄤ俊鎭�
+            this.InitMiddleFrame();
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+        /// </summary>
+        private void InitMiddleFrame()
+        {
+            //娓呯┖bodyFrame
+            this.ClearBodyFrame();
+
+            //鍥剧墖
+            var framePic = new FrameLayout();
+            framePic.Width = Application.GetMinRealAverage(852);
+            framePic.Height = Application.GetMinRealAverage(478);
+            framePic.Gravity = Gravity.CenterHorizontal;
+            framePic.Y = Application.GetRealHeight(285);
+            framePic.BackgroundImagePath = "Gateway/WirelessGatewaySearching.png";
+            bodyFrameLayout.AddChidren(framePic);
+
+            //璺宠浆鍒扮Щ鍔ㄨ澶嘩LAN璁剧疆
+            //閫夋嫨hdlZigbeeGW-xxxx缃戠粶
+            string[] ArryMsg = Language.StringByID(R.MyInternationalizationString.uAddApWirelessGatewayMsg2).Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries);
+            int yy = framePic.Bottom + Application.GetRealHeight(213);
+            foreach (var msg in ArryMsg)
+            {
+                var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false);
+                btnMsg.Text = msg;
+                btnMsg.Y = yy;
+                btnMsg.TextAlignment = TextAlignment.Center;
+                btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3;
+                bodyFrameLayout.AddChidren(btnMsg);
+                yy = btnMsg.Bottom;
+            }
+
+            //鍘昏缃�
+            var btnSettion = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(50), false);
+            btnSettion.Y = yy + Application.GetRealHeight(12);
+            btnSettion.TextSize = 12;
+            btnSettion.TextAlignment = TextAlignment.Center;
+            btnSettion.TextColor = 0xff0075ff;
+            btnSettion.Text = Language.StringByID(R.MyInternationalizationString.uGotoSettion);
+            btnSettion.ButtonClickEvent += (sender, e) =>
+            {
+            };
+            bodyFrameLayout.AddChidren(btnSettion);
+            //搴曠嚎
+            int lineWidth = btnSettion.GetRealWidthByText(12);
+            var btnLine1 = new NormalViewControl(lineWidth, ControlCommonResourse.BottomLineHeight, false);
+            btnLine1.BackgroundColor = 0xff0075ff;
+            btnLine1.Gravity = Gravity.CenterHorizontal;
+            btnLine1.Y = btnSettion.Bottom - Application.GetRealHeight(8);
+            bodyFrameLayout.AddChidren(btnLine1);
+
+            //鏌ョ湅甯姪
+            var btnHelp = this.AddHelpControl();
+            btnHelp.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new DeviceDirection.DeviceDirectionHelpForm();
+                form.AddForm("WirelessUdp");
+            };
+
+            //涓嬩竴姝�
+            var btnNext = new BottomClickButton();
+            btnNext.TextID = R.MyInternationalizationString.uNextway;
+            bodyFrameLayout.AddChidren(btnNext);
+            btnNext.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new WirelessApSelectNetworkForm();
+                this.AddFromAndRemoveNowForm(form);
+            };
+        }
+
+        #endregion
+    }
+}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection3Form.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection3Form.cs
new file mode 100755
index 0000000..881549b
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection3Form.cs
@@ -0,0 +1,98 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter.GatewayAdd
+{
+    /// <summary>
+    /// 鏃犵嚎缃戝叧AP妯″紡鐨勮鏄庢寚绀虹晫闈�3
+    /// </summary>
+    public class WirelessApDirection3Form : EditorCommonForm
+    {
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        public void ShowForm()
+        {
+            //璁剧疆澶撮儴淇℃伅
+            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway));
+
+            //鍒濆鍖栦腑閮ㄤ俊鎭�
+            this.InitMiddleFrame();
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+        /// </summary>
+        private void InitMiddleFrame()
+        {
+            //娓呯┖bodyFrame
+            this.ClearBodyFrame();
+
+            //鏌ョ湅甯姪
+            var btnHelp = this.AddHelpControl();
+            btnHelp.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new DeviceDirection.DeviceDirectionHelpForm();
+                form.AddForm("WirelessUdp");
+            };
+
+            //涓嬩竴姝�
+            var btnNext = new BottomClickButton();
+            btnNext.TextID = R.MyInternationalizationString.uNextway;
+            bodyFrameLayout.AddChidren(btnNext);
+            btnNext.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new WirelessApSearchForm();
+                this.AddFromAndRemoveNowForm(form);
+            };
+
+            //鍥剧墖
+            var framePic = new FrameLayout();
+            framePic.Width = Application.GetMinRealAverage(861);
+            framePic.Height = Application.GetMinRealAverage(245);
+            framePic.Gravity = Gravity.CenterHorizontal;
+            framePic.Y = Application.GetRealHeight(363);
+            framePic.BackgroundImagePath = "Gateway/WirelessApGatewaySearching.png";
+            bodyFrameLayout.AddChidren(framePic);
+
+            //璇峰墠寰�绉诲姩璁惧WLAN璁剧疆
+            //閲嶆柊杩炴帴瀹跺涵wiFi
+            string[] ArryMsg = Language.StringByID(R.MyInternationalizationString.uAddApWirelessGatewayMsg3).Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries);
+            int yy = framePic.Bottom + Application.GetRealHeight(369);
+            foreach (var msg in ArryMsg)
+            {
+                var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false);
+                btnMsg.Text = msg;
+                btnMsg.Y = yy;
+                btnMsg.TextAlignment = TextAlignment.Center;
+                btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3;
+                bodyFrameLayout.AddChidren(btnMsg);
+                yy = btnMsg.Bottom;
+            }
+
+            //鍘昏缃�
+            var btnSettion = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(50), false);
+            btnSettion.Y = yy + Application.GetRealHeight(12);
+            btnSettion.TextSize = 12;
+            btnSettion.TextAlignment = TextAlignment.Center;
+            btnSettion.TextColor = 0xff0075ff;
+            btnSettion.Text = Language.StringByID(R.MyInternationalizationString.uGotoSettion);
+            btnSettion.ButtonClickEvent += (sender, e) =>
+            {
+            };
+            bodyFrameLayout.AddChidren(btnSettion);
+            //搴曠嚎
+            int lineWidth = btnSettion.GetRealWidthByText(12);
+            var btnLine1 = new NormalViewControl(lineWidth, ControlCommonResourse.BottomLineHeight, false);
+            btnLine1.BackgroundColor = 0xff0075ff;
+            btnLine1.Gravity = Gravity.CenterHorizontal;
+            btnLine1.Y = btnSettion.Bottom - Application.GetRealHeight(8);
+            bodyFrameLayout.AddChidren(btnLine1);
+        }
+
+        #endregion
+    }
+}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSearchForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSearchForm.cs
new file mode 100755
index 0000000..6b40959
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSearchForm.cs
@@ -0,0 +1,419 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using ZigBee.Device;
+
+namespace Shared.Phone.UserCenter.GatewayAdd
+{
+    /// <summary>
+    /// 鏃犵嚎缃戝叧AP妯″紡鐨勬悳绱㈢晫闈�
+    /// </summary>
+    public class WirelessApSearchForm : EditorCommonForm
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// 鎼滅储鍒扮殑缃戝叧鍒楄〃
+        /// </summary>
+        private List<ZbGateway> listZbGateway = new List<ZbGateway>();
+        /// <summary>
+        /// 鎼滅储鍒扮殑缃戝叧绫诲埆  0:绗竴娆$粦瀹� 1:宸茬粡缁戝畾 2:闇�瑕佹崲缁�
+        /// </summary>
+        private Dictionary<string, int> dicZbGatewayDiv = new Dictionary<string, int>();
+        /// <summary>
+        /// 鑾峰彇寰楀埌浜嗘柊缃戝叧
+        /// </summary>
+        private bool newGatewayGetting = false;
+        /// <summary>
+        /// 缃戝叧妫�娴嬩腑
+        /// </summary>
+        private string isGatewayChecking = "0";
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        public void ShowForm()
+        {
+            //璁剧疆鏍囬淇℃伅
+            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway));
+
+            //鍒濆鍖栦腑閮ㄦ帶浠�
+            this.InitDefultMiddleFrame();
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄦ帶浠�
+        /// </summary>
+        private void InitDefultMiddleFrame()
+        {
+            //娓呯┖bodyFrame
+            this.ClearBodyFrame();
+
+            //绯荤粺鐏瘡绉掗棯鐑佷竴娆�
+            //鍒欒繛鎺ユ垚鍔�
+            string[] ArryMsg = Language.StringByID(R.MyInternationalizationString.uAddApWirelessGatewayMsg4).Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries);
+            int yy = Application.GetRealHeight(1066);
+            foreach (var msg in ArryMsg)
+            {
+                var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false);
+                btnMsg.Text = msg;
+                btnMsg.Y = yy;
+                btnMsg.TextAlignment = TextAlignment.Center;
+                btnMsg.TextColor = UserCenterColor.Current.TextGrayColor1;
+                bodyFrameLayout.AddChidren(btnMsg);
+                yy = btnMsg.Bottom;
+            }
+
+            //鍒濆鍖栬繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉
+            this.InitConcetionAnimete();
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栧け璐ユā寮忕殑涓儴鎺т欢
+        /// </summary>
+        private void InitFailMiddleFrame()
+        {
+            //娓呯┖bodyFrame
+            this.ClearBodyFrame();
+
+            //鍥炬爣
+            var picGwImage = new FrameLayout();
+            picGwImage.Width = Application.GetMinRealAverage(861);
+            picGwImage.Height = Application.GetMinRealAverage(245);
+            picGwImage.Y = Application.GetRealWidth(223);
+            picGwImage.Gravity = Gravity.CenterHorizontal;
+            picGwImage.BackgroundImagePath = "Gateway/WirelessApGatewaySearching.png";
+            bodyFrameLayout.AddChidren(picGwImage);
+            var btnFailIcon = new PicViewControl(66, 66);
+            btnFailIcon.UnSelectedImagePath = "Item/FailIcon.png";
+            btnFailIcon.Gravity = Gravity.CenterHorizontal;
+            btnFailIcon.Y = Application.GetMinRealAverage(110);
+            picGwImage.AddChidren(btnFailIcon);
+            //鎼滅储澶辫触
+            var btnFailView = new NormalViewControl(300, 60, true);
+            btnFailView.TextAlignment = TextAlignment.Center;
+            btnFailView.Y = picGwImage.Bottom - Application.GetRealHeight(15);
+            btnFailView.Gravity = Gravity.CenterHorizontal;
+            btnFailView.TextColor = UserCenterColor.Current.TextGrayColor3;
+            btnFailView.TextID = R.MyInternationalizationString.uSearchFail;
+            bodyFrameLayout.AddChidren(btnFailView);
+
+            //瑙e喅鏂规硶锛屽彲閫夋嫨鎵ц浠ヤ笅浠绘剰涓�绉嶆柟寮忥細
+            var btnMsg1 = new NormalViewControl(930, 60, true);
+            btnMsg1.X = Application.GetRealWidth(75);
+            btnMsg1.Y = picGwImage.Bottom + Application.GetRealHeight(112);
+            btnMsg1.TextID = R.MyInternationalizationString.uSearchGatewayFailMsg1;
+            bodyFrameLayout.AddChidren(btnMsg1);
+            //1.闀挎寜ZB/RST閿�20绉掞紝缃戝叧鎭㈠鍑哄巶璁剧疆锛屾寚绀虹伅鍏ㄩ儴鐔勭伃鍚庯紝閲嶆柊鍏ョ綉銆�
+            var btnMsg2 = new NormalViewControl(930, 100, true);
+            btnMsg2.X = Application.GetRealWidth(75);
+            btnMsg2.Y = btnMsg1.Bottom + Application.GetRealHeight(35);
+            btnMsg2.Text = Language.StringByID(R.MyInternationalizationString.uSearchGatewayFailMsg2).Replace("{0}", "\r\n");
+            btnMsg2.TextSize = 12;
+            btnMsg2.TextColor = UserCenterColor.Current.TextGrayColor1;
+            btnMsg2.IsMoreLines = true;
+            bodyFrameLayout.AddChidren(btnMsg2);
+            //2.鐐规寜HID/WCFG閿紝杩涘叆缃戝叧鎹㈢粦妯″紡锛岀郴缁熸寚绀虹伅蹇棯5绉掋��
+            var btnMsg3 = new NormalViewControl(930, 100, true);
+            btnMsg3.X = Application.GetRealWidth(75);
+            btnMsg3.Y = btnMsg2.Bottom + Application.GetRealHeight(12);
+            btnMsg3.Text = Language.StringByID(R.MyInternationalizationString.uSearchGatewayFailMsg3).Replace("{0}", "\r\n");
+            btnMsg3.TextSize = 12;
+            btnMsg3.TextColor = UserCenterColor.Current.TextGrayColor1;
+            btnMsg3.IsMoreLines = true;
+            bodyFrameLayout.AddChidren(btnMsg3);
+            //3.璇烽噸璇曪紝閲嶆柊娣诲姞缃戝叧銆�
+            var btnMsg4 = new NormalViewControl(930, 50, true);
+            btnMsg4.X = Application.GetRealWidth(75);
+            btnMsg4.Y = btnMsg3.Bottom + Application.GetRealHeight(12);
+            btnMsg4.Text = Language.StringByID(R.MyInternationalizationString.uSearchGatewayFailMsg4);
+            btnMsg4.TextSize = 12;
+            btnMsg4.TextColor = UserCenterColor.Current.TextGrayColor1;
+            bodyFrameLayout.AddChidren(btnMsg4);
+            //4.杩斿洖缃戝叧绠$悊銆�
+            var btnMsg5 = new NormalViewControl(930, 50, true);
+            btnMsg5.X = Application.GetRealWidth(75);
+            btnMsg5.Y = btnMsg4.Bottom + Application.GetRealHeight(12);
+            btnMsg5.Text = Language.StringByID(R.MyInternationalizationString.uSearchGatewayFailMsg5);
+            btnMsg5.TextSize = 12;
+            btnMsg5.TextColor = UserCenterColor.Current.TextGrayColor1;
+            bodyFrameLayout.AddChidren(btnMsg5);
+
+            //閲嶈瘯
+            var frameback = new FrameLayoutControl();
+            frameback.UseClickStatu = false;
+            frameback.Y = Application.GetRealHeight(1259);
+            frameback.Gravity = Gravity.CenterHorizontal;
+            frameback.Width = Application.GetRealWidth(746);
+            frameback.Height = Application.GetRealHeight(184);
+            frameback.BackgroundImagePath = "Item/BottomButtonGround.png";
+            bodyFrameLayout.AddChidren(frameback);
+            var btnReDo = new NormalViewControl(300, 65, true);
+            btnReDo.TextColor = UserCenterColor.Current.White;
+            btnReDo.TextSize = 16;
+            btnReDo.Y = Application.GetRealHeight(49);
+            btnReDo.Gravity = Gravity.CenterHorizontal;
+            btnReDo.TextAlignment = TextAlignment.Center;
+            btnReDo.TextID = R.MyInternationalizationString.uReDoAgain;
+            frameback.AddChidren(btnReDo, ChidrenBindMode.BindEventOnly);
+            frameback.ButtonClickEvent += (sender, e) =>
+            {
+                //鍒濆鍖栧垵濮嬩腑閮ㄦ帶浠�
+                this.InitDefultMiddleFrame();
+            };
+
+            //杩斿洖缃戝叧绠$悊
+            var btnGoBack = new BottomClickButton(688);
+            btnGoBack.Y = Application.GetRealHeight(1495);
+            btnGoBack.TextID = R.MyInternationalizationString.uGobackGatewayManage;
+            if (UserCenterResourse.DicActionForm.ContainsKey("GatewayListForm") == false)
+            {
+                //杩斿洖涓婚〉
+                btnGoBack.TextID = R.MyInternationalizationString.uGobackToHomePage;
+            }
+            bodyFrameLayout.AddChidren(btnGoBack);
+            btnGoBack.ButtonClickEvent += (sender, e) =>
+            {
+                this.CloseForm();
+                //鍏抽棴鎸囧畾鐣岄潰
+                this.CloseFormByFormName("NewGateWayMenuSelectForm");
+            };
+        }
+
+        #endregion
+
+        #region 鈻� 鍋囨兂鍔ㄧ敾___________________________
+
+        /// <summary>
+        /// 鍒濆鍖栬繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉
+        /// </summary>
+        private void InitConcetionAnimete()
+        {
+            //鍥炬爣
+            var btnGwImage = new FrameLayout();
+            btnGwImage.Width = Application.GetMinRealAverage(861);
+            btnGwImage.Height = Application.GetMinRealAverage(245);
+            btnGwImage.Y = Application.GetRealHeight(360);
+            btnGwImage.Gravity = Gravity.CenterHorizontal;
+            btnGwImage.BackgroundImagePath = "Gateway/WirelessApGatewaySearching.png";
+            bodyFrameLayout.AddChidren(btnGwImage);
+
+            //姝e湪鎼滅储缃戝叧鈥�
+            var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false);
+            btnMsg.TextID = R.MyInternationalizationString.uGatewaySearching;
+            btnMsg.Y = Application.GetRealHeight(821);
+            btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3;
+            btnMsg.TextAlignment = TextAlignment.Center;
+            bodyFrameLayout.AddChidren(btnMsg);
+
+            //棣栨牸鐨刋杞�
+            int firstPoint = Application.GetMinRealAverage(275);
+            //涓�鏍肩殑瀹藉害
+            int width = Application.GetMinRealAverage(22);
+            //闂磋窛澶у皬
+            int space = Application.GetMinRealAverage(12);
+
+            //鐢熸垚鏍煎瓙鍧愭爣
+            var listPoint = new List<int>();
+            for (int i = 0; i < 9; i++)
+            {
+                listPoint.Add(firstPoint + (width + space) * i);
+            }
+
+            //寮�鍚繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉绾跨▼
+            var btnRound = new PicViewControl(width, width, false);
+            btnRound.Radius = (uint)width / 2;
+            btnRound.BackgroundColor = UserCenterColor.Current.ConcetionRoundColor;
+            btnRound.Y = Application.GetMinRealAverage(135);
+            btnRound.X = listPoint[0];
+            btnGwImage.AddChidren(btnRound);
+
+            string strMsg = btnMsg.Text;
+            HdlThreadLogic.Current.RunThread(() =>
+            {
+                //娓呯┖鍏ㄩ儴鍒楄〃
+                HdlGatewayLogic.Current.ClearAllRealGateway();
+                ZigBee.Common.Application.IsSearchingGateway = true;
+
+                int index = 1;
+                //璁℃椂鏃堕棿
+                int timeCount = 0;
+                //瓒呮椂鏃堕棿
+                int timeOut = 120;
+                while (btnGwImage.Parent != null)
+                {
+                    timeCount++;
+                    if (timeCount == 10)
+                    {
+                        //5绉掑悗娓呯┖缃戝叧鍒楄〃
+                        HdlGatewayLogic.Current.ClearAllRealGateway();
+                        ZigBee.Common.Application.IsSearchingGateway = true;
+                    }
+                    if (timeCount % 4 == 0 && timeCount >= 10)
+                    {
+                        lock (isGatewayChecking)
+                        {
+                            if (isGatewayChecking != "1")
+                            {
+                                isGatewayChecking = "1";
+                                HdlThreadLogic.Current.RunThread(async () =>
+                                {
+                                    //姣�2绉掓娴嬫悳绱㈠埌鐨勭綉鍏�
+                                    await this.CheckZbGatewayAndSetRow();
+                                    lock (isGatewayChecking)
+                                    {
+                                        isGatewayChecking = "0";
+                                    }
+                                });
+                            }
+                        }
+                    }
+                    if (timeCount % 2 == 0)
+                    {
+                        timeOut--;
+                    }
+                    if (this.newGatewayGetting == true || timeOut <= 0)
+                    {
+                        //鑾峰彇寰楀埌鏂扮綉鍏�,鍒欎腑鏂嚎绋�
+                        break;
+                    }
+
+                    Application.RunOnMainThread(() =>
+                    {
+                        btnRound.X = listPoint[index];
+                        index++;
+                        if (index == listPoint.Count)
+                        {
+                            index = 0;
+                        }
+                        //姝e湪鎼滅储缃戝叧鈥Xs
+                        btnMsg.Text = strMsg + timeOut + "s";
+                    });
+
+                    System.Threading.Thread.Sleep(500);
+                }
+                if (timeOut <= 0)
+                {
+                    HdlThreadLogic.Current.RunMain(() =>
+                    {
+                        //鍒濆鍖栧け璐ユā寮忕殑涓儴鎺т欢
+                        this.InitFailMiddleFrame();
+                    });
+                }
+                else if (newGatewayGetting == true)
+                {
+                    HdlThreadLogic.Current.RunMain(() =>
+                    {
+                        if (this.Parent != null)
+                        {
+                            var form = new GatewayManage.GatewaySearchListForm();
+                            this.AddFromAndRemoveNowForm(form, listZbGateway, dicZbGatewayDiv);
+                        }
+                    });
+                }
+            });
+        }
+
+        #endregion
+
+        #region 鈻� 缃戝叧妫�娴媉__________________________
+
+        /// <summary>
+        /// 妫�娴嬫悳绱㈠埌鐨勭綉鍏�
+        /// </summary>
+        private async Task<bool> CheckZbGatewayAndSetRow()
+        {
+            var listCheck = new HashSet<string>();
+            for (int i = 0; i < ZbGateway.GateWayList.Count; i++)
+            {
+                var way = ZbGateway.GateWayList[i];
+                var wayId = HdlGatewayLogic.Current.GetGatewayId(way);
+                if (dicZbGatewayDiv.ContainsKey(wayId) == true)
+                {
+                    //宸茬粡澶勭悊浜�
+                    continue;
+                }
+
+                //缃戝叧缁戝畾妯″紡
+                GatewayBindMode mode = GatewayBindMode.BindAgain;
+                //濡傛灉鏄涓�娆$粦瀹�,鎴栬�呮槸浠ュ墠宸茬粡缁戝畾杩囦簡鐨�
+                if (HdlGatewayLogic.Current.HomeIdIsEmpty(way) == true
+                    || way.getGatewayBaseInfo.HomeId == Common.Config.Instance.HomeId)
+                {
+                    if (way.getGatewayBaseInfo.HomeId != Common.Config.Instance.HomeId)
+                    {
+                        //绗竴娆$粦瀹�,涔熷氨鏄綉鍏充綇瀹匢D涓虹┖
+                        mode = GatewayBindMode.First;
+                    }
+                    else
+                    {
+                        //宸茬粡缁戝畾杩囦簡
+                        mode = GatewayBindMode.Binded;
+                    }
+                    //娣诲姞鎼滅储鍒扮殑缃戝叧鍒扮紦瀛�(鎵ц缃戝叧淇濆瓨鎿嶄綔)
+                    var result = await HdlGatewayLogic.Current.AddNewGateway(way, ShowErrorMode.NO);
+                    if (result == false)
+                    {
+                        continue;
+                    }
+                }
+                //鏀堕泦缃戝叧瀵硅薄
+                this.listZbGateway.Add(way);
+
+                //鍏ㄩ儴澶勭悊OK鍚庯紝鎵嶈兘璁剧疆flage
+                if (mode == GatewayBindMode.First)
+                {
+                    //绗竴娆$粦瀹�
+                    this.dicZbGatewayDiv[wayId] = 0;
+                    //鑾峰彇鍒颁簡鏂扮綉鍏�
+                    this.newGatewayGetting = true;
+                }
+                else if (mode == GatewayBindMode.Binded)
+                {
+                    //宸茬粡缁戝畾杩�
+                    this.dicZbGatewayDiv[wayId] = 1;
+                }
+                else
+                {
+                    //闇�瑕侀噸鏂扮粦瀹�
+                    this.dicZbGatewayDiv[wayId] = 2;
+                }
+
+                if (mode == GatewayBindMode.First)
+                {
+                    //鎴戣寰楄繖閲岄渶瑕佽幏鍙栦竴涓嬫柊缃戝叧鐨勮澶囧垪琛�
+                    Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(way);
+                }
+            }
+            return true;
+        }
+
+        #endregion
+
+        #region 鈻� 鐣岄潰鍏抽棴___________________________
+
+        /// <summary>
+        /// 鐣岄潰鍏抽棴
+        /// </summary>
+        public override void CloseForm()
+        {
+            ZigBee.Common.Application.IsSearchingGateway = false;
+            //鍋滄Wi-Fi閰嶇綉
+            HdlWifiLogic.Current.StopSmartConnection();
+
+            if (UserCenterResourse.listActionFormId.Contains("UserMainForm") == false)
+            {
+                //鍒锋柊涓婚〉
+                UserView.UserPage.Instance.Fresh();
+            }
+            base.CloseForm();
+        }
+
+        #endregion
+    }
+}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSelectNetworkForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSelectNetworkForm.cs
new file mode 100755
index 0000000..1c4d446
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSelectNetworkForm.cs
@@ -0,0 +1,115 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter.GatewayAdd
+{
+    public class WirelessApSelectNetworkForm : EditorCommonForm
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        public void ShowForm()
+        {
+            //璁剧疆澶撮儴淇℃伅
+            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway));
+
+            //鍒濆鍖栦腑閮ㄤ俊鎭�
+            this.InitMiddleFrame();
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+        /// </summary>
+        private void InitMiddleFrame()
+        {
+            bodyFrameLayout.RemoveAll();
+
+            var frameBack = new FrameLayout();
+            frameBack.Height = Application.GetRealHeight(409);
+            frameBack.BackgroundColor = UserCenterColor.Current.White;
+            bodyFrameLayout.AddChidren(frameBack);
+
+            //璇烽�夋嫨缃戠粶
+            var btnTitle = new NormalViewControl(600, 64, true);
+            btnTitle.X = ControlCommonResourse.XXLeft;
+            btnTitle.Y = Application.GetRealHeight(30);
+            btnTitle.TextSize = 15;
+            btnTitle.TextID = R.MyInternationalizationString.uPleaseSelectNetwork;
+            frameBack.AddChidren(btnTitle);
+
+            //WIFI
+            var rowWifi = new FrameCaptionInputControl("WiFi", string.Empty);
+            rowWifi.Y = Application.GetRealHeight(124);
+            frameBack.AddChidren(rowWifi);
+            rowWifi.InitControl();
+            rowWifi.AddBottomLine();
+            rowWifi.txtInput.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputHomeWifiAccount);
+
+            //瀵嗙爜
+            var btnPsw = new FrameCaptionInputControl(Language.StringByID(R.MyInternationalizationString.uPassword), string.Empty);
+            btnPsw.Y = rowWifi.Bottom + Application.GetRealHeight(9);
+            frameBack.AddChidren(btnPsw);
+            btnPsw.InitControl();
+            btnPsw.txtInput.SecureTextEntry = true;
+            btnPsw.txtInput.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputWifiPassword);
+            var btnView = btnPsw.AddMostRightEmptyIcon(81, 81);
+            btnView.UnSelectedImagePath = "Item/HidenPWD.png";
+            btnView.SelectedImagePath = "Item/UnHidenPWD.png";
+            btnPsw.ChangedChidrenBindMode(btnView, ChidrenBindMode.NotBind);
+            btnView.ButtonClickEvent += (sender, e) =>
+            {
+                btnView.IsSelected = !btnView.IsSelected;
+                btnPsw.txtInput.SecureTextEntry = !btnPsw.txtInput.SecureTextEntry;
+            };
+
+            var btnMsg = new NormalViewControl(btnPsw.txtInput.Width, false);
+            btnMsg.X = ControlCommonResourse.XXLeft;
+            btnMsg.Y = frameBack.Bottom + Application.GetRealHeight(23);
+            btnMsg.TextSize = 12;
+            btnMsg.Height = Application.GetRealHeight(40);
+            btnMsg.TextColor = UserCenterColor.Current.Red;
+            bodyFrameLayout.AddChidren(btnMsg);
+
+            //鏌ョ湅甯姪
+            var btnHelp = this.AddHelpControl();
+            btnHelp.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new DeviceDirection.DeviceDirectionHelpForm();
+                form.AddForm("WirelessUdp");
+            };
+
+            //涓嬩竴姝�
+            var btnNext = new BottomClickButton();
+            btnNext.TextID = R.MyInternationalizationString.uNextway;
+            bodyFrameLayout.AddChidren(btnNext);
+
+            btnNext.MouseUpEventHandler += (sender, e) =>
+            {
+                btnMsg.Text = string.Empty;
+                if (rowWifi.Text == string.Empty)
+                {
+                    //璇疯緭鍏ュ搴璚IFI璐﹀彿
+                    btnMsg.Text = Language.StringByID(R.MyInternationalizationString.uPleaseInputHomeWifiAccount);
+                    return;
+                }
+                if (btnPsw.Text == string.Empty)
+                {
+                    //璇疯緭鍏ifi瀵嗙爜
+                    btnMsg.Text = Language.StringByID(R.MyInternationalizationString.uPleaseInputWifiPassword);
+                    return;
+                }
+                var form = new WirelessApDirection3Form();
+                this.AddFromAndRemoveNowForm(form);
+            };
+        }
+
+        #endregion
+    }
+}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGatewaySearchForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGatewaySearchForm.cs
deleted file mode 100755
index 943dab1..0000000
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGatewaySearchForm.cs
+++ /dev/null
@@ -1,345 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Text;
-using System.Threading.Tasks;
-using ZigBee.Device;
-
-namespace Shared.Phone.UserCenter.GatewayAdd
-{
-    /// <summary>
-    /// 鎼滅储鏃犵嚎缃戝叧鐨勭晫闈�
-    /// </summary>
-    public class WirelessGatewaySearchForm : EditorCommonForm
-    {
-        #region 鈻� 鍙橀噺澹版槑___________________________
-
-        /// <summary>
-        /// 鍔ㄧ敾绾跨▼
-        /// </summary>
-        private bool animateThread = false;
-        /// <summary>
-        /// 瓒呮椂鏃堕棿(500姣姣忓崟浣�)
-        /// </summary>
-        private int timeOut = 360;
-
-        #endregion
-
-        #region 鈻� 鍒濆鍖朹____________________________
-
-        /// <summary>
-        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
-        /// </summary>
-        public void ShowForm()
-        {
-            //璁剧疆鏍囬淇℃伅
-            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway));
-
-            //鍒濆鍖栦腑閮ㄦ帶浠�
-            this.InitMiddleFrame();
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栦腑閮ㄦ帶浠�
-        /// </summary>
-        private void InitMiddleFrame()
-        {
-            //鍥炬爣
-            var btnGwImage = new PicViewControl(248, 230, true);
-            btnGwImage.X = Application.GetRealWidth(107);
-            btnGwImage.Y = Application.GetRealHeight(507);
-            btnGwImage.UnSelectedImagePath = "Gateway/WirelessGatewayImage.png";
-            bodyFrameLayout.AddChidren(btnGwImage);
-
-            //鍥炬爣
-            var btnPhoneImage = new PicViewControl(236, 478, true);
-            btnPhoneImage.X = Application.GetRealWidth(737);
-            btnPhoneImage.Y = Application.GetRealHeight(438);
-            btnPhoneImage.UnSelectedImagePath = "Gateway/PhoneImage.png";
-            bodyFrameLayout.AddChidren(btnPhoneImage);
-
-            //鏅鸿兘缃戝叧姝e湪閰嶇疆缃戠粶涓�
-            var btnMsg1 = new NormalViewControl(bodyFrameLayout.Width, false);
-            btnMsg1.TextID = R.MyInternationalizationString.uGatewaySearching;
-            btnMsg1.Y = Application.GetRealHeight(1036);
-            btnMsg1.TextAlignment = TextAlignment.Center;
-            bodyFrameLayout.AddChidren(btnMsg1);
-            //璇风◢鍊欌��
-            var btnMsg2 = new NormalViewControl(bodyFrameLayout.Width, false);
-            btnMsg2.TextID = R.MyInternationalizationString.uPleaseWait;
-            btnMsg2.TextAlignment = TextAlignment.Center;
-            btnMsg2.Y = btnMsg1.Bottom;
-            bodyFrameLayout.AddChidren(btnMsg2);
-
-            //鍒濆鍖栬繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉
-            this.InitConcetionAnimete();
-        }
-
-        #endregion
-
-        #region 鈻� 鍋囨兂鍔ㄧ敾___________________________
-
-        /// <summary>
-        /// 鍒濆鍖栬繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉
-        /// </summary>
-        private void InitConcetionAnimete()
-        {
-            var frame = new FrameLayout();
-            frame.Width = Application.GetRealWidth(294);
-            frame.Height = Application.GetRealHeight(30);
-            frame.X = Application.GetRealWidth(403);
-            frame.Y = Application.GetRealHeight(650 + 30 / 2);
-            bodyFrameLayout.AddChidren(frame);
-
-            //涓�鏍肩殑瀹藉害
-            int width = Application.GetRealWidth(22);
-            //闂磋窛澶у皬
-            int space = Application.GetRealWidth(9);
-
-            //棣栨牸鍙槸鍗婃牸
-            var btnFirstPoint = new NormalViewControl(width / 2, 3, false);
-            btnFirstPoint.Gravity = Gravity.CenterVertical;
-            btnFirstPoint.BackgroundColor = UserCenterColor.Current.ButtomLine;
-            frame.AddChidren(btnFirstPoint);
-
-            NormalViewControl btnTemp = btnFirstPoint;
-            //鐢熸垚鏍煎瓙
-            var listPoint = new List<int>();
-            for (int i = 0; i < 8; i++)
-            {
-                var btnPoint = new NormalViewControl(width, 3, false);
-                btnPoint.BackgroundColor = UserCenterColor.Current.ButtomLine;
-                btnPoint.Gravity = Gravity.CenterVertical;
-                btnPoint.X = btnTemp.Right + space;
-                frame.AddChidren(btnPoint);
-
-                listPoint.Add(btnPoint.X);
-                btnTemp = btnPoint;
-            }
-
-            //灏炬牸鍙槸鍗婃牸
-            var btnLastPoint = new NormalViewControl(width / 2, 3, false);
-            btnLastPoint.Gravity = Gravity.CenterVertical;
-            btnLastPoint.X = btnTemp.Right + space;
-            btnLastPoint.BackgroundColor = UserCenterColor.Current.ButtomLine;
-            frame.AddChidren(btnLastPoint);
-
-            btnTemp = null;
-
-            //寮�鍚繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉绾跨▼
-            this.StartConcetionAnimeteThread(frame, listPoint, width);
-        }
-
-        /// <summary>
-        /// 寮�鍚繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉绾跨▼
-        /// </summary>
-        /// <param name="frame"></param>
-        /// <param name="listPoint"></param>
-        /// <param name="roundWidth"></param>
-        private void StartConcetionAnimeteThread(FrameLayout frame, List<int> listPoint, int roundWidth)
-        {
-            var btnRound = new PicViewControl(roundWidth, roundWidth, false);
-            btnRound.Radius = (uint)roundWidth / 2;
-            btnRound.Gravity = Gravity.CenterVertical;
-            btnRound.BackgroundColor = UserCenterColor.Current.ConcetionRoundColor;
-            btnRound.X = listPoint[0];
-            frame.AddChidren(btnRound);
-
-            animateThread = true;
-            HdlThreadLogic.Current.RunThread(() =>
-            {
-                int index = 1;
-                int timeCount = 0;
-                while (animateThread == true && this.Parent != null)
-                {
-                    System.Threading.Thread.Sleep(500);
-                    timeOut--;
-                    if (timeCount == 10)
-                    {
-                        //5绉掑悗娓呯┖缃戝叧鍒楄〃
-                        HdlGatewayLogic.Current.ClearAllRealGateway();
-                        ZigBee.Common.Application.IsSearchingGateway = true;
-                        //妫�娴嬫悳绱㈠埌鐨勭綉鍏�
-                        this.CheckZbGatewayAndSetRow();
-                    }
-                    timeCount++;
-
-                    Application.RunOnMainThread(() =>
-                    {
-                        if (btnRound != null)
-                        {
-                            btnRound.X = listPoint[index];
-                            index++;
-                            if (index == listPoint.Count)
-                            {
-                                index = 0;
-                            }
-                        }
-                    });
-                }
-            });
-        }
-
-        #endregion
-
-        #region 鈻� 缃戝叧妫�娴媉__________________________
-
-        /// <summary>
-        /// 妫�娴嬫悳绱㈠埌鐨勭綉鍏�
-        /// </summary>
-        private void CheckZbGatewayAndSetRow()
-        {
-            HdlThreadLogic.Current.RunThread(async () =>
-            {
-                while (animateThread == true && this.Parent != null)
-                {
-                    await Task.Delay(1000);
-                    if (timeOut < 0)
-                    {
-                        this.animateThread = false;
-                        //鍏堥殢渚夸贡鍐欑偣涓滆タ濂戒簡
-                        string msg = "娌℃湁鍙戠幇缃戝叧,寤鸿浣跨敤XXX閾炬帴鏂瑰紡";
-                        this.ShowMassage(ShowMsgType.Tip, msg);
-                        break;
-                    }
-
-                    var listCheck = new HashSet<string>();
-                    for (int i = 0; i < ZbGateway.GateWayList.Count; i++)
-                    {
-                        var realWay = ZbGateway.GateWayList[i];
-                        string gwId = HdlGatewayLogic.Current.GetGatewayId(realWay);
-
-                        if (listCheck.Contains(gwId) == true
-                            || HdlGatewayLogic.Current.IsGatewayExist(realWay) == true
-                            || HdlGatewayLogic.Current.GetGatewayBaseInfoAttribute(realWay, "IpAddress").ToString() == string.Empty)
-                        {
-                            //濡傛灉澶勭悊鎴愬姛浜嗭紝鍒欎笉鍐嶅鐞�
-                            //鏈湴濡傛灉宸茬粡鏈夎繖涓綉鍏充簡锛屽垯涓嶅啀澶勭悊
-                            //IP娌℃湁鐨勭綉鍏筹紝鎴戜篃涓嶇煡閬撳畠鏄共鍢涚殑
-                            continue;
-                        }
-                        //缃戝叧缁戝畾妯″紡
-                        var mode = GatewayBindMode.BindAgain;
-                        if (realWay.getGatewayBaseInfo.HomeId == Common.Config.Instance.HomeId)
-                        {
-                            //宸茬粡缁戝畾杩囦簡
-                            mode = GatewayBindMode.Binded;
-                        }
-                        else if (HdlGatewayLogic.Current.HomeIdIsEmpty(realWay) == true)
-                        {
-                            //绗竴娆$粦瀹�,涔熷氨鏄綉鍏充綇瀹匢D涓虹┖
-                            mode = GatewayBindMode.First;
-                        }
-                        if (mode != GatewayBindMode.Binded)
-                        {
-                            //鍙戠幇鏂扮綉鍏�,姝e湪澶勭悊涓�,璇风◢鍚�
-                            string msg = Language.StringByID(R.MyInternationalizationString.uFindNewGatewayPleaseWaitToBinding);
-                            this.ShowProgressBar(msg);
-                        }
-                        //鎵ц缁戝畾缃戝叧鎿嶄綔(鏃犳潯浠剁洿鎺ョ粦瀹氾紝鍝�曟槸浣忓畢ID涓嶄竴鏍�)
-                        var result = await this.DoSaveGateway(realWay, ShowErrorMode.YES, mode);
-                        if (mode != GatewayBindMode.Binded)
-                        {
-                            //鍏抽棴杩涘害鏉�
-                            this.CloseProgressBar();
-                        }
-                        //铏界劧鍑洪敊浜嗭紝浣嗘槸鍙互鏃犻檺澶勭悊
-                        if (result == -1) { continue; }
-                        //璁板綍澶勭悊鎴愬姛鐨勭綉鍏�
-                        listCheck.Add(gwId);
-
-                        //缃戝叧缁戝畾鍦ㄥ綋鍓嶈处鍙蜂笅鐨勫叾浠栦綇瀹呴噷\r\n璇疯В闄ょ粦瀹氬悗鍐嶈瘯(IP鍦板潃)
-                        if (result == 0) { continue; }
-                        //鎴戣寰楄繖閲岄渶瑕佽幏鍙栦竴涓嬫柊缃戝叧鐨勮澶囧垪琛�
-                        Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(realWay);
-
-                        Application.RunOnMainThread(() =>
-                        {
-                            if (this.Parent != null)
-                            {
-                                //鎼滅储寰楀埌鏃犵嚎缃戝叧
-                                if (mode != GatewayBindMode.Binded)
-                                {
-                                    //var form = new GatewayInfoAddForm();
-                                    //this.AddFromAndRemoveNowForm(form, realWay);
-                                }
-                            }
-                        });
-                        //鎼滅储寰楀埌鏃犵嚎缃戝叧,鍒欎腑鏂嚎绋�
-                        if (mode != GatewayBindMode.Binded)
-                        {
-                            this.animateThread = false;
-                            return;
-                        }
-                    }
-                }
-            });
-        }
-
-        #endregion
-
-        #region 鈻� 鎵ц缃戝叧淇濆瓨_______________________
-
-        /// <summary>
-        /// 鎵ц缃戝叧淇濆瓨(1:姝e父  -1:寮傚父  0:褰撳墠鐨勭綉鍏崇粦瀹氬湪浜嗗綋鍓嶈处鍙蜂笅鐨勪笉鍚屼綇瀹呴噷闈�)
-        /// </summary>
-        /// <param name="zbGateway">缃戝叧瀵硅薄</param>
-        /// <param name="mode">鏄惁鏄剧ず閿欒</param>
-        /// <param name="bindMode">缁戝畾鏂瑰紡</param>
-        /// <returns></returns>
-        private async Task<int> DoSaveGateway(ZbGateway zbGateway, ShowErrorMode mode, GatewayBindMode bindMode)
-        {
-            //娣诲姞鎼滅储鍒扮殑缃戝叧鍒扮紦瀛�
-            //1:姝e父  -1:寮傚父  0:褰撳墠鐨勭綉鍏崇粦瀹氬湪浜嗗綋鍓嶈处鍙蜂笅鐨勪笉鍚屼綇瀹呴噷闈�
-            int result = 0;
-            if (bindMode == GatewayBindMode.BindAgain)
-            {
-                result = await HdlGatewayLogic.Current.ReBindNewGateway(zbGateway);
-            }
-            else
-            {
-                result = await HdlGatewayLogic.Current.AddNewGateway(zbGateway, mode);
-            }
-            if (result == -1)
-            {
-                return result;
-            }
-
-            //鍓嶇殑缃戝叧缁戝畾鍦ㄤ簡褰撳墠璐﹀彿涓嬬殑涓嶅悓浣忓畢閲岄潰
-            if (result == 0)
-            {
-                //缃戝叧缁戝畾鍦ㄥ綋鍓嶈处鍙蜂笅鐨勫叾浠栦綇瀹呴噷\r\n璇疯В闄ょ粦瀹氬悗鍐嶈瘯(IP鍦板潃)
-                string msg = Language.StringByID(R.MyInternationalizationString.uTheGatewayInOtherResidenceMsg);
-                if (msg.Contains("{0}") == true)
-                {
-                    msg = string.Format(msg, "\r\n") + "(" + HdlGatewayLogic.Current.GetGatewayBaseInfoAttribute(zbGateway, "IpAddress").ToString() + ")";
-                }
-                this.ShowMassage(ShowMsgType.Tip, msg);
-            }
-            return result;
-        }
-
-        #endregion
-
-        #region 鈻� 鐣岄潰鍏抽棴___________________________
-
-        /// <summary>
-        /// 鐣岄潰鍏抽棴
-        /// </summary>
-        public override void CloseForm()
-        {
-            this.animateThread = false;
-            ZigBee.Common.Application.IsSearchingGateway = false;
-            //鍋滄Wi-Fi閰嶇綉
-            //Com.Mediatek.Elian.ElianNative.StopSmartConnection();
-
-            if (UserCenterResourse.listActionFormId.Contains("GatewayManagementForm") == false)
-            {
-                //鍒锋柊涓婚〉
-                UserView.UserPage.Instance.Fresh();
-            }
-            base.CloseForm();
-        }
-
-        #endregion
-    }
-}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwAddDirectionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwAddDirectionForm.cs
deleted file mode 100755
index cbe8758..0000000
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwAddDirectionForm.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Shared.Phone.UserCenter.GatewayAdd
-{
-    /// <summary>
-    /// 娣诲姞鏃犵嚎缃戝叧鐨勬寚绀哄浘鐢婚潰
-    /// </summary>
-    public class WirelessGwAddDirectionForm : EditorCommonForm
-    {
-        #region 鈻� 鍙橀噺澹版槑___________________________
-
-        #endregion
-
-        #region 鈻� 鍒濆鍖朹____________________________
-
-        /// <summary>
-        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
-        /// </summary>
-        public void ShowForm()
-        {
-            //璁剧疆鏍囬淇℃伅
-            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway));
-
-            //鍒濆鍖栦腑閮ㄦ帶浠�
-            this.InitMiddleFrame();
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栦腑閮ㄦ帶浠�
-        /// </summary>
-        private void InitMiddleFrame()
-        {
-            //鍥炬爣
-            var btnimage = new PicViewControl(766, 691, true);
-            btnimage.Y = Application.GetRealHeight(265);
-            btnimage.Gravity = Gravity.CenterHorizontal;
-            btnimage.UnSelectedImagePath = "Gateway/WirelessGatewayInstruct.png";
-            bodyFrameLayout.AddChidren(btnimage);
-
-            //璇风‘淇濇墜鏈哄凡缁忛摼鎺IFI
-            var btnMsg1 = new NormalViewControl(bodyFrameLayout.Width, false);
-            btnMsg1.TextID = R.MyInternationalizationString.uWirelessGatewayDirection1;
-            btnMsg1.Y = btnimage.Bottom + Application.GetRealHeight(100);
-            btnMsg1.TextAlignment = TextAlignment.Center;
-            bodyFrameLayout.AddChidren(btnMsg1);
-
-            //鍘昏缃�
-            var btnNext = new BottomClickButton();
-            btnNext.TextID = R.MyInternationalizationString.uGotoSettion;
-            bodyFrameLayout.AddChidren(btnNext);
-
-            btnNext.MouseUpEventHandler += (sender, e) =>
-            {
-                var form = new WirelessGwSelectNetworkForm();
-                base.AddFromAndRemoveNowForm(form);
-            };
-        }
-
-        #endregion
-
-        #region 鈻� 涓�鑸柟娉昣__________________________
-
-        #endregion
-    }
-}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwClickButtonForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwClickButtonForm.cs
deleted file mode 100755
index d22fca6..0000000
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwClickButtonForm.cs
+++ /dev/null
@@ -1,94 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Shared.Phone.UserCenter.GatewayAdd
-{
-    /// <summary>
-    /// 鏃犵嚎缃戝叧鎸変笅鎸夐挳鐣岄潰
-    /// </summary>
-    public class WirelessGwClickButtonForm : EditorCommonForm
-    {
-        #region 鈻� 鍙橀噺澹版槑___________________________
-
-        /// <summary>
-        /// 鍋滄杩炴帴
-        /// </summary>
-        private bool stopConnection = true;
-
-        #endregion
-
-        #region 鈻� 鍒濆鍖朹____________________________
-
-        /// <summary>
-        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
-        /// </summary>
-        public void ShowForm()
-        {
-            //璁剧疆鏍囬淇℃伅
-            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway));
-
-            //鍒濆鍖栦腑閮ㄦ帶浠�
-            this.InitMiddleFrame();
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栦腑閮ㄦ帶浠�
-        /// </summary>
-        private void InitMiddleFrame()
-        {
-            //鍥炬爣
-            var btnimage = new PicViewControl(403, 371, true);
-            btnimage.Y = Application.GetRealHeight(386);
-            btnimage.Gravity = Gravity.CenterHorizontal;
-            btnimage.UnSelectedImagePath = "Gateway/WirelessGatewayImage.png";
-            bodyFrameLayout.AddChidren(btnimage);
-
-            //璇风偣鎸夋棤绾跨綉鍏充笂鐨刋X閿�
-            var btnMsg1 = new NormalViewControl(bodyFrameLayout.Width, false);
-            btnMsg1.TextID = R.MyInternationalizationString.uWirelessGatewayButtonClick1;
-            btnMsg1.Y = btnimage.Bottom + Application.GetRealHeight(213);
-            btnMsg1.TextAlignment = TextAlignment.Center;
-            bodyFrameLayout.AddChidren(btnMsg1);
-            //浣跨綉鍏宠繘鍏ラ厤缃戠姸鎬�
-            var btnMsg2 = new NormalViewControl(bodyFrameLayout.Width, false);
-            btnMsg2.TextID = R.MyInternationalizationString.uWirelessGatewayButtonClick2;
-            btnMsg2.TextAlignment = TextAlignment.Center;
-            btnMsg2.Y = btnMsg1.Bottom;
-            bodyFrameLayout.AddChidren(btnMsg2);
-
-            //涓嬩竴姝�
-            var btnNext = new BottomClickButton();
-            btnNext.TextID = R.MyInternationalizationString.uNextway;
-            bodyFrameLayout.AddChidren(btnNext);
-
-            btnNext.MouseUpEventHandler += (sender, e) =>
-            {
-                //涓嶄腑鏂繛鎺�
-                this.stopConnection = false;
-
-                var form = new WirelessGatewaySearchForm();
-                this.AddFromAndRemoveNowForm(form);
-            };
-        }
-
-        #endregion
-
-        #region 鈻� 鐣岄潰鍏抽棴___________________________
-
-        /// <summary>
-        /// 鐣岄潰鍏抽棴
-        /// </summary>
-        public override void CloseForm()
-        {
-            if (stopConnection == true)
-            {
-                //鍋滄Wi-Fi閰嶇綉
-                //Com.Mediatek.Elian.ElianNative.StopSmartConnection();
-            }
-            base.CloseForm();
-        }
-
-        #endregion
-    }
-}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwSelectNetworkForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwSelectNetworkForm.cs
deleted file mode 100755
index 6c358e2..0000000
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwSelectNetworkForm.cs
+++ /dev/null
@@ -1,104 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Shared.Phone.UserCenter.GatewayAdd
-{
-    /// <summary>
-    /// 娣诲姞鏃犵嚎缃戝叧閫夋嫨缃戠粶鐨勭晫闈�
-    /// </summary>
-    public class WirelessGwSelectNetworkForm : EditorCommonForm
-    {
-        #region 鈻� 鍙橀噺澹版槑___________________________
-
-        #endregion
-
-        #region 鈻� 鍒濆鍖朹____________________________
-
-        /// <summary>
-        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
-        /// </summary>
-        public void ShowForm()
-        {
-            //璁剧疆澶撮儴淇℃伅
-            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway));
-
-            //鍒濆鍖栦腑閮ㄤ俊鎭�
-            this.InitMiddleFrame();
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
-        /// </summary>
-        private void InitMiddleFrame()
-        {
-            bodyFrameLayout.RemoveAll();
-
-            //璇烽�夋嫨缃戠粶
-            var btnTitle = new DetailTitleControl(800, 141, true);
-            btnTitle.TextID = R.MyInternationalizationString.uPleaseSelectNetwork;
-            bodyFrameLayout.AddChidren(btnTitle);
-
-            var frame = new FrameLayout();
-            frame.Y = btnTitle.Bottom;
-            frame.Height = ControlCommonResourse.ListViewRowHeight * 2;
-            frame.Width = bodyFrameLayout.Width;
-            frame.BackgroundColor = UserCenterColor.Current.White;
-            bodyFrameLayout.AddChidren(frame);
-
-            //鍚嶇О
-            string ssiD = Shared.WiimuUPnP.SSID;
-            if (string.IsNullOrEmpty(ssiD) == false && ssiD.StartsWith("\"") && ssiD.EndsWith("\""))
-            {
-                ssiD = ssiD.Substring(1, ssiD.Length - 2);
-            }
-            var btnName = new FrameCaptionViewControl("", ssiD);
-            frame.AddChidren(btnName);
-            btnName.InitControl();
-            btnName.AddBottomLine();
-
-            //瀵嗙爜
-            var btnPsw = new FrameCaptionInputControl("", string.Empty);
-            btnPsw.Y = btnName.Bottom;
-            frame.AddChidren(btnPsw);
-            btnPsw.InitControl();
-            btnPsw.Height = btnPsw.Height;
-            btnPsw.txtInput.SecureTextEntry = true;
-            btnPsw.txtInput.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputWifiPassword);
-
-            var btnMsg = new NormalViewControl(btnPsw.txtInput.Width, false);
-            btnMsg.X = btnPsw.txtInput.X;
-            btnMsg.Y = btnPsw.txtInput.Bottom - Application.GetRealHeight(10);
-            btnMsg.TextSize = 12;
-            btnMsg.Height = Application.GetRealHeight(40);
-            btnMsg.TextColor = UserCenterColor.Current.Red;
-            btnPsw.AddChidren(btnMsg);
-
-            //涓嬩竴姝�
-            var btnNext = new BottomClickButton();
-            btnNext.TextID = R.MyInternationalizationString.uNextway;
-            bodyFrameLayout.AddChidren(btnNext);
-
-            btnNext.MouseUpEventHandler += (sender, e) =>
-            {
-                btnMsg.Text = string.Empty;
-                if (btnPsw.Text == string.Empty)
-                {
-                    //璇疯緭鍏ョ綉缁滃瘑鐮�
-                    btnMsg.Text = Language.StringByID(R.MyInternationalizationString.uPleaseInputWifiPassword);
-                    return;
-                }
-
-                ////鍒濆鍖朩i-Fi杩炴帴
-                //Com.Mediatek.Elian.ElianNative.InitSmartConnection(1, 1);
-                ////寮�濮媁i-Fi杩炴帴
-                //var result = Com.Mediatek.Elian.ElianNative.StartSmartConnection(btnName.Text, btnPsw.Text, "1");
-
-                var form = new WirelessGwClickButtonForm();
-                this.AddFromAndRemoveNowForm(form);
-            };
-        }
-
-        #endregion
-    }
-}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpDirectionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpDirectionForm.cs
index 6b8ee67..ae7d7b3 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpDirectionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpDirectionForm.cs
@@ -81,7 +81,6 @@
                 var form = new DeviceDirection.DeviceDirectionHelpForm();
                 form.AddForm("WirelessUdp");
             };
-            bodyFrameLayout.AddChidren(btnHelp);
 
             //涓嬩竴姝�
             var btnNext = new BottomClickButton();
@@ -89,8 +88,8 @@
             bodyFrameLayout.AddChidren(btnNext);
             btnNext.ButtonClickEvent += (sender, e) =>
             {
-                var form = new Device.DeviceSearchForm();
-                form.AddForm(this.FormID);
+                var form = new WirelessUdpSelectNetworkForm();
+                this.AddFromAndRemoveNowForm(form);
             };
         }
 
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSearchForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSearchForm.cs
new file mode 100755
index 0000000..945ae81
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSearchForm.cs
@@ -0,0 +1,421 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using ZigBee.Device;
+
+namespace Shared.Phone.UserCenter.GatewayAdd
+{
+    /// <summary>
+    /// 鏃犵嚎缃戝叧UDP妯″紡鐨勬悳绱㈢晫闈�
+    /// </summary>
+    public class WirelessUdpSearchForm : EditorCommonForm
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// 鎼滅储鍒扮殑缃戝叧鍒楄〃
+        /// </summary>
+        private List<ZbGateway> listZbGateway = new List<ZbGateway>();
+        /// <summary>
+        /// 鎼滅储鍒扮殑缃戝叧绫诲埆  0:绗竴娆$粦瀹� 1:宸茬粡缁戝畾 2:闇�瑕佹崲缁�
+        /// </summary>
+        private Dictionary<string, int> dicZbGatewayDiv = new Dictionary<string, int>();
+        /// <summary>
+        /// 鑾峰彇寰楀埌浜嗘柊缃戝叧
+        /// </summary>
+        private bool newGatewayGetting = false;
+        /// <summary>
+        /// 缃戝叧妫�娴嬩腑
+        /// </summary>
+        private string isGatewayChecking = "0";
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        public void ShowForm()
+        {
+            //璁剧疆鏍囬淇℃伅
+            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway));
+
+            //鍒濆鍖栦腑閮ㄦ帶浠�
+            this.InitDefultMiddleFrame();
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄦ帶浠�
+        /// </summary>
+        private void InitDefultMiddleFrame()
+        {
+            //娓呯┖bodyFrame
+            this.ClearBodyFrame();
+
+            //闀挎寜缃戝叧HID/WCFG鎸夐敭20绉�
+            //绯荤粺鐏揩闂�60绉掑垯杩涘叆閰嶇綉鐘舵��
+            //绯荤粺鐏瘡绉掗棯鐑佷竴娆�
+            //鍒欒繛鎺ユ垚鍔�
+            string[] ArryMsg = Language.StringByID(R.MyInternationalizationString.uAddUdpWirelessGatewayMsg).Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries);
+            int yy = Application.GetRealHeight(1037);
+            foreach (var msg in ArryMsg)
+            {
+                var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false);
+                btnMsg.Text = msg;
+                btnMsg.Y = yy;
+                btnMsg.TextAlignment = TextAlignment.Center;
+                btnMsg.TextColor = UserCenterColor.Current.TextGrayColor1;
+                bodyFrameLayout.AddChidren(btnMsg);
+                yy = btnMsg.Bottom;
+            }
+
+            //鍒濆鍖栬繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉
+            this.InitConcetionAnimete();
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栧け璐ユā寮忕殑涓儴鎺т欢
+        /// </summary>
+        private void InitFailMiddleFrame()
+        {
+            //娓呯┖bodyFrame
+            this.ClearBodyFrame();
+
+            //鍥炬爣
+            var picGwImage = new FrameLayout();
+            picGwImage.Width = Application.GetMinRealAverage(852);
+            picGwImage.Height = Application.GetMinRealAverage(478);
+            picGwImage.Y = Application.GetRealWidth(158);
+            picGwImage.Gravity = Gravity.CenterHorizontal;
+            picGwImage.BackgroundImagePath = "Gateway/WirelessGatewaySearching.png";
+            bodyFrameLayout.AddChidren(picGwImage);
+            var btnFailIcon = new PicViewControl(66, 66);
+            btnFailIcon.UnSelectedImagePath = "Item/FailIcon.png";
+            btnFailIcon.Gravity = Gravity.CenterHorizontal;
+            btnFailIcon.Y = Application.GetMinRealAverage(200);
+            picGwImage.AddChidren(btnFailIcon);
+            //鎼滅储澶辫触
+            var btnFailView = new NormalViewControl(300, 60, true);
+            btnFailView.TextAlignment = TextAlignment.Center;
+            btnFailView.Y = Application.GetMinRealAverage(305);
+            btnFailView.Gravity = Gravity.CenterHorizontal;
+            btnFailView.TextColor = UserCenterColor.Current.TextGrayColor3;
+            btnFailView.TextID = R.MyInternationalizationString.uSearchFail;
+            picGwImage.AddChidren(btnFailView);
+
+            //瑙e喅鏂规硶锛屽彲閫夋嫨鎵ц浠ヤ笅浠绘剰涓�绉嶆柟寮忥細
+            var btnMsg1 = new NormalViewControl(930, 60, true);
+            btnMsg1.X = Application.GetRealWidth(75);
+            btnMsg1.Y = picGwImage.Bottom + Application.GetRealHeight(112);
+            btnMsg1.TextID = R.MyInternationalizationString.uSearchGatewayFailMsg1;
+            bodyFrameLayout.AddChidren(btnMsg1);
+            //1.闀挎寜ZB/RST閿�20绉掞紝缃戝叧鎭㈠鍑哄巶璁剧疆锛屾寚绀虹伅鍏ㄩ儴鐔勭伃鍚庯紝閲嶆柊鍏ョ綉銆�
+            var btnMsg2 = new NormalViewControl(930, 100, true);
+            btnMsg2.X = Application.GetRealWidth(75);
+            btnMsg2.Y = btnMsg1.Bottom + Application.GetRealHeight(35);
+            btnMsg2.Text = Language.StringByID(R.MyInternationalizationString.uSearchGatewayFailMsg2).Replace("{0}", "\r\n");
+            btnMsg2.TextSize = 12;
+            btnMsg2.TextColor = UserCenterColor.Current.TextGrayColor1;
+            btnMsg2.IsMoreLines = true;
+            bodyFrameLayout.AddChidren(btnMsg2);
+            //2.鐐规寜HID/WCFG閿紝杩涘叆缃戝叧鎹㈢粦妯″紡锛岀郴缁熸寚绀虹伅蹇棯5绉掋��
+            var btnMsg3 = new NormalViewControl(930, 100, true);
+            btnMsg3.X = Application.GetRealWidth(75);
+            btnMsg3.Y = btnMsg2.Bottom + Application.GetRealHeight(12);
+            btnMsg3.Text = Language.StringByID(R.MyInternationalizationString.uSearchGatewayFailMsg3).Replace("{0}", "\r\n");
+            btnMsg3.TextSize = 12;
+            btnMsg3.TextColor = UserCenterColor.Current.TextGrayColor1;
+            btnMsg3.IsMoreLines = true;
+            bodyFrameLayout.AddChidren(btnMsg3);
+            //3.璇烽噸璇曪紝閲嶆柊娣诲姞缃戝叧銆�
+            var btnMsg4 = new NormalViewControl(930, 50, true);
+            btnMsg4.X = Application.GetRealWidth(75);
+            btnMsg4.Y = btnMsg3.Bottom + Application.GetRealHeight(12);
+            btnMsg4.Text = Language.StringByID(R.MyInternationalizationString.uSearchGatewayFailMsg4);
+            btnMsg4.TextSize = 12;
+            btnMsg4.TextColor = UserCenterColor.Current.TextGrayColor1;
+            bodyFrameLayout.AddChidren(btnMsg4);
+            //4.杩斿洖缃戝叧绠$悊銆�
+            var btnMsg5 = new NormalViewControl(930, 50, true);
+            btnMsg5.X = Application.GetRealWidth(75);
+            btnMsg5.Y = btnMsg4.Bottom + Application.GetRealHeight(12);
+            btnMsg5.Text = Language.StringByID(R.MyInternationalizationString.uSearchGatewayFailMsg5);
+            btnMsg5.TextSize = 12;
+            btnMsg5.TextColor = UserCenterColor.Current.TextGrayColor1;
+            bodyFrameLayout.AddChidren(btnMsg5);
+
+            //閲嶈瘯
+            var frameback = new FrameLayoutControl();
+            frameback.UseClickStatu = false;
+            frameback.Y = Application.GetRealHeight(1259);
+            frameback.Gravity = Gravity.CenterHorizontal;
+            frameback.Width = Application.GetRealWidth(746);
+            frameback.Height = Application.GetRealHeight(184);
+            frameback.BackgroundImagePath = "Item/BottomButtonGround.png";
+            bodyFrameLayout.AddChidren(frameback);
+            var btnReDo = new NormalViewControl(300, 65, true);
+            btnReDo.TextColor = UserCenterColor.Current.White;
+            btnReDo.TextSize = 16;
+            btnReDo.Y = Application.GetRealHeight(49);
+            btnReDo.Gravity = Gravity.CenterHorizontal;
+            btnReDo.TextAlignment = TextAlignment.Center;
+            btnReDo.TextID = R.MyInternationalizationString.uReDoAgain;
+            frameback.AddChidren(btnReDo, ChidrenBindMode.BindEventOnly);
+            frameback.ButtonClickEvent += (sender, e) =>
+            {
+                //鍒濆鍖栧垵濮嬩腑閮ㄦ帶浠�
+                this.InitDefultMiddleFrame();
+            };
+
+            //杩斿洖缃戝叧绠$悊
+            var btnGoBack = new BottomClickButton(688);
+            btnGoBack.Y = Application.GetRealHeight(1495);
+            btnGoBack.TextID = R.MyInternationalizationString.uGobackGatewayManage;
+            if (UserCenterResourse.DicActionForm.ContainsKey("GatewayListForm") == false)
+            {
+                //杩斿洖涓婚〉
+                btnGoBack.TextID = R.MyInternationalizationString.uGobackToHomePage;
+            }
+            bodyFrameLayout.AddChidren(btnGoBack);
+            btnGoBack.ButtonClickEvent += (sender, e) =>
+            {
+                this.CloseForm();
+                //鍏抽棴鎸囧畾鐣岄潰
+                this.CloseFormByFormName("NewGateWayMenuSelectForm");
+            };
+        }
+
+        #endregion
+
+        #region 鈻� 鍋囨兂鍔ㄧ敾___________________________
+
+        /// <summary>
+        /// 鍒濆鍖栬繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉
+        /// </summary>
+        private void InitConcetionAnimete()
+        {
+            //鍥炬爣
+            var btnGwImage = new FrameLayout();
+            btnGwImage.Width = Application.GetMinRealAverage(852);
+            btnGwImage.Height = Application.GetMinRealAverage(478);
+            btnGwImage.Y = Application.GetRealHeight(193);
+            btnGwImage.Gravity = Gravity.CenterHorizontal;
+            btnGwImage.BackgroundImagePath = "Gateway/WirelessGatewaySearching.png";
+            bodyFrameLayout.AddChidren(btnGwImage);
+
+            //姝e湪鎼滅储缃戝叧鈥�
+            var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false);
+            btnMsg.TextID = R.MyInternationalizationString.uGatewaySearching;
+            btnMsg.Y = Application.GetRealHeight(821);
+            btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3;
+            btnMsg.TextAlignment = TextAlignment.Center;
+            bodyFrameLayout.AddChidren(btnMsg);
+
+            //棣栨牸鐨刋杞�
+            int firstPoint = Application.GetMinRealAverage(280);
+            //涓�鏍肩殑瀹藉害
+            int width = Application.GetMinRealAverage(22);
+            //闂磋窛澶у皬
+            int space = Application.GetMinRealAverage(12);
+
+            //鐢熸垚鏍煎瓙鍧愭爣
+            var listPoint = new List<int>();
+            for (int i = 0; i < 9; i++)
+            {
+                listPoint.Add(firstPoint + (width + space) * i);
+            }
+
+            //寮�鍚繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉绾跨▼
+            var btnRound = new PicViewControl(width, width, false);
+            btnRound.Radius = (uint)width / 2;
+            btnRound.BackgroundColor = UserCenterColor.Current.ConcetionRoundColor;
+            btnRound.Y = Application.GetMinRealAverage(225);
+            btnRound.X = listPoint[0];
+            btnGwImage.AddChidren(btnRound);
+
+            string strMsg = btnMsg.Text;
+            HdlThreadLogic.Current.RunThread(() =>
+            {
+                //娓呯┖鍏ㄩ儴鍒楄〃
+                HdlGatewayLogic.Current.ClearAllRealGateway();
+                ZigBee.Common.Application.IsSearchingGateway = true;
+
+                int index = 1;
+                //璁℃椂鏃堕棿
+                int timeCount = 0;
+                //瓒呮椂鏃堕棿
+                int timeOut = 120;
+                while (btnGwImage.Parent != null)
+                {
+                    timeCount++;
+                    if (timeCount == 10)
+                    {
+                        //5绉掑悗娓呯┖缃戝叧鍒楄〃
+                        HdlGatewayLogic.Current.ClearAllRealGateway();
+                        ZigBee.Common.Application.IsSearchingGateway = true;
+                    }
+                    if (timeCount % 4 == 0 && timeCount >= 10)
+                    {
+                        lock (isGatewayChecking)
+                        {
+                            if (isGatewayChecking != "1")
+                            {
+                                isGatewayChecking = "1";
+                                HdlThreadLogic.Current.RunThread(async () =>
+                                {
+                                    //姣�2绉掓娴嬫悳绱㈠埌鐨勭綉鍏�
+                                    await this.CheckZbGatewayAndSetRow();
+                                    lock (isGatewayChecking)
+                                    {
+                                        isGatewayChecking = "0";
+                                    }
+                                });
+                            }
+                        }
+                    }
+                    if (timeCount % 2 == 0)
+                    {
+                        timeOut--;
+                    }
+                    if (this.newGatewayGetting == true || timeOut <= 0)
+                    {
+                        //鑾峰彇寰楀埌鏂扮綉鍏�,鍒欎腑鏂嚎绋�
+                        break;
+                    }
+
+                    Application.RunOnMainThread(() =>
+                    {
+                        btnRound.X = listPoint[index];
+                        index++;
+                        if (index == listPoint.Count)
+                        {
+                            index = 0;
+                        }
+                        //姝e湪鎼滅储缃戝叧鈥Xs
+                        btnMsg.Text = strMsg + timeOut + "s";
+                    });
+
+                    System.Threading.Thread.Sleep(500);
+                }
+                if (timeOut <= 0)
+                {
+                    HdlThreadLogic.Current.RunMain(() =>
+                    {
+                        //鍒濆鍖栧け璐ユā寮忕殑涓儴鎺т欢
+                        this.InitFailMiddleFrame();
+                    });
+                }
+                else if (newGatewayGetting == true)
+                {
+                    HdlThreadLogic.Current.RunMain(() =>
+                    {
+                        if (this.Parent != null)
+                        {
+                            var form = new GatewayManage.GatewaySearchListForm();
+                            this.AddFromAndRemoveNowForm(form, listZbGateway, dicZbGatewayDiv);
+                        }
+                    });
+                }
+            });
+        }
+
+        #endregion
+
+        #region 鈻� 缃戝叧妫�娴媉__________________________
+
+        /// <summary>
+        /// 妫�娴嬫悳绱㈠埌鐨勭綉鍏�
+        /// </summary>
+        private async Task<bool> CheckZbGatewayAndSetRow()
+        {
+            var listCheck = new HashSet<string>();
+            for (int i = 0; i < ZbGateway.GateWayList.Count; i++)
+            {
+                var way = ZbGateway.GateWayList[i];
+                var wayId = HdlGatewayLogic.Current.GetGatewayId(way);
+                if (dicZbGatewayDiv.ContainsKey(wayId) == true)
+                {
+                    //宸茬粡澶勭悊浜�
+                    continue;
+                }
+
+                //缃戝叧缁戝畾妯″紡
+                GatewayBindMode mode = GatewayBindMode.BindAgain;
+                //濡傛灉鏄涓�娆$粦瀹�,鎴栬�呮槸浠ュ墠宸茬粡缁戝畾杩囦簡鐨�
+                if (HdlGatewayLogic.Current.HomeIdIsEmpty(way) == true
+                    || way.getGatewayBaseInfo.HomeId == Common.Config.Instance.HomeId)
+                {
+                    if (way.getGatewayBaseInfo.HomeId != Common.Config.Instance.HomeId)
+                    {
+                        //绗竴娆$粦瀹�,涔熷氨鏄綉鍏充綇瀹匢D涓虹┖
+                        mode = GatewayBindMode.First;
+                    }
+                    else
+                    {
+                        //宸茬粡缁戝畾杩囦簡
+                        mode = GatewayBindMode.Binded;
+                    }
+                    //娣诲姞鎼滅储鍒扮殑缃戝叧鍒扮紦瀛�(鎵ц缃戝叧淇濆瓨鎿嶄綔)
+                    var result = await HdlGatewayLogic.Current.AddNewGateway(way, ShowErrorMode.NO);
+                    if (result == false)
+                    {
+                        continue;
+                    }
+                }
+                //鏀堕泦缃戝叧瀵硅薄
+                this.listZbGateway.Add(way);
+
+                //鍏ㄩ儴澶勭悊OK鍚庯紝鎵嶈兘璁剧疆flage
+                if (mode == GatewayBindMode.First)
+                {
+                    //绗竴娆$粦瀹�
+                    this.dicZbGatewayDiv[wayId] = 0;
+                    //鑾峰彇鍒颁簡鏂扮綉鍏�
+                    this.newGatewayGetting = true;
+                }
+                else if (mode == GatewayBindMode.Binded)
+                {
+                    //宸茬粡缁戝畾杩�
+                    this.dicZbGatewayDiv[wayId] = 1;
+                }
+                else
+                {
+                    //闇�瑕侀噸鏂扮粦瀹�
+                    this.dicZbGatewayDiv[wayId] = 2;
+                }
+
+                if (mode == GatewayBindMode.First)
+                {
+                    //鎴戣寰楄繖閲岄渶瑕佽幏鍙栦竴涓嬫柊缃戝叧鐨勮澶囧垪琛�
+                    Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(way);
+                }
+            }
+            return true;
+        }
+
+        #endregion
+
+        #region 鈻� 鐣岄潰鍏抽棴___________________________
+
+        /// <summary>
+        /// 鐣岄潰鍏抽棴
+        /// </summary>
+        public override void CloseForm()
+        {
+            ZigBee.Common.Application.IsSearchingGateway = false;
+            //鍋滄Wi-Fi閰嶇綉
+            HdlWifiLogic.Current.StopSmartConnection();
+
+            if (UserCenterResourse.listActionFormId.Contains("UserMainForm") == false)
+            {
+                //鍒锋柊涓婚〉
+                UserView.UserPage.Instance.Fresh();
+            }
+            base.CloseForm();
+        }
+
+        #endregion
+    }
+}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSelectNetworkForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSelectNetworkForm.cs
index f4ca433..d7bdf96 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSelectNetworkForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSelectNetworkForm.cs
@@ -48,12 +48,8 @@
             frameBack.AddChidren(btnTitle);
 
             //WIFI
-            string ssiD = Shared.WiimuUPnP.SSID;
-            if (string.IsNullOrEmpty(ssiD) == false && ssiD.StartsWith("\"") && ssiD.EndsWith("\""))
-            {
-                ssiD = ssiD.Substring(1, ssiD.Length - 2);
-            }
-            var rowWifi = new FrameCaptionViewControl("WiFi", ssiD);
+            var rowWifi = new FrameCaptionViewControl("WiFi", HdlWifiLogic.Current.SSID);
+            //var rowWifi = new FrameCaptionViewControl("WiFi", "software");
             rowWifi.UseClickStatu = false;
             rowWifi.Y = Application.GetRealHeight(124);
             frameBack.AddChidren(rowWifi);
@@ -78,12 +74,20 @@
             };
 
             var btnMsg = new NormalViewControl(btnPsw.txtInput.Width, false);
-            btnMsg.X = btnPsw.txtInput.X;
+            btnMsg.X = ControlCommonResourse.XXLeft;
             btnMsg.Y = frameBack.Bottom + Application.GetRealHeight(23);
             btnMsg.TextSize = 12;
             btnMsg.Height = Application.GetRealHeight(40);
             btnMsg.TextColor = UserCenterColor.Current.Red;
             bodyFrameLayout.AddChidren(btnMsg);
+
+            //鏌ョ湅甯姪
+            var btnHelp = this.AddHelpControl();
+            btnHelp.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new DeviceDirection.DeviceDirectionHelpForm();
+                form.AddForm("WirelessUdp");
+            };
 
             //涓嬩竴姝�
             var btnNext = new BottomClickButton();
@@ -95,18 +99,14 @@
                 btnMsg.Text = string.Empty;
                 if (btnPsw.Text == string.Empty)
                 {
-                    //璇疯緭鍏ョ綉缁滃瘑鐮�
+                    //璇疯緭鍏ifi瀵嗙爜
                     btnMsg.Text = Language.StringByID(R.MyInternationalizationString.uPleaseInputWifiPassword);
                     return;
                 }
-
-                //鍒濆鍖朩i-Fi杩炴帴
-                //var hdlWifi = new Com.Hdl.Hdlelianzigbee.ElianNative();
-                //hdlWifi.InitSmartConnection(null, 1, 1);
-                //寮�濮媁i-Fi杩炴帴
-                //var result = hdlWifi.StartSmartConnection(rowWifi.Text, btnPsw.Text, "1");
-                //var form = new WirelessGwClickButtonForm();
-                //this.AddFromAndRemoveNowForm(form);
+                //寮�濮媁i-Fi閰嶇綉
+                HdlWifiLogic.Current.StartSmartConnection(rowWifi.Text, btnPsw.Text, "1");
+                var form = new WirelessUdpSearchForm();
+                this.AddFromAndRemoveNowForm(form);
             };
         }
 
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/GatewayAddSuccessForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayAddSuccessForm.cs
similarity index 98%
rename from ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/GatewayAddSuccessForm.cs
rename to ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayAddSuccessForm.cs
index 27ac27e..0b3a7d8 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/GatewayAddSuccessForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayAddSuccessForm.cs
@@ -2,7 +2,7 @@
 using System.Collections.Generic;
 using System.Text;
 
-namespace Shared.Phone.UserCenter.GatewayAdd
+namespace Shared.Phone.UserCenter.GatewayManage
 {
     /// <summary>
     /// 缃戝叧娣诲姞鎴愬姛鐨勬樉绀虹晫闈�
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayBackUpListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayBackUpListForm.cs
new file mode 100755
index 0000000..2a2ea96
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayBackUpListForm.cs
@@ -0,0 +1,385 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using ZigBee.Device;
+
+namespace Shared.Phone.UserCenter.GatewayManage
+{
+    /// <summary>
+    /// 缃戝叧澶囦唤鐨勫垪琛ㄧ晫闈�
+    /// </summary>
+    public class GatewayBackUpListForm : EditorCommonForm
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// 鍒楄〃鎺т欢
+        /// </summary>
+        private VerticalListControl listView = null;
+        /// <summary>
+        /// 缃戝叧瀵硅薄(杩欎釜鏄湡瀹炵墿鐞嗙綉鍏冲璞�)
+        /// </summary>
+        private ZbGateway realGateway = null;
+        /// <summary>
+        /// 褰撳墠閫夋嫨鐨勫浠絀D
+        /// </summary>
+        private string nowSelectBackId = string.Empty;
+        /// <summary>
+        /// 褰撳墠閫夋嫨鐨勬帶浠�
+        /// </summary>
+        private MostRightIconControl nowbtnSelect = null;
+        /// <summary>
+        /// 涓嬭浇鎸夐挳
+        /// </summary>
+        private BottomClickButton btnDownload = null;
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        /// <param name="i_zbGateway"></param>
+        public void ShowForm(ZbGateway i_zbGateway)
+        {
+            this.realGateway = i_zbGateway;
+
+            //璁剧疆鏍囬淇℃伅
+            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDwonloadData));
+
+            //鍒濆鍖栦腑閮ㄦ帶浠�
+            this.InitMiddleFrame();
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄦ帶浠�
+        /// </summary>
+        private void InitMiddleFrame()
+        {
+            //娓呯┖bodyFrame
+            this.ClearBodyFrame();
+
+            var frameBack = new FrameLayout();
+            frameBack.Height = Application.GetRealHeight(11);
+            frameBack.BackgroundColor = UserCenterColor.Current.White;
+            bodyFrameLayout.AddChidren(frameBack);
+
+            listView = new VerticalListControl(12);
+            listView.Y = frameBack.Bottom;
+            listView.Height = bodyFrameLayout.Height - frameBack.Height;
+            listView.BackgroundColor = UserCenterColor.Current.White;
+            bodyFrameLayout.AddChidren(listView);
+
+            HdlThreadLogic.Current.RunThread(() =>
+            {
+                //浠庝簯绔幏鍙栨暟鎹�
+                this.SetBackupInfoToForm();
+            });
+        }
+
+        #endregion
+
+        #region 鈻� 浠庝簯绔幏鍙栨暟鎹甠____________________
+
+        /// <summary>
+        /// 浠庝簯绔幏鍙栨暟鎹�
+        /// </summary>
+        private async void SetBackupInfoToForm()
+        {
+            //杩涘害鏉�
+            this.ShowProgressBar();
+
+            //浠庝簯绔幏鍙栨暟鎹� 
+            var pageData = await HdlBackupLogic.Current.GetBackupListNameFromDB(2, HdlGatewayLogic.Current.GetGatewayId(realGateway));
+            if (pageData == null)
+            {
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar(ShowReLoadMode.YES);
+                return;
+            }
+            //鍏抽棴杩涘害鏉�
+            this.CloseProgressBar();
+
+            HdlThreadLogic.Current.RunMain(() =>
+            {
+                listView.RemoveAll();
+                listView.RecoverHeight();
+                for (int i = 0; i < pageData.Count; i++)
+                {
+                    //娣诲姞澶囦唤琛�
+                    this.AddRowlayout(pageData[i], i != pageData.Count - 1);
+                }
+
+                this.btnDownload?.RemoveFromParent();
+                if (pageData.Count > 0)
+                {
+                    //涓嬭浇
+                    this.btnDownload = new BottomClickButton();
+                    btnDownload.TextID = R.MyInternationalizationString.uDownLoad;
+                    bodyFrameLayout.AddChidren(btnDownload);
+                    btnDownload.ButtonClickEvent += (sender, e) =>
+                    {
+                        if (this.nowSelectBackId == string.Empty)
+                        {
+                            return;
+                        }
+                        //鏄惁瑕佷笅杞藉苟鎭㈠鏁版嵁锛�
+                        string msg = Language.StringByID(R.MyInternationalizationString.uDownLoadAndRecoverMsg);
+                        this.ShowMassage(ShowMsgType.Confirm, msg, () =>
+                         {
+                             this.LoadBackupInfo(this.nowSelectBackId);
+                         });
+                    };
+                    //璋冩暣鐪熷疄楂樺害
+                    listView.AdjustRealHeightByBottomButton(Application.GetRealHeight(23));
+                }
+
+            });
+        }
+
+        #endregion
+
+        #region 鈻� 娣诲姞澶囦唤琛宊________________________
+
+        /// <summary>
+        /// 娣诲姞澶囦唤琛�
+        /// </summary>
+        /// <param name="fileInfo"></param>
+        /// <param name="addLine"></param>
+        private void AddRowlayout(BackupListNameInfo fileInfo, bool addLine)
+        {
+            var rowLayout = new RowLayoutControl(listView.rowSpace / 2);
+            listView.AddChidren(rowLayout);
+
+            //澶囦唤鍚嶅瓧
+            var txtText = rowLayout.frameTable.AddLeftCaption(fileInfo.BackupName, 700, 60);
+            txtText.TextSize = 15;
+            txtText.Y = Application.GetRealHeight(12) + rowLayout.chidrenYaxis;
+            rowLayout.frameTable.AddChidren(txtText, ChidrenBindMode.BindEventOnly);
+            //鏃堕棿 2019-11-11T11:31:01
+            var btnTime = rowLayout.frameTable.AddLeftCaption("", 600, 50, true);
+            btnTime.Y = Application.GetRealHeight(72) + rowLayout.chidrenYaxis;
+            btnTime.TextSize = 12;
+            btnTime.TextColor = UserCenterColor.Current.TextGrayColor1;
+            rowLayout.frameTable.AddChidren(btnTime, ChidrenBindMode.BindEventOnly);
+            if (fileInfo.CreatedOnUtc.Length >= 19)
+            {
+                btnTime.Text = fileInfo.CreatedOnUtc.Replace("-", ".").Replace("T", " ");
+            }
+            //搴曠嚎
+            if (addLine == true)
+            {
+                rowLayout.frameTable.AddBottomLine();
+            }
+
+            //閫夋嫨
+            var btnSelect = rowLayout.frameTable.AddMostRightEmptyIcon(58, 58);
+            btnSelect.UnSelectedImagePath = "Item/ItemUnSelected.png";
+            btnSelect.SelectedImagePath = "Item/ItemSelected.png";
+            rowLayout.frameTable.ButtonClickEvent += (sender, e) =>
+            {
+                btnSelect.IsSelected = !btnSelect.IsSelected;
+                if (btnSelect.IsSelected == true)
+                {
+                    this.nowSelectBackId = fileInfo.Id;
+                    if (nowbtnSelect != null)
+                    {
+                        nowbtnSelect.IsSelected = false;
+                    }
+                    nowbtnSelect = btnSelect;
+                }
+                else
+                {
+                    this.nowSelectBackId = string.Empty;
+                    this.nowbtnSelect = null;
+                }
+            };
+
+            //缂栬緫
+            var btnEditor = rowLayout.AddEditorControl();
+            btnEditor.ButtonClickEvent += (sender, e) =>
+            {
+                //鏄剧ず缂栬緫澶囪�冨悕鐢婚潰
+                this.ShowEditorBackupForm(fileInfo);
+            };
+
+            //鍒犻櫎
+            var btnDelete = rowLayout.AddDeleteControl();
+            btnDelete.ButtonClickEvent += (sender, e) =>
+            {
+                //纭鍒犻櫎璇ュ浠芥暟鎹�?
+                string msg = Language.StringByID(R.MyInternationalizationString.uDoDeleteBackupMsg);
+                this.ShowMassage(ShowMsgType.Confirm, msg, () =>
+                {
+                    //鍒犻櫎澶囦唤鏂囨。
+                    this.DeleteBackInfo(fileInfo.Id);
+                });
+            };
+        }
+
+        #endregion
+
+        #region 鈻� 璇诲彇澶囦唤鏂囨。_______________________
+
+        /// <summary>
+        /// 璇诲彇澶囦唤鏂囨。
+        /// </summary>
+        /// <param name="BackupClassId"></param>
+        private void LoadBackupInfo(string BackupClassId)
+        {
+            HdlThreadLogic.Current.RunThread(async () =>
+            {
+                //鑾峰彇缃戝叧涓婇潰瀛樺湪鐨勫叏閮ㄦ枃浠�
+                var listFile = await this.GetGatewayFileFromGateway();
+                if (listFile == null)
+                {
+                    return;
+                }
+                //浠庝簯绔幏鍙栧浠界殑鏂囦欢
+                bool result = await HdlBackupLogic.Current.LoadGatewayBackupInfo(BackupClassId, realGateway, listFile);
+                if (result == false)
+                {
+                    //缃戝叧鎭㈠澶辫触
+                    string msg2 = Language.StringByID(R.MyInternationalizationString.uGatewayFileRecoverFail);
+                    this.ShowMassage(ShowMsgType.Error, msg2);
+                    return;
+                }
+
+                HdlThreadLogic.Current.RunMain(() =>
+                {
+                    //鍏抽棴鑷韩
+                    this.CloseForm();
+                });
+
+                //缃戝叧鎭㈠鎴愬姛
+                string msg = Language.StringByID(R.MyInternationalizationString.uGatewayFileRecoverSuccess);
+                this.ShowMassage(ShowMsgType.Normal, msg);
+            });
+        }
+
+        #endregion
+
+        #region 鈻� 缂栬緫澶囦唤鍚嶇О_______________________
+
+        /// <summary>
+        /// 缂栬緫澶囦唤鍚嶇О
+        /// </summary>
+        /// <param name="BackupClassId"></param>
+        /// <param name="backName"></param>
+        private async void EditorBackInfo(string BackupClassId, string backName)
+        {
+            var Pra = new EditorBackUpNamePra();
+            Pra.BackupClassId = BackupClassId;
+            Pra.BackupName = backName;
+            //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken
+            Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+
+            bool result = await UserCenterLogic.GetResultStatuByRequestHttps("App/UpdateHomeAppGatewayName", true, Pra);
+            if (result == false)
+            {
+                return;
+            }
+
+            this.SetBackupInfoToForm();
+        }
+
+        #endregion
+
+        #region 鈻� 鍒犻櫎澶囦唤鏂囨。_______________________
+
+        /// <summary>
+        /// 鍒犻櫎澶囦唤鏂囨。
+        /// </summary>
+        /// <param name="BackupClassId"></param>
+        private async void DeleteBackInfo(string BackupClassId)
+        {
+            bool success = await HdlBackupLogic.Current.DeleteDbBackupData(BackupClassId);
+            if (success == false)
+            {
+                return;
+            }
+            if (this.nowSelectBackId == BackupClassId)
+            {
+                this.nowSelectBackId = string.Empty;
+                this.nowbtnSelect = null;
+            }
+            this.SetBackupInfoToForm();
+        }
+
+        #endregion
+
+        #region 鈻� 鏄剧ず缂栬緫澶囪�冨悕鐢婚潰_________________
+
+        /// <summary>
+        /// 鏄剧ず缂栬緫澶囪�冨悕鐢婚潰
+        /// </summary>
+        /// <param name="fileInfo"></param>
+        /// <returns></returns>
+        private void ShowEditorBackupForm(BackupListNameInfo fileInfo)
+        {
+            //鐢熸垚涓�涓脊绐楃敾闈�
+            var dialogForm = new DialogInputForm();
+            dialogForm.AddForm(DialogFrameMode.OnlyInput);
+
+            //缂栬緫澶囦唤
+            dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uEditorBackup));
+            //璇疯緭鍏ュ娉ㄥ悕绉�
+            dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInpuBackup));
+            dialogForm.Text = fileInfo.BackupName;
+
+            //鎸変笅纭鎸夐挳
+            dialogForm.ComfirmClickEvent += ((txtvalue) =>
+            {
+                //鐢婚潰鍏抽棴
+                dialogForm.CloseForm();
+                //鍚嶅瓧涓�鏍锋椂锛屼笉澶勭悊
+                if (txtvalue != fileInfo.BackupName)
+                {
+                    //缂栬緫澶囦唤鍚嶇О
+                    this.EditorBackInfo(fileInfo.Id, txtvalue);
+                }
+            });
+        }
+
+        #endregion
+
+        #region 鈻� 鑾峰彇缃戝叧鏂囦欢_______________________
+
+        /// <summary>
+        /// 浠庣綉鍏宠幏鍙栧畠鐨勬枃浠�
+        /// </summary>
+        /// <returns></returns>
+        private async System.Threading.Tasks.Task<List<string>> GetGatewayFileFromGateway()
+        {
+            var fileData = await realGateway.FileTransferLsDirAsync();
+            //妫�娴嬬綉鍏宠繑鍥炵殑鍏遍�氶敊璇姸鎬佺爜
+            string error = HdlCheckLogic.Current.CheckCommonErrorCode(fileData);
+            if (error != null)
+            {
+                this.ShowMassage(ShowMsgType.Error, error);
+                return null;
+            }
+
+            if (fileData == null || fileData.fileTransferLsDiResponseData == null || fileData.fileTransferLsDiResponseData.Result != 0)
+            {
+                //鑾峰彇缃戝叧鏂囦欢澶辫触
+                string msg = Language.StringByID(R.MyInternationalizationString.uGetGatewayFileFail);
+                this.ShowMassage(ShowMsgType.Error, msg);
+                return null;
+            }
+            var listFile = new List<string>();
+            foreach (var filedata in fileData.fileTransferLsDiResponseData.Dir)
+            {
+                listFile.Add(filedata.File);
+            }
+            return listFile;
+        }
+
+        #endregion
+
+        #region 鈻� 涓�鑸柟娉昣__________________________
+
+        #endregion
+    }
+}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayGeneralInformationForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayGeneralInformationForm.cs
index 35a290a..832dbe1 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayGeneralInformationForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayGeneralInformationForm.cs
@@ -65,7 +65,7 @@
             rowSerial.UseClickStatu = false;
             listView.AddChidren(rowSerial);
             rowSerial.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uSerialNumber), 300);
-            rowSerial.AddMostRightView("", 600);
+            rowSerial.AddMostRightView(string.IsNullOrEmpty(i_gateway.getGwInfo.GWSN) == false ? i_gateway.getGwInfo.GWSN : "000000000000", 600);
             rowSerial.AddBottomLine();
 
             //缃戝叧ID
@@ -89,7 +89,7 @@
             rowMac.UseClickStatu = false;
             listView.AddChidren(rowMac);
             rowMac.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uCoordinatorMac), 300);
-            rowMac.AddMostRightView("", 600);
+            var btnMac = rowMac.AddMostRightView("", 600);
             rowMac.AddBottomLine();
 
             //鍗忚鍣ㄤ俊閬�
@@ -97,7 +97,7 @@
             rowChannel.UseClickStatu = false;
             listView.AddChidren(rowChannel);
             rowChannel.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uCoordinatorChannel), 300);
-            rowChannel.AddMostRightView("", 600);
+            var btnChannel = rowChannel.AddMostRightView("", 600);
             rowChannel.AddBottomLine();
 
             //鍗忚鍣≒anID
@@ -105,7 +105,7 @@
             rowPanid.UseClickStatu = false;
             listView.AddChidren(rowPanid);
             rowPanid.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uCoordinatorPanid), 300);
-            rowPanid.AddMostRightView("", 600);
+            var btnPanId = rowPanid.AddMostRightView("", 600);
             rowPanid.AddBottomLine();
 
             //鍒堕�犲晢
@@ -116,6 +116,62 @@
             rowProtuct.AddMostRightView("HDL", 600);
 
             listView.AdjustRealHeight(Application.GetRealHeight(23));
+
+            HdlThreadLogic.Current.RunThread(() =>
+            {
+                //鑾峰彇缃戝叧鏁版嵁
+                this.GetGatewayData(i_gateway, btnMac, btnChannel, btnPanId);
+            });
+        }
+
+        #endregion
+
+        #region 鈻� 鑾峰彇鏁版嵁___________________________
+
+        /// <summary>
+        /// 鑾峰彇缃戝叧鏁版嵁
+        /// </summary>
+        /// <param name="gateway">缃戝叧瀵硅薄</param>
+        /// <param name="btnMac">鍗忚皟鍣∕AC</param>
+        /// <param name="btnChannel">鍗忚皟鍣ㄤ俊閬�</param>
+        /// <param name="btnPanid">鍗忚皟鍣≒anId</param>
+        private void GetGatewayData(ZbGateway gateway, NormalViewControl btnMac, NormalViewControl btnChannel, NormalViewControl btnPanid)
+        {
+            //鎵撳紑杩涘害鏉�
+            this.ShowProgressBar();
+
+            //鍗忚皟鍣∕AC
+            string strMac = HdlGatewayLogic.Current.GetGatewayCoordinatorMac(gateway);
+            if (strMac == null)
+            {
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar(ShowReLoadMode.YES);
+                return;
+            }
+            //鍗忚皟鍣ㄤ俊閬�
+            int intChannel = HdlGatewayLogic.Current.GetGatewayChannelId(gateway);
+            if (intChannel == -1)
+            {
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar(ShowReLoadMode.YES);
+                return;
+            }
+            //鍗忚皟鍣≒anId
+            int intPanId = HdlGatewayLogic.Current.GetGatewayPanId(gateway);
+            if (intPanId == -1)
+            {
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar(ShowReLoadMode.YES);
+                return;
+            }
+            //鍏抽棴杩涘害鏉�
+            this.CloseProgressBar();
+            HdlThreadLogic.Current.RunMain(() =>
+            {
+                btnMac.Text = strMac;
+                btnChannel.Text = intChannel.ToString();
+                btnPanid.Text = intPanId.ToString();
+            });
         }
 
         #endregion
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs
index aae291d..bc006ad 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs
@@ -104,6 +104,8 @@
             rowData.frameTable.AddBottomLine();
             rowData.frameTable.ButtonClickEvent += (sender, e) =>
             {
+                var form = new GatewayUploadAndDownLoadForm();
+                form.AddForm(HdlGatewayLogic.Current.GetGatewayId(this.zbGateway));
             };
 
             //閫氱敤淇℃伅
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/GatewayProductInfoForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayProductInfoForm.cs
similarity index 99%
rename from ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/GatewayProductInfoForm.cs
rename to ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayProductInfoForm.cs
index 1eca0ed..ce7a88e 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/GatewayProductInfoForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayProductInfoForm.cs
@@ -3,7 +3,7 @@
 using System.Text;
 using ZigBee.Device;
 
-namespace Shared.Phone.UserCenter.GatewayAdd
+namespace Shared.Phone.UserCenter.GatewayManage
 {
     /// <summary>
     /// 缃戝叧浜у搧淇℃伅鐨勭晫闈�
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayRebindForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayRebindForm.cs
similarity index 83%
rename from ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayRebindForm.cs
rename to ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayRebindForm.cs
index 3b5f660..262558f 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayRebindForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayRebindForm.cs
@@ -3,12 +3,12 @@
 using System.Text;
 using ZigBee.Device;
 
-namespace Shared.Phone.UserCenter.GatewayAdd
+namespace Shared.Phone.UserCenter.GatewayManage
 {
     /// <summary>
     /// 閲嶆柊缁戝畾缃戝叧鐨勭晫闈�
     /// </summary>
-    public class WiredGatewayRebindForm : EditorCommonForm
+    public class GatewayRebindForm : EditorCommonForm
     {
         #region 鈻� 鍙橀噺澹版槑___________________________
 
@@ -26,11 +26,18 @@
             //璁剧疆澶撮儴淇℃伅
             base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddGateway));
 
+            var btnLoading = new LoadingControl();
+            btnLoading.Y = Application.GetRealHeight(656);
+            btnLoading.Gravity = Gravity.CenterHorizontal;
+            bodyFrameLayout.AddChidren(btnLoading);
+            btnLoading.StartAction();
+
             //姝e湪鎹㈢粦缃戝叧锛岃绋嶅�欌��
             var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false);
             btnMsg.Y = Application.GetRealHeight(979);
             btnMsg.TextAlignment = TextAlignment.Center;
             btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3;
+            btnMsg.TextID = R.MyInternationalizationString.uIsReBindingPleaseWaiting;
             bodyFrameLayout.AddChidren(btnMsg);
 
             HdlThreadLogic.Current.RunThread(async () =>
@@ -58,7 +65,7 @@
                     //鎴愬姛鎴栬�呭け璐ラ兘鍏抽棴鐣岄潰
                     this.CloseForm();
                 });
-            });   
+            });
         }
 
         #endregion
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewaySearchListForm.cs
similarity index 96%
rename from ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayListForm.cs
rename to ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewaySearchListForm.cs
index cc9c284..4266eeb 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayListForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewaySearchListForm.cs
@@ -3,12 +3,12 @@
 using System.Text;
 using ZigBee.Device;
 
-namespace Shared.Phone.UserCenter.GatewayAdd
+namespace Shared.Phone.UserCenter.GatewayManage
 {
     /// <summary>
-    /// 鎼滅储寰楀埌鐨勬湁绾跨綉鍏崇殑鍒楄〃鐣岄潰
+    /// 鎼滅储寰楀埌鐨勭綉鍏崇殑鍒楄〃鐣岄潰
     /// </summary>
-    public class WiredGatewayListForm : EditorCommonForm
+    public class GatewaySearchListForm : EditorCommonForm
     {
         #region 鈻� 鍙橀噺澹版槑___________________________
 
@@ -142,7 +142,7 @@
                     string msg = Language.StringByID(R.MyInternationalizationString.uRebindGatewayMsg);
                     this.ShowMassage(ShowMsgType.Confirm, msg, () =>
                     {
-                        var form = new WiredGatewayRebindForm();
+                        var form = new GatewayRebindForm();
                         form.AddForm(gateway, dicZbGatewayDiv);
                     });
                 };
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayUploadAndDownLoadForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayUploadAndDownLoadForm.cs
new file mode 100755
index 0000000..3688714
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayUploadAndDownLoadForm.cs
@@ -0,0 +1,130 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using ZigBee.Device;
+
+namespace Shared.Phone.UserCenter.GatewayManage
+{
+    /// <summary>
+    /// 缃戝叧鏁版嵁涓婁紶鍙婁笅杞界晫闈�
+    /// </summary>
+    public class GatewayUploadAndDownLoadForm : EditorCommonForm
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// 缃戝叧ID
+        /// </summary>
+        private string gatewayId = string.Empty;
+        /// <summary>
+        /// 缃戝叧瀵硅薄
+        /// </summary>
+        private ZbGateway realGateway = null;
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        /// <param name="i_gatewayId">缃戝叧ID</param>
+        public void ShowForm(string i_gatewayId)
+        {
+            this.gatewayId = i_gatewayId;
+            HdlGatewayLogic.Current.GetRealGateway(ref this.realGateway, gatewayId);
+
+            //璁剧疆澶撮儴淇℃伅
+            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDataUploadAndDownLoad));
+
+            //鍒濆鍖栦腑閮ㄤ俊鎭�
+            this.InitMiddleFrame();
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+        /// </summary>
+        private void InitMiddleFrame()
+        {
+            //娓呯┖bodyFrame
+            this.ClearBodyFrame();
+
+            var frameBack = new FrameLayout();
+            frameBack.Height = Application.GetRealHeight(11);
+            frameBack.BackgroundColor = UserCenterColor.Current.White;
+            bodyFrameLayout.AddChidren(frameBack);
+
+            var listView = new VerticalListControl(12);
+            listView.Y = frameBack.Bottom;
+            listView.Height = bodyFrameLayout.Height - frameBack.Height;
+            listView.BackgroundColor = UserCenterColor.Current.White;
+            bodyFrameLayout.AddChidren(listView);
+
+            //鑷姩澶囦唤
+            var frameAuto = new FrameRowControl(listView.rowSpace / 2);
+            frameAuto.UseClickStatu = false;
+            listView.AddChidren(frameAuto);
+            frameAuto.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uAutoBackup), 700);
+            frameAuto.AddBottomLine();
+            var btnSwicth = frameAuto.AddMostRightSwitchIcon();
+            btnSwicth.ButtonClickEvent += (sender, e) =>
+            {
+                btnSwicth.IsSelected = !btnSwicth.IsSelected;
+            };
+
+            //涓婁紶鏁版嵁鑷充簯绔�
+            var frameUp = new FrameRowControl(listView.rowSpace / 2);
+            listView.AddChidren(frameUp);
+            frameUp.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uUploadDataToDb), 700);
+            frameUp.AddRightArrow();
+            frameUp.AddBottomLine();
+            frameUp.ButtonClickEvent += (sender, e) =>
+            {
+                if (this.realGateway == null)
+                {
+                    //閿欒:缃戝叧瀵硅薄涓㈠け
+                    string msg = Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg);
+                    this.ShowMassage(ShowMsgType.Error, msg);
+                    return;
+                }
+                //鐢熸垚涓�涓脊绐楃敾闈�
+                var dialogForm = new DialogInputForm();
+                dialogForm.AddForm(DialogFrameMode.OnlyInput);
+                //涓婁紶鏁版嵁
+                dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uUploadData));
+                //璇疯緭鍏ュ娉ㄥ悕绉�
+                dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInpuBackup));
+                //鎸変笅纭鎸夐挳
+                dialogForm.ComfirmClickEvent += ((textValue) =>
+                {
+                    //鐢婚潰鍏抽棴
+                    dialogForm.CloseForm();
+                    HdlThreadLogic.Current.RunThread(() =>
+                    {
+                        //涓婁紶澶囦唤
+                        HdlGatewayBackupLogic.Current.DoBackupGateway(this.realGateway, textValue);
+                    });
+                });
+            };
+
+            //浠庝簯绔笅杞芥暟鎹�
+            var frameDown = new FrameRowControl(listView.rowSpace / 2);
+            listView.AddChidren(frameDown);
+            frameDown.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uDwonloadDataFromDb), 700);
+            frameDown.AddRightArrow();
+            frameDown.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new GatewayBackUpListForm();
+                form.AddForm(this.realGateway);
+            };
+            //璋冩暣鐪熷疄楂樺害
+            listView.AdjustRealHeight(Application.GetRealHeight(23));
+        }
+
+        #endregion
+
+        #region 鈻� 涓�鑸柟娉昣__________________________
+
+        #endregion
+    }
+}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayCoordinatorInfoForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayCoordinatorInfoForm.cs
index 033ca0a..1fb7f2e 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayCoordinatorInfoForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayCoordinatorInfoForm.cs
@@ -124,7 +124,7 @@
 
             //鍥轰欢鏃ユ湡
             row1.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uHardwareDate), 300);
-            //row1.AddMostRightView(zbGateway.getGwInfo.AppVersion.ToString(), 400);
+            row1.AddMostRightView(zbGateway.getGwInfo.AppVersion.ToString(), 400);
             row1.AddBottomLine();
         }
 
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayVirtualDriveInfoForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayVirtualDriveInfoForm.cs
index 5de6624..69d5d06 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayVirtualDriveInfoForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayVirtualDriveInfoForm.cs
@@ -117,7 +117,7 @@
                 row3.UseClickStatu = false;
                 frameTable.AddChidren(row3);
                 row3.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uHardwareDate), 300);
-                row3.AddMostRightView("XXXXXXX", 400);
+                row3.AddMostRightView("", 400);
                 row3.AddBottomLine();
 
                 //纭欢鐗堟湰
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlAutoBackUpForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlAutoBackUpForm.cs
deleted file mode 100755
index d50e463..0000000
--- a/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlAutoBackUpForm.cs
+++ /dev/null
@@ -1,258 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Shared.Phone.UserCenter.HdlBackup
-{
-    /// <summary>
-    /// 鑷姩澶囦唤鐨勭晫闈�
-    /// </summary>
-    public class HdlAutoBackUpForm : EditorCommonForm
-    {
-        #region 鈻� 鍙橀噺澹版槑___________________________
-
-        /// <summary>
-        /// BackupClassId
-        /// </summary>
-        private string m_BackupDeleteClassId = null;
-
-        #endregion
-
-        #region 鈻� 鍒濆鍖朹____________________________
-
-        /// <summary>
-        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
-        /// </summary>
-        public void ShowForm()
-        {
-            //璁剧疆鏍囬淇℃伅
-            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAppAutoBackup));
-
-            //鍒濆鍖栦腑閮ㄦ帶浠�
-            this.InitMiddleFrame();
-
-            //娣诲姞涓婁紶鑿滃崟
-            this.AddUploadMenu();
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栦腑閮ㄦ帶浠�
-        /// </summary>
-        private void InitMiddleFrame()
-        {
-            //娓呯┖bodyFrame
-            this.ClearBodyFrame();
-
-            HdlThreadLogic.Current.RunThread(async () =>
-            {
-                //杩涘害鏉�
-                this.ShowProgressBar();
-                //鑾峰彇app鐨勮嚜鍔ㄥ浠�
-                var data = await HdlBackupLogic.Current.GetBackupListNameFromDB(1);
-                //鍏抽棴杩涘害鏉�
-                this.CloseProgressBar();
-                if (data == null || data.Count == 0)
-                {
-                    return;
-                }
-                //鑷姩澶囦唤鍙湁涓�涓�
-                Application.RunOnMainThread(() =>
-                {
-                    if (this.Parent != null)
-                    {
-                        //娣诲姞鑷姩澶囦唤鐨勮
-                        this.AddRowlayout(data[0]);
-                        this.m_BackupDeleteClassId = data[0].Id;
-                    }
-                });
-            });
-        }
-
-        #endregion
-
-        #region 鈻� 娣诲姞鑷姩澶囦唤鐨勮___________________
-
-        /// <summary>
-        /// 娣诲姞鑷姩澶囦唤鐨勮
-        /// </summary>
-        /// <param name="info"></param>
-        private void AddRowlayout(BackupListNameInfo info)
-        {
-            //琛�
-            var rowLayout = new FrameRowControl();
-            bodyFrameLayout.AddChidren(rowLayout);
-
-            //鍥炬爣
-            var btnPoint = rowLayout.AddLeftIcon();
-            btnPoint.UnSelectedImagePath = "Center/Backup.png";
-
-            //澶囦唤鍚嶅瓧
-            var txtText = rowLayout.AddLeftCaption("", 700);
-            txtText.TextID = R.MyInternationalizationString.uAutoBackupData;
-
-            //搴曠嚎
-            rowLayout.AddBottomLine();
-
-            //涓嬭浇鍥炬爣
-            var btnLoad = rowLayout.AddMostRightEmptyIcon(81, 81);
-            rowLayout.ChangedChidrenBindMode(btnLoad, ChidrenBindMode.NotBind);
-            //鍚敤鐐逛寒鍔熻兘
-            btnLoad.UseClickStatu = true;
-            btnLoad.UnSelectedImagePath = "Item/DownLoad.png";
-            btnLoad.SelectedImagePath = "Item/DownLoadSelected.png";
-            btnLoad.ButtonClickEvent += (sender, e) =>
-            {
-                //鏄惁瑕佷笅杞藉苟鎭㈠鏁版嵁锛�
-                string msg = Language.StringByID(R.MyInternationalizationString.uDownLoadAndRecoverMsg);
-                this.ShowMassage(ShowMsgType.Confirm, msg, () =>
-                {
-                    // 璇诲彇澶囦唤鏂囨。
-                    this.LoadBackupInfo(info.Id);
-                });
-            };
-        }
-
-        #endregion
-
-        #region 鈻� 璇诲彇澶囦唤鏂囨。_______________________
-
-        /// <summary>
-        /// 璇诲彇澶囦唤鏂囨。
-        /// </summary>
-        /// <param name="BackupClassId"></param>
-        private void LoadBackupInfo(string BackupClassId)
-        {
-            HdlThreadLogic.Current.RunThread(async () =>
-            {
-                //浠庝簯绔幏鍙栧浠界殑鏂囦欢
-                bool result = await HdlBackupLogic.Current.LoadAppBackupInfo(BackupClassId);
-                if (result == false)
-                {
-                    //鏂囦欢鎭㈠澶辫触
-                    string msg2 = Language.StringByID(R.MyInternationalizationString.uFileRecoverFail);
-                    this.ShowMassage(ShowMsgType.Normal, msg2);
-                    return;
-                }
-
-                Application.RunOnMainThread(() =>
-                {
-                    //鍏抽棴鎵�鏈夌晫闈�
-                    UserCenterLogic.CloseAllOpenForm();
-                    //鍒囨崲鍒颁富椤�
-                    UserView.UserPage.Instance.Fresh();
-                });
-
-                //鏂囦欢鎭㈠鎴愬姛
-                string msg = Language.StringByID(R.MyInternationalizationString.uFileRecoverSuccess);
-                this.ShowMassage(ShowMsgType.Normal, msg);
-            });
-        }
-
-        #endregion
-
-        #region 鈻� 涓婁紶鏁版嵁___________________________
-
-        /// <summary>
-        /// 涓婁紶鏁版嵁
-        /// </summary>
-        public void UpLoadBackupInfo()
-        {
-            HdlThreadLogic.Current.RunThread(async () =>
-            {
-                int result = await HdlAutoBackupLogic.DoUpLoadAutoBackupData();
-                if (result == -1)
-                {
-                    //鏂囦欢涓婁紶澶辫触
-                    string msg = Language.StringByID(R.MyInternationalizationString.uFileUpLoadFail);
-                    this.ShowMassage(ShowMsgType.Error, msg);
-
-                    return;
-                }
-                //鏁版嵁鎴愬姛鍚屾鍒版湇鍔″櫒
-                string msg2 = Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceSuccessMsg);
-                this.ShowMassage(ShowMsgType.Normal, msg2);
-
-                Application.RunOnMainThread(() =>
-                {
-                    if (this.Parent != null)
-                    {
-                        //鍒濆鍖栦腑閮ㄦ帶浠�
-                        this.InitMiddleFrame();
-                    }
-                });
-            });
-        }
-        #endregion
-
-        #region 鈻� 娣诲姞涓婁紶鑿滃崟_______________________
-
-        /// <summary>
-        /// 娣诲姞涓婁紶鑿滃崟
-        /// </summary>
-        private void AddUploadMenu()
-        {
-            var btnIcon = new MostRightIconControl(69, 69);
-            btnIcon.UnSelectedImagePath = "Item/More.png";
-            topFrameLayout.AddChidren(btnIcon);
-            btnIcon.InitControl();
-            btnIcon.ButtonClickEvent += (sender, e) =>
-            {
-                var menuForm = new TopRightMenuControl(2);
-                menuForm.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uUpLoadAutoBackUpButton),
-                    "", "", () =>
-                  {
-                      //纭鏄惁涓婁紶鏁版嵁鍒版湇鍔″櫒锛�
-                      string msg = Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceMsg);
-                      this.ShowMassage(ShowMsgType.Confirm, msg, () =>
-                       {
-                           UpLoadBackupInfo();
-                       });
-                  });
-                menuForm.AddRowMenu("鍒犻櫎澶囦唤", "", "", () =>
-                  {
-                      string msg = "纭畾瑕佸垹闄よ嚜鍔ㄥ浠藉悧锛焅r\n(PS:姝ゅ姛鑳藉悗缁細鍒犻櫎)";
-                      this.ShowMassage(ShowMsgType.Confirm, msg, () =>
-                       {
-                           DeleteBackId();
-                       });
-                  });
-            };
-        }
-
-        #endregion
-
-        #region 鈻� 娣诲姞鍒犻櫎鑿滃崟(鏆傛椂,鍚庣画浼氬垹闄�)______
-
-        /// <summary>
-        /// 鍒犻櫎澶囦唤(鏆傛椂,鍚庣画浼氬垹闄�)
-        /// </summary>
-        private async void DeleteBackId()
-        {
-            if (this.m_BackupDeleteClassId == null)
-            {
-                return;
-            }
-            //杩涘害鏉�
-            this.ShowProgressBar();
-            bool success = await HdlBackupLogic.Current.DeleteDbBackupData(m_BackupDeleteClassId);
-            //鍏抽棴杩涘害鏉�
-            this.CloseProgressBar();
-
-            if (success == false)
-            {
-                //鍒犻櫎澶囦唤澶辫触
-                string msg = Language.StringByID(R.MyInternationalizationString.uDeleteBackupFail);
-                this.ShowMassage(ShowMsgType.Error, msg);
-                return;
-            }
-
-            Application.RunOnMainThread(() =>
-            {
-                this.m_BackupDeleteClassId = null;
-
-                this.InitMiddleFrame();
-            });
-        }
-        #endregion
-    }
-}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlAutoBackupSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlAutoBackupSettionForm.cs
deleted file mode 100755
index 23a4fda..0000000
--- a/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlAutoBackupSettionForm.cs
+++ /dev/null
@@ -1,140 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Shared.Phone.UserCenter.HdlBackup
-{
-    /// <summary>
-    /// 鑷姩澶囦唤鐨勮缃晫闈�
-    /// </summary>
-    public class HdlAutoBackupSettionForm : EditorCommonForm
-    {
-        /// <summary>
-        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
-        /// </summary>
-        public void ShowForm()
-        {
-            //璁剧疆鏍囬淇℃伅
-            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAutoBackupSettion));
-
-            //鍒濆鍖栦腑閮ㄦ帶浠�
-            //this.InitMiddleFrame();
-        }
-
-        ///// <summary>
-        ///// 鍒濆鍖栦腑閮ㄦ帶浠�
-        ///// </summary>
-        //private void InitMiddleFrame()
-        //{
-        //    //娓呯┖bodyFrame
-        //    this.ClearBodyFrame();
-
-        //    //淇℃伅琛�
-        //    var msgRow = new FrameLayout();
-        //    msgRow.Y = Application.GetRealHeight(40);
-        //    msgRow.Height = ControlCommonResourse.NormalControlHeight;
-        //    bodyFrameLayout.AddChidren(msgRow);
-
-        //    //妫�娴嬪埌鏁版嵁鏇存柊,鏄惁闇�瑕佸浠�
-        //    var btnMsg = new RowCenterView(false);
-        //    btnMsg.TextID = R.MyInternationalizationString.uIsHadNotBackupDataOnScan;
-        //    msgRow.AddChidren(btnMsg);
-
-        //    //绔嬪嵆澶囦唤(鎺ㄨ崘)
-        //    var statuBackupRow = new StatuRowLayout();
-        //    statuBackupRow.Y = msgRow.Bottom;
-        //    bodyFrameLayout.AddChidren(statuBackupRow);
-        //    var btnBackup = new RowCenterView(false);
-        //    string txtValue = Language.StringByID(R.MyInternationalizationString.uImmediatelyBackup);
-        //    txtValue += " (" + Language.StringByID(R.MyInternationalizationString.uRecommendation) + ")";
-        //    btnBackup.Text = txtValue;
-        //    statuBackupRow.AddChidren(btnBackup);
-
-        //    statuBackupRow.AddRightArrow();
-        //    statuBackupRow.MouseUpEvent += (sender, e) =>
-        //    {
-        //        //纭鏄惁涓婁紶鏁版嵁鍒版湇鍔″櫒锛�
-        //        string msg = Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceMsg);
-        //        this.ShowConfirmMsg(msg, "UpLoadBackupInfo");
-        //    };
-
-        //    //鏆備笉鎻愰啋
-        //    var statuNextRow = new StatuRowLayout();
-        //    statuNextRow.Y = statuBackupRow.Bottom;
-        //    bodyFrameLayout.AddChidren(statuNextRow);
-        //    var btnNext = new RowCenterView(false);
-        //    btnNext.TextID = R.MyInternationalizationString.uTemporaryStopRemind;
-        //    statuNextRow.AddChidren(btnNext);
-
-        //    statuNextRow.AddRightArrow();
-        //    statuNextRow.MouseUpEvent += (sender, e) =>
-        //    {
-        //        HdlAutoBackupLogic.SaveBackupNotPrompted(false, 3);
-        //        this.CloseForm();
-        //    };
-
-        //    //涓嶅啀鎻愮ず
-        //    var statuNotRow = new StatuRowLayout();
-        //    statuNotRow.Y = statuNextRow.Bottom;
-        //    bodyFrameLayout.AddChidren(statuNotRow);
-        //    var btnNotReminder = new RowCenterView(false);
-        //    btnNotReminder.TextID = R.MyInternationalizationString.uNotPrompted;
-        //    statuNotRow.AddChidren(btnNotReminder);
-
-        //    statuNotRow.AddRightArrow();
-        //    statuNotRow.MouseUpEvent += (sender, e) =>
-        //    {
-        //        //纭涓嶅啀鎻愮ず锛�
-        //        string msg = Language.StringByID(R.MyInternationalizationString.uConfirmNotPrompted);
-        //        this.ShowConfirmMsg(msg, "DoNotPrompted");
-        //    };
-        //}
-
-        ///// <summary>
-        ///// 涓婁紶鏁版嵁
-        ///// </summary>
-        //public void UpLoadBackupInfo()
-        //{
-        //    //鍥為伩鐣岄潰鍗℃闂
-        //    HdlThreadLogic.Current.Run(() =>
-        //    {
-        //        //涓婁紶鏁版嵁
-        //        this.UpLoadBackupInfoAsync();
-        //    });
-
-        //}
-
-        ///// <summary>
-        ///// 涓婁紶鏁版嵁
-        ///// </summary>
-        //public async void UpLoadBackupInfoAsync()
-        //{
-        //    int result = await HdlAutoBackupLogic.DoUpLoadAutoBackupData();
-        //    if (result == -1)
-        //    {
-        //        //鏂囦欢涓婁紶澶辫触
-        //        string msg = Language.StringByID(R.MyInternationalizationString.uFileUpLoadFail);
-        //        this.ShowErrorMsg(msg);
-
-        //        return;
-        //    }
-        //    //鏁版嵁鎴愬姛涓婁紶鍒版湇鍔″櫒
-        //    string msg2 = Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceSuccessMsg);
-        //    this.ShowMassage(msg2);
-
-        //    Application.RunOnMainThread(() =>
-        //    {
-        //        this.CloseForm();
-        //    });
-        //}
-
-        ///// <summary>
-        ///// 鎵ц涓嶅啀鎻愮ず
-        ///// </summary>
-        //public void DoNotPrompted()
-        //{
-        //    HdlAutoBackupLogic.SaveBackupNotPrompted(true);
-        //    this.CloseForm();
-        //}
-    }
-}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlManualBackUpForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlBackupListForm.cs
similarity index 62%
rename from ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlManualBackUpForm.cs
rename to ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlBackupListForm.cs
index 2c0eff2..65888c1 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlManualBackUpForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlBackupListForm.cs
@@ -1,13 +1,13 @@
-锘縰sing Shared.Common;
-using System;
+锘縰sing System;
 using System.Collections.Generic;
+using System.Text;
 
 namespace Shared.Phone.UserCenter.HdlBackup
 {
     /// <summary>
-    /// 澶囦唤鐢婚潰
+    /// 澶囦唤鍒楄〃鐣岄潰
     /// </summary>
-    public class HdlManualBackUpForm : EditorCommonForm
+    public class HdlBackupListForm : EditorCommonForm
     {
         #region 鈻� 鍙橀噺澹版槑___________________________
 
@@ -26,7 +26,7 @@
         public void ShowForm()
         {
             //璁剧疆鏍囬淇℃伅
-            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uBackupAndRecover));
+            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDataBackup));
 
             //鍙充笂娣诲姞鎸夐挳
             var btnTopIcon = new MostRightIconControl(69, 69);
@@ -75,30 +75,60 @@
             //杩涘害鏉�
             this.ShowProgressBar();
 
+            //鑾峰彇app鐨勮嚜鍔ㄥ浠�
+            var autoData = await HdlBackupLogic.Current.GetBackupListNameFromDB(1);
+            if (autoData == null)
+            {
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar(ShowReLoadMode.YES);
+                return;
+            }
             //浠庝簯绔幏鍙栨暟鎹�
             var pageData = await HdlBackupLogic.Current.GetBackupListNameFromDB();
+            if (pageData == null)
+            {
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar(ShowReLoadMode.YES);
+                return;
+            }
             //鍏抽棴
             this.CloseProgressBar();
 
-            if (pageData == null)
+            HdlThreadLogic.Current.RunMain(() =>
             {
-                return;
-            }
-
-            Application.RunOnMainThread(() =>
-            {
-                if (this.Parent == null || listView == null)
+                if (this.Parent == null)
                 {
                     return;
 
                 }
                 listView.RemoveAll();
-                int count = pageData.Count - 1;
+                listView.RecoverHeight();
+                //娣诲姞鑷姩澶囦唤琛�
+                if (autoData.Count == 0)
+                {
+                    this.AddNotAutoBackupRow(pageData.Count > 0);
+                }
+                else
+                {
+                    this.AddRowlayout(autoData[0], pageData.Count > 0, true);
+                }
+
+                //鎺掑簭
+                var dic = new Dictionary<string, BackupListNameInfo>();
+                var listSort = new List<string>();
                 for (int i = 0; i < pageData.Count; i++)
                 {
-                    //娣诲姞澶囦唤琛�
-                    this.AddRowlayout(pageData[i], i != count);
+                    listSort.Add(pageData[i].CreatedOnUtc);
+                    dic[pageData[i].CreatedOnUtc] = pageData[i];
                 }
+                listSort.Sort();
+
+                for (int i = listSort.Count - 1; i >= 0; i--)
+                {
+                    //娣诲姞澶囦唤琛�
+                    this.AddRowlayout(dic[listSort[i]], i != 0, false);
+                }
+                listView.AdjustRealHeight(Application.GetRealHeight(23));
             });
         }
 
@@ -110,65 +140,145 @@
         /// 娣诲姞澶囦唤琛�
         /// </summary>
         /// <param name="fileInfo"></param>
-        private void AddRowlayout(BackupListNameInfo fileInfo, bool addLine)
+        private void AddRowlayout(BackupListNameInfo fileInfo, bool addLine, bool autoBack)
         {
             //琛�
             var rowLayout = new RowLayoutControl(listView.rowSpace / 2);
             listView.AddChidren(rowLayout);
+            if (autoBack == true)
+            {
+                rowLayout.frameTable.UseClickStatu = false;
+            }
 
             //鍥炬爣
             var btnPoint = rowLayout.frameTable.AddLeftIcon();
-            btnPoint.UnSelectedImagePath = "Center/Backup.png";
+            btnPoint.UnSelectedImagePath = "Item/DownLoad.png";
 
             //澶囦唤鍚嶅瓧
-            var txtText = rowLayout.frameTable.AddLeftCaption(fileInfo.BackupName, 700);
+            var txtText = rowLayout.frameTable.AddLeftCaption("", 700, 60);
+            if (autoBack == true)
+            {
+                //鑷姩澶囦唤
+                txtText.Text = Language.StringByID(R.MyInternationalizationString.uAutoBackup);
+            }
+            else
+            {
+                txtText.Text = fileInfo.BackupName;
+            }
+            txtText.TextSize = 15;
+            //杩欎釜鍧愭爣鏈夌偣鐗规畩
+            txtText.Y = Application.GetRealHeight(12) + rowLayout.chidrenYaxis;
+            rowLayout.frameTable.AddChidren(txtText, ChidrenBindMode.BindEventOnly);
+            //鏃堕棿
+            var btnTime = rowLayout.frameTable.AddLeftCaption("", 600, 50, true);
+            //杩欎釜鍧愭爣鏈夌偣鐗规畩
+            btnTime.Y = Application.GetRealHeight(72) + rowLayout.chidrenYaxis;
+            btnTime.TextSize = 12;
+            btnTime.TextColor = UserCenterColor.Current.TextGrayColor1;
+            rowLayout.frameTable.AddChidren(btnTime, ChidrenBindMode.BindEventOnly);
+            if (fileInfo.CreatedOnUtc.Length >= 19)
+            {
+                btnTime.Text = fileInfo.CreatedOnUtc.Replace("-", ".").Replace("T", " ");
+            }
             if (addLine == true)
             {
                 //搴曠嚎
                 rowLayout.frameTable.AddBottomLine();
             }
 
-            //缂栬緫澶囨敞鍚�
-            rowLayout.frameTable.ButtonClickEvent += (sender, e) =>
-            {
-                //鏄剧ず缂栬緫澶囪�冨悕鐢婚潰
-                this.ShowEditorBackupForm(fileInfo);
-            };
-
-            //涓嬭浇鍥炬爣
-            var btnLoad = rowLayout.frameTable.AddMostRightEmptyIcon(81, 81);
-            rowLayout.frameTable.ChangedChidrenBindMode(btnLoad, ChidrenBindMode.NotBind);
-            //鍚敤鐐逛寒鍔熻兘
-            btnLoad.UseClickStatu = true;
-            btnLoad.UnSelectedImagePath = "Item/DownLoad.png";
-            btnLoad.SelectedImagePath = "Item/DownLoadSelected.png";
+            //绔嬪嵆涓嬭浇
+            var btnLoad = new NormalViewControl(Application.GetRealWidth(200), rowLayout.frameTable.Height, false);
+            btnLoad.X = rowLayout.frameTable.Width - Application.GetRealWidth(200 + 127);
+            btnLoad.TextID = R.MyInternationalizationString.uDownLoadNow;
+            btnLoad.TextAlignment = TextAlignment.CenterRight;
+            btnLoad.TextSize = 12;
+            btnLoad.TextColor = UserCenterColor.Current.TextOrangeColor;
+            rowLayout.frameTable.AddChidren(btnLoad, ChidrenBindMode.NotBind);
             btnLoad.ButtonClickEvent += (sender, e) =>
             {
                 //鏄惁瑕佷笅杞藉苟鎭㈠鏁版嵁锛�
                 string msg = Language.StringByID(R.MyInternationalizationString.uDownLoadAndRecoverMsg);
                 this.ShowMassage(ShowMsgType.Confirm, msg, () =>
-                 {
-                     //璇诲彇澶囦唤鏂囨。
-                     this.LoadBackupInfo(fileInfo.Id);
-                 });
+                {
+                    //璇诲彇澶囦唤鏂囨。
+                    this.LoadBackupInfo(fileInfo.Id);
+                });
             };
 
+            if (autoBack == true)
+            {
+                //涓婁紶
+                var btnUpLoad = rowLayout.AddEditorControl();
+                btnUpLoad.TextID = R.MyInternationalizationString.uUpload;
+                btnUpLoad.ButtonClickEvent += (sender, e) =>
+                {
+                    //纭鏄惁涓婁紶鏁版嵁鍒版湇鍔″櫒锛�
+                    this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceMsg), () =>
+                    {
+                        //涓婁紶鑷姩澶囦唤鏁版嵁
+                        this.UpLoadAutoBackupInfo();
+                    });
+                }; 
+            }
+            else
+            {
+                //缂栬緫澶囨敞鍚�
+                rowLayout.frameTable.ButtonClickEvent += (sender, e) =>
+                {
+                    //鏄剧ず缂栬緫澶囪�冨悕鐢婚潰
+                    this.ShowEditorBackupForm(fileInfo);
+                };
+            }
+
             //鍒犻櫎
-            var btnDelete = new NormalViewControl(Application.GetRealWidth(177), rowLayout.Height, false);
-            btnDelete.BackgroundColor = UserCenterColor.Current.RowDeleteButtonColor;
-            btnDelete.TextAlignment = TextAlignment.Center;
-            btnDelete.TextColor = UserCenterColor.Current.White;
-            btnDelete.TextID = R.MyInternationalizationString.uDelete;
-            rowLayout.AddRightView(btnDelete);
+            var btnDelete = rowLayout.AddDeleteControl();
             btnDelete.ButtonClickEvent += (sender, e) =>
             {
-                //纭畾瑕佸垹闄ゆ枃浠跺悧锛�
-                string msg = Language.StringByID(R.MyInternationalizationString.uDoDeleteFileMsg);
+                //纭鍒犻櫎璇ュ浠芥暟鎹�?
+                string msg = Language.StringByID(R.MyInternationalizationString.uDoDeleteBackupMsg);
                 this.ShowMassage(ShowMsgType.Confirm, msg, () =>
-                 {
-                     //鍒犻櫎澶囦唤鏂囨。
-                     this.DeleteBackInfo(fileInfo.Id, ShowErrorMode.YES);
-                 });
+                {
+                    //鍒犻櫎澶囦唤鏂囨。
+                    this.DeleteBackInfo(fileInfo.Id, ShowErrorMode.YES);
+                });
+            };
+        }
+
+        /// <summary>
+        /// 娣诲姞娌℃湁鑷姩澶囦唤鏁版嵁鐨勮
+        /// </summary>
+        /// <param name="addLine"></param>
+        private void AddNotAutoBackupRow(bool addLine)
+        {
+            //琛�
+            var rowLayout = new RowLayoutControl(listView.rowSpace / 2);
+            listView.AddChidren(rowLayout);
+            rowLayout.frameTable.UseClickStatu = false;
+
+            //鍥炬爣
+            var btnPoint = rowLayout.frameTable.AddLeftIcon();
+            btnPoint.UnSelectedImagePath = "Item/DownLoad.png";
+
+            //澶囦唤鍚嶅瓧
+            var txtText = rowLayout.frameTable.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uAutoBackup), 700);
+            txtText.TextSize = 15;
+
+            if (addLine == true)
+            {
+                //搴曠嚎
+                rowLayout.frameTable.AddBottomLine();
+            }
+            //涓婁紶
+            var btnUpLoad = rowLayout.AddEditorControl();
+            btnUpLoad.TextID = R.MyInternationalizationString.uUpload;
+            btnUpLoad.ButtonClickEvent += (sender, e) =>
+            {
+                //纭鏄惁涓婁紶鏁版嵁鍒版湇鍔″櫒锛�
+                this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceMsg), () =>
+                {
+                    //涓婁紶鑷姩澶囦唤鏁版嵁
+                    this.UpLoadAutoBackupInfo();
+                });
             };
         }
 
@@ -210,7 +320,7 @@
 
         #endregion
 
-        #region 鈻� 涓婁紶鏁版嵁___________________________
+        #region 鈻� 涓婁紶鎵嬪姩澶囦唤鏁版嵁___________________
 
         /// <summary>
         /// 涓婁紶鏁版嵁
@@ -253,6 +363,37 @@
             });
         }
 
+        #endregion
+
+        #region 鈻� 涓婁紶鑷姩澶囦唤鏁版嵁___________________
+
+        /// <summary>
+        /// 涓婁紶鑷姩澶囦唤鏁版嵁
+        /// </summary>
+        public void UpLoadAutoBackupInfo()
+        {
+            HdlThreadLogic.Current.RunThread(async () =>
+            {
+                int result = await HdlAutoBackupLogic.DoUpLoadAutoBackupData();
+                if (result == -1)
+                {
+                    //鏂囦欢涓婁紶澶辫触
+                    string msg = Language.StringByID(R.MyInternationalizationString.uFileUpLoadFail);
+                    this.ShowMassage(ShowMsgType.Error, msg);
+
+                    return;
+                }
+                //鏁版嵁鎴愬姛鍚屾鍒版湇鍔″櫒
+                string msg2 = Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceSuccessMsg);
+                this.ShowMassage(ShowMsgType.Normal, msg2);
+
+                HdlThreadLogic.Current.RunThread(() =>
+                {
+                    //浠庝簯绔幏鍙栨暟鎹�
+                    this.SetBackupInfoToForm();
+                });
+            });
+        }
         #endregion
 
         #region 鈻� 缂栬緫澶囦唤鍚嶇О_______________________
@@ -340,8 +481,8 @@
         private void ShowEditorBackupForm(BackupListNameInfo fileInfo)
         {
             //鐢熸垚涓�涓脊绐楃敾闈�
-            var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput);
-
+            var dialogForm = new DialogInputForm();
+            dialogForm.AddForm(DialogFrameMode.OnlyInput);
             //缂栬緫澶囦唤
             dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uEditorBackup));
             //璇疯緭鍏ュ娉ㄥ悕绉�
@@ -358,7 +499,7 @@
                 }
 
                 //鐢婚潰鍏抽棴
-                dialogForm.CloseDialog();
+                dialogForm.CloseForm();
 
                 //鍚嶅瓧涓�鏍锋椂锛屼笉澶勭悊
                 if (textValue != fileInfo.BackupName)
@@ -376,8 +517,8 @@
         private void ShowAddBackupForm()
         {
             //鐢熸垚涓�涓脊绐楃敾闈�
-            var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput);
-
+            var dialogForm = new DialogInputForm();
+            dialogForm.AddForm(DialogFrameMode.OnlyInput);
             //娣诲姞澶囦唤
             dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddBackup));
             //璇疯緭鍏ュ娉ㄥ悕绉�
@@ -393,7 +534,7 @@
                 }
 
                 //鐢婚潰鍏抽棴
-                dialogForm.CloseDialog();
+                dialogForm.CloseForm();
 
                 //涓婁紶澶囦唤
                 this.UpLoadBackInfo(textValue);
@@ -409,7 +550,7 @@
         /// </summary>
         private void CopyLocationAllFileToAutoBackDirectory()
         {
-            List<string> listAllFile = Global.FileListByHomeId();
+            List<string> listAllFile = Shared.Common.Global.FileListByHomeId();
 
             string strroot = Common.Config.Instance.FullPath;
             string autoPath = System.IO.Path.Combine(strroot, DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupDirectory);
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlBackupMenuForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlBackupMenuForm.cs
deleted file mode 100755
index 5b5f585..0000000
--- a/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlBackupMenuForm.cs
+++ /dev/null
@@ -1,113 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Shared.Phone.UserCenter.HdlBackup
-{
-    /// <summary>
-    /// 鏁版嵁澶囦唤鐨勮彍鍗曠晫闈�
-    /// </summary>
-    public class HdlBackupMenuForm : EditorCommonForm
-    {
-        /// <summary>
-        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
-        /// </summary>
-        public void ShowForm()
-        {
-            //璁剧疆澶撮儴淇℃伅
-            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDataBackup));
-
-            //鍒濆鍖栦腑閮ㄤ俊鎭�
-            this.InitMiddleFrame();
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
-        /// </summary>
-        private void InitMiddleFrame()
-        {
-            //娓呯┖bodyFrame
-            this.ClearBodyFrame();
-
-            //鍒濆鍖栥�愬悓姝ユ暟鎹�戣
-            this.InitAutoBackupRow();
-
-            //鍒濆鍖栥�愯嚜瀹氫箟澶囦唤銆戣
-            this.InitManualBackupRow();
-
-            //鍒濆鍖栥�愮綉鍏冲浠姐�戣
-            //this.InitGatewayBackupRow();
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栥�愬悓姝ユ暟鎹�戣
-        /// </summary>
-        private void InitAutoBackupRow()
-        {
-            var rowLayout = new FrameRowControl();
-            bodyFrameLayout.AddChidren(rowLayout);
-            //搴曠嚎
-            rowLayout.AddBottomLine();
-
-            //鑷姩鍚屾鏁版嵁
-            var txName = rowLayout.AddLeftCaption("", 800);
-            txName.TextID = R.MyInternationalizationString.uAppAutoBackup;
-
-            rowLayout.AddRightArrow();
-
-            rowLayout.ButtonClickEvent += (sender, e) =>
-            {
-                var form = new HdlAutoBackUpForm();
-                form.AddForm();
-            };
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栥�愯嚜瀹氫箟澶囦唤銆戣
-        /// </summary>
-        private void InitManualBackupRow()
-        {
-            var rowLayout = new FrameRowControl();
-            rowLayout.Y = ControlCommonResourse.ListViewRowHeight;
-            bodyFrameLayout.AddChidren(rowLayout);
-            //搴曠嚎
-            rowLayout.AddBottomLine();
-
-            //鑷畾涔夊浠�
-            var txName = rowLayout.AddLeftCaption("", 800);
-            txName.TextID = R.MyInternationalizationString.uAppManualBackup;
-            rowLayout.AddChidren(txName);
-
-            rowLayout.AddRightArrow();
-
-            rowLayout.ButtonClickEvent += (sender, e) =>
-            {
-                var form = new HdlManualBackUpForm();
-                form.AddForm();
-            };
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栥�愮綉鍏冲浠姐�戣
-        /// </summary>
-        private void InitGatewayBackupRow()
-        {
-            var rowLayout = new FrameRowControl();
-            rowLayout.Y = ControlCommonResourse.ListViewRowHeight * 2;
-            bodyFrameLayout.AddChidren(rowLayout);
-
-            //缃戝叧澶囦唤
-            var txName = rowLayout.AddLeftCaption("", 800);
-            txName.TextID = R.MyInternationalizationString.uGatewayBackup;
-            rowLayout.AddChidren(txName);
-
-            rowLayout.AddRightArrow();
-
-            rowLayout.ButtonClickEvent += (sender, e) =>
-            {
-                var form = new HdlGatewayListBackUpForm();
-                form.AddForm();
-            };
-        }
-    }
-}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs
index 2e1e226..a4e7f3b 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs
@@ -43,12 +43,19 @@
             //娓呯┖bodyFrame
             this.ClearBodyFrame();
 
+            string iconPath = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, memberResult.DistributedMark + ".png");
+            //鍐欏叆澶村儚鍐呭
+            Shared.IO.FileUtils.WriteFileByBytes(iconPath, memberResult.HeadImage);
+
             //澶村儚
-            var btnIcon = new PicViewControl(207, 207);
-            btnIcon.UnSelectedImagePath = "Center/Admin.png";
-            btnIcon.Y = Application.GetRealHeight(219);
-            btnIcon.Gravity = Gravity.CenterHorizontal;
-            bodyFrameLayout.AddChidren(btnIcon);
+            var btnUserIcon = new ImageView();
+            btnUserIcon.Height = Application.GetMinRealAverage(207);
+            btnUserIcon.Width = Application.GetMinRealAverage(207);
+            btnUserIcon.Radius = (uint)Application.GetMinRealAverage(207) / 2;
+            btnUserIcon.ImagePath = iconPath;
+            btnUserIcon.Y = Application.GetRealHeight(219);
+            btnUserIcon.Gravity = Gravity.CenterHorizontal;
+            bodyFrameLayout.AddChidren(btnUserIcon);
 
             //鎴愬憳ID
             var btnUserId = new NormalViewControl(800, 50, true);
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs
index cbfe08e..6e549ec 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs
@@ -15,6 +15,14 @@
         /// 鍒楄〃鎺т欢
         /// </summary>
         private VerticalListControl listView = null;
+        /// <summary>
+        /// 鎴愬憳澶村儚鎺т欢
+        /// </summary>
+        private Dictionary<string, ImageView> dicIconControl = new Dictionary<string, ImageView>();
+        /// <summary>
+        /// 鎴愬憳鐨勮处鍙�(鑾峰彇澶村儚鐢�)
+        /// </summary>
+        private Dictionary<string, string> dicMemberAccount = new Dictionary<string, string>();
 
         #endregion
 
@@ -39,8 +47,15 @@
                 string msg1 = Language.StringByID(R.MyInternationalizationString.uScanQRcode);
                 menuContr.AddRowMenu(msg1, "Item/ScanQRcodeIcon.png", "Item/ScanQRcodeIconSelected.png", () =>
                 {
-                    var form = new AddMemberByIdForm();
-                    form.AddForm();
+                    QRCode.ScanQRcode((qrCode) =>
+                    {
+                        if (string.IsNullOrEmpty(qrCode) == true)
+                        {
+                            return;
+                        }
+                        //鎼滅储ID
+                        this.SearchMemberInfo(qrCode);
+                    });
                 });
                 //杈撳叆璐﹀彿
                 string msg2 = Language.StringByID(R.MyInternationalizationString.uInputAccount);
@@ -86,11 +101,13 @@
             bodyFrameLayout.AddChidren(frameBack);
 
             //鐢ㄦ埛鍥炬爣
-            var btnUserIcon = new PicViewControl(207, 207);
-            btnUserIcon.Y = Application.GetRealHeight(46);
+            var btnUserIcon = new ImageView();
+            btnUserIcon.Height = Application.GetMinRealAverage(207);
+            btnUserIcon.Width = Application.GetMinRealAverage(207);
             btnUserIcon.Radius = (uint)Application.GetMinRealAverage(207) / 2;
+            btnUserIcon.ImagePath = UserCenterResourse.UserInfo.UserIconFile;
+            btnUserIcon.Y = Application.GetRealHeight(46);
             btnUserIcon.Gravity = Gravity.CenterHorizontal;
-            btnUserIcon.UnSelectedImagePath = "Center/Admin.png";
             frameBack.AddChidren(btnUserIcon);
 
             //鏄电О
@@ -142,7 +159,7 @@
             listView.Y = frameBack.Bottom;
             bodyFrameLayout.AddChidren(listView);
 
-            HdlThreadLogic.Current.RunMainInThread(() =>
+            HdlThreadLogic.Current.RunThread(() =>
             {
                 //鎬讳箣鍏堟竻绌哄叡浜枃浠跺す鍑嗘病閿�
                 HdlShardLogic.Current.ClearShardDirectory();
@@ -214,9 +231,11 @@
             {
                 return;
             }
-
-            //娣诲姞鎴愬憳鍒楄〃
-            this.AddMemberListRowByData();
+            HdlThreadLogic.Current.RunMain(() =>
+            {
+                //娣诲姞鎴愬憳鍒楄〃
+                this.AddMemberListRowByData();
+            });
         }
 
         /// <summary>
@@ -238,6 +257,8 @@
             }
             //璋冩暣鍒楄〃鎺т欢鐨勯珮搴�
             listView.AdjustRealHeight(Application.GetRealHeight(23));
+            //鑾峰彇鎴愬憳澶村儚
+            this.GetMemberIcon();
         }
 
         #endregion
@@ -257,14 +278,29 @@
             listView.AddChidren(rowlayout);
 
             //鎴愬憳澶村儚鍥炬爣
-            var btnIcon = rowlayout.AddLeftIcon(115);
-            btnIcon.Radius = (uint)btnIcon.IconSize / 2;
-            btnIcon.UnSelectedImagePath = "Center/Admin.png";
+            string iconPath = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, info.DistributedMark + ".png");
+            var btnIcon = new ImageView();
+            btnIcon.X = ControlCommonResourse.XXLeft;
+            btnIcon.Gravity = Gravity.CenterVertical;
+            btnIcon.Height = Application.GetMinRealAverage(115);
+            btnIcon.Width = Application.GetMinRealAverage(115);
+            btnIcon.Radius = (uint)Application.GetMinRealAverage(115) / 2;
+            if (System.IO.File.Exists(iconPath) == true)
+            {
+                btnIcon.ImagePath = iconPath;
+            }
+            else
+            {
+                btnIcon.ImagePath = "Center/Admin.png";
+                this.dicIconControl[info.DistributedMark] = btnIcon;
+                this.dicMemberAccount[info.DistributedMark] = info.Account;
+            }
             rowlayout.AddChidren(btnIcon);
 
             //鎴愬憳鏄电О
             string memberName = string.IsNullOrEmpty(info.UserName) == true ? info.Account : info.UserName;
             var btnName = rowlayout.AddLeftCaption(memberName, 600, true);
+            btnName.X = ControlCommonResourse.XXLeft + btnIcon.Height + Application.GetRealWidth(35);
             btnName.TextSize = 15;
             rowlayout.AddChidren(btnName);
 
@@ -280,6 +316,54 @@
                 var form = new MemberManagementForm();
                 form.AddForm(info);
             };
+        }
+
+        #endregion
+
+        #region 鈻� 鑾峰彇鎴愬憳澶村儚_______________________
+
+        /// <summary>
+        /// 鑾峰彇鎴愬憳澶村儚
+        /// </summary>
+        private void GetMemberIcon()
+        {
+            if (dicIconControl.Count == 0)
+            {
+                return;
+            }
+            HdlThreadLogic.Current.RunThread(async () =>
+            {
+                var pra = new AccountInfoPra();
+                foreach (var keys in dicMemberAccount.Keys)
+                {
+                    if (this.Parent == null)
+                    {
+                        return;
+                    }
+                    pra.Account = dicMemberAccount[keys];
+                    var result = await UserCenterLogic.GetByteResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountInfo", false, pra, new List<string>() { "NotSetAgain" });
+                    if (result == null)
+                    {
+                        continue;
+                    }
+                    var revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ResponsePack>(System.Text.Encoding.UTF8.GetString(result));
+                    if (revertObj == null || revertObj.ResponseData == null)
+                    {
+                        continue;
+                    }
+                    var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<AccountInfoResult>(revertObj.ResponseData.ToString());
+                    if (infoResult.HeadImage != null)
+                    {
+                        //鍐欏叆澶村儚鍐呭
+                        string iconPath = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, keys + ".png");
+                        Shared.IO.FileUtils.WriteFileByBytes(iconPath, infoResult.HeadImage);
+                        HdlThreadLogic.Current.RunMain(() =>
+                        {
+                            dicIconControl[keys].ImagePath = iconPath;
+                        });
+                    }
+                }
+            });
         }
 
         #endregion
@@ -309,6 +393,43 @@
 
         #endregion
 
+        #region 鈻� 鎼滅储ID_____________________________
+
+        /// <summary>
+        /// 鎼滅储鎸囧畾ID鐨勪俊鎭�
+        /// </summary>
+        /// <param name="accountId">鎴愬憳ID</param>
+        /// <param name="txtMsg">淇℃伅鎺т欢</param>
+        private async void SearchMemberInfo(string accountId)
+        {
+            var pra = new AccountInfoPra();
+            pra.Account = accountId;
+            string result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountInfo", false, pra, new List<string>() { "AccountNoExists" });
+            if (result == null)
+            {
+                //寮傚父
+                return;
+            }
+            if (result == string.Empty)
+            {
+                //鎴愬憳涓嶅瓨鍦�
+                var form = new MemberNotEsixtForm();
+                form.AddForm();
+                return;
+            }
+
+            var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<AccountInfoResult>(result);
+            infoResult.Account = accountId;
+
+            Application.RunOnMainThread(() =>
+            {
+                var form = new AddMemberInfoForm();
+                form.AddForm(infoResult);
+            });
+        }
+
+        #endregion
+
         #region 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________
 
         /// <summary>
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs
index 0bf877c..0b8607f 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs
@@ -1,4 +1,6 @@
 锘縰sing System;
+using System.Collections.Generic;
+
 namespace Shared.Phone.UserCenter.Member
 {
     /// <summary>
@@ -112,11 +114,24 @@
             bodyFrameLayout.AddChidren(frame);
 
             //鐢ㄦ埛鍥炬爣
-            var btnUserIcon = new PicViewControl(207, 207);
+            string iconPath = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, memberInfo.DistributedMark + ".png");
+            var btnUserIcon = new ImageView();
+            btnUserIcon.Height = Application.GetMinRealAverage(207);
+            btnUserIcon.Width = Application.GetMinRealAverage(207);
+            btnUserIcon.Radius = (uint)Application.GetMinRealAverage(207) / 2;
+            if (System.IO.File.Exists(iconPath) == true)
+            {
+                btnUserIcon.ImagePath = iconPath;
+            }
+            else
+            {
+                btnUserIcon.ImagePath = "Center/Admin.png";
+            }
             btnUserIcon.Y = Application.GetRealHeight(45);
             btnUserIcon.Gravity = Gravity.CenterHorizontal;
-            btnUserIcon.UnSelectedImagePath = "Center/Admin.png";
             frame.AddChidren(btnUserIcon);
+            //鑾峰彇鎴愬憳澶村儚
+            this.GetMemberIcon(btnUserIcon);
 
             //鏉冮檺
             btnAuthority = new NormalViewControl(800, 50, true);
@@ -361,6 +376,43 @@
 
         #endregion
 
+        #region 鈻� 鑾峰彇鎴愬憳澶村儚_______________________
+
+        /// <summary>
+        /// 鑾峰彇鎴愬憳澶村儚
+        /// </summary>
+        private void GetMemberIcon(ImageView btnUserIcon)
+        {
+            HdlThreadLogic.Current.RunThread(async () =>
+            {
+                var pra = new AccountInfoPra();
+                pra.Account = memberInfo.Account;
+                var result = await UserCenterLogic.GetByteResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountInfo", false, pra, new List<string>() { "NotSetAgain" });
+                if (result == null)
+                {
+                    return;
+                }
+                var revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ResponsePack>(System.Text.Encoding.UTF8.GetString(result));
+                if (revertObj == null || revertObj.ResponseData == null)
+                {
+                    return;
+                }
+                var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<AccountInfoResult>(revertObj.ResponseData.ToString());
+                if (infoResult.HeadImage != null)
+                {
+                    //鍐欏叆澶村儚鍐呭
+                    string iconPath = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, memberInfo.DistributedMark + ".png");
+                    Shared.IO.FileUtils.WriteFileByBytes(iconPath, infoResult.HeadImage);
+                    HdlThreadLogic.Current.RunMain(() =>
+                    {
+                        btnUserIcon.ImagePath = iconPath;
+                    });
+                }
+            });
+        }
+
+        #endregion
+
         #region 鈻� 缁撴瀯浣揰____________________________
 
         /// <summary>
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorGesturePasswordForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorGesturePasswordForm.cs
index 3800429..bc68e08 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorGesturePasswordForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorGesturePasswordForm.cs
@@ -146,10 +146,8 @@
                     pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.uGestureNotEqual));
                     return;
                 }
-                UserCenterResourse.Option.GestureAuthentication = i_Psw;
-                UserCenterResourse.Option.Save();
-                //鍏抽棴鐣岄潰
-                this.CloseForm();
+                //淇濆瓨瀵嗙爜
+                this.SaveSecondaryPassword(pswControl, i_Psw);
             }
             else if (formMode == FormMode.A楠岃瘉鍓嶅洖瀵嗙爜)
             {
@@ -176,6 +174,12 @@
             }
             else if (formMode == FormMode.A淇敼瀵嗙爜)
             {
+                if (i_Psw == UserCenterResourse.Option.GestureAuthentication)
+                {
+                    //鏂板瘑鐮佸拰鍘熷瘑鐮佷竴鑷达紝璇烽噸鏂拌緭鍏�
+                    pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.uNewPswAndOldPswIsEqual));
+                    return;
+                }
                 if (pswLength <= 4)
                 {
                     //鎵嬪娍瀵嗙爜闀垮害蹇呴』澶т簬4
@@ -196,10 +200,8 @@
                     pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.uGestureNotEqual));
                     return;
                 }
-                UserCenterResourse.Option.GestureAuthentication = i_Psw;
-                UserCenterResourse.Option.Save();
-                //鍏抽棴鐣岄潰
-                this.CloseForm();
+                //淇濆瓨瀵嗙爜
+                this.SaveSecondaryPassword(pswControl, i_Psw);
             }
         }
 
@@ -218,6 +220,50 @@
 
         #endregion
 
+        #region 鈻� 淇濆瓨瀵嗙爜___________________________
+
+        /// <summary>
+        /// 淇濆瓨瀵嗙爜
+        /// </summary>
+        /// <param name="contr">鎺т欢</param>
+        /// <param name="psw">瀵嗙爜</param>
+        private void SaveSecondaryPassword(PswGestureInputControl contr, string psw)
+        {
+            HdlThreadLogic.Current.RunThread(async () =>
+            {
+                //鎵撳紑杩涘害鏉�
+                this.ShowProgressBar();
+                var pra = new
+                {
+                    RequestVersion = Common.CommonPage.RequestVersion,
+                    LoginAccessToken = Common.Config.Instance.Token,
+                    GesturePwd = psw,
+                    StringPwd = UserCenterResourse.Option.PswAuthentication
+                };
+                var result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UpdatEexpandPwd", false, pra);
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar();
+
+                if (result == false)
+                {
+                    contr.SetErrorMsg(string.Empty);
+                }
+                else
+                {
+                    UserCenterResourse.Option.GestureAuthentication = psw;
+                    UserCenterResourse.Option.Save();
+
+                    HdlThreadLogic.Current.RunMain(() =>
+                    {
+                        //鐣岄潰鍏抽棴
+                        this.CloseForm();
+                    });
+                }
+            });
+        }
+
+        #endregion
+
         #region 鈻� 鐣岄潰鍏抽棴___________________________
 
         /// <summary>
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs
index 074ea87..1083b47 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs
@@ -137,10 +137,8 @@
                     pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.SecondPswNotEqual2));
                     return;
                 }
-                UserCenterResourse.Option.PswAuthentication = i_Psw;
-                UserCenterResourse.Option.Save();
-                //鍏抽棴鐣岄潰
-                this.CloseForm();
+                //淇濆瓨瀵嗙爜
+                this.SaveSecondaryPassword(pswControl, i_Psw);
             }
             else if (formMode == FormMode.A楠岃瘉鍓嶅洖瀵嗙爜)
             {
@@ -167,6 +165,12 @@
             }
             else if (formMode == FormMode.A淇敼瀵嗙爜)
             {
+                if (i_Psw == UserCenterResourse.Option.PswAuthentication)
+                {
+                    //鏂板瘑鐮佸拰鍘熷瘑鐮佷竴鑷达紝璇烽噸鏂拌緭鍏�
+                    pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.uNewPswAndOldPswIsEqual));
+                    return;
+                }
                 //杈撳叆浜屾瀵嗙爜
                 this.firstPssword = i_Psw;
                 formMode = FormMode.A纭淇敼瀵嗙爜;
@@ -180,10 +184,8 @@
                     pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.SecondPswNotEqual2));
                     return;
                 }
-                UserCenterResourse.Option.PswAuthentication = i_Psw;
-                UserCenterResourse.Option.Save();
-                //鍏抽棴鐣岄潰
-                this.CloseForm();
+                //淇濆瓨瀵嗙爜
+                this.SaveSecondaryPassword(pswControl, i_Psw);
             }
         }
 
@@ -202,6 +204,50 @@
 
         #endregion
 
+        #region 鈻� 淇濆瓨瀵嗙爜___________________________
+
+        /// <summary>
+        /// 淇濆瓨瀵嗙爜
+        /// </summary>
+        /// <param name="contr">鎺т欢</param>
+        /// <param name="psw">瀵嗙爜</param>
+        private void SaveSecondaryPassword(PswNumberInputControl contr, string psw)
+        {
+            HdlThreadLogic.Current.RunThread(async () =>
+            {
+                //鎵撳紑杩涘害鏉�
+                this.ShowProgressBar();
+                var pra = new
+                {
+                    RequestVersion = Common.CommonPage.RequestVersion,
+                    LoginAccessToken = Common.Config.Instance.Token,
+                    GesturePwd = UserCenterResourse.Option.GestureAuthentication,
+                    StringPwd = psw
+                };
+                var result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UpdatEexpandPwd", false, pra);
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar();
+
+                if (result == false)
+                {
+                    contr.SetErrorMsg(string.Empty);
+                }
+                else
+                {
+                    UserCenterResourse.Option.PswAuthentication = psw;
+                    UserCenterResourse.Option.Save();
+
+                    HdlThreadLogic.Current.RunMain(() =>
+                    {
+                        //鐣岄潰鍏抽棴
+                        this.CloseForm();
+                    });
+                }
+            });
+        }
+
+        #endregion
+
         #region 鈻� 缁撴瀯浣揰____________________________
 
         /// <summary>
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/FloorListRoomForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/FloorListRoomForm.cs
index 51dfaf3..d5c6847 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/FloorListRoomForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/FloorListRoomForm.cs
@@ -38,15 +38,19 @@
             //璁剧疆澶撮儴淇℃伅
             base.SetTitleText(Common.Config.Instance.Home.FloorDics[i_floor]);
 
-            var btnIcon = new MostRightIconControl(69, 69);
-            btnIcon.UnSelectedImagePath = "Item/Add.png";
-            topFrameLayout.AddChidren(btnIcon);
-            btnIcon.InitControl();
-            btnIcon.ButtonClickEvent += ((sender, e) =>
+            //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟
+            if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
             {
-                var form = new AddNewRoomForm();
-                form.AddForm(i_floor);
-            });
+                var btnIcon = new MostRightIconControl(69, 69);
+                btnIcon.UnSelectedImagePath = "Item/Add.png";
+                topFrameLayout.AddChidren(btnIcon);
+                btnIcon.InitControl();
+                btnIcon.ButtonClickEvent += ((sender, e) =>
+                {
+                    var form = new AddNewRoomForm();
+                    form.AddForm(i_floor);
+                });
+            }
 
             //鍒濆鍖栦腑閮ㄤ俊鎭�
             this.InitMiddleFrame();
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs
index 06aa559..1246bf1 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs
@@ -186,12 +186,28 @@
                 {
                     var frameContr = new FrameLayout();
                     frameContr.Height = Application.GetRealHeight(470);
+                    frameContr.Gravity = Gravity.CenterHorizontal;
                     listView.AddChidrenFrame(frameContr);
+
                     //鍦烘櫙鍥剧墖
-                    var btnPic = new PicViewControl(878, 470, true);
-                    btnPic.Gravity = Gravity.CenterHorizontal;
-                    btnPic.UnSelectedImagePath = data.IconPath;
+                    var btnPic = new ImageView();
+                    btnPic.X = Application.GetRealWidth(179);
+                    btnPic.Width = Application.GetRealWidth(844);
+                    btnPic.Height = Application.GetRealHeight(420);
+                    btnPic.ImagePath = data.IconPath;
+                    btnPic.Radius = 17;
                     frameContr.AddChidren(btnPic);
+
+                    var btnName = new NormalViewControl(251, 282, true);
+                    btnName.X = ControlCommonResourse.XXLeft;
+                    btnName.Gravity = Gravity.CenterVertical;
+                    btnName.BackgroundColor = 0xff333333;
+                    btnName.Radius = 17;
+                    btnName.Text = data.Name;
+                    btnName.TextSize = 15;
+                    btnName.TextColor = UserCenterColor.Current.White;
+                    btnName.TextAlignment = TextAlignment.Center;
+                    frameContr.AddChidren(btnName);
                 }
             });
         }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceListForm.cs
index 00f1d1d..99aac4c 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceListForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceListForm.cs
@@ -264,7 +264,8 @@
         private void ShowEditorNameForm(Common.ResponseEntity.ResidenceObj info, NormalViewControl btnHome)
         {
             //鐢熸垚涓�涓脊绐楃敾闈�
-            var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput);
+            var dialogForm = new DialogInputForm();
+            dialogForm.AddForm(DialogFrameMode.OnlyInput);
             //缂栬緫浣忓畢
             dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uChangedName));
             //璇疯緭鍏ヤ綇瀹呭悕绉�
@@ -282,7 +283,7 @@
                     return;
                 }
                 //鐢婚潰鍏抽棴
-                dialogForm.CloseDialog();
+                dialogForm.CloseForm();
 
                 if (info.Name != textValue)
                 {
@@ -340,7 +341,8 @@
         private void ShowAddNameForm()
         {
             //鐢熸垚涓�涓脊绐楃敾闈�
-            var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput);
+            var dialogForm = new DialogInputForm();
+            dialogForm.AddForm(DialogFrameMode.OnlyInput);
             //鍒涘缓浣忓畢
             dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uCreatResidence));
             //璇疯緭鍏ヤ綇瀹呭悕绉�
@@ -356,7 +358,7 @@
                     return;
                 }
                 //鐢婚潰鍏抽棴
-                dialogForm.CloseDialog();
+                dialogForm.CloseForm();
 
                 //淇濆瓨浣忓畢
                 this.AddNewResidence(textValue);
@@ -545,29 +547,6 @@
             /// ZigbeeHomeGuid
             /// </summary>
             public string Id = string.Empty;
-        }
-
-        /// <summary>
-        ///  缂栬緫浣忓畢鐨勫惎鍔ㄥ弬鏁�
-        /// </summary>
-        public class EditorResidencePra : IfacePraCommon
-        {
-            /// <summary>
-            /// RequestVersion
-            /// </summary>
-            public string RequestVersion = Common.CommonPage.RequestVersion;
-            /// <summary>
-            /// LoginAccessToken
-            /// </summary>
-            public string LoginAccessToken = Common.Config.Instance.Token;
-            /// <summary>
-            /// ZigbeeHomeId
-            /// </summary>
-            public string HomeId = "";
-            /// <summary>
-            /// Name
-            /// </summary>
-            public string Name = string.Empty;
         }
 
         #endregion
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
index 434417d..da559e5 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
@@ -68,6 +68,7 @@
             rowHome.Height = Application.GetRealHeight(173);
             rowHome.BackgroundColor = UserCenterColor.Current.White;
             bodyFrameLayout.AddChidren(rowHome);
+            rowHome.frameTable.UseClickStatu = false;
 
             var btnAdreeIcon = rowHome.frameTable.AddLeftIcon(81);
             btnAdreeIcon.UnSelectedImagePath = "Item/FixedPositionSelected.png";
@@ -83,8 +84,36 @@
             btnNowView.Y = Application.GetRealHeight(95);
             btnNowView.TextColor = UserCenterColor.Current.TextGrayColor1;
             rowHome.frameTable.AddChidren(btnNowView, ChidrenBindMode.BindEventOnly);
-            //鍙崇澶�
-            rowHome.frameTable.AddRightArrow();
+            //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟
+            if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
+            {
+                //鍙崇澶�
+                rowHome.frameTable.AddRightArrow();
+            }
+            //缁忕含搴�
+            var btnLocation = rowHome.frameTable.AddMostRightView(string.Empty, 500);
+            btnLocation.Text = this.GetLatitudeAndLongitudeText(Common.Config.Instance.Home.Longitude, Common.Config.Instance.Home.Latitude);
+
+            //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟
+            if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
+            {
+                rowHome.frameTable.UseClickStatu = true;
+                rowHome.frameTable.ButtonClickEvent += (sender, e) =>
+                {
+                    //榛樿鍊� 23.134421,113.267189
+                    double latitude = Common.Config.Instance.Home.Latitude;
+                    double longitude = Common.Config.Instance.Home.Longitude;
+                    //鍦板浘
+                    GDMapKit.Show((mLatitude, mLongitude, mRadius, name) =>
+                    {
+                        HdlThreadLogic.Current.RunThread(() =>
+                        {
+                            //淇濆瓨浣忓畢鍦板潃
+                            this.SaveResidenceAdrress(btnLocation, mLatitude, mLongitude);
+                        });
+                    }, Language.StringByID(R.MyInternationalizationString.uSelectAdrress), true, latitude, longitude, 100);
+                };
+            }
 
             if (i_CanDeleteResidence == true)
             {
@@ -375,7 +404,8 @@
         private void CreatOrEditorFloor(NormalViewControl btnFloor, string keys, string floorName)
         {
             //鐢熸垚涓�涓脊绐楃敾闈�
-            var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput);
+            var dialogForm = new DialogInputForm();
+            dialogForm.AddForm(DialogFrameMode.OnlyInput);
             //鍒涘缓妤煎眰
             dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uCreatFloor));
             if (keys != string.Empty)
@@ -396,7 +426,7 @@
                     return;
                 }
                 //鐢婚潰鍏抽棴
-                dialogForm.CloseDialog();
+                dialogForm.CloseForm();
                 if (floorName != textValue)
                 {
                     //缂栬緫鎴栬�呭垱寤烘ゼ灞傚悕绉�
@@ -623,6 +653,61 @@
 
         #endregion
 
+        #region 鈻� 淇濆瓨浣忓畢鍦板浘鍦板潃___________________
+
+        /// <summary>
+        /// 淇濆瓨浣忓畢鍦板潃
+        /// </summary>
+        /// <param name="btnLocation">鏄剧ず鎺т欢</param>
+        /// <param name="latitude">绾害</param>
+        /// <param name="longitude">缁忓害</param>
+        private async void SaveResidenceAdrress(NormalViewControl btnLocation, double latitude, double longitude)
+        {
+            //寮�鍚繘搴︽潯
+            this.ShowProgressBar();
+
+            var Pra = new EditorResidencePra();
+            Pra.HomeId = Common.Config.Instance.Home.Id;
+            Pra.Name = Common.Config.Instance.Home.Name;
+            Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+            Pra.Latitude = latitude;
+            Pra.Longitude = longitude;
+
+            //缂栬緫浣忓畢
+            bool flage = await UserCenterLogic.GetResultStatuByRequestHttps("App/EditHome", true, Pra);
+            if (flage == false)
+            {
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar();
+                return;
+            }
+            //璁剧疆鍏ㄩ儴缃戝叧鐨勪綇瀹呭湴鍧�
+            var listGateway = HdlGatewayLogic.Current.GetAllLocalGateway();
+            foreach (var gateway in listGateway)
+            {
+                var result = HdlGatewayLogic.Current.SetGatewaySite(gateway, longitude, latitude);
+                if (result == false)
+                {
+                    //鍏抽棴杩涘害鏉�
+                    this.CloseProgressBar();
+                    return;
+                }
+            }
+
+            //鍏抽棴杩涘害鏉�
+            this.CloseProgressBar();
+            //淇濆瓨缂撳瓨
+            Common.Config.Instance.Home.Longitude = longitude;
+            Common.Config.Instance.Home.Latitude = latitude;
+            Common.Config.Instance.Home.Save();
+            HdlThreadLogic.Current.RunMain(() =>
+            {
+                btnLocation.Text = this.GetLatitudeAndLongitudeText(longitude, latitude);
+            });
+        }
+
+        #endregion
+
         #region 鈻� 涓�鑸柟娉昣__________________________
 
         /// <summary>
@@ -674,6 +759,50 @@
             return true;
         }
 
+        /// <summary>
+        /// 鑾峰彇缁忕含搴︾殑缈昏瘧鍚嶅瓧
+        /// </summary>
+        /// <param name="Longitude">缁忓害</param>
+        /// <param name="Latitude">绾害</param>
+        /// <returns></returns>
+        private string GetLatitudeAndLongitudeText(double Longitude, double Latitude)
+        {
+            string value1 = string.Empty;
+            string value2 = string.Empty;
+            if (Longitude == 0)
+            {
+                //榛樿涓滅粡
+                value1 = "0掳00'E";
+            }
+            else if (Longitude > 0)
+            {
+                //涓滅粡
+                value1 = Math.Round(Longitude, 2).ToString().Replace(".", "掳") + "'E";
+            }
+            else if (Longitude < 0)
+            {
+                //瑗跨粡
+                value1 = Math.Round(-Longitude, 2).ToString().Replace(".", "掳") + "'W";
+            }
+
+            if (Latitude == 0)
+            {
+                //榛樿鍖楃含
+                value2 = "0掳00'N";
+            }
+            else if (Latitude > 0)
+            {
+                //鍖楃含
+                value2 = Math.Round(Latitude, 2).ToString().Replace(".", "掳") + "'N";
+            }
+            else if (Latitude < 0)
+            {
+                //鍗楃含
+                value2 = Math.Round(-Latitude, 2).ToString().Replace(".", "掳") + "'S";
+            }
+            return value1 + " " + value2;
+        }
+
         #endregion
 
         #region 鈻� 缁撴瀯浣揰____________________________
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectCurtainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectCurtainForm.cs
index c8f6761..14721c3 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectCurtainForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectCurtainForm.cs
@@ -210,7 +210,11 @@
                     btnOpen.TextColor = UserCenterColor.Current.TextColor1;
                     seekBar.Enable = true;
                     seekBar.ProgressColor = 0xfffdb500;
-
+                    if (seekBar.Progress == 0)
+                    {
+                        seekBar.Progress = 100;
+                        btnPersent.Text = "100%";
+                    }
                     //鍏� 涓嶅彲鐢�
                     btnClose.TextColor = UserCenterColor.Current.TextGrayColor3;
 
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectLightForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectLightForm.cs
index 6a06cc5..4f2c30f 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectLightForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectLightForm.cs
@@ -210,6 +210,11 @@
                     btnOpen.TextColor = UserCenterColor.Current.TextColor1;
                     seekBar.Enable = true;
                     seekBar.ProgressColor = 0xfffdb500;
+                    if (seekBar.Progress == 0)
+                    {
+                        seekBar.Progress = 100;
+                        btnPersent.Text = "100%";
+                    }
 
                     //鍏� 涓嶅彲鐢�
                     btnClose.TextColor = UserCenterColor.Current.TextGrayColor3;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddContactForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddContactForm.cs
index 86513a8..702fbec 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddContactForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddContactForm.cs
@@ -42,6 +42,12 @@
             btnIcon.InitControl();
             btnIcon.ButtonClickEvent += ((sender, e) =>
             {
+                Contacts.ContactAction = (phoneName, phoneNum) =>
+                {
+                    //淇濆瓨鑱旂郴浜�
+                    this.SaveCoercePhoneNumber("86", phoneNum, phoneName);
+                };
+                Contacts.Open();
             });
 
             //鍒濆鍖栦腑閮ㄤ俊鎭�
@@ -153,13 +159,16 @@
         /// </summary>
         /// <param name="areaCode"></param>
         /// <param name="phoneNum"></param>
+        /// <param name="strNote"></param>
         private async void SaveCoercePhoneNumber(string areaCode, string phoneNum, string strNote)
         {
-            Dictionary<string, string> dicPhone = new Dictionary<string, string>();
-            dicPhone[phoneNum] = areaCode;
+            var listPhone = new List<string>();
+            listPhone.Add(areaCode + "-" + phoneNum);
+            var listNote = new List<string>();
+            listNote.Add(strNote);
 
             //鍙樻洿
-            var result = await HdlSafeguardLogic.Current.SetCoercePhoneNumber(dicPhone);
+            var result = await HdlSafeguardLogic.Current.SetCoercePhoneNumber(listPhone, listNote);
             if (result == false)
             {
                 return;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddNewForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddNewForm.cs
index e354820..f00d28f 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddNewForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddNewForm.cs
@@ -66,8 +66,6 @@
                     string msg = this.CheckPassword(firstPsw, pssword);
                     if (msg != string.Empty)
                     {
-                        //璇烽噸澶嶈緭鍏ユ柊鑳佽揩瀵嗙爜
-                        pswControl.ResetControlInfo(Language.StringByID(R.MyInternationalizationString.uPleaseRepeatInputNewCoercePassword));
                         //璁剧疆閿欒淇℃伅
                         pswControl.SetErrorMsg(msg);
                         return;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswEditorForm.cs
index 8249786..9968b1e 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswEditorForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswEditorForm.cs
@@ -193,11 +193,32 @@
         /// <param name="data"></param>
         private void AddPhoneNumRowLayout(VerticalListControl listview, ZigBee.Device.Safeguard.PushTargetInfo data)
         {
+            var strArry = data.PushNumber.Split(new string[] { "-" }, StringSplitOptions.RemoveEmptyEntries);
+            if (strArry.Length != 2)
+            {
+                return;
+            }
+            string areaCode2 = strArry[0];
+            string phoneNum = strArry[1];
+
+            string strPhone = "+" + areaCode2 + " " + phoneNum;
+            if (phoneNum.Length >= 11)
+            {
+                phoneNum = phoneNum.Substring(0, 3) + "".PadLeft(phoneNum.Length - 7, '*') + phoneNum.Substring(phoneNum.Length - 4, 4);
+                strPhone = "+" + areaCode2 + " " + phoneNum;
+            }
+            else if (phoneNum.Length >= 5)
+            {
+                //鎴栬杩欐槸鍥藉鐨勬墜鏈哄惂
+                phoneNum = phoneNum.Substring(0, 3) + "".PadLeft(phoneNum.Length - 5, '*') + phoneNum.Substring(phoneNum.Length - 2, 2);
+                strPhone = "+" + areaCode2 + " " + phoneNum;
+            }
+
             var rowContact = new RowLayoutControl();
             rowContact.frameTable.UseClickStatu = false;
             listview.AddChidren(rowContact);
             //鑱旂郴鏂瑰紡
-            rowContact.frameTable.AddLeftCaption("+" + data.PushNumber.Replace("-", " "), 800);
+            rowContact.frameTable.AddLeftCaption(strPhone + " (" + data.PushNumberNote + ")", 800);
             rowContact.frameTable.AddBottomLine();
             //鍒犻櫎
             var btnDetete = rowContact.AddDeleteControl();
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordAddNewForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordAddNewForm.cs
index 7eead35..50a2a5a 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordAddNewForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordAddNewForm.cs
@@ -68,8 +68,6 @@
                     string msg = this.CheckPassword(firstPsw, pssword);
                     if (msg != string.Empty)
                     {
-                        //璇烽噸澶嶈緭鍏ユ柊瀹夐槻瀵嗙爜
-                        pswControl.ResetControlInfo(Language.StringByID(R.MyInternationalizationString.uPleaseRepeatInputNewSafetyPassword));
                         //璁剧疆閿欒淇℃伅
                         pswControl.SetErrorMsg(msg);
                         return;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordRefreshMsgForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordRefreshMsgForm.cs
deleted file mode 100755
index 7777241..0000000
--- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordRefreshMsgForm.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Shared.Phone.UserCenter.Safety
-{
-    /// <summary>
-    /// 瀹夐槻瀵嗙爜淇敼瀹屾垚鍚庯紝鎻愮ず宸茬粡鏇存柊鐨勭敾闈�
-    /// </summary>
-    public class PasswordRefreshMsgForm : EditorCommonForm
-    {
-        /// <summary>
-        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
-        /// </summary>
-        /// <param name="msg">鎻愮ず淇℃伅</param>
-        public void ShowForm(string msg)
-        {
-            //璁剧疆澶撮儴淇℃伅
-            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uChangedPassword));
-
-            var txtMsg = new NormalViewControl(1000, true);
-            txtMsg.Y = Application.GetRealHeight(320);
-            txtMsg.Text = msg;
-            txtMsg.Gravity = Gravity.CenterHorizontal;
-            txtMsg.TextAlignment = TextAlignment.Center;
-            bodyFrameLayout.AddChidren(txtMsg);
-
-            HdlThreadLogic.Current.RunThread(() =>
-            {
-                //浜旂鍚庡叧闂敾闈�
-                System.Threading.Thread.Sleep(5000);
-                Application.RunOnMainThread(() =>
-                {
-                    this.CloseForm();
-                });
-            });
-        }
-    }
-}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs
index ae802ca..5cf9e10 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs
@@ -198,16 +198,33 @@
                     //鍦烘櫙鍥剧墖
                     var frameContr = new FrameLayoutControl();
                     frameContr.UseClickStatu = false;
-                    frameContr.Width = Application.GetRealWidth(878);
-                    frameContr.Height = Application.GetRealHeight(440);
-                    frameContr.Gravity = Gravity.CenterHorizontal;
-                    frameContr.BackgroundImagePath = data.IconPath;
+                    frameContr.Height = Application.GetRealHeight(470);
                     listView.AddChidrenFrame(frameContr);
+
+                    //鍦烘櫙鍥剧墖
+                    var btnPic = new ImageView();
+                    btnPic.X = Application.GetRealWidth(179);
+                    btnPic.Width = Application.GetRealWidth(844);
+                    btnPic.Height = Application.GetRealHeight(420);
+                    btnPic.ImagePath = data.IconPath;
+                    btnPic.Radius = 17;
+                    frameContr.AddChidren(btnPic);
+
+                    var btnName = new NormalViewControl(251, 282, true);
+                    btnName.X = ControlCommonResourse.XXLeft;
+                    btnName.Gravity = Gravity.CenterVertical;
+                    btnName.BackgroundColor = 0xff333333;
+                    btnName.Radius = 17;
+                    btnName.Text = data.Name;
+                    btnName.TextSize = 15;
+                    btnName.TextColor = UserCenterColor.Current.White;
+                    btnName.TextAlignment = TextAlignment.Center;
+                    frameContr.AddChidren(btnName);
 
                     var btnSelect = new IconViewControl(58);
                     btnSelect.UnSelectedImagePath = "Item/ItemUnSelected.png";
                     btnSelect.SelectedImagePath = "Item/ItemSelected.png";
-                    btnSelect.X = Application.GetRealWidth(786);
+                    btnSelect.X = Application.GetRealWidth(887);
                     btnSelect.Y = Application.GetRealHeight(35);
                     frameContr.AddChidren(btnSelect, ChidrenBindMode.BindEventOnly);
                     if (dicSelectScene.ContainsKey(data.Id) == true)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs
index 8293b3d..82a86d1 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs
@@ -181,16 +181,33 @@
                     //鍦烘櫙鍥剧墖
                     var frameContr = new FrameLayoutControl();
                     frameContr.UseClickStatu = false;
-                    frameContr.Width = Application.GetRealWidth(878);
-                    frameContr.Height = Application.GetRealHeight(440);
-                    frameContr.Gravity = Gravity.CenterHorizontal;
-                    frameContr.BackgroundImagePath = data.IconPath;
+                    frameContr.Height = Application.GetRealHeight(470);
                     listView.AddChidrenFrame(frameContr);
+
+                    //鍦烘櫙鍥剧墖
+                    var btnPic = new ImageView();
+                    btnPic.X = Application.GetRealWidth(179);
+                    btnPic.Width = Application.GetRealWidth(844);
+                    btnPic.Height = Application.GetRealHeight(420);
+                    btnPic.ImagePath = data.IconPath;
+                    btnPic.Radius = 17;
+                    frameContr.AddChidren(btnPic);
+
+                    var btnName = new NormalViewControl(251, 282, true);
+                    btnName.X = ControlCommonResourse.XXLeft;
+                    btnName.Gravity = Gravity.CenterVertical;
+                    btnName.BackgroundColor = 0xff333333;
+                    btnName.Radius = 17;
+                    btnName.Text = data.Name;
+                    btnName.TextSize = 15;
+                    btnName.TextColor = UserCenterColor.Current.White;
+                    btnName.TextAlignment = TextAlignment.Center;
+                    frameContr.AddChidren(btnName);
 
                     var btnSelect = new IconViewControl(58);
                     btnSelect.UnSelectedImagePath = "Item/ItemUnSelected.png";
                     btnSelect.SelectedImagePath = "Item/ItemSelected.png";
-                    btnSelect.X = Application.GetRealWidth(786);
+                    btnSelect.X = Application.GetRealWidth(887);
                     btnSelect.Y = Application.GetRealHeight(35);
                     frameContr.AddChidren(btnSelect, ChidrenBindMode.BindEventOnly);
                     if (dicSelectScene.ContainsKey(data.Id) == true)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs
index f6a1ded..39e8883 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs
@@ -11,6 +11,15 @@
     {
         #region 鈻� 鍙橀噺澹版槑___________________________
 
+        /// <summary>
+        /// 0:Bug銆�1:浼樺寲銆�2:鏂伴渶姹�
+        /// </summary>
+        private int typeMode = 0;
+        /// <summary>
+        /// 鎰忚鍙嶉鍓╀綑娆℃暟
+        /// </summary>
+        private int suggestionCount = 3;
+
         #endregion
 
         #region 鈻� 鍒濆鍖朹____________________________
@@ -35,18 +44,249 @@
             //娓呯┖bodyFrame
             this.ClearBodyFrame();
 
+            //鎻愪氦
+            var btnSubmit = new BottomClickButton();
+
             var frameInput = new FrameLayout();
             frameInput.Height = Application.GetRealHeight(576);
             frameInput.BackgroundColor = UserCenterColor.Current.White;
             bodyFrameLayout.AddChidren(frameInput);
 
-            var txtInput = new TextInputControl(bodyFrameLayout.Width - ControlCommonResourse.XXLeft * 2, Application.GetRealHeight(473), false);
+            //瀛楁暟
+            var btnFild = new NormalViewControl(120, 60, true);
+            btnFild.X = frameInput.Width - ControlCommonResourse.XXLeft - Application.GetRealWidth(80);
+            btnFild.Y = Application.GetRealHeight(503);
+            btnFild.TextColor = UserCenterColor.Current.TextGrayColor1;
+            btnFild.TextSize = 12;
+            btnFild.Text = "500";
+            btnFild.TextAlignment = TextAlignment.CenterRight;
+            frameInput.AddChidren(btnFild);
+
+            //鎮ㄧ殑鍙嶉鍜屾剰瑙佷細璁╂垜浠彉寰楁洿濂�
+            var txtInput = new TextInputControl(bodyFrameLayout.Width - ControlCommonResourse.XXLeft * 2, Application.GetRealHeight(470), false);
+            txtInput.Y = Application.GetRealHeight(32);
+            txtInput.TextAlignment = TextAlignment.TopLeft;
+            txtInput.Gravity = Gravity.CenterHorizontal;
+            txtInput.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uYouSuggestionMsg);
+            frameInput.AddChidren(txtInput);
+            txtInput.TextChangeEventHandler += (sender, txtvalue) =>
+            {
+                if (this.suggestionCount <= 0)
+                {
+                    return;
+                }
+
+                int length = txtvalue.Length;
+                if (length > 500)
+                {
+                    if (btnSubmit.CanClick == true) { btnSubmit.CanClick = false; }
+                    btnFild.Text = "0";
+                    return;
+                }
+                if (length == 0)
+                {
+                    if (btnSubmit.CanClick == true) { btnSubmit.CanClick = false; }
+                }
+                else
+                {
+                    if (btnSubmit.CanClick == false) { btnSubmit.CanClick = true; }
+                }
+                btnFild.Text = (500 - length).ToString();
+            };
 
+            var framType = new FrameLayout();
+            framType.Height = Application.GetRealHeight(150);
+            framType.Y = frameInput.Bottom + Application.GetRealHeight(23);
+            framType.BackgroundColor = UserCenterColor.Current.White;
+            bodyFrameLayout.AddChidren(framType);
+
+            IconViewControl btnBugIcon = null;
+            IconViewControl btnOptimizationIcon = null;
+            IconViewControl btnDemandIcon = null;
+
+            //鍙嶉绫诲瀷
+            var btnType = new NormalViewControl(220, 60, true);
+            btnType.X = ControlCommonResourse.XXLeft;
+            btnType.Gravity = Gravity.CenterVertical;
+            btnType.TextID = R.MyInternationalizationString.uSuggestionType;
+            framType.AddChidren(btnType);
+            //Bug
+            var frameBug = new FrameLayoutControl();
+            frameBug.UseClickStatu = false;
+            frameBug.Width = Application.GetRealWidth(200);
+            frameBug.X = Application.GetRealWidth(314);
+            framType.AddChidren(frameBug);
+            btnBugIcon = new IconViewControl(58);
+            btnBugIcon.UnSelectedImagePath = "Item/ItemUnSelected.png";
+            btnBugIcon.SelectedImagePath = "Item/ItemSelected.png";
+            btnBugIcon.Gravity = Gravity.CenterVertical;
+            frameBug.AddChidren(btnBugIcon);
+            btnBugIcon.IsSelected = true;
+            var btnBug = new NormalViewControl(140, 60, true);
+            btnBug.X = btnBugIcon.Right + Application.GetRealWidth(12);
+            btnBug.TextColor = UserCenterColor.Current.TextGrayColor3;
+            btnBug.Gravity = Gravity.CenterVertical;
+            btnBug.Text = "Bug";
+            frameBug.AddChidren(btnBug);
+            frameBug.ButtonClickEvent += (sender, e) =>
+            {
+                if (btnBugIcon.IsSelected == false)
+                {
+                    btnBugIcon.IsSelected = true;
+                    btnOptimizationIcon.IsSelected = false;
+                    btnDemandIcon.IsSelected = false;
+                    this.typeMode = 0;
+                }
+            };
+            //浼樺寲
+            var frameOptimization = new FrameLayoutControl();
+            frameOptimization.UseClickStatu = false;
+            frameOptimization.Width = Application.GetRealWidth(200);
+            frameOptimization.X = Application.GetRealWidth(524);
+            framType.AddChidren(frameOptimization);
+            btnOptimizationIcon = new IconViewControl(58);
+            btnOptimizationIcon.UnSelectedImagePath = "Item/ItemUnSelected.png";
+            btnOptimizationIcon.SelectedImagePath = "Item/ItemSelected.png";
+            btnOptimizationIcon.Gravity = Gravity.CenterVertical;
+            frameOptimization.AddChidren(btnOptimizationIcon);
+            var btnOptimization = new NormalViewControl(140, 60, true);
+            btnOptimization.X = btnOptimizationIcon.Right + Application.GetRealWidth(12);
+            btnOptimization.TextColor = UserCenterColor.Current.TextGrayColor3;
+            btnOptimization.Gravity = Gravity.CenterVertical;
+            btnOptimization.TextID = R.MyInternationalizationString.uOptimization;
+            frameOptimization.AddChidren(btnOptimization);
+            frameOptimization.ButtonClickEvent += (sender, e) =>
+            {
+                if (btnOptimizationIcon.IsSelected == false)
+                {
+                    btnOptimizationIcon.IsSelected = true;
+
+                    btnBugIcon.IsSelected = false;
+                    btnDemandIcon.IsSelected = false;
+                    this.typeMode = 1;
+                }
+            };
+            //鏂伴渶姹�
+            var frameDemand = new FrameLayoutControl();
+            frameDemand.UseClickStatu = false;
+            frameDemand.Width = Application.GetRealWidth(200);
+            frameDemand.X = Application.GetRealWidth(734);
+            framType.AddChidren(frameDemand);
+            btnDemandIcon = new IconViewControl(58);
+            btnDemandIcon.UnSelectedImagePath = "Item/ItemUnSelected.png";
+            btnDemandIcon.SelectedImagePath = "Item/ItemSelected.png";
+            btnDemandIcon.Gravity = Gravity.CenterVertical;
+            frameDemand.AddChidren(btnDemandIcon);
+            var btnDemand = new NormalViewControl(140, 60, true);
+            btnDemand.X = btnDemandIcon.Right + Application.GetRealWidth(12);
+            btnDemand.TextColor = UserCenterColor.Current.TextGrayColor3;
+            btnDemand.Gravity = Gravity.CenterVertical;
+            btnDemand.TextID = R.MyInternationalizationString.uNewDemand;
+            frameDemand.AddChidren(btnDemand);
+            frameDemand.ButtonClickEvent += (sender, e) =>
+            {
+                if (btnDemandIcon.IsSelected == false)
+                {
+                    btnDemandIcon.IsSelected = true;
+
+                    btnBugIcon.IsSelected = false;
+                    btnOptimizationIcon.IsSelected = false;
+                    this.typeMode = 2;
+                }
+            };
+
+            var frameEmail = new FrameLayout();
+            frameEmail.Height = Application.GetRealHeight(150);
+            frameEmail.BackgroundColor = UserCenterColor.Current.White;
+            frameEmail.Y = framType.Bottom + Application.GetRealHeight(23);
+            bodyFrameLayout.AddChidren(frameEmail);
+            //閭鍦板潃
+            var btnEmail = new NormalViewControl(220, 60, true);
+            btnEmail.X = ControlCommonResourse.XXLeft;
+            btnEmail.Gravity = Gravity.CenterVertical;
+            btnEmail.TextID = R.MyInternationalizationString.uEmailAddress;
+            frameEmail.AddChidren(btnEmail);
+            var txtEmail = new TextInputControl(500, 60, true);
+            txtEmail.X = Application.GetRealWidth(314);
+            txtEmail.Gravity = Gravity.CenterVertical;
+            txtEmail.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputYouEmailAddress);
+            frameEmail.AddChidren(txtEmail);
+
+            //鎻愪氦
+            btnSubmit.oldBackgroundColor = UserCenterColor.Current.ClickButtonDefultColor;
+            btnSubmit.TextID = R.MyInternationalizationString.uSubmit;
+            bodyFrameLayout.AddChidren(btnSubmit);
+            btnSubmit.CanClick = false;
+            btnSubmit.ButtonClickEvent += (sender, e) =>
+            {
+                //涓婁紶鎰忚
+                this.UploadSuggestion(txtInput.Text, txtEmail.Text);
+            };
+
+
+            var strFile = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Common.Config.Instance.Guid, DirNameResourse.SuggestionFile);
+            if (System.IO.File.Exists(strFile) == false)
+            {
+                return;
+            }
+            var data = UserCenterLogic.LoadFileContent(strFile);
+            if (data != null)
+            {
+                var strNowData = DateTime.Now.ToString("yyyyMMdd");
+                if (strNowData != data.Substring(1))
+                {
+                    this.suggestionCount = 3;
+                    return;
+                }
+                //鍓╀綑娆℃暟
+                this.suggestionCount = Convert.ToInt32(data.Substring(0, 1));
+                if (this.suggestionCount <= 1)
+                {
+                    btnSubmit.TextID = R.MyInternationalizationString.uSubmitCountIsOverMsg;
+                }
+            }
         }
 
         #endregion
 
-        #region 鈻� 涓�鑸柟娉昣__________________________
+        #region 鈻� 涓婁紶鎰忚___________________________
+
+        /// <summary>
+        /// 涓婁紶鎰忚
+        /// </summary>
+        /// <param name="strContent"></param>
+        /// <param name="email"></param>
+        private void UploadSuggestion(string strContent, string email)
+        {
+            HdlThreadLogic.Current.RunThread(async() =>
+            {
+                var pra = new
+                {
+                    RequestVersion = Common.CommonPage.RequestVersion,
+                    LoginAccessToken = Common.Config.Instance.Token,
+                    Content = strContent,
+                    OpinionFeedbackType = this.typeMode,
+                    Email = email
+                };
+                var result = await UserCenterLogic.GetResultStatuByRequestHttps("App/AddOpinionFeedback", false, pra);
+                if (result == true)
+                {
+                    //淇濆瓨娆℃暟
+                    this.suggestionCount--;
+                    var strFile = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Common.Config.Instance.Guid, DirNameResourse.SuggestionFile);
+                    var byteData = System.Text.Encoding.UTF8.GetBytes(this.suggestionCount + DateTime.Now.ToString("yyyyMMdd"));
+                    //鍐欏叆鍐呭
+                    Shared.IO.FileUtils.WriteFileByBytes(strFile, byteData);
+
+                    HdlThreadLogic.Current.RunMain(() =>
+                    {
+                        this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uSubmitSuccessMsg));
+                        //鍏抽棴鐣岄潰
+                        this.CloseForm();
+                    });
+                }
+            });
+        }
 
         #endregion
     }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/QRCodeForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/QRCodeForm.cs
index 4f643e6..67f8470 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/QRCodeForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/QRCodeForm.cs
@@ -80,7 +80,7 @@
             frameDetail.AddChidren(btnUser);
             //浜岀淮鐮�
             var btnQrCode = new PicViewControl(236, 236);
-            btnQrCode.BackgroundColor = UserCenterColor.Current.Green;
+            btnQrCode.ImageBytes = QRCode.BytesFromText(UserCenterResourse.UserInfo.Account, Application.GetMinRealAverage(236), Application.GetMinRealAverage(236));
             btnQrCode.Gravity = Gravity.CenterHorizontal;
             btnQrCode.Y = Application.GetRealHeight(262);
             frameDetail.AddChidren(btnQrCode);
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs
index d8d38b6..8b2940a 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs
@@ -46,20 +46,18 @@
             bodyFrameLayout.AddChidren(specialTopFrame);
 
             //鐢ㄦ埛鍥炬爣
-            var btnUserIcon = new CutPictureControl(UserCenterResourse.UserInfo.UserIconFile, 251, 251, true);
+            var btnUserIcon = new ImageView();
+            btnUserIcon.Height = Application.GetMinRealAverage(251);
+            btnUserIcon.Width = Application.GetMinRealAverage(251);
             btnUserIcon.Radius = (uint)Application.GetMinRealAverage(251) / 2;
             btnUserIcon.Y = Application.GetRealHeight(46);
             btnUserIcon.Gravity = Gravity.CenterHorizontal;
             btnUserIcon.ImagePath = UserCenterResourse.UserInfo.UserIconFile;
             specialTopFrame.AddChidren(btnUserIcon);
-            btnUserIcon.SelectPictrueEvent += async (selectPic) =>
+            btnUserIcon.MouseUpEventHandler += (sender, e) =>
             {
-                var pra = new { HeadImage = Shared.IO.FileUtils.ReadFile(selectPic) };
-                var result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UpdateHeadImage", false, pra);
-                if (result == true)
-                {
-                    UserCenterResourse.UserInfo.UserIconFileChanged = true;
-                }
+                //鏄剧ず鑾峰彇鍥剧墖鏉ユ簮鑿滃崟
+                this.ShowUserIconMenu(btnUserIcon);
             };
         }
 
@@ -252,6 +250,7 @@
 
             //閫�鍑虹櫥闄�
             var btnLogout = new NormalClickButton(specialFrame.Width, specialFrame.Height);
+            btnLogout.clickStatuColor = 0xfffbfbfb;
             btnLogout.TextID = R.MyInternationalizationString.uLogoutAccount;
             btnLogout.TextColor = 0xff666666;
             btnLogout.BackgroundColor = UserCenterColor.Current.White;
@@ -306,6 +305,98 @@
 
         #endregion
 
+        #region 鈻� 鏄剧ず鑾峰彇鍥剧墖鏉ユ簮鑿滃崟_______________
+
+        /// <summary>
+        /// 鏄剧ず鑾峰彇鍥剧墖鏉ユ簮鑿滃崟
+        /// </summary>
+        /// <param name="btnUser"></param>
+        private void ShowUserIconMenu(ImageView btnUser)
+        {
+            var menuContr = new BottomMenuSelectForm();
+            menuContr.AddForm(2);
+            //鎷嶇収
+            menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uTakePictrue), () =>
+            {
+                //閫氳繃鐩告満鎷嶇収瑁佸壀
+                CropImage.TakePicture((imagePath) =>
+                {
+                    if (string.IsNullOrEmpty(imagePath) == false)
+                    {
+                        //绉诲姩鐢ㄦ埛澶村儚鏂囦欢
+                        if (this.MoveUserIconFile(imagePath) == true)
+                        {
+                            //涓婁紶鐢ㄦ埛澶村儚鏂囦欢
+                            this.UpLoadUserIconFile(btnUser, UserCenterResourse.UserInfo.UserIconFile);
+                        }
+                    }
+                }, "HdlPicture");
+            });
+            //浠庣浉鍐屼腑閫夋嫨
+            menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uGetPictrueFromAlbum), () =>
+            {
+                //浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀
+                CropImage.SelectPicture((imagePath) =>
+                {
+                    if (string.IsNullOrEmpty(imagePath) == false)
+                    {
+                        //绉诲姩鐢ㄦ埛澶村儚鏂囦欢
+                        if (this.MoveUserIconFile(imagePath) == true)
+                        {
+                            //涓婁紶鐢ㄦ埛澶村儚鏂囦欢
+                            this.UpLoadUserIconFile(btnUser, UserCenterResourse.UserInfo.UserIconFile);
+                        }
+                    }
+                }, "HdlPicture");
+            });
+        }
+
+        /// <summary>
+        /// 涓婁紶鐢ㄦ埛澶村儚鏂囦欢
+        /// </summary>
+        /// <param name="btnUser"></param>
+        /// <param name="imagePath"></param>
+        private async void UpLoadUserIconFile(ImageView btnUser, string imagePath)
+        {
+            var pra = new { HeadImage = Shared.IO.FileUtils.ReadFile(imagePath) };
+            var result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UpdateHeadImage", false, pra);
+            if (result == true)
+            {
+                UserCenterResourse.UserInfo.UserIconFileChanged = true;
+                btnUser.ImagePath = imagePath;
+            }
+        }
+
+        /// <summary>
+        /// 绉诲姩鐢ㄦ埛澶村儚鏂囦欢
+        /// </summary>
+        /// <param name="imagePath"></param>
+        /// <returns></returns>
+        private bool MoveUserIconFile(string imagePath)
+        {
+            try
+            {
+                if (System.IO.File.Exists(UserCenterResourse.UserInfo.UserIconFile) == true)
+                {
+                    System.IO.File.Delete(UserCenterResourse.UserInfo.UserIconFile);
+                }
+                //绉诲姩鏂囦欢
+                System.IO.File.Move(imagePath, UserCenterResourse.UserInfo.UserIconFile);
+                return true;
+            }
+            catch (Exception ex)
+            {
+                //鍑虹幇鏈煡閿欒
+                var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
+                alert.Show();
+                //Log
+                HdlLogLogic.Current.WriteLog(ex);
+                return false;
+            }
+        }
+
+        #endregion
+
         #region 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________
 
         /// <summary>
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs
index 6d704ff..5ef06a0 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs
@@ -355,7 +355,7 @@
                 btnBackView.X -= ControlCommonResourse.XXLeft / 2;
                 rowback.ButtonClickEvent += (sender, e) =>
                 {
-                    var form = new HdlBackup.HdlBackupMenuForm();
+                    var form = new HdlBackup.HdlBackupListForm();
                     form.AddForm();
                 };
             }
@@ -378,8 +378,8 @@
             btnSuView.X -= ControlCommonResourse.XXLeft / 2;
             rowSuggestion.ButtonClickEvent += (sender, e) =>
             {
-                var form = new DeviceDoorLock.DoorLockHistoryLogForm();
-                form.AddForm("澶╀笅绗竴");
+                var form = new Suggestion.FeedbackForm();
+                form.AddForm();
             };
 
             //鍏充簬鎴戜滑
diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
index e248dfa..804648d 100755
--- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
@@ -217,35 +217,60 @@
                                         {
                                             continue;
                                         }
+
+                                        var curTemp = (attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
                                         switch (attriButeList[0].AttributeId)
                                         {
                                             case 0:
                                                 //姝ゅ睘鎬ц〃鏄庡鍐呭綋鍓嶇殑娓╁害 * 100锛屽疄闄呮俯搴︿负鈥淟ocalTemperature / 100鈥濓紝鍗曚綅锛氣剝
-                                                ac.currentLocalTemperature = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
+                                                ac.currentLocalTemperature = curTemp;
                                                 ac.LastDateTime = DateTime.Now;
                                                 break;
 
                                             case 17:
                                                 //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鍐锋俯搴︼紝瀹為檯娓╁害涓衡�淐oolingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
-                                                ac.currentCoolingSetpoint = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
+                                                ac.currentCoolingSetpoint = curTemp;
                                                 ac.LastDateTime = DateTime.Now;
                                                 break;
 
                                             case 18:
                                                 //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鐑俯搴︼紝瀹為檯娓╁害涓衡�淗eatingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
-                                                ac.currentHeatingSetpoint = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
+                                                ac.currentHeatingSetpoint = curTemp;
                                                 ac.LastDateTime = DateTime.Now;
                                                 break;
 
                                             case 4096:
                                                 //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勮嚜鍔ㄦ俯搴︼紝瀹為檯娓╁害涓衡�淎utoSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
-                                                ac.currentAutoSetpoint = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
+                                                ac.currentAutoSetpoint = curTemp;
                                                 ac.LastDateTime = DateTime.Now;
                                                 break;
 
                                             case 28:
                                                 //姝ゅ睘鎬ф弿杩版亽娓╄澶囨澶勪簬鍝妯″紡
                                                 ac.currentSystemMode = attriButeList[0].AttriButeData;
+                                                ac.LastDateTime = DateTime.Now;
+                                                break;
+                                        }
+                                        (rowFL.GetChildren(0) as FunctionMainView).IsSelected = ac.currentSystemMode != 0;
+                                        (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
+                                    }
+                                    if (common.DeviceStatusReport.CluterID == 514)
+                                    {
+                                        var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
+                                        var attriButeList = common.DeviceStatusReport.AttriBute;
+                                        if (attriButeList == null || attriButeList.Count == 0)
+                                        {
+                                            return;
+                                        }
+                                        ac.DeviceStatusReport = common.DeviceStatusReport;
+                                        switch (attriButeList[0].AttributeId)
+                                        {
+                                            case 0:
+                                                ac.currentFanMode = attriButeList[0].AttriButeData;
+                                                ac.LastDateTime = DateTime.Now;
+                                                break;
+                                            case 4096:
+                                                ac.currentFanSwingMode = attriButeList[0].AttriButeData;
                                                 ac.LastDateTime = DateTime.Now;
                                                 break;
                                         }
@@ -311,7 +336,7 @@
                     }
                 });
             }
-           
+
         }
         /// <summary>
         /// Changeds the IL ogic status.
@@ -1398,6 +1423,7 @@
                                 ac.ReadAutoSetpoint();
                                 ac.ReadFanMode();
                                 ac.ReadSystemMode();
+                                ac.ReadSystemFansSwingMode();
                             });
                         }
                         else
@@ -1412,6 +1438,7 @@
                                 ac.ReadAutoSetpoint();
                                 ac.ReadFanMode();
                                 ac.ReadSystemMode();
+                                ac.ReadSystemFansSwingMode();
                             }
                         }
                         var lightView = new FunctionMainView(xx, yy);
diff --git a/ZigbeeApp/Shared/Phone/UserView/UserPage.cs b/ZigbeeApp/Shared/Phone/UserView/UserPage.cs
index 8d00507..8ffd033 100755
--- a/ZigbeeApp/Shared/Phone/UserView/UserPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/UserPage.cs
@@ -91,14 +91,12 @@
                                     return;
                                 }
                                 onOffOutputLight.OnOffStatus = onOffOutputLight.DeviceStatusReport.AttriBute[0].AttriButeData;
-                                //璁板綍鍥炲鏃堕棿
                                 onOffOutputLight.LastDateTime = DateTime.Now;
                             }
                             //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
                             if (common.DeviceStatusReport.CluterID == 3)
                             {
                                 myDevice.IsOnline = 1;
-                                //璁板綍鍥炲鏃堕棿
                                 myDevice.LastDateTime = DateTime.Now;
                             }
                             break;
@@ -109,13 +107,11 @@
                             {
                                 var airSwitch = (AirSwitch)myDevice;
                                 airSwitch.DeviceStatusReport = common.DeviceStatusReport;
-                                //璁板綍銆佹洿鏂扮姸鎬�
                                 if (airSwitch.DeviceStatusReport.AttriBute == null || airSwitch.DeviceStatusReport.AttriBute.Count == 0)
                                 {
                                     return;
                                 }
                                 airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData;
-                                //璁板綍鍥炲鏃堕棿
                                 airSwitch.LastDateTime = DateTime.Now;
 
                             }
@@ -123,7 +119,6 @@
                             if (common.DeviceStatusReport.CluterID == 3)
                             {
                                 myDevice.IsOnline = 1;
-                                //璁板綍鍥炲鏃堕棿
                                 myDevice.LastDateTime = DateTime.Now;
                             }
                             break;
@@ -149,7 +144,6 @@
                             if (common.DeviceStatusReport.CluterID == 3)
                             {
                                 myDevice.IsOnline = 1;
-                                //璁板綍鍥炲鏃堕棿
                                 myDevice.LastDateTime = DateTime.Now;
                             }
                             break;
@@ -165,47 +159,63 @@
                                 {
                                     return;
                                 }
+                                //姝ゅ睘鎬ц〃鏄庡鍐呭綋鍓嶇殑娓╁害 * 100锛屽疄闄呮俯搴︿负鈥淟ocalTemperature / 100鈥濓紝鍗曚綅锛氣剝
+                                var curTemp = (attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
                                 switch (attriButeList[0].AttributeId)
                                 {
                                     case 0:
-                                        //姝ゅ睘鎬ц〃鏄庡鍐呭綋鍓嶇殑娓╁害 * 100锛屽疄闄呮俯搴︿负鈥淟ocalTemperature / 100鈥濓紝鍗曚綅锛氣剝
-                                        ac.currentLocalTemperature = attriButeList[0].AttriButeData / 100;
+                                        ac.currentLocalTemperature = curTemp;
                                         ac.LastDateTime = DateTime.Now;
                                         break;
 
                                     case 17:
-                                        //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鍐锋俯搴︼紝瀹為檯娓╁害涓衡�淐oolingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
-                                        ac.currentCoolingSetpoint = attriButeList[0].AttriButeData / 100;
+                                        ac.currentCoolingSetpoint = curTemp;
                                         ac.LastDateTime = DateTime.Now;
                                         break;
 
                                     case 18:
-                                        //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鐑俯搴︼紝瀹為檯娓╁害涓衡�淗eatingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
-                                        ac.currentHeatingSetpoint = attriButeList[0].AttriButeData / 100;
+                                        ac.currentHeatingSetpoint = curTemp;
                                         ac.LastDateTime = DateTime.Now;
                                         break;
 
                                     case 4096:
-                                        //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勮嚜鍔ㄦ俯搴︼紝瀹為檯娓╁害涓衡�淎utoSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
-                                        ac.currentAutoSetpoint = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
+                                        ac.currentAutoSetpoint = curTemp;
                                         ac.LastDateTime = DateTime.Now;
                                         break;
 
                                     case 28:
-                                        //姝ゅ睘鎬ф弿杩版亽娓╄澶囨澶勪簬鍝妯″紡
-                                        //Off = 0  Auto = 1 Cool = 3 Heat = 4 FanOnly = 7  Dry = 8
                                         ac.currentSystemMode = attriButeList[0].AttriButeData;
                                         ac.LastDateTime = DateTime.Now;
                                         break;
+                                }
+                            }
 
+                            if (common.DeviceStatusReport.CluterID == 514)
+                            {
+                                var ac = (AC)myDevice;
+                                var attriButeList = common.DeviceStatusReport.AttriBute;
+                                if (attriButeList == null || attriButeList.Count == 0)
+                                {
+                                    return;
                                 }
-
+                                ac.DeviceStatusReport = common.DeviceStatusReport;
+                                switch (attriButeList[0].AttributeId)
+                                {
+                                    case 0:
+                                        ac.currentFanMode = attriButeList[0].AttriButeData;
+                                        ac.LastDateTime = DateTime.Now;
+                                        break;
+                                    case 4096:
+                                        ac.currentFanSwingMode = attriButeList[0].AttriButeData;
+                                        ac.LastDateTime = DateTime.Now;
+                                        break;
+                                }
                             }
+
                             //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
                             if (common.DeviceStatusReport.CluterID == 3)
                             {
                                 myDevice.IsOnline = 1;
-                                //璁板綍鍥炲鏃堕棿
                                 myDevice.LastDateTime = DateTime.Now;
                             }
                             break;
@@ -223,7 +233,6 @@
                                     return;
                                 }
                                 dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData;
-                                //璁板綍鍥炲鏃堕棿
                                 dimmableLight.LastDateTime = DateTime.Now;
                             }
                             //浜害
@@ -239,7 +248,6 @@
                                 switch (attriButeList[0].AttributeId)
                                 {
                                     case 0:
-                                        //姝ゅ睘鎬ц〃鏄庡綋鍓嶄寒搴︾▼搴�
                                         dimmableLight.Level = attriButeList[0].AttriButeData;
                                         dimmableLight.LastDateTime = DateTime.Now;
                                         break;
@@ -249,7 +257,6 @@
                             if (common.DeviceStatusReport.CluterID == 3)
                             {
                                 myDevice.IsOnline = 1;
-                                //璁板綍鍥炲鏃堕棿
                                 myDevice.LastDateTime = DateTime.Now;
                             }
                             break;
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Common/Config.cs b/ZigbeeApp/Shared/Phone/ZigBee/Common/Config.cs
index c45a493..84ce50c 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Common/Config.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Common/Config.cs
@@ -195,7 +195,6 @@
             }
         }
         
-        public string Name = string.Empty;
         /// <summary>
         /// 褰撳墠鐧诲綍鐨勫笎鍙�
         /// </summary>
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/AC.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/AC.cs
index b8477ee..bcaec98 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/AC.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/AC.cs
@@ -71,6 +71,17 @@
         public int currentFanMode = 0;
 
         /// <summary>
+        /// 椋庢墖zz鎵褰撳墠妯″紡
+        /// <para>0:1鎸� </para>
+        /// <para>1:2</para>
+        /// <para>2:3</para>
+        /// <para>3:4 </para>
+        /// <para>4:5 </para>
+        /// <para>7:Auto </para>
+        /// </summary>
+        public int currentFanSwingMode = 0;
+
+        /// <summary>
         /// 鏀寔鐨勬帶鍒舵ā寮�
         /// </summary>
         public List<AcMode> acModes = new List<AcMode> { };
@@ -167,6 +178,124 @@
             ReadAttri(Device.Cluster_ID.Thermostat, AttriButeId.AcModeSupport);
         }
 
+        /// <summary>
+        /// 鎵妯″紡
+        /// </summary>
+        public enum FanSwingMode
+        {
+            /// <summary>
+            /// 涓�妗�
+            /// </summary>
+            First = 0,
+            /// <summary>
+            /// 浜屾尅
+            /// </summary>
+            Second = 1,
+            /// <summary>
+            /// 涓夋尅
+            /// </summary>
+            Thrid = 2,
+            /// <summary>
+            /// 鍥涙尅
+            /// </summary>
+            Fourth = 3,
+            /// <summary>
+            /// 浜旀。
+            /// </summary>
+            Fifth = 4,
+            /// <summary>
+            /// 鑷姩
+            /// </summary>
+            Auto = 7
+        }
+        /// <summary>
+        /// 鑾峰彇鎵妯″紡
+        /// </summary>
+        public void ReadSystemFansSwingMode()
+        {
+            ReadAttri(Device.Cluster_ID.FanSwing, AttriButeId.FanSwing);
+        }
+        /// <summary>
+        /// 璁剧疆鎵妯″紡
+        /// </summary>
+        /// <param name="fanSwing"></param>
+        /// <returns></returns>
+        public async System.Threading.Tasks.Task<SetWritableValueResponAllData> SetFanSwingAsyncMode(FanSwingMode fanSwing)
+        {
+            if (Gateway == null)
+            {
+                return null;
+            }
+            return await System.Threading.Tasks.Task.Run(async () =>
+            {
+                SetWritableValueResponAllData d = null;
+                Action<string, string> action = (topic, message) =>
+                {
+                    var gatewayID = topic.Split('/')[0];
+                    var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
+
+                    if (topic == gatewayID + "/" + "Error_Respon")
+                    {
+                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID };
+                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString());
+
+                        if (temp == null)
+                        {
+                            d = new SetWritableValueResponAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" };
+                        }
+                        else
+                        {
+                            d = new SetWritableValueResponAllData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) };
+                        }
+                    }
+
+                    if (topic == gatewayID + "/" + "SetWritableValue_Respon")
+                    {
+                        var gatewayTemp = new ZbGateway() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID };
+                        var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<SetWritableValueResponData>(jobject["Data"].ToString());
+
+                        if (tempData == null)
+                        {
+                            d = new SetWritableValueResponAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
+                        }
+                        else
+                        {
+                            d = new SetWritableValueResponAllData { setWritableValueResponData = tempData };
+                            DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
+                        }
+                    }
+                };
+                Gateway.Actions += action;
+                DebugPrintLog("SetWritableValue_Actions 鍚姩" + "_" + System.DateTime.Now.ToString());
+                try
+                {
+                    var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 514 }, { "Command", 120 } };
+                    var data = new JObject { { "Undivided", 0 }, { "AttributeId", 4096 }, { "AttributeDataType", 48 }, { "AttributeData", (int)fanSwing } };
+                    jObject.Add("Data", data);
+                    Gateway.Send("SetWritableValue", jObject.ToString());
+                }
+                catch { }
+
+                var dateTime = DateTime.Now;
+                while ((DateTime.Now - dateTime).TotalMilliseconds < WaitReceiveDataTime)
+                {
+                    await System.Threading.Tasks.Task.Delay(10);
+                    if (d != null)
+                    {
+                        break;
+                    }
+                }
+                if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime)
+                {
+                    d = new SetWritableValueResponAllData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
+                }
+                Gateway.Actions -= action;
+                DebugPrintLog("SetWritableValue_Actions 閫�鍑�" + System.DateTime.Now.ToString());
+                return d;
+            });
+        }
+
+
         ///<summary >
         ///璁剧疆鍒跺喎搴︽暟.
         /// </summary>
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/BindObj.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/BindObj.cs
index aa369f9..51ae471 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/BindObj.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/BindObj.cs
@@ -74,10 +74,11 @@
                         {
                             result.addBindResultResponseData = tempData;
                         }
+                        DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{topic}");
                     }
                 };
                 mainGateway.Actions += action;
-                DebugPrintLog("Bind/SetBind_Actions 鍚姩" + "_" + System.DateTime.Now.ToString());
+                DebugPrintLog("Bind/SetBind_Actions 鍚姩" + "_" + System.DateTime.Now.ToLongTimeString() + " " + System.DateTime.Now.Millisecond);
                 try
                 {
                     if (addBindData != null)
@@ -144,7 +145,7 @@
                     result.errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔";
                 }
                 mainGateway.Actions -= action;
-                System.Console.WriteLine($"Bind/SetBind_Actions 閫�鍑� {System.DateTime.Now}");
+                System.Console.WriteLine($"Bind/SetBind_Actions 閫�鍑� { System.DateTime.Now.ToLongTimeString() + " " + System.DateTime.Now.Millisecond}");
                 return result;
             });
         }
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs
index a7af65e..df4003f 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs
@@ -1000,7 +1000,7 @@
             /// <summary>
             /// 璁惧鎵�鍦ㄧ綉鍏崇殑缃戝叧id
             /// </summary>
-            public int GwId;
+            public string GwId;
             /// <summary>
             /// 璁惧鍚�
             /// </summary>
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs
index 4a2710a..052ba53 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs
@@ -2,7 +2,6 @@
 using System.Collections.Generic;
 using System.Text;
 using System.Threading.Tasks;
-using Java.Util;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using Shared;
@@ -36,14 +35,16 @@
         public string currentUserDisplayMethod = string.Empty;//褰撳墠鐢ㄦ埛鏄剧ず鏂瑰紡
         //鏈湴鎵�鏈夎处鎴峰垪琛�
         public List<Shared.Phone.UserCenter.MemberInfoRes> localAllAccountList = new List<Shared.Phone.UserCenter.MemberInfoRes> { };
-        public static int RemoteUnlockCount = 5;//杩滅▼寮�閿佹鏁伴檺鍒�
-        public static string RemoteUnlockPassword = string.Empty;//杩滅▼寮�閿佸瘑鐮�
-        public static DateTime maxValue = DateTime.MaxValue;
-        public static DateTime minValue = DateTime.MinValue;
         public string LocalTempPassword = string.Empty;//鏈湴鐢熸垚鐨勪复鏃跺瘑鐮�
         public Dictionary<string, bool> IsFreezeAccount = new Dictionary<string, bool> { };//鏄惁鍐荤粨瀛愯处鎴�
         public Dictionary<string, bool> HasRemoteUnlockAccess = new Dictionary<string, bool> { };//鏄惁缁欏瓙璐︽埛鎷ユ湁杩滅▼寮�閿佺殑鏉′欢
         public Dictionary<string, bool> IsFailedToGetDoorLockInfo = new Dictionary<string, bool> { };//鏄惁鑾峰彇闂ㄩ攣鏁版嵁澶辫触
+        public string RemoteUnlockPassword = string.Empty;//杩滅▼寮�閿佸瘑鐮�
+
+        public static int RemoteUnlockCount = 5;//杩滅▼寮�閿佹鏁伴檺鍒�
+        public static DateTime maxValue = DateTime.MaxValue;
+        public static DateTime minValue = DateTime.MinValue;
+
         #region 涓存椂瀵嗙爜淇℃伅
         /// <summary>
         /// 鐢ㄦ埛绠$悊鍙戦�佹暟鎹洖澶�
@@ -217,6 +218,7 @@
             public string PrimaryId = "";
             /// <summary>
             /// 闂ㄩ攣Id -->閿悕 : DoorLockId (鍙��)
+            /// DelDoorLockDelType 闂ㄩ攣鍒犻櫎绫诲瀷(0: 鏍规闂ㄩ攣涓婚敭(浜戠涓婚敭)鍒犻櫎(鍗曟潯鍒犻櫎)銆�1:鏍规闂ㄩ攣Id鎵归噺鍒犻櫎(鍑℃槸涓庨棬閿両d鐩稿悓閮戒細鍒犻櫎)銆�2锛氭牴妞愰棬閿両d鍙婇棬閿佹湰鍦扮敤鎴稩d鎵归噺鍒犻櫎(杩欎釜闂ㄩ攣Id杩欎釜闂ㄩ攣鏈湴鐢ㄦ埛Id鍧囦細琚垹闄�)) -->閿悕 : DelDoorLockDelType 榛樿鍊�: 0
             /// </summary>
             public int DelDoorLockDelType;
         }
@@ -675,7 +677,7 @@
             ///涓嶅父鐢細
             /// 1:RF(Zigbee鏃犵嚎)锛�2:Manual(鎵嬪姩)锛�255:Indeterminate(涓嶇‘瀹�)
             /// </summary>
-            public int OperationEventSource;
+            public int OperationEventSoure;
             /// <summary>
             /// 浜嬩欢鐮�
             /// 甯哥敤锛�
@@ -1463,12 +1465,12 @@
         ///杩滅▼寮�閿�
         ///<para>inputPassword: 杈撳叆瀵嗙爜/para>
         /// </summary>
-        public async System.Threading.Tasks.Task<TempPasswordResponseAllData> RemoteControlAsync(string inputPassword)
+        public async System.Threading.Tasks.Task<RemoteResponseAllData> RemoteControlAsync(string inputPassword)
         {
-            TempPasswordResponseAllData result = null;
+            RemoteResponseAllData result = null;
             if (Gateway == null)
             {
-                result = new TempPasswordResponseAllData { errorMessageBase = "褰撳墠娌℃湁缃戝叧" };
+                result = new RemoteResponseAllData { errorMessageBase = "褰撳墠娌℃湁缃戝叧" };
                 return result;
             }
             return await System.Threading.Tasks.Task.Run(async () =>
@@ -1485,22 +1487,33 @@
 
                         if (temp == null)
                         {
-                            result = new TempPasswordResponseAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" };
+                            result = new RemoteResponseAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" };
                         }
 
                         else
                         {
-                            result = new TempPasswordResponseAllData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) };
+                            result = new RemoteResponseAllData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) };
                         }
                     }
-                    if (topic == gatewayID + "/" + "ZbDataPassthrough")
+                    else if (topic == $"{gatewayID}/DoorLock/DoorLockOperatingEventNotificationCommand")
+                    {
+                        var OperatingEventNotificationDatad = Newtonsoft.Json.JsonConvert.DeserializeObject<ZigBee.Device.DoorLock.DoorLockOperatingEventNotificationCommand>(jobject["Data"].ToString());
+                        if (OperatingEventNotificationDatad != null)
+                        {
+                            if (OperatingEventNotificationDatad.OperationEventSoure == 1 && OperatingEventNotificationDatad.OperationEventCode == 5)
+                            {
+                                result = new RemoteResponseAllData { IsPawDispear = true };
+                            }
+                        }
+                    }
+                    else if (topic == gatewayID + "/" + "ZbDataPassthrough")
                     {
                         var gatewayTemp = new ZbGateway() { DataID = jobject.Value<int>("Data_ID") };
                         gatewayTemp.clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString());
 
                         if (gatewayTemp.clientDataPassthroughResponseData == null)
                         {
-                            result = new TempPasswordResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
+                            result = new RemoteResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
                         }
                         else
                         {
@@ -1512,10 +1525,10 @@
                                     var command = data[4].ToString() + data[5].ToString() + data[2].ToString() + data[3].ToString();
                                     if (command == "0002")
                                     {
-                                        var tempD = new TempPasswordResponseData();
+                                        var tempD = new RemoteResponseData();
                                         tempD.command = data[12].ToString() + data[13].ToString() + data[10].ToString() + data[11].ToString();
                                         tempD.status = Convert.ToInt32(data[14].ToString() + data[15].ToString(), 16);
-                                        result = new TempPasswordResponseAllData { responseData = tempD };
+                                        result = new RemoteResponseAllData { responseData = tempD };
                                         DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_command:0462_{ topic}");
                                     }
                                 }
@@ -1523,7 +1536,6 @@
                         }
                     }
                 };
-
                 Gateway.Actions += action;
                 DebugPrintLog("ClientDataPassthrough_Actions 鍚姩" + System.DateTime.Now.ToString());
 
@@ -1539,18 +1551,25 @@
                 catch { }
 
                 var dateTime = DateTime.Now;
-                while ((DateTime.Now - dateTime).TotalMilliseconds < 9000)// WaitReceiveDataTime)
+                while ((DateTime.Now - dateTime).TotalMilliseconds < 5000)// WaitReceiveDataTime)
                 {
                     await System.Threading.Tasks.Task.Delay(10);
-                    if (result != null && result.responseData != null && result.responseData.command == "0462")
+                    if (result == null)
+                    {
+                        continue;
+                    }
+                    if (result.responseData != null && result.responseData.command == "0462")
+                    {
+                        break;
+                    }
+                    if (result.IsPawDispear == true)
                     {
                         break;
                     }
                 }
                 if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime)
                 {
-                    result = new TempPasswordResponseAllData
-                    { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
+                    result = new RemoteResponseAllData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
                 }
                 Gateway.Actions -= action;
                 DebugPrintLog("ClientDataPassthrough_Actions 閫�鍑�" + System.DateTime.Now.ToString());
@@ -1585,6 +1604,51 @@
             catch { };
 
             return data;
+        }
+
+        /// <summary>
+        ///  杩滅▼鍥炲鏁版嵁
+        /// </summary>
+        public RemoteResponseAllData remoteResponseAllData;
+        [System.Serializable]
+        public class RemoteResponseAllData
+        {
+            /// <summary>
+            /// 閿欒淇℃伅
+            /// </summary> 
+            public string errorMessageBase;
+            /// <summary>
+            /// 缃戝叧淇℃伅閿欒鍙嶉
+            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
+            /// </summary>
+            public ErrorResponData errorResponData;
+            /// <summary>
+            /// 涓存椂瀵嗙爜鍥炲鏁版嵁
+            /// </summary>
+            public RemoteResponseData responseData;
+            /// <summary>
+            /// 鏄惁瀵嗙爜琚垹闄�
+            /// </summary>
+            public bool IsPawDispear = false;
+        }
+
+        /// <summary>
+        /// 鐢ㄦ埛绠$悊鏁版嵁鍥炲
+        /// </summary>
+        [System.Serializable]
+        public class RemoteResponseData
+        {
+            /// <summary>
+            ///鍝嶅簲鎿嶄綔鐮侊紙0-ffff锛�
+            /// </summary>
+            public string command = "";
+            /// <summary>
+            /// 鐘舵�佸��
+            /// <para>榛樿鍝嶅簲缁撴灉锛�
+            ///<para>0 鎴愬姛</para>
+            ///<para>1 澶辫触</para> 
+            /// </summary>
+            public int status = -1;
         }
         #endregion
 
@@ -1735,13 +1799,13 @@
         /// <summary>
         /// 涓存椂瀵嗙爜鍥炲鏁版嵁
         /// </summary>
-        public TempPasswordResponseAllData keyColorDataResponseAllData;
+        public TempPasswordResponseAllData tempPasswordResponseAllData;
         [System.Serializable]
         public class TempPasswordResponseAllData
         {
             /// <summary>
             /// 閿欒淇℃伅
-            /// </summary>
+            /// </summary> 
             public string errorMessageBase;
             /// <summary>
             /// 缃戝叧淇℃伅閿欒鍙嶉
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/Enum.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/Enum.cs
index 6f60fa8..b9c7dd7 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/Enum.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/Enum.cs
@@ -54,6 +54,10 @@
         /// </summary>
         FanControl = 514,
         /// <summary>
+        /// 鎭掓俯鍣ㄥ姛鑳斤紙椋庢墖鎵锛�
+        /// </summary>
+        FanSwing = 514,
+        /// <summary>
         /// 闂ㄩ攣鍔熻兘
         /// </summary>
         DoorLock = 10,
@@ -256,6 +260,10 @@
         /// 绌鸿皟鑷畾涔夎缃殑鏀寔妯″紡
         /// </summary>
         AcModeSupport = 4099,
+        /// <summary>
+        /// 绌鸿皟鎽嗛
+        /// </summary>
+        FanSwing = 4096,
 
         #endregion
 
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/Rollershade.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/Rollershade.cs
index 70007db..78f02ed 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/Rollershade.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/Rollershade.cs
@@ -543,10 +543,10 @@
                     switch (installedLimit)
                     {
                         case CurtainPrivateInstalledLimi.UpLimit:
-                            tempLimit = 1;
+                            tempLimit = 2;
                             break;
                         case CurtainPrivateInstalledLimi.DownLimit:
-                            tempLimit = 2;
+                            tempLimit = 1;
                             break;
                     }
                     var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 258 }, { "Command", 120 } };
@@ -584,11 +584,11 @@
             /// <summary>
             /// 绐楀笜鍏ㄥ紑鎵�鍦ㄧ殑浣嶇疆(涓婇檺浣�)
             /// </summary>
-            UpLimit = 1,
+            UpLimit = 2,
             /// <summary>
             /// 绐楀笜鍏ㄥ叧鎵�鍦ㄧ殑浣嶇疆(涓嬮檺浣�)
             /// </summary>
-            DownLimit = 2,
+            DownLimit = 1,
 
         }
         #endregion
@@ -750,10 +750,10 @@
                     switch (limiType)
                     {
                         case LimiType.DownLimit:
-                            tempLimit = 8;
+                            tempLimit = 2;
                             break;
                         case LimiType.UpLimit:
-                            tempLimit = 2;
+                            tempLimit = 8;
                             break;
                     }
                     var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 258 }, { "Command", 120 } };
@@ -791,11 +791,11 @@
             /// <summary>
             /// 鍒犻櫎绐楀笜涓婇檺浣�
             /// </summary>
-            UpLimit = 0x02,
+            UpLimit = 0x08,
             /// <summary>
             /// 鍒犻櫎绐楀笜涓嬮檺浣�
             /// </summary>
-            DownLimit = 0x08,
+            DownLimit = 0x02,
 
         }
         #endregion
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/Safeguard.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/Safeguard.cs
index 2e92268..2c0df35 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/Safeguard.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/Safeguard.cs
@@ -6613,7 +6613,65 @@
                 System.Console.WriteLine($"Security/AddZoneAction(璁剧疆鑳佽揩鐘舵�佷笅鐨勭數璇濆彿鐮侊級_Actions 閫�鍑篲{System.DateTime.Now.ToString()}");
                 return d;
             });
+        }
+
+        /// <summary>
+        /// *璁剧疆鑳佽揩鐘舵�佷笅琚�氱煡鐨勮仈绯诲彿鐮佺殑澶囨敞锛堥渶瑕佺鐞嗗憳鏉冮檺锛�. -2:涓荤綉鍏充涪澶�
+        /// </summary>
+        /// <param name="strPhone">鍦板尯鐮�-鑱旂郴鏂瑰紡</param>
+        /// <param name="strNote">澶囨敞,鏈�澶�63byte</param>
+        /// <returns></returns>
+        public static async System.Threading.Tasks.Task<SetCoercePhoneNumberResponseData> SetCoercePhoneNumberNoteAsync(string strPhone,string strNote)
+        {
+            SetCoercePhoneNumberResponseData d = null;
+            var mainGateway = ZbGateway.MainGateWay;
+            if (mainGateway == null)
+            {
+                d = new SetCoercePhoneNumberResponseData();
+                d.Result = -2;
+                return d;
+            }
+            Action<string, string> action = (topic, message) =>
+            {
+                var gatewayID = topic.Split('/')[0];
+                if (topic == gatewayID + "/" + "Security/AddPushNumberNote_Respon")
+                {
+                    var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
+                    d = Newtonsoft.Json.JsonConvert.DeserializeObject<SetCoercePhoneNumberResponseData>(jobject["Data"].ToString());
+                }
+            };
+
+            mainGateway.Actions += action;
+            try
+            {
+                var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 4038 } };
+                var data = new JObject
+                    {
+                        { "ActionType", 253},
+                        { "LoginToken", Shared.Phone.UserCenter.HdlSafeguardLogic.Current.GetLoginToken()},
+                        { "PushNumber", strPhone},
+                        { "PushNumberNote", strNote}
+                    };
+                jObject.Add("Data", data);
+                mainGateway.Send("Security/AddPushNumberNote", jObject.ToString());
+            }
+            catch { }
+
+            int timeOut = 0;
+            while (timeOut <= 60)
+            {
+                await System.Threading.Tasks.Task.Delay(50);
+                if (d != null)
+                {
+                    break;
+                }
+                timeOut++;
+            }
+
+            mainGateway.Actions -= action;
+            return d;
         }
+
 
         /// <summary>
         /// 璁剧疆鑳佽揩鐘舵�佷笅琚�氱煡鐨勮仈绯诲彿鐮佺殑杩斿洖鏁版嵁 ,缃戝叧鍙嶉淇℃伅
@@ -6695,7 +6753,10 @@
             /// 鎺ㄩ�佷俊鎭殑鐩爣鎵嬫満鍙风爜
             ///</summary>
             public string PushNumber;
-
+            /// <summary>
+            /// 澶囨敞淇℃伅
+            /// </summary>
+            public string PushNumberNote;
         }
 
         /// <summary>
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs
index a9bb880..a600b98 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs
@@ -3912,6 +3912,54 @@
                     UpdateDeviceInfo(tempDevice, "DeviceStatusReport");
                 }
                 #endregion
+                #region 闂ㄩ攣鎿嶄綔浜嬩欢閫氱煡
+                else if (topic == gatewayID + "/" + "DoorLock/DoorLockOperatingEventNotificationCommand")
+                {
+                    var deviceID = jobject.Value<int>("Device_ID");
+                    switch ((DeviceType)(deviceID))
+                    {
+                        case DeviceType.DoorLock:
+                            var doorLock = new DoorLock() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = gwa.getGatewayBaseInfo.gwID };
+                            var OperatingEventNotificationDatad = Newtonsoft.Json.JsonConvert.DeserializeObject<ZigBee.Device.DoorLock.DoorLockOperatingEventNotificationCommand>(jobject["Data"].ToString());
+                            if (OperatingEventNotificationDatad != null)
+                            {
+                                doorLock.doorLockOperatingEventNotificationCommand = OperatingEventNotificationDatad;
+                            }
+                            if (gwa.ReportAction != null)
+                            {
+                                DebugPrintLog("DoorLockProgrammingEventNotificationCommand宸茬粡閫氱煡");
+                                gwa.ReportAction("DoorLockProgrammingEventNotificationCommand", doorLock);
+                            }
+                            UpdateDeviceStatus(doorLock);
+                            UpdateDeviceInfo(doorLock, "DoorLockProgrammingEventNotificationCommand");
+                            break;
+                    }
+                }
+                #endregion
+                #region 闂ㄩ攣缂栫▼浜嬩欢閫氱煡
+                else if (topic == gatewayID + "/" + "DoorLock/DoorLockProgrammingEventNotificationCommand")
+                {
+                    var deviceID = jobject.Value<int>("Device_ID");
+                    switch ((DeviceType)(deviceID))
+                    {
+                        case DeviceType.DoorLock:
+                            var doorLock = new DoorLock() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = gwa.getGatewayBaseInfo.gwID };
+                            var ProgrammingEventNotificationData = Newtonsoft.Json.JsonConvert.DeserializeObject<ZigBee.Device.DoorLock.DoorLockProgrammingEventNotificationCommand>(jobject["Data"].ToString());
+                            if (ProgrammingEventNotificationData != null)
+                            {
+                                doorLock.doorLockProgrammingEventNotificationCommand = ProgrammingEventNotificationData;
+                            }
+                            if (gwa.ReportAction != null)
+                            {
+                                DebugPrintLog("DoorLockProgrammingEventNotificationCommand宸茬粡閫氱煡");
+                                gwa.ReportAction("DoorLockProgrammingEventNotificationCommand", doorLock);
+                            }
+                            UpdateDeviceStatus(doorLock);
+                            UpdateDeviceInfo(doorLock, "DoorLockProgrammingEventNotificationCommand");
+                            break;
+                    }
+                }
+                #endregion
                 #region IAS瀹夐槻淇℃伅涓婃姤
                 else if (topic == gatewayID + "/" + "IASInfoReport")
                 {
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGatewayData.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGatewayData.cs
index 24f7a45..c28c5bc 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGatewayData.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGatewayData.cs
@@ -127,6 +127,10 @@
             ///缃戝叧鍚嶇О
             /// </summary>
             public string GwName;
+            /// <summary>
+            /// 缃戝叧鐨勫簭鍒楀彿
+            /// </summary>
+            public string GWSN = string.Empty;
             /// <summary>
             ///鏄惁涓轰富缃戝叧銆�(鍥犱负鍦ㄥ缃戠殑鎯呭喌涓嬶紝杩欎釜瀛楁鍙互鑾峰彇鍒帮紝鐢ㄦ潵鏇存柊灞�鍩熺綉涓熀鏈俊鎭殑瀵硅薄涓殑涓荤綉鍏充俊鎭級
             ///<para>0锛氬惁</para>
diff --git a/ZigbeeApp/Shared/R.cs b/ZigbeeApp/Shared/R.cs
index 477029d..017aa13 100755
--- a/ZigbeeApp/Shared/R.cs
+++ b/ZigbeeApp/Shared/R.cs
@@ -115,7 +115,7 @@
         public readonly static int Ac = 42;
         public readonly static int SneneModeExistTargets = 43;
         //闂ㄩ攣
-        //public static readonly int FunctionSetting = 44;
+        public static readonly int DoorLockFunctionSetting = 44;
         public static readonly int RandomPasword = 45;
         public static readonly int DoolockMonth = 46;
         public static readonly int DoorlockDay = 47;
@@ -272,7 +272,7 @@
         public readonly static int Year = 185;
         public readonly static int RectifySuccess = 186;
         public readonly static int RectifyFailed = 187;
-        public readonly static int SetTempPasswordTip2 = 188;
+        public readonly static int SetTempPasswordTip = 188;
         public readonly static int SetTempPasswordTip3 = 189;
         public readonly static int SetTempPasswordTip4 = 190;
         public readonly static int SetTempPasswordTip5 = 191;
@@ -295,10 +295,17 @@
         public readonly static int DoorLockShare = 208;
         public readonly static int EntryCurrentUnlockMethod = 209;
         public readonly static int SureGiveAccessToSubaccount = 210;
-        public readonly static int GiveAccessToSubaccountSuccess = 211;
+        public readonly static int CancelAccessToSubaccountFailed = 211;
         public readonly static int GiveAccessToSubaccountFailed = 212;
         public readonly static int AccountIsFreezed = 213;
         public readonly static int NoAccess = 214;
+        public readonly static int NoFiftySeconds = 215;
+        public readonly static int VerifyFailed = 216;
+        public readonly static int UnlockSuccess = 217;
+        public readonly static int AddFailed = 218;
+        public readonly static int UnlockFailed = 219;
+        public readonly static int DoorlockPasswordDispear = 220;
+        public readonly static int BindUnknownError = 221;
 
         public readonly static int RemindSetting = 548;
         public readonly static int AddNewUser = 650;
@@ -1077,6 +1084,36 @@
         /// 鎴戠殑鐩稿唽
         /// </summary>
         public const int MyAblums = 13148;
+
+        /// <summary>
+        /// 閫夋嫨鎽嗛
+        /// </summary>
+        public const int SelectSwing=13500;
+        /// <summary>
+        /// 鑷姩
+        /// </summary>
+        public const int Swing_Auto = 13501;
+        /// <summary>
+        /// 1鎸�
+        /// </summary>
+        public const int Swing_First = 13502;
+        /// <summary>
+        /// 2鎸�
+        /// </summary>
+        public const int Swing_Second = 13503;
+        /// <summary>
+        /// 3鎸�
+        /// </summary>
+        public const int Swing_Thrid = 13504;
+        /// <summary>
+        /// 4鎸�
+        /// </summary>
+        public const int Swing_Fourth = 13505;
+        /// <summary>
+        /// 5鎸�
+        /// </summary>
+        public const int Swing_Fifth = 13506;
+
 
         #endregion
 
@@ -2163,9 +2200,9 @@
         /// </summary>
         public const int uDownLoadAndRecoverMsg = 15221;
         /// <summary>
-        /// 纭畾瑕佸垹闄ゆ枃浠跺悧锛�
+        /// 纭鍒犻櫎璇ュ浠芥暟鎹�?
         /// </summary>
-        public const int uDoDeleteFileMsg = 15222;
+        public const int uDoDeleteBackupMsg = 15222;
         /// <summary>
         /// 娣诲姞澶囦唤
         /// </summary>
@@ -4686,6 +4723,150 @@
         /// WLAN璁剧疆杩炴帴瀹跺涵WiFi
         /// </summary>
         public const int uWlanConnectHomeWifi = 15906;
+        /// <summary>
+        /// 闀挎寜缃戝叧HID/WCFG鎸夐敭20绉抺0}绯荤粺鐏揩闂�60绉掑垯杩涘叆閰嶇綉鐘舵�亄0}绯荤粺鐏瘡绉掗棯鐑佷竴娆0}鍒欒繛鎺ユ垚鍔�
+        /// </summary>
+        public const int uAddUdpWirelessGatewayMsg = 15907;
+        /// <summary>
+        /// 闀挎寜缃戝叧HID/WCFG鎸夐敭5绉抺0}绯荤粺鐏父浜�60绉掑悗鍒欒繘鍏ラ厤缃戠姸鎬�
+        /// </summary>
+        public const int uAddApWirelessGatewayMsg1 = 15908;
+        /// <summary>
+        /// 璺宠浆鍒扮Щ鍔ㄨ澶嘩LAN璁剧疆{0}閫夋嫨hdlZigbeeGW-xxxx缃戠粶
+        /// </summary>
+        public const int uAddApWirelessGatewayMsg2 = 15909;
+        /// <summary>
+        /// 璇疯緭鍏ュ搴璚IFI璐﹀彿
+        /// </summary>
+        public const int uPleaseInputHomeWifiAccount = 15910;
+        /// <summary>
+        /// 璇峰墠寰�绉诲姩璁惧WLAN璁剧疆{0}閲嶆柊杩炴帴瀹跺涵wiFi
+        /// </summary>
+        public const int uAddApWirelessGatewayMsg3 = 15911;
+        /// <summary>
+        /// 绯荤粺鐏瘡绉掗棯鐑佷竴娆0}鍒欒繛鎺ユ垚鍔�
+        /// </summary>
+        public const int uAddApWirelessGatewayMsg4 = 15912;
+        /// <summary>
+        /// 閫夋嫨鍦扮偣
+        /// </summary>
+        public const int uSelectAdrress = 15915;
+        /// <summary>
+        /// 鎮ㄧ殑鍙嶉鍜屾剰瑙佷細璁╂垜浠彉寰楁洿濂�
+        /// </summary>
+        public const int uYouSuggestionMsg = 15916;
+        /// <summary>
+        /// 鍙嶉绫诲瀷
+        /// </summary>
+        public const int uSuggestionType = 15917;
+        /// <summary>
+        /// 浼樺寲
+        /// </summary>
+        public const int uOptimization = 15918;
+        /// <summary>
+        /// 鏂伴渶姹�
+        /// </summary>
+        public const int uNewDemand = 15919;
+        /// <summary>
+        /// 閭鍦板潃
+        /// </summary>
+        public const int uEmailAddress = 15920;
+        /// <summary>
+        /// 璇疯緭鍏ユ偍鐨勯偖绠卞湴鍧�
+        /// </summary>
+        public const int uPleaseInputYouEmailAddress = 15921;
+        /// <summary>
+        /// 鎻愪氦
+        /// </summary>
+        public const int uSubmit = 15922;
+        /// <summary>
+        /// 鎻愪氦鎴愬姛,鎰熻阿鎮ㄧ殑鎰忚
+        /// </summary>
+        public const int uSubmitSuccessMsg = 15923;
+        /// <summary>
+        /// 涓婁紶
+        /// </summary>
+        public const int uUpload = 15924;
+        /// <summary>
+        /// 鑷姩澶囦唤
+        /// </summary>
+        public const int uAutoBackup = 15925;
+        /// <summary>
+        /// 浠婃棩鎻愪氦娆℃暟宸蹭笂闄�
+        /// </summary>
+        public const int uSubmitCountIsOverMsg = 15926;
+        /// <summary>
+        /// 鑾峰彇缃戝叧淇¢亾澶辫触
+        /// </summary>
+        public const int uGetGatewayChannelIdFail = 15927;
+        /// <summary>
+        /// 鑾峰彇鍗忚皟鍣∕ac澶辫触
+        /// </summary>
+        public const int uGetGatewayCoordinatorMacFail = 15928;
+        /// <summary>
+        /// 鑾峰彇鍗忚皟鍣≒anID澶辫触
+        /// </summary>
+        public const int uGetGatewayPanIDFail = 15929;
+        /// <summary>
+        /// 涓婁紶鏁版嵁鑷充簯绔�
+        /// </summary>
+        public const int uUploadDataToDb = 15930;
+        /// <summary>
+        /// 浠庝簯绔笅杞芥暟鎹�
+        /// </summary>
+        public const int uDwonloadDataFromDb = 15931;
+        /// <summary>
+        /// 涓婁紶鏁版嵁
+        /// </summary>
+        public const int uUploadData = 15932;
+        /// <summary>
+        /// 涓婁紶鏁版嵁鎴愬姛
+        /// </summary>
+        public const int uUploadDataSuccess = 15933;
+        /// <summary>
+        /// 涓嬭浇鏁版嵁
+        /// </summary>
+        public const int uDwonloadData = 15934;
+        /// <summary>
+        /// 涓嬭浇
+        /// </summary>
+        public const int uDownLoad = 15935;
+        /// <summary>
+        /// 璁剧疆缃戝叧缁忕含搴﹀け璐�
+        /// </summary>
+        public const int uSetGatewaySiteFail = 15936;
+        /// <summary>
+        /// 姝e湪淇濆瓨鍗忚皟鍣ㄧ殑nv鍒嗗尯缁勭綉淇℃伅
+        /// </summary>
+        public const int uGatewayNVFileSaving = 15937;
+        /// <summary>
+        /// 淇濆瓨鍗忚皟鍣ㄧ殑nv鍒嗗尯缁勭綉淇℃伅澶辫触
+        /// </summary>
+        public const int uSaveGatewayNVFileFail = 15938;
+        /// <summary>
+        /// 鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳藉け璐�
+        /// </summary>
+        public const int uOpenZbMsComSendFail = 15939;
+        /// <summary>
+        /// 缃戝叧鏁版嵁澶囦唤澶辫触
+        /// </summary>
+        public const int uBackupgatewayDataFail = 15940;
+        /// <summary>
+        /// 寮�濮嬪浠界綉鍏虫暟鎹�
+        /// </summary>
+        public const int uStartBackupgatewayData = 15941;
+        /// <summary>
+        /// 鍝嶅簲瓒呮椂,缃戝叧鏁版嵁澶囦唤澶辫触
+        /// </summary>
+        public const int uResponseTimeoutsAndBackupgatewayDataFail = 15942;
+        /// <summary>
+        /// 鍒涘缓澶囦唤鏂囦欢
+        /// </summary>
+        public const int uCreatBackupFile = 15943;
+        /// <summary>
+        /// 姝e湪鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳�
+        /// </summary>
+        public const int uZbMsComSendOpening = 15944;
 
         //鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄帴鍙g殑杩斿洖淇℃伅缈昏瘧,浠�18000寮�濮嬧槄鈽呪槄鈽�
         /// <summary>
diff --git a/ZigbeeApp/Shared/Shared.projitems b/ZigbeeApp/Shared/Shared.projitems
index 6aec2ea..ba7c823 100755
--- a/ZigbeeApp/Shared/Shared.projitems
+++ b/ZigbeeApp/Shared/Shared.projitems
@@ -130,19 +130,25 @@
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Common\AccountOption.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\CompoundControls\BelongAreaControl.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\CompoundControls\CutPictureControl.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\CompoundControls\ProgressFormBar.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\CompoundControls\PswGestureInputControl.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\CompoundControls\InformationEditorControl.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\CompoundControls\RoomDeviceGroupMenuControl.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\CompoundControls\SceneFunctionSwitchControl.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\CompoundControls\VerificationCodeControl.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\NormalControls\LoadingControl.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\BottomMenuSelectForm.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\NumberPswInputDialogForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\PswGestureSecirityForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\PswSecondarySecurityForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlCheckLogic.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlDeviceAirConditionerLogic.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlDeviceCurtainLogic.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlGatewayBackupLogic.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlGatewayUpdateLogic.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlLogLogic.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlThreadLogic.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlWifiLogic.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\AirConditioner\AirConditionerModeForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\AirConditioner\IndoorUnitListForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\AirConditioner\IndoorUnitSettionForm.cs" />
@@ -167,13 +173,10 @@
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Direction\SensorWaterDirectionForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\PirSensor\PirSensorTargetSelectForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\AddUnLockMethod.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\AddUnLockMethodFailedTip.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\AddUnLockMethodTip.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\DoorLockCommonInfo.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\DoorLockCommonLayout.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\DoorlockDialog.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\DoorLockListPage.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\DoorLockUserMangement.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\EntryStatusPage.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\FunctionSetting.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\FunctionSettingSub.cs" />
@@ -181,24 +184,31 @@
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\MasterManagementPage.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\MemberFrozenPage.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\MemberManagement.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\RemotelyUnlock.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\SubAccountManagementPage.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\TemporaryPassword.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\TimeSettignPage.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\UndistributeDoorlockUserPage.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\UnLockMethod.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\UserDoorLockPage.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\UserManagement.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\GatewayAddSuccessForm.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\GatewayProductInfoForm.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WiredGatewayListForm.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WiredGatewayRebindForm.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessApDirection1Form.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessApDirection2Form.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessApDirection3Form.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessApSearchForm.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessApSelectNetworkForm.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewayAddSuccessForm.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewayBackUpListForm.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewayProductInfoForm.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewaySearchListForm.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewayRebindForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessUdpDirectionForm.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessUdpSearchForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessUdpSelectNetworkForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewayGeneralInformationForm.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewayUploadAndDownLoadForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Update\GatewayCoordinatorInfoForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Update\GatewayFirmwareUpdateForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Update\GatewayVirtualDriveInfoForm.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlBackupListForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Member\MemberNotEsixtForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Password\CheckNewPhoneForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Password\CheckOldPhoneForm.cs" />
@@ -218,7 +228,7 @@
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\UserMain\QRCodeForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Password\ResetAccountPasswordForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\AreaCodeSelectForm.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\BottomDialogSelectForm.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\BottomItemSelectForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\Base\CommonFormBase.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\Base\DialogCommonForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\CompoundControls\NormalSelectControl.cs" />
@@ -279,33 +289,25 @@
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\DeviceDryContactSettionForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\DeviceFunctionSettionForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Relay\RelayThreeLoadBackLightSettionForm.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessGwAddDirectionForm.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessGatewaySearchForm.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessGwClickButtonForm.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessGwSelectNetworkForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Update\GatewayFirmwareInfoForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Update\GatewayHistoryFirmwareVersionForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Update\GatewayLinuxInfoForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewayListForm.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlAutoBackUpForm.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlAutoBackupSettionForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlGatewayBackUpForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlGatewayListBackUpForm.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlManualBackUpForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Bind\BindInfo.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Common\IMessageCommon.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Common\UserCenterCommon.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\NormalControls\BackViewControl.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Common\UserCenterEnumCommon.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\BaseCommonControl\Base\TextInputBase.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\DialogInputFrameControl.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\DialogInputForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\NormalControls\IconViewControl.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\NormalControls\MostRightIconControl.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\CompoundControls\MsgControls.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\NormalControls\PicViewControl.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\DeviceControls\DeviceSelectControl.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\DeviceFirmwareUpdateForm.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlBackupMenuForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlDeviceBindLogic.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlDeviceFixedAttributeLogic.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlDeviceHardInfoLogic.cs" />
@@ -342,7 +344,6 @@
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Safety\AlarmTargetStatuSelectLightForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Safety\AlarmTargetStatuSelectSwitchForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Safety\PasswordMenuForm.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Safety\PasswordRefreshMsgForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Safety\GarrisonAreaSettionMenuForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Safety\GarrisonAreaExistSensorForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Safety\PasswordListUserForm.cs" />
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ThirdPartyNotices.txt b/ZigbeeApp/packages/System.Runtime.4.3.0/ThirdPartyNotices.txt
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/dotnet_library_license.txt b/ZigbeeApp/packages/System.Runtime.4.3.0/dotnet_library_license.txt
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/lib/MonoAndroid10/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/lib/MonoAndroid10/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/lib/MonoTouch10/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/lib/MonoTouch10/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/lib/net45/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/lib/net45/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/lib/net462/System.Runtime.dll b/ZigbeeApp/packages/System.Runtime.4.3.0/lib/net462/System.Runtime.dll
old mode 100644
new mode 100755
Binary files differ
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/lib/portable-net45+win8+wp80+wpa81/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/lib/portable-net45+win8+wp80+wpa81/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/lib/win8/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/lib/win8/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/lib/wp80/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/lib/wp80/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/lib/wpa81/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/lib/wpa81/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/lib/xamarinios10/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/lib/xamarinios10/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/lib/xamarinmac20/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/lib/xamarinmac20/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/lib/xamarintvos10/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/lib/xamarintvos10/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/lib/xamarinwatchos10/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/lib/xamarinwatchos10/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/MonoAndroid10/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/MonoAndroid10/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/MonoTouch10/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/MonoTouch10/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/net45/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/net45/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/net462/System.Runtime.dll b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/net462/System.Runtime.dll
old mode 100644
new mode 100755
Binary files differ
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/System.Runtime.dll b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/System.Runtime.dll
old mode 100644
new mode 100755
Binary files differ
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/de/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/de/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/es/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/es/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/fr/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/fr/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/it/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/it/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/ja/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/ja/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/ko/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/ko/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/ru/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/ru/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/zh-hans/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/zh-hans/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/zh-hant/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netcore50/zh-hant/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/System.Runtime.dll b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/System.Runtime.dll
old mode 100644
new mode 100755
Binary files differ
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/de/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/de/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/es/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/es/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/fr/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/fr/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/it/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/it/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/ja/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/ja/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/ko/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/ko/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/ru/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/ru/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/zh-hans/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/zh-hans/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/zh-hant/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.0/zh-hant/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/System.Runtime.dll b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/System.Runtime.dll
old mode 100644
new mode 100755
Binary files differ
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/de/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/de/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/es/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/es/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/fr/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/fr/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/it/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/it/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/ja/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/ja/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/ko/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/ko/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/ru/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/ru/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/zh-hans/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/zh-hans/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/zh-hant/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.2/zh-hant/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/System.Runtime.dll b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/System.Runtime.dll
old mode 100644
new mode 100755
Binary files differ
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/de/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/de/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/es/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/es/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/fr/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/fr/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/it/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/it/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/ja/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/ja/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/ko/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/ko/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/ru/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/ru/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/zh-hans/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/zh-hans/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/zh-hant/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.3/zh-hant/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/System.Runtime.dll b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/System.Runtime.dll
old mode 100644
new mode 100755
Binary files differ
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/de/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/de/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/es/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/es/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/fr/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/fr/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/it/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/it/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/ja/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/ja/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/ko/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/ko/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/ru/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/ru/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/zh-hans/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/zh-hans/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/zh-hant/System.Runtime.xml b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/netstandard1.5/zh-hant/System.Runtime.xml
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/portable-net45+win8+wp80+wpa81/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/portable-net45+win8+wp80+wpa81/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/win8/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/win8/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/wp80/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/wp80/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/wpa81/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/wpa81/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/xamarinios10/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/xamarinios10/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/xamarinmac20/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/xamarinmac20/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/xamarintvos10/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/xamarintvos10/_._
old mode 100644
new mode 100755
diff --git a/ZigbeeApp/packages/System.Runtime.4.3.0/ref/xamarinwatchos10/_._ b/ZigbeeApp/packages/System.Runtime.4.3.0/ref/xamarinwatchos10/_._
old mode 100644
new mode 100755

--
Gitblit v1.8.0